rails-es6 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: abbe627c0d45511dbe5669c895003d558c24bf20
4
+ data.tar.gz: ba5097f303b9c818253f938d3d637a3f3eba2521
5
+ SHA512:
6
+ metadata.gz: a0a7de5d5b48cd10638471d59415746366fa361f3252d783c77f677075ee8fa46209fb69485156547fffc98f27b3e2f5d702f832e7f70d800630674a894884c9
7
+ data.tar.gz: fdefc84458811ca013a08b535e90afb2cd3c8639bbe6df3b9ea2c51608b4758e3b4b97d977f27936ca8238f677b904c285bbb49a648d5ba78d7fc4a02395e0c9
@@ -0,0 +1,24 @@
1
+ begin
2
+ require 'sprockets/railtie'
3
+ rescue LoadError
4
+ require 'sprockets/rails/railtie'
5
+ end
6
+
7
+ module Es6
8
+ class Railtie < ::Rails::Railtie
9
+ config.es6 = ActiveSupport::OrderedOptions.new
10
+
11
+ config.es6.map = false
12
+
13
+ initializer :setup_es6, group: :all do |app|
14
+ config.assets.configure do |env|
15
+ env.register_engine '.es6', Es6::Template
16
+
17
+ env.context_class.class_eval do
18
+ class_attribute :es6_config
19
+ self.es6_config = app.config.es6
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,50 @@
1
+ require 'babel/transpiler'
2
+
3
+ module Es6
4
+ class Template < Tilt::Template
5
+ def self.default_mime_type
6
+ 'application/javascript'
7
+ end
8
+
9
+ def self.engine_initialized?
10
+ true
11
+ end
12
+
13
+ def initialize_engine
14
+ end
15
+
16
+ def prepare
17
+ end
18
+
19
+ def syntax
20
+ :es6
21
+ end
22
+
23
+ def evaluate(context, locals, &block)
24
+ logical_path = context.logical_path
25
+ data = File.read(eval_file)
26
+
27
+ result = Babel::Transpiler.transform(data, {
28
+ 'sourceMap' => context.es6_config.source_map,
29
+ 'sourceRoot' => source_root(logical_path),
30
+ 'filenameRelative' => filename_relative(logical_path)})
31
+
32
+ # TODO: figure out who adding ; at the end of each js file
33
+ result['code'] + "\n"
34
+ end
35
+
36
+ private
37
+
38
+ def filename_regexp
39
+ /[^\/]*$/
40
+ end
41
+
42
+ def filename_relative(logical_path)
43
+ filename_regexp.match(logical_path)[0].to_s
44
+ end
45
+
46
+ def source_root(logical_path)
47
+ logical_path.gsub(filename_regexp, '')
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,3 @@
1
+ module Es6
2
+ VERSION = "0.0.2"
3
+ end
@@ -0,0 +1,2 @@
1
+ require 'es6/railtie'
2
+ require 'es6/template'
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rails-es6
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Oleksii Levzhynskyi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-04-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: railties
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 4.0.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 4.0.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: sprockets-rails
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '2.0'
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '4.0'
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '2.0'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '4.0'
53
+ - !ruby/object:Gem::Dependency
54
+ name: sprockets
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '2.8'
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: '4.0'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '2.8'
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: '4.0'
73
+ - !ruby/object:Gem::Dependency
74
+ name: tilt
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '1.1'
80
+ type: :runtime
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - "~>"
85
+ - !ruby/object:Gem::Version
86
+ version: '1.1'
87
+ - !ruby/object:Gem::Dependency
88
+ name: babel-transpiler
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - "~>"
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ type: :runtime
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - "~>"
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ description: Babel adapter for the Rails asset pipeline.
102
+ email: oleksii.levzhynskyi@gmail.com
103
+ executables: []
104
+ extensions: []
105
+ extra_rdoc_files: []
106
+ files:
107
+ - lib/es6/railtie.rb
108
+ - lib/es6/template.rb
109
+ - lib/es6/version.rb
110
+ - lib/rails-es6.rb
111
+ homepage: https://github.com/levzhinsky/rails-es6
112
+ licenses:
113
+ - MIT
114
+ metadata: {}
115
+ post_install_message:
116
+ rdoc_options: []
117
+ require_paths:
118
+ - lib
119
+ required_ruby_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ required_rubygems_version: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ requirements: []
130
+ rubyforge_project:
131
+ rubygems_version: 2.2.2
132
+ signing_key:
133
+ specification_version: 4
134
+ summary: Babel adapter for the Rails asset pipeline.
135
+ test_files: []