webpacker 4.0.7 → 5.4.4

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.
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
- }