sprockets-babel 0.0.5 → 0.0.6.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sprockets/babel.rb +71 -11
- data/lib/sprockets/babel/version.rb +1 -1
- data/sprockets-babel.gemspec +3 -2
- data/test/fixtures/Regions.js.es6 +10696 -0
- data/test/fixtures/empty.js.es6 +3 -0
- data/test/fixtures/empty2.js.es6 +7 -0
- data/test/test_es6.rb +33 -12
- metadata +26 -6
data/test/test_es6.rb
CHANGED
@@ -17,20 +17,41 @@ end
|
|
17
17
|
|
18
18
|
class TestES6 < MiniTest::Test
|
19
19
|
def test_transform_arrow_function
|
20
|
-
|
20
|
+
ctx = TestES6.create_js_context TestES6.compile_js_source('test/fixtures/math.js.es6')
|
21
|
+
square = ctx[:square]
|
22
|
+
assert_equal square.call(2), 4
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_transform_large_file
|
26
|
+
ctx = TestES6.create_js_context TestES6.compile_js_source('test/fixtures/Regions.js.es6')
|
27
|
+
regions = ctx[:Regions]
|
28
|
+
assert_equal regions.keys.length, 103
|
29
|
+
assert_equal regions['CA'][7]['name'], 'Ontario'
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_transform_empty_file
|
33
|
+
compiled = TestES6.compile_js_source 'test/fixtures/empty.js.es6', 'inline'
|
34
|
+
ctx = TestES6.create_js_context compiled
|
35
|
+
assert !ctx['$__empty__'].nil?
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_transform_empty_file2
|
39
|
+
compiled = TestES6.compile_js_source 'test/fixtures/empty2.js.es6', 'inline'
|
40
|
+
ctx = TestES6.create_js_context compiled
|
41
|
+
assert !ctx['$__empty2__'].nil?
|
42
|
+
end
|
21
43
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
44
|
+
def self.create_js_context(code)
|
45
|
+
ctx = V8::Context.new
|
46
|
+
ctx.eval(code)
|
47
|
+
ctx
|
48
|
+
end
|
26
49
|
|
27
|
-
|
28
|
-
|
29
|
-
|
50
|
+
def self.compile_js_source(path, modules = 'ignore')
|
51
|
+
es6_source = File.read(path)
|
52
|
+
Babel.options[:modules] = modules
|
30
53
|
|
31
|
-
|
32
|
-
|
33
|
-
};
|
34
|
-
JS
|
54
|
+
template = Sprockets::Babel::Template.new(File.basename(path), 1) { es6_source }
|
55
|
+
template.render(Scope.new)
|
35
56
|
end
|
36
57
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sprockets-babel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brad Chen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sprockets
|
@@ -30,14 +30,28 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.7.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 0.7.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: therubyracer
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.12.2
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.12.2
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rake
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -83,6 +97,9 @@ files:
|
|
83
97
|
- lib/sprockets/babel.rb
|
84
98
|
- lib/sprockets/babel/version.rb
|
85
99
|
- sprockets-babel.gemspec
|
100
|
+
- test/fixtures/Regions.js.es6
|
101
|
+
- test/fixtures/empty.js.es6
|
102
|
+
- test/fixtures/empty2.js.es6
|
86
103
|
- test/fixtures/math.js.es6
|
87
104
|
- test/test_es6.rb
|
88
105
|
homepage: https://github.com/70mainstreet/sprockets-babel
|
@@ -100,9 +117,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
100
117
|
version: '0'
|
101
118
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
119
|
requirements:
|
103
|
-
- - "
|
120
|
+
- - ">"
|
104
121
|
- !ruby/object:Gem::Version
|
105
|
-
version:
|
122
|
+
version: 1.3.1
|
106
123
|
requirements: []
|
107
124
|
rubyforge_project:
|
108
125
|
rubygems_version: 2.4.7
|
@@ -110,5 +127,8 @@ signing_key:
|
|
110
127
|
specification_version: 4
|
111
128
|
summary: Sprockets 2.x plugin for BabelJS.
|
112
129
|
test_files:
|
130
|
+
- test/fixtures/Regions.js.es6
|
131
|
+
- test/fixtures/empty.js.es6
|
132
|
+
- test/fixtures/empty2.js.es6
|
113
133
|
- test/fixtures/math.js.es6
|
114
134
|
- test/test_es6.rb
|