sprockets-es6 0.8.2 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1146e7110d9ec089c5fca19a548066100d9f9acb
4
- data.tar.gz: 3ec61b615cd78640fe15a4c35ac248aeeead2206
3
+ metadata.gz: 8c3813d1da084f0cb3f7fd15095c6ed34dc7d498
4
+ data.tar.gz: a1ae1ebc0ae0bd51dedcd352dc61327226543245
5
5
  SHA512:
6
- metadata.gz: 81d9a042a1dc43ca8794cc394c75c341b99504da46e148fbdc8fae52bb49836ea4b2799adc813109d3aff354f3c6ec129aec4bf76ac3cbd197cc8bcc6fb4fba5
7
- data.tar.gz: ca64804ca24ffbdd574567345c932d5bf82b1e79a023516f3a1c244ba34fedd0673ba1fd6fbb35be39e0a39ab47b49dcc6717ca2870b1d292599fce351e1a04c
6
+ metadata.gz: 6d1173d2c5a564f5d6fa4a544ce63c7da7d7ac4bc5ea1f488545cacf1b28a51ac5879e0d9e64651b974fdec728a100e5ec2cb0861d7e14905a06743215c06f3f
7
+ data.tar.gz: 8c34559fd43eadd7e30e7c50a5d972aae788f8b2598db0e1c20288067ca0241b7cbc7c51a97d301ea9675702ffc3a4dee69c2efccf31615ee5ba562552246721
@@ -1,19 +1,47 @@
1
1
  require 'babel/transpiler'
2
2
  require 'sprockets'
3
3
  require 'sprockets/es6/version'
4
+ require 'ostruct'
4
5
 
5
6
  module Sprockets
6
7
  class ES6
7
- def self.instance
8
- @instance ||= new
8
+
9
+ class << self
10
+
11
+ attr_accessor :configuration
12
+
13
+ def configuration_hash
14
+ configuration.to_h.reduce({}) do |hash, (key, val)|
15
+ hash[key.to_s] = val
16
+ hash
17
+ end
18
+ end
19
+
20
+ def instance
21
+ @instance ||= new
22
+ end
23
+
24
+ def configure
25
+ self.configuration ||= OpenStruct.new
26
+ yield configuration
27
+ end
28
+
29
+ def reset_configuration
30
+ self.configuration = OpenStruct.new
31
+ end
32
+
33
+ def call(input)
34
+ instance.call(input)
35
+ end
36
+
9
37
  end
10
38
 
11
- def self.call(input)
12
- instance.call(input)
39
+ def configuration_hash
40
+ self.class.configuration_hash
13
41
  end
14
42
 
15
43
  def initialize(options = {})
16
- @options = options.dup.freeze
44
+ @options = configuration_hash.merge(options).freeze
17
45
 
18
46
  @cache_key = [
19
47
  self.class.name,
@@ -27,23 +55,32 @@ module Sprockets
27
55
  def call(input)
28
56
  data = input[:data]
29
57
  result = input[:cache].fetch(@cache_key + [input[:filename]] + [data]) do
30
- opts = {
31
- 'sourceRoot' => input[:load_path],
32
- 'moduleRoot' => nil,
33
- 'filename' => input[:filename],
34
- 'filenameRelative' => input[:environment].split_subpath(input[:load_path], input[:filename])
35
- }.merge(@options)
36
-
37
- if opts['moduleIds'] && opts['moduleRoot']
38
- opts['moduleId'] ||= File.join(opts['moduleRoot'], input[:name])
39
- elsif opts['moduleIds']
40
- opts['moduleId'] ||= input[:name]
41
- end
42
-
43
- Babel::Transpiler.transform(data, opts)
58
+ transform(data, transformation_options(input))
44
59
  end
45
60
  result['code']
46
61
  end
62
+
63
+ def transform(data, opts)
64
+ Babel::Transpiler.transform(data, opts)
65
+ end
66
+
67
+ def transformation_options(input)
68
+ opts = {
69
+ 'sourceRoot' => input[:load_path],
70
+ 'moduleRoot' => nil,
71
+ 'filename' => input[:filename],
72
+ 'filenameRelative' => input[:environment].split_subpath(input[:load_path], input[:filename])
73
+ }.merge(@options)
74
+
75
+ if opts['moduleIds'] && opts['moduleRoot']
76
+ opts['moduleId'] ||= File.join(opts['moduleRoot'], input[:name])
77
+ elsif opts['moduleIds']
78
+ opts['moduleId'] ||= input[:name]
79
+ end
80
+
81
+ opts
82
+ end
83
+
47
84
  end
48
85
 
49
86
  append_path Babel::Transpiler.source_path
@@ -1,5 +1,5 @@
1
1
  module Sprockets
2
2
  class ES6
3
- VERSION = '0.8.2'
3
+ VERSION = '0.9.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sprockets-es6
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Peek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-09 00:00:00.000000000 Z
11
+ date: 2016-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: babel-transpiler
@@ -80,8 +80,8 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description: |2
84
- A Sprockets transformer that converts ES6 code into vanilla ES5 with Babel JS.
83
+ description: " A Sprockets transformer that converts ES6 code into vanilla ES5
84
+ with Babel JS.\n"
85
85
  email: josh@joshpeek.com
86
86
  executables: []
87
87
  extensions: []
@@ -111,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  version: '0'
112
112
  requirements: []
113
113
  rubyforge_project:
114
- rubygems_version: 2.2.2
114
+ rubygems_version: 2.5.1
115
115
  signing_key:
116
116
  specification_version: 4
117
117
  summary: Sprockets ES6 transformer