Skip to content

Commit e77ac07

Browse files
committed
Merge pull request #6 from tkawachi/typescript-node
Use typescript-node gem which can handle /// <reference>
2 parents 49cf79d + d24913f commit e77ac07

File tree

10 files changed

+35
-9
lines changed

10 files changed

+35
-9
lines changed

.travis.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
rvm:
2-
- 1.8.7
32
- 1.9.2
43
- 1.9.3
54
- ree
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<%= TypeScript::Source.contents %>
1+
<%= TypeScript::Src.js_content %>

lib/typescript-rails.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
require "typescript"
1+
require "typescript-node"
22
require "typescript/rails/railtie"
33
require "typescript/rails/engine"
44
require "typescript/rails/template_handler"

lib/typescript/rails/template_handler.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def prepare
4141
end
4242

4343
def evaluate(scope, locals, &block)
44-
@output ||= TypeScript.compile(data, options)
44+
@output ||= TypeScript::Node.compile(data)
4545
end
4646

4747
def allows_script?
@@ -51,13 +51,13 @@ def allows_script?
5151

5252
class TemplateHandler
5353

54-
def self.erb_handler
54+
def self.erb_handler
5555
@@erb_handler ||= ActionView::Template.registered_template_handler(:erb)
5656
end
5757

5858
def self.call(template)
5959
compiled_source = erb_handler.call(template)
60-
"TypeScript.compile(begin;#{compiled_source};end)"
60+
"TypeScript::Node.compile(begin;#{compiled_source};end)"
6161
end
6262
end
6363
end

test/support/site/ref1_1.js.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
var f = function(x: number, y: number): number {
2+
return x + y
3+
}

test/support/site/ref1_2.js.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/// <reference path="<%= File.join(File.dirname(__FILE__), "ref1_1.js.ts") %>" />
2+
3+
f(1, 2)

test/support/site/ref2_1.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
var f: (x: number, y: number) => number;

test/support/site/ref2_2.js.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/// <reference path="<%= File.join(File.dirname(__FILE__), "ref2_1.d.ts") %>" />
2+
3+
f(1, 2)

test/template_handler_test.rb

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ class SiteController < ActionController::Base
99
DummyApp = ActionDispatch::Routing::RouteSet.new
1010
DummyApp.draw do
1111
get "site/index"
12+
get "site/ref1_1"
13+
get "site/ref1_2"
14+
get "site/ref2_1"
15+
get "site/ref2_2"
1216
end
1317

1418
class TemplateHandlerTest < ActiveSupport::TestCase
@@ -21,6 +25,17 @@ def app
2125
test "typescript views are served as javascript" do
2226
get "/site/index.js"
2327

24-
assert_match "var x = 5;\n", last_response.body
28+
assert_match "var x = 5;\r\n", last_response.body
2529
end
26-
end
30+
31+
test "<reference> to other .ts file works" do
32+
get "/site/ref1_2.js"
33+
assert_match "var f = function (x, y) {\r\n return x + y;\r\n};\r\nf(1, 2);\r\n", last_response.body
34+
end
35+
36+
test "<reference> to other .d.ts file works" do
37+
get "/site/ref2_2.js"
38+
assert_match "f(1, 2);\r\n", last_response.body
39+
end
40+
41+
end

typescript-rails.gemspec

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,14 @@ Gem::Specification.new do |gem|
1616

1717
gem.rubyforge_project = "typescript-rails"
1818

19-
gem.add_runtime_dependency 'typescript', '~> 0.1.1'
19+
gem.add_runtime_dependency 'typescript-node', '~> 0.0'
2020
gem.add_runtime_dependency 'tilt', '~> 1.3'
2121
gem.add_runtime_dependency 'railties'
2222

2323
gem.files = `git ls-files`.split($/)
2424
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
2525
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
2626
gem.require_paths = ["lib"]
27+
28+
gem.required_ruby_version = ">= 1.9.2"
2729
end

0 commit comments

Comments
 (0)