webpacker 3.1.1 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +77 -0
  3. data/Gemfile.lock +17 -18
  4. data/README.md +21 -0
  5. data/docs/css.md +8 -3
  6. data/docs/troubleshooting.md +18 -0
  7. data/docs/webpack.md +30 -3
  8. data/lib/install/angular.rb +12 -0
  9. data/lib/install/coffee.rb +22 -0
  10. data/lib/install/config/.postcssrc.yml +1 -1
  11. data/lib/install/elm.rb +12 -0
  12. data/lib/install/erb.rb +22 -0
  13. data/lib/install/examples/coffee/hello_coffee.coffee +4 -0
  14. data/lib/install/examples/erb/hello_erb.js.erb +6 -0
  15. data/{package/rules → lib/install/loaders}/coffee.js +0 -0
  16. data/{package/rules → lib/install/loaders}/elm.js +0 -0
  17. data/{package/rules → lib/install/loaders}/erb.js +0 -0
  18. data/{package/rules → lib/install/loaders}/typescript.js +0 -0
  19. data/{package/rules → lib/install/loaders}/vue.js +1 -1
  20. data/lib/install/vue.rb +12 -0
  21. data/lib/tasks/installers.rake +3 -1
  22. data/lib/tasks/webpacker.rake +3 -1
  23. data/lib/tasks/webpacker/check_node.rake +2 -6
  24. data/lib/webpacker/compiler.rb +6 -1
  25. data/lib/webpacker/configuration.rb +8 -0
  26. data/lib/webpacker/helper.rb +14 -2
  27. data/lib/webpacker/version.rb +1 -1
  28. data/package.json +4 -10
  29. data/package/__tests__/environment.js +74 -0
  30. data/package/config.js +3 -0
  31. data/package/config_types/config_list.js +2 -0
  32. data/package/environment.js +6 -9
  33. data/package/environments/development.js +3 -4
  34. data/package/index.js +1 -2
  35. data/package/rules/file.js +1 -3
  36. data/package/rules/index.js +0 -12
  37. data/test/compiler_test.rb +11 -0
  38. data/test/configuration_test.rb +8 -0
  39. data/test/helper_test.rb +8 -0
  40. data/test/test_app/app/javascript/packs/application.js +10 -0
  41. data/test/test_app/config/webpacker.yml +65 -0
  42. data/test/test_helper.rb +1 -1
  43. data/yarn.lock +100 -188
  44. metadata +16 -9
  45. data/package/asset_host.js +0 -20
  46. data/package/rules/url.js +0 -13
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webpacker
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.1
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2017-12-11 00:00:00.000000000 Z
12
+ date: 2017-12-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -111,6 +111,7 @@ files:
111
111
  - gemfiles/Gemfile-rails.5.0.x
112
112
  - gemfiles/Gemfile-rails.5.1.x
113
113
  - lib/install/angular.rb
114
+ - lib/install/coffee.rb
114
115
  - lib/install/config/.babelrc
115
116
  - lib/install/config/.postcssrc.yml
116
117
  - lib/install/config/webpack/development.js
@@ -119,19 +120,27 @@ files:
119
120
  - lib/install/config/webpack/test.js
120
121
  - lib/install/config/webpacker.yml
121
122
  - lib/install/elm.rb
123
+ - lib/install/erb.rb
122
124
  - lib/install/examples/angular/hello_angular.js
123
125
  - lib/install/examples/angular/hello_angular/app/app.component.ts
124
126
  - lib/install/examples/angular/hello_angular/app/app.module.ts
125
127
  - lib/install/examples/angular/hello_angular/index.ts
126
128
  - lib/install/examples/angular/hello_angular/polyfills.ts
127
129
  - lib/install/examples/angular/tsconfig.json
130
+ - lib/install/examples/coffee/hello_coffee.coffee
128
131
  - lib/install/examples/elm/Main.elm
129
132
  - lib/install/examples/elm/hello_elm.js
133
+ - lib/install/examples/erb/hello_erb.js.erb
130
134
  - lib/install/examples/react/.babelrc
131
135
  - lib/install/examples/react/hello_react.jsx
