Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 83d807c

Browse files
committed
compile TypeScript source code in ES5 mode
1 parent 61a33dd commit 83d807c

File tree

6 files changed

+31
-18
lines changed

6 files changed

+31
-18
lines changed

lib/typescript-rails.rb

+4-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
require "typescript-node"
2-
3-
require "typescript/rails/railtie"
4-
require "typescript/rails/engine"
5-
require "typescript/rails/template_handler"
6-
require "typescript/rails/version"
1+
require 'typescript/rails/railtie'
2+
require 'typescript/rails/engine'
3+
require 'typescript/rails/template_handler'
4+
require 'typescript/rails/version'

lib/typescript/rails/template_handler.rb

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
require 'typescript-node'
12
require 'tilt'
23

34
module Typescript
@@ -16,12 +17,12 @@ def self.default_bare=(value)
1617
@@default_bare = value
1718
end
1819

19-
# DEPRECATED
20+
# @deprecated
2021
def self.default_no_wrap
2122
@@default_bare
2223
end
2324

24-
# DEPRECATED
25+
# @deprecated
2526
def self.default_no_wrap=(value)
2627
@@default_bare = value
2728
end
@@ -42,7 +43,8 @@ def prepare
4243

4344
def evaluate(scope, locals, &block)
4445
source = Typescript::Rails.replace_relative_references(file, data)
45-
@output ||= TypeScript::Node.compile(source)
46+
# TODO: employs source-maps
47+
@output ||= TypeScript::Node.compile(source, '--target', 'ES5')
4648
end
4749

4850
def allows_script?
@@ -63,7 +65,8 @@ def self.call(template)
6365
TypeScript::Node.compile(
6466
Typescript::Rails.replace_relative_references(
6567
'#{escaped_path}', (begin;#{compiled_source};end)
66-
)
68+
),
69+
'--target', 'ES5'
6770
)
6871
EOS
6972
end

lib/typescript/rails/version.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module Typescript
22
module Rails
3-
VERSION = "0.2.0"
3+
VERSION = '0.3.0'
44
end
55
end

test/support/site/es5.js.ts

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
class Person {
2+
private _name = "Alice";
3+
4+
public get name(): string {
5+
return this._name
6+
}
7+
}

test/template_handler_test.rb

+11-6
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ class SiteController < ActionController::Base
88

99
DummyApp = ActionDispatch::Routing::RouteSet.new
1010
DummyApp.draw do
11-
get "site/index"
12-
get "site/ref1_1"
13-
get "site/ref1_2"
14-
get "site/ref2_1"
15-
get "site/ref2_2"
16-
get "site/ref3_1"
11+
get 'site/index'
12+
get 'site/ref1_1'
13+
get 'site/ref1_2'
14+
get 'site/ref2_1'
15+
get 'site/ref2_2'
16+
get 'site/ref3_1'
17+
get 'site/es5'
1718
end
1819

1920
class TemplateHandlerTest < ActiveSupport::TestCase
@@ -52,4 +53,8 @@ def source
5253
source
5354
end
5455

56+
test 'ES5 features' do
57+
get '/site/es5.js'
58+
assert_equal 200, last_response.status
59+
end
5560
end

typescript-rails.gemspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Gem::Specification.new do |gem|
1414
gem.summary = %q{Adds Typescript to the Rails Asset pipeline}
1515
gem.homepage = "https://github.com/typescript-ruby/typescript-rails"
1616

17-
gem.add_runtime_dependency 'typescript-node'
17+
gem.add_runtime_dependency 'typescript-node', '>= 1.1.0'
1818
gem.add_runtime_dependency 'tilt'
1919
gem.add_runtime_dependency 'railties'
2020

0 commit comments

Comments
 (0)