typescript-rails 0.0.4 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/.travis.yml +0 -1
- data/README.md +18 -2
- data/lib/assets/javascripts/typescript.js.erb +1 -1
- data/lib/typescript-rails.rb +4 -1
- data/lib/typescript/rails/template_handler.rb +3 -3
- data/lib/typescript/rails/version.rb +1 -1
- data/test/support/site/ref1_1.js.ts +3 -0
- data/test/support/site/ref1_2.js.ts +3 -0
- data/test/support/site/ref2_1.d.ts +1 -0
- data/test/support/site/ref2_2.js.ts +3 -0
- data/test/template_handler_test.rb +17 -2
- data/typescript-rails.gemspec +3 -1
- metadata +17 -23
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NmIwZDQ2MjExNjA5OTYzZTJmMGNiNmM0NTI2ZTQ5NWY5MzQ1NmQzNQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
OWE0NjBlZTJiYjYyZTdjMDAzYjA2MGNlMzg0ZGU5MDQ5OGUzYzcyNA==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ZmVlOTgzYzI3Nzk0OWZlMGQ4ZjVlNjE1ZWVmMmRjOWQ5YmU1NGI3NjY0YjM1
|
10
|
+
NDA2OTM2NWRlZDBmYjQxYzQ2YjVkNTZlZWI2Y2MzNDM3MTQzYTcyNmEwYTM3
|
11
|
+
NmJmYzdlZGRiMDMyOWI3NTcyODk3NDM2ZWQxOGIwZmY0NTk5OGE=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MTQzNmQ0OTRlYzMwMjYwZWRhMTIwZjY1YjM0YjVlMjBlODhiM2Y3MGRkNjYw
|
14
|
+
YjUzNjRkYTk2YWY5OGIzN2VkMTQyNWI0OGMwMDFkOTVjODI2YmVmNTUxNmEx
|
15
|
+
MzNjNzFjZTk3ZWI3YTZiZmRmNDU5NmYwNjczYTRhMTUzOGVhZWU=
|
data/README.md
CHANGED
@@ -1,10 +1,27 @@
|
|
1
|
-
# TypeScript for Rails ](https://travis-ci.org/klaustopher/typescript-rails)
|
2
2
|
|
3
3
|
This is a wrapper for the [TypeScript](http://www.typescriptlang.org/) JavaScript superset language by Microsoft.
|
4
4
|
|
5
5
|
It enables you to use the `.ts` extension in the Asset Pipeline and also in ActionView Templates.
|
6
6
|
|
7
|
+
This gem uses the
|
8
|
+
[typescript-node-ruby](https://github.com/tkawachi/typescript-node-ruby)
|
9
|
+
library by KAWACHI Takashi for the typescript parsing with node js.
|
10
|
+
|
7
11
|
The credit for the overall structure and the tests goes to the people that wrote the [coffee-rails](https://github.com/rails/coffee-rails) Gem, since I shamelessly copy&pasted some of their code.
|
12
|
+
|
13
|
+
## Requirements
|
14
|
+
|
15
|
+
The current version requires that [node.js](http://nodejs.org/) is
|
16
|
+
installed on the system.
|
17
|
+
|
18
|
+
The requirement for node is tested upon starting the application. If
|
19
|
+
the node command is not available you get the following error message:
|
20
|
+
|
21
|
+
```
|
22
|
+
typescript-node requires node command, but it's not found. Please install it. Set TS_NODE environmental variable If you want to use node command in non-standard path.
|
23
|
+
```
|
24
|
+
|
8
25
|
## Installation
|
9
26
|
|
10
27
|
Add this line to your application's Gemfile:
|
@@ -16,7 +33,6 @@ And then execute:
|
|
16
33
|
$ bundle
|
17
34
|
|
18
35
|
## Usage
|
19
|
-
|
20
36
|
Just add a `.js.ts` file in your `app/assets/javascripts` directory and include it just like you are used to do.
|
21
37
|
|
22
38
|
## Contributing
|
@@ -1 +1 @@
|
|
1
|
-
<%= TypeScript::
|
1
|
+
<%= TypeScript::Src.js_content %>
|
data/lib/typescript-rails.rb
CHANGED
@@ -41,7 +41,7 @@ module Typescript
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def evaluate(scope, locals, &block)
|
44
|
-
@output ||= TypeScript.compile(data
|
44
|
+
@output ||= TypeScript::Node.compile(data)
|
45
45
|
end
|
46
46
|
|
47
47
|
def allows_script?
|
@@ -51,13 +51,13 @@ module Typescript
|
|
51
51
|
|
52
52
|
class TemplateHandler
|
53
53
|
|
54
|
-
|
54
|
+
def self.erb_handler
|
55
55
|
@@erb_handler ||= ActionView::Template.registered_template_handler(:erb)
|
56
56
|
end
|
57
57
|
|
58
58
|
def self.call(template)
|
59
59
|
compiled_source = erb_handler.call(template)
|
60
|
-
"TypeScript.compile(begin;#{compiled_source};end)"
|
60
|
+
"TypeScript::Node.compile(begin;#{compiled_source};end)"
|
61
61
|
end
|
62
62
|
end
|
63
63
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
var f: (x: number, y: number) => number;
|
@@ -9,6 +9,10 @@ end
|
|
9
9
|
DummyApp = ActionDispatch::Routing::RouteSet.new
|
10
10
|
DummyApp.draw do
|
11
11
|
get "site/index"
|
12
|
+
get "site/ref1_1"
|
13
|
+
get "site/ref1_2"
|
14
|
+
get "site/ref2_1"
|
15
|
+
get "site/ref2_2"
|
12
16
|
end
|
13
17
|
|
14
18
|
class TemplateHandlerTest < ActiveSupport::TestCase
|
@@ -21,6 +25,17 @@ class TemplateHandlerTest < ActiveSupport::TestCase
|
|
21
25
|
test "typescript views are served as javascript" do
|
22
26
|
get "/site/index.js"
|
23
27
|
|
24
|
-
assert_match "var x = 5;\n", last_response.body
|
28
|
+
assert_match "var x = 5;\r\n", last_response.body
|
25
29
|
end
|
26
|
-
|
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
|
data/typescript-rails.gemspec
CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
|
|
16
16
|
|
17
17
|
gem.rubyforge_project = "typescript-rails"
|
18
18
|
|
19
|
-
gem.add_runtime_dependency 'typescript', '~> 0.
|
19
|
+
gem.add_runtime_dependency 'typescript-node', '~> 0.0'
|
20
20
|
gem.add_runtime_dependency 'tilt', '~> 1.3'
|
21
21
|
gem.add_runtime_dependency 'railties'
|
22
22
|
|
@@ -24,4 +24,6 @@ Gem::Specification.new do |gem|
|
|
24
24
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
25
25
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
26
26
|
gem.require_paths = ["lib"]
|
27
|
+
|
28
|
+
gem.required_ruby_version = ">= 1.9.2"
|
27
29
|
end
|
metadata
CHANGED
@@ -1,36 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: typescript-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Klaus Zanders
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-03-31 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
name: typescript
|
14
|
+
name: typescript-node
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.
|
19
|
+
version: '0.0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
26
|
+
version: '0.0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: tilt
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: railties
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ! '>='
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ! '>='
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -81,42 +74,43 @@ files:
|
|
81
74
|
- test/assets_test.rb
|
82
75
|
- test/support/routes.rb
|
83
76
|
- test/support/site/index.js.ts
|
77
|
+
- test/support/site/ref1_1.js.ts
|
78
|
+
- test/support/site/ref1_2.js.ts
|
79
|
+
- test/support/site/ref2_1.d.ts
|
80
|
+
- test/support/site/ref2_2.js.ts
|
84
81
|
- test/template_handler_test.rb
|
85
82
|
- test/test_helper.rb
|
86
83
|
- typescript-rails.gemspec
|
87
84
|
homepage: http://github.com/klaustopher/typescript-rails
|
88
85
|
licenses: []
|
86
|
+
metadata: {}
|
89
87
|
post_install_message:
|
90
88
|
rdoc_options: []
|
91
89
|
require_paths:
|
92
90
|
- lib
|
93
91
|
required_ruby_version: !ruby/object:Gem::Requirement
|
94
|
-
none: false
|
95
92
|
requirements:
|
96
93
|
- - ! '>='
|
97
94
|
- !ruby/object:Gem::Version
|
98
|
-
version:
|
99
|
-
segments:
|
100
|
-
- 0
|
101
|
-
hash: -980725228147315620
|
95
|
+
version: 1.9.2
|
102
96
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
|
-
none: false
|
104
97
|
requirements:
|
105
98
|
- - ! '>='
|
106
99
|
- !ruby/object:Gem::Version
|
107
100
|
version: '0'
|
108
|
-
segments:
|
109
|
-
- 0
|
110
|
-
hash: -980725228147315620
|
111
101
|
requirements: []
|
112
102
|
rubyforge_project: typescript-rails
|
113
|
-
rubygems_version:
|
103
|
+
rubygems_version: 2.0.2
|
114
104
|
signing_key:
|
115
|
-
specification_version:
|
105
|
+
specification_version: 4
|
116
106
|
summary: Adds Typescript to the Rails Asset pipeline
|
117
107
|
test_files:
|
118
108
|
- test/assets_test.rb
|
119
109
|
- test/support/routes.rb
|
120
110
|
- test/support/site/index.js.ts
|
111
|
+
- test/support/site/ref1_1.js.ts
|
112
|
+
- test/support/site/ref1_2.js.ts
|
113
|
+
- test/support/site/ref2_1.d.ts
|
114
|
+
- test/support/site/ref2_2.js.ts
|
121
115
|
- test/template_handler_test.rb
|
122
116
|
- test/test_helper.rb
|