132
136
  - lib/install/examples/vue/app.vue
133
137
  - lib/install/examples/vue/hello_vue.js
134
138
  - lib/install/javascript/packs/application.js
139
+ - lib/install/loaders/coffee.js
140
+ - lib/install/loaders/elm.js
141
+ - lib/install/loaders/erb.js
142
+ - lib/install/loaders/typescript.js
143
+ - lib/install/loaders/vue.js
135
144
  - lib/install/react.rb
136
145
  - lib/install/template.rb
137
146
  - lib/install/vue.rb
@@ -160,7 +169,7 @@ files:
160
169
  - lib/webpacker/version.rb
161
170
  - lib/webpacker/webpack_runner.rb
162
171
  - package.json
163
- - package/asset_host.js
172
+ - package/__tests__/environment.js
164
173
  - package/config.js
165
174
  - package/config_types/__tests__/config_list.js
166
175
  - package/config_types/__tests__/config_object.js
@@ -173,16 +182,10 @@ files:
173
182
  - package/environments/test.js
174
183
  - package/index.js
175
184
  - package/rules/babel.js
176
- - package/rules/coffee.js
177
185
  - package/rules/css.js
178
- - package/rules/elm.js
179
- - package/rules/erb.js
180
186
  - package/rules/file.js
181
187
  - package/rules/index.js
182
188
  - package/rules/sass.js
183
- - package/rules/typescript.js
184
- - package/rules/url.js
185
- - package/rules/vue.js
186
189
  - package/utils/__tests__/deep_assign.js
187
190
  - package/utils/__tests__/deep_merge.js
188
191
  - package/utils/__tests__/objectify.js
@@ -198,8 +201,10 @@ files:
198
201
  - test/manifest_test.rb
199
202
  - test/rake_tasks_test.rb
200
203
  - test/test_app/Rakefile
204
+ - test/test_app/app/javascript/packs/application.js
201
205
  - test/test_app/config/application.rb
202
206
  - test/test_app/config/environment.rb
207
+ - test/test_app/config/webpacker.yml
203
208
  - test/test_app/public/packs/manifest.json
204
209
  - test/test_helper.rb
205
210
  - webpacker.gemspec
@@ -237,7 +242,9 @@ test_files:
237
242
  - test/manifest_test.rb
238
243
  - test/rake_tasks_test.rb
239
244
  - test/test_app/Rakefile
245
+ - test/test_app/app/javascript/packs/application.js
240
246
  - test/test_app/config/application.rb
241
247
  - test/test_app/config/environment.rb
248
+ - test/test_app/config/webpacker.yml
242
249
  - test/test_app/public/packs/manifest.json
243
250
  - test/test_helper.rb
@@ -1,20 +0,0 @@
1
- const config = require('./config')
2
- const { resolve } = require('path')
3
-
4
- const removeOuterSlashes = string =>
5
- string.replace(/^\/*/, '').replace(/\/*$/, '')
6
-
7
- const formatPublicPath = (host = '', path = '') => {
8
- let formattedHost = removeOuterSlashes(host)
9
- if (formattedHost && !/^http/i.test(formattedHost)) {
10
- formattedHost = `//${formattedHost}`
11
- }
12
- const formattedPath = removeOuterSlashes(path)
13
- return `${formattedHost}/${formattedPath}/`
14
- }
15
-
16
- module.exports = {
17
- path: resolve('public', config.public_output_path),
18
- publicPath: `/${config.public_output_path}/`.replace(/([^:]\/)\/+/g, '$1'),
19
- publicPathWithHost: formatPublicPath(process.env.WEBPACKER_ASSET_HOST, config.public_output_path)
20
- }
data/package/rules/url.js DELETED
@@ -1,13 +0,0 @@
1
- const assetHost = require('../asset_host')
2
-
3
- module.exports = {
4
- test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
5
- use: [{
6
- loader: 'url-loader',
7
- options: {
8
- limit: 10000,
9
- name: '[name]-[hash].[ext]',
10
- publicPath: assetHost.publicPathWithHost
11
- }
12
- }]
13
- }