webpacker 4.0.7 → 5.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/.eslintrc.js +8 -8
  3. data/.github/workflows/jest.yml +38 -0
  4. data/.github/workflows/js-lint.yml +39 -0
  5. data/.github/workflows/rubocop.yml +39 -0
  6. data/.github/workflows/ruby.yml +46 -0
  7. data/.node-version +1 -1
  8. data/.rubocop.yml +118 -14
  9. data/CHANGELOG.md +301 -138
  10. data/CONTRIBUTING.md +1 -1
  11. data/Gemfile +1 -0
  12. data/Gemfile.lock +123 -92
  13. data/README.md +86 -211
  14. data/docs/css.md +72 -6
  15. data/docs/deployment.md +40 -11
  16. data/docs/docker.md +33 -14
  17. data/docs/engines.md +53 -3
  18. data/docs/env.md +0 -2
  19. data/docs/es6.md +19 -1
  20. data/docs/integrations.md +220 -0
  21. data/docs/target.md +22 -0
  22. data/docs/testing.md +2 -3
  23. data/docs/troubleshooting.md +39 -9
  24. data/docs/typescript.md +93 -26
  25. data/docs/webpack-dev-server.md +2 -2
  26. data/docs/webpack.md +18 -3
  27. data/gemfiles/Gemfile-rails-edge +1 -1
  28. data/gemfiles/{Gemfile-rails.4.2.x → Gemfile-rails.6.0.x} +1 -1
  29. data/lib/install/bin/webpack +0 -1
  30. data/lib/install/bin/webpack-dev-server +0 -1
  31. data/lib/install/coffee.rb +1 -1
  32. data/lib/install/config/babel.config.js +23 -13
  33. data/lib/install/config/webpacker.yml +3 -6
  34. data/lib/install/elm.rb +1 -1
  35. data/lib/install/erb.rb +2 -2
  36. data/lib/install/examples/angular/hello_angular/polyfills.ts +2 -2
  37. data/lib/install/examples/react/babel.config.js +28 -14
  38. data/lib/install/examples/react/tsconfig.json +2 -1
  39. data/lib/install/examples/svelte/app.svelte +11 -0
  40. data/lib/install/examples/svelte/hello_svelte.js +20 -0
  41. data/lib/install/examples/typescript/tsconfig.json +2 -1
  42. data/lib/install/loaders/elm.js +9 -6
  43. data/lib/install/loaders/svelte.js +9 -0
  44. data/lib/install/svelte.rb +29 -0
  45. data/lib/install/template.rb +14 -6
  46. data/lib/install/typescript.rb +6 -13
  47. data/lib/install/vue.rb +1 -1
  48. data/lib/tasks/installers.rake +1 -0
  49. data/lib/tasks/webpacker/check_node.rake +15 -8
  50. data/lib/tasks/webpacker/check_yarn.rake +16 -10
  51. data/lib/tasks/webpacker/clean.rake +25 -0
  52. data/lib/tasks/webpacker/clobber.rake +8 -4
  53. data/lib/tasks/webpacker/compile.rake +2 -10
  54. data/lib/tasks/webpacker/yarn_install.rake +11 -1
  55. data/lib/tasks/webpacker.rake +2 -0
  56. data/lib/webpacker/commands.rb +53 -1
  57. data/lib/webpacker/compiler.rb +21 -10
  58. data/lib/webpacker/configuration.rb +36 -13
  59. data/lib/webpacker/dev_server.rb +1 -1
  60. data/lib/webpacker/dev_server_proxy.rb +5 -9
  61. data/lib/webpacker/dev_server_runner.rb +6 -6
  62. data/lib/webpacker/env.rb +6 -2
  63. data/lib/webpacker/helper.rb +70 -25
  64. data/lib/webpacker/manifest.rb +4 -4
  65. data/lib/webpacker/railtie.rb +6 -43
  66. data/lib/webpacker/runner.rb +1 -0
  67. data/lib/webpacker/version.rb +1 -1
  68. data/lib/webpacker/webpack_runner.rb +2 -2
  69. data/lib/webpacker.rb +9 -1
  70. data/package/__tests__/config.js +12 -24
  71. data/package/__tests__/dev_server.js +2 -0
  72. data/package/__tests__/development.js +14 -1
  73. data/package/config.js +6 -11
  74. data/package/configPath.js +3 -0
  75. data/package/config_types/config_list.js +3 -3
  76. data/package/config_types/config_object.js +1 -1
  77. data/package/dev_server.js +1 -1
  78. data/package/env.js +1 -2
  79. data/package/environments/__tests__/base.js +29 -2
  80. data/package/environments/base.js +18 -8
  81. data/package/environments/development.js +39 -37
  82. data/package/environments/production.js +12 -2
  83. data/package/rules/babel.js +12 -5
  84. data/package/rules/file.js +3 -2
  85. data/package/rules/node_modules.js +3 -5
  86. data/package/rules/sass.js +11 -2
  87. data/package/utils/__tests__/get_style_rule.js +9 -0
  88. data/package/utils/deep_merge.js +5 -5
  89. data/package/utils/get_style_rule.js +7 -12
  90. data/package/utils/helpers.js +10 -10
  91. data/package.json +43 -43
  92. data/test/command_test.rb +6 -0
  93. data/test/compiler_test.rb +10 -6
  94. data/test/configuration_test.rb +40 -30
  95. data/test/dev_server_runner_test.rb +1 -1
  96. data/test/dev_server_test.rb +22 -0
  97. data/test/helper_test.rb +58 -9
  98. data/test/manifest_test.rb +37 -6
  99. data/test/rake_tasks_test.rb +17 -0
  100. data/test/test_app/app/javascript/packs/multi_entry.css +4 -0
  101. data/test/test_app/app/javascript/packs/multi_entry.js +4 -0
  102. data/test/test_app/bin/webpack +0 -1
  103. data/test/test_app/bin/webpack-dev-server +0 -1
  104. data/test/test_app/config/application.rb +0 -1
  105. data/test/test_app/config/webpacker.yml +8 -1
  106. data/test/test_app/public/packs/manifest.json +4 -0
  107. data/test/webpack_runner_test.rb +1 -1
  108. data/webpacker.gemspec +6 -4
  109. data/yarn.lock +4350 -4099
  110. metadata +63 -23
  111. data/.travis.yml +0 -53
  112. data/gemfiles/Gemfile-rails.5.0.x +0 -9
  113. data/gemfiles/Gemfile-rails.5.1.x +0 -9
  114. data/lib/install/loaders/typescript.js +0 -11
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webpacker
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.7
4
+ version: 5.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  - Gaurav Tiwari
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-06-03 00:00:00.000000000 Z
12
+ date: 2023-01-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -17,28 +17,28 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '4.2'
20
+ version: '5.2'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: '4.2'
27
+ version: '5.2'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: railties
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '4.2'
34
+ version: '5.2'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: '4.2'
41
+ version: '5.2'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rack-proxy
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -53,6 +53,20 @@ dependencies:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: 0.6.1
56
+ - !ruby/object:Gem::Dependency
57
+ name: semantic_range
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 2.3.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.3.0
56
70
  - !ruby/object:Gem::Dependency
