rails-es6 0.0.2

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.
@@ -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: []