57
71
  name: bundler
58
72
  requirement: !ruby/object:Gem::Requirement
@@ -71,17 +85,31 @@ dependencies:
71
85
  name: rubocop
72
86
  requirement: !ruby/object:Gem::Requirement
73
87
  requirements:
74
- - - "<"
88
+ - - '='
75
89
  - !ruby/object:Gem::Version
76
- version: '0.69'
90
+ version: 0.93.1
77
91
  type: :development
78
92
  prerelease: false
79
93
  version_requirements: !ruby/object:Gem::Requirement
80
94
  requirements:
81
- - - "<"
95
+ - - '='
96
+ - !ruby/object:Gem::Version
97
+ version: 0.93.1
98
+ - !ruby/object:Gem::Dependency
99
+ name: rubocop-performance
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
82
110
  - !ruby/object:Gem::Version
83
- version: '0.69'
84
- description:
111
+ version: '0'
112
+ description:
85
113
  email:
86
114
  - david@basecamp.com
87
115
  - gaurav@gauravtiwari.co.uk
@@ -91,10 +119,13 @@ extra_rdoc_files: []
91
119
  files:
92
120
  - ".eslintignore"
93
121
  - ".eslintrc.js"
122
+ - ".github/workflows/jest.yml"
123
+ - ".github/workflows/js-lint.yml"
124
+ - ".github/workflows/rubocop.yml"
125
+ - ".github/workflows/ruby.yml"
94
126
  - ".gitignore"
95
127
  - ".node-version"
96
128
  - ".rubocop.yml"
97
- - ".travis.yml"
98
129
  - CHANGELOG.md
99
130
  - CONTRIBUTING.md
100
131
  - Gemfile
@@ -111,8 +142,10 @@ files:
111
142
  - docs/env.md
112
143
  - docs/es6.md
113
144
  - docs/folder-structure.md
145
+ - docs/integrations.md
114
146
  - docs/misc.md
115
147
  - docs/props.md
148
+ - docs/target.md
116
149
  - docs/testing.md
117
150
  - docs/troubleshooting.md
118
151
  - docs/typescript.md
@@ -121,10 +154,8 @@ files:
121
154
  - docs/webpack.md
122
155
  - docs/yarn.md
123
156
  - gemfiles/Gemfile-rails-edge
124
- - gemfiles/Gemfile-rails.4.2.x
125
- - gemfiles/Gemfile-rails.5.0.x
126
- - gemfiles/Gemfile-rails.5.1.x
127
157
  - gemfiles/Gemfile-rails.5.2.x
158
+ - gemfiles/Gemfile-rails.6.0.x
128
159
  - lib/install/angular.rb
129
160
  - lib/install/bin/webpack
130
161
  - lib/install/bin/webpack-dev-server
@@ -155,6 +186,8 @@ files:
155
186
  - lib/install/examples/stimulus/application.js
156
187
  - lib/install/examples/stimulus/controllers/hello_controller.js
157
188
  - lib/install/examples/stimulus/controllers/index.js
189
+ - lib/install/examples/svelte/app.svelte
190
+ - lib/install/examples/svelte/hello_svelte.js
158
191
  - lib/install/examples/typescript/hello_typescript.ts
159
192
  - lib/install/examples/typescript/tsconfig.json
160
193
  - lib/install/examples/vue/app.vue
@@ -163,10 +196,11 @@ files:
163
196
  - lib/install/loaders/coffee.js
164
197
  - lib/install/loaders/elm.js
165
198
  - lib/install/loaders/erb.js
166
- - lib/install/loaders/typescript.js
199
+ - lib/install/loaders/svelte.js
167
200
  - lib/install/loaders/vue.js
168
201
  - lib/install/react.rb
169
202
  - lib/install/stimulus.rb
203
+ - lib/install/svelte.rb
170
204
  - lib/install/template.rb
171
205
  - lib/install/typescript.rb
172
206
  - lib/install/vue.rb
@@ -176,6 +210,7 @@ files:
176
210
  - lib/tasks/webpacker/check_binstubs.rake
177
211
  - lib/tasks/webpacker/check_node.rake
178
212
  - lib/tasks/webpacker/check_yarn.rake
213
+ - lib/tasks/webpacker/clean.rake
179
214
  - lib/tasks/webpacker/clobber.rake
180
215
  - lib/tasks/webpacker/compile.rake
181
216
  - lib/tasks/webpacker/info.rake
@@ -206,6 +241,7 @@ files:
206
241
  - package/__tests__/staging.js
207
242
  - package/__tests__/test.js
208
243
  - package/config.js
244
+ - package/configPath.js
209
245
  - package/config_types/__tests__/config_list.js
210
246
  - package/config_types/__tests__/config_object.js
211
247
  - package/config_types/config_list.js
@@ -247,6 +283,8 @@ files:
247
283
  - test/rake_tasks_test.rb
248
284
  - test/test_app/Rakefile
249
285
  - test/test_app/app/javascript/packs/application.js
286
+ - test/test_app/app/javascript/packs/multi_entry.css
287
+ - test/test_app/app/javascript/packs/multi_entry.js
250
288
  - test/test_app/bin/webpack
251
289
  - test/test_app/bin/webpack-dev-server
252
290
  - test/test_app/config.ru
@@ -267,9 +305,9 @@ homepage: https://github.com/rails/webpacker
267
305
  licenses:
268
306
  - MIT
269
307
  metadata:
270
- source_code_uri: https://github.com/rails/webpacker/tree/v4.0.7
271
- changelog_uri: https://github.com/rails/webpacker/blob/v4.0.7/CHANGELOG.md
272
- post_install_message:
308
+ source_code_uri: https://github.com/rails/webpacker/tree/v5.4.4
309
+ changelog_uri: https://github.com/rails/webpacker/blob/v5.4.4/CHANGELOG.md
310
+ post_install_message:
273
311
  rdoc_options: []
274
312
  require_paths:
275
313
  - lib
@@ -277,15 +315,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
277
315
  requirements:
278
316
  - - ">="
279
317
  - !ruby/object:Gem::Version
280
- version: 2.2.0
318
+ version: 2.4.0
281
319
  required_rubygems_version: !ruby/object:Gem::Requirement
282
320
  requirements:
283
321
  - - ">="
284
322
  - !ruby/object:Gem::Version
285
323
  version: '0'
286
324
  requirements: []
287
- rubygems_version: 3.0.3
288
- signing_key:
325
+ rubygems_version: 3.1.2
326
+ signing_key:
289
327
  specification_version: 4
290
328
  summary: Use webpack to manage app-like JavaScript modules in Rails
291
329
  test_files:
@@ -300,6 +338,8 @@ test_files:
300
338
  - test/rake_tasks_test.rb
301
339
  - test/test_app/Rakefile
302
340
  - test/test_app/app/javascript/packs/application.js
341
+ - test/test_app/app/javascript/packs/multi_entry.css
342
+ - test/test_app/app/javascript/packs/multi_entry.js
303
343
  - test/test_app/bin/webpack
304
344
  - test/test_app/bin/webpack-dev-server
305
345
  - test/test_app/config.ru
data/.travis.yml DELETED
@@ -1,53 +0,0 @@
1
- language: ruby
2
- bundler_args: --jobs 3 --retry 3
3
- dist: xenial
4
- before_install:
5
- - gem install rubygems-update && update_rubygems
6
- # Rails 4.2 doesn't support bundler 2.0, so we need to lock bundler to
7
- # v1.17.3. This is just for Ruby 2.5 which ships with bundler 2.x on Travis
8
- # CI while Ruby 2.6 does not.
9
- # https://github.com/travis-ci/travis-rubies/issues/57#issuecomment-458981237
10
- - yes | rvm @global do gem uninstall bundler --all
11
- - yes | rvm @global do gem install bundler -v 1.17.3 || true
12
- rvm:
13
- - 2.3.8
14
- - 2.4.6
15
- - 2.5.5
16
- - 2.6.2
17
- - ruby-head
18
- gemfile:
19
- - gemfiles/Gemfile-rails.4.2.x
20
- - gemfiles/Gemfile-rails.5.0.x
21
- - gemfiles/Gemfile-rails.5.1.x
22
- - gemfiles/Gemfile-rails.5.2.x
23
- - gemfiles/Gemfile-rails-edge
24
- cache:
25
- bundler: true
26
- directories:
27
- - node_modules
28
- yarn: true
29
-
30
- install:
31
- - bundle install
32
- - nvm install 10
33
- - node -v
34
- - npm i -g yarn
35
- - yarn
36
- script:
37
- - yarn lint
38
- - yarn test
39
- - bundle exec rubocop
40
- - bundle exec rake test
41
- matrix:
42
- allow_failures:
43
- - gemfile: gemfiles/Gemfile-rails-edge
44
- - rvm: ruby-head
45
- exclude:
46
- - rvm: 2.3.8
47
- gemfile: gemfiles/Gemfile-rails-edge
48
- - rvm: 2.4.6
49
- gemfile: gemfiles/Gemfile-rails-edge
50
- - rvm: 2.5.5
51
- gemfile: gemfiles/Gemfile-rails-edge
52
- - rvm: ruby-head
53
- gemfile: gemfiles/Gemfile-rails.4.2.x
@@ -1,9 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec path: "../"
4
-
5
- gem "rails", "~> 5.0.0"
6
- gem "rake", ">= 11.1"
7
- gem "rack-proxy", require: false
8
- gem "minitest", "~> 5.0"
9
- gem "byebug"
@@ -1,9 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec path: "../"
4
-
5
- gem "rails", "~> 5.1.0"
6
- gem "rake", ">= 11.1"
7
- gem "rack-proxy", require: false
8
- gem "minitest", "~> 5.0"
9
- gem "byebug"
@@ -1,11 +0,0 @@
1
- const PnpWebpackPlugin = require('pnp-webpack-plugin')
2
-
3
- module.exports = {
4
- test: /\.(ts|tsx)?(\.erb)?$/,
5
- use: [
6
- {
7
- loader: 'ts-loader',
8
- options: PnpWebpackPlugin.tsLoaderOptions()
9
- }
10
- ]
11
- }