webpacker 4.0.2 → 5.4.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) 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 +58 -0
  7. data/.gitignore +1 -0
  8. data/.node-version +1 -1
  9. data/.rubocop.yml +115 -14
  10. data/.travis.yml +16 -18
  11. data/CHANGELOG.md +329 -130
  12. data/Gemfile +1 -1
  13. data/Gemfile.lock +127 -105
  14. data/README.md +84 -217
  15. data/docs/assets.md +20 -10
  16. data/docs/css.md +126 -7
  17. data/docs/deployment.md +55 -10
  18. data/docs/docker.md +33 -14
  19. data/docs/engines.md +60 -2
  20. data/docs/env.md +0 -2
  21. data/docs/es6.md +24 -5
  22. data/docs/integrations.md +220 -0
  23. data/docs/target.md +22 -0
  24. data/docs/testing.md +2 -3
  25. data/docs/troubleshooting.md +46 -7
  26. data/docs/typescript.md +93 -26
  27. data/docs/v4-upgrade.md +12 -2
  28. data/docs/webpack-dev-server.md +2 -2
  29. data/docs/webpack.md +21 -7
  30. data/gemfiles/Gemfile-rails-edge +2 -3
  31. data/gemfiles/Gemfile-rails.5.2.x +1 -2
  32. data/gemfiles/Gemfile-rails.6.0.x +9 -0
  33. data/lib/install/bin/webpack +0 -1
  34. data/lib/install/bin/webpack-dev-server +0 -1
  35. data/lib/install/coffee.rb +1 -1
  36. data/lib/install/config/babel.config.js +24 -12
  37. data/lib/install/config/webpacker.yml +3 -6
  38. data/lib/install/elm.rb +3 -3
  39. data/lib/install/erb.rb +2 -2
  40. data/lib/install/examples/angular/hello_angular/polyfills.ts +2 -2
  41. data/lib/install/examples/react/babel.config.js +31 -15
  42. data/lib/install/examples/react/tsconfig.json +2 -1
  43. data/lib/install/examples/svelte/app.svelte +11 -0
  44. data/lib/install/examples/svelte/hello_svelte.js +20 -0
  45. data/lib/install/examples/typescript/tsconfig.json +2 -1
  46. data/lib/install/examples/vue/hello_vue.js +2 -3
  47. data/lib/install/loaders/elm.js +9 -6
  48. data/lib/install/loaders/svelte.js +9 -0
  49. data/lib/install/svelte.rb +29 -0
  50. data/lib/install/template.rb +12 -4
  51. data/lib/install/typescript.rb +6 -13
  52. data/lib/install/vue.rb +1 -1
  53. data/lib/tasks/installers.rake +1 -0
  54. data/lib/tasks/webpacker/check_node.rake +15 -8
  55. data/lib/tasks/webpacker/check_yarn.rake +16 -10
  56. data/lib/tasks/webpacker/clean.rake +25 -0
  57. data/lib/tasks/webpacker/clobber.rake +8 -4
  58. data/lib/tasks/webpacker/compile.rake +10 -15
  59. data/lib/tasks/webpacker/yarn_install.rake +11 -1
  60. data/lib/tasks/webpacker.rake +2 -0
  61. data/lib/webpacker/commands.rb +53 -1
  62. data/lib/webpacker/compiler.rb +24 -9
  63. data/lib/webpacker/configuration.rb +36 -13
  64. data/lib/webpacker/dev_server.rb +1 -1
  65. data/lib/webpacker/dev_server_proxy.rb +5 -9
  66. data/lib/webpacker/dev_server_runner.rb +10 -4
  67. data/lib/webpacker/env.rb +6 -2
  68. data/lib/webpacker/helper.rb +71 -26
  69. data/lib/webpacker/manifest.rb +4 -4
  70. data/lib/webpacker/railtie.rb +6 -43
  71. data/lib/webpacker/runner.rb +1 -0
  72. data/lib/webpacker/version.rb +1 -1
  73. data/lib/webpacker/webpack_runner.rb +6 -0
  74. data/lib/webpacker.rb +9 -1
  75. data/package/__tests__/config.js +12 -24
  76. data/package/__tests__/dev_server.js +2 -0
  77. data/package/__tests__/development.js +14 -1
  78. data/package/config.js +6 -11
  79. data/package/configPath.js +3 -0
  80. data/package/config_types/config_list.js +3 -3
  81. data/package/config_types/config_object.js +1 -1
  82. data/package/dev_server.js +1 -1
  83. data/package/env.js +1 -2
  84. data/package/environments/__tests__/base.js +30 -3
  85. data/package/environments/base.js +20 -10
  86. data/package/environments/development.js +39 -37
  87. data/package/environments/production.js +12 -2
  88. data/package/rules/babel.js +12 -5
  89. data/package/rules/file.js +3 -2
  90. data/package/rules/node_modules.js +3 -4
  91. data/package/rules/sass.js +11 -2
  92. data/package/utils/__tests__/get_style_rule.js +9 -0
  93. data/package/utils/deep_merge.js +5 -5
  94. data/package/utils/get_style_rule.js +7 -12
  95. data/package/utils/helpers.js +10 -10
  96. data/package.json +43 -42
  97. data/test/command_test.rb +6 -0
  98. data/test/compiler_test.rb +10 -6
  99. data/test/configuration_test.rb +40 -30
  100. data/test/dev_server_runner_test.rb +1 -1
  101. data/test/dev_server_test.rb +22 -0
  102. data/test/helper_test.rb +58 -9
  103. data/test/manifest_test.rb +37 -6
  104. data/test/rake_tasks_test.rb +17 -0
  105. data/test/test_app/app/javascript/packs/multi_entry.css +4 -0
  106. data/test/test_app/app/javascript/packs/multi_entry.js +4 -0
  107. data/test/test_app/bin/webpack +0 -1
  108. data/test/test_app/bin/webpack-dev-server +0 -1
  109. data/test/test_app/config/application.rb +0 -1
  110. data/test/test_app/config/webpacker.yml +8 -1
  111. data/test/test_app/public/packs/manifest.json +4 -0
  112. data/test/webpack_runner_test.rb +1 -1
  113. data/webpacker.gemspec +7 -4
  114. data/yarn.lock +4552 -4077
  115. metadata +73 -19
  116. data/gemfiles/Gemfile-rails.4.2.x +0 -10
  117. data/gemfiles/Gemfile-rails.5.0.x +0 -10
  118. data/gemfiles/Gemfile-rails.5.1.x +0 -10
  119. data/lib/install/loaders/typescript.js +0 -11
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: 4.0.2
4
+ version: 5.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-03-06 00:00:00.000000000 Z
12
+ date: 2021-09-14 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,20 +53,62 @@ 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
59
73
  requirements:
60
- - - "~>"
74
+ - - ">="
61
75
  - !ruby/object:Gem::Version
62
- version: '1.12'
76
+ version: 1.3.0
63
77
  type: :development
64
78
  prerelease: false
65
79
  version_requirements: !ruby/object:Gem::Requirement
66
80
  requirements:
67
- - - "~>"
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: 1.3.0
84
+ - !ruby/object:Gem::Dependency
85
+ name: rubocop
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - '='
89
+ - !ruby/object:Gem::Version
90
+ version: 0.93.1
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
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
+ - - ">="
68
110
  - !ruby/object:Gem::Version
69
- version: '1.12'
111
+ version: '0'
70
112
  description:
71
113
  email:
72
114
  - david@basecamp.com
@@ -77,6 +119,10 @@ extra_rdoc_files: []
77
119
  files:
78
120
  - ".eslintignore"
79
121
  - ".eslintrc.js"
122
+ - ".github/workflows/jest.yml"
123
+ - ".github/workflows/js-lint.yml"
124
+ - ".github/workflows/rubocop.yml"
125
+ - ".github/workflows/ruby.yml"
80
126
  - ".gitignore"
81
127
  - ".node-version"
82
128
  - ".rubocop.yml"
@@ -97,8 +143,10 @@ files:
97
143
  - docs/env.md
98
144
  - docs/es6.md
99
145
  - docs/folder-structure.md
146
+ - docs/integrations.md
100
147
  - docs/misc.md
101
148
  - docs/props.md
149
+ - docs/target.md
102
150
  - docs/testing.md
103
151
  - docs/troubleshooting.md
104
152
  - docs/typescript.md
@@ -107,10 +155,8 @@ files:
107
155
  - docs/webpack.md
108
156
  - docs/yarn.md
109
157
  - gemfiles/Gemfile-rails-edge
110
- - gemfiles/Gemfile-rails.4.2.x
111
- - gemfiles/Gemfile-rails.5.0.x
112
- - gemfiles/Gemfile-rails.5.1.x
113
158
  - gemfiles/Gemfile-rails.5.2.x
159
+ - gemfiles/Gemfile-rails.6.0.x
114
160
  - lib/install/angular.rb
115
161
  - lib/install/bin/webpack
116
162
  - lib/install/bin/webpack-dev-server
@@ -141,6 +187,8 @@ files:
141
187
  - lib/install/examples/stimulus/application.js
142
188
  - lib/install/examples/stimulus/controllers/hello_controller.js
143
189
  - lib/install/examples/stimulus/controllers/index.js
190
+ - lib/install/examples/svelte/app.svelte
191
+ - lib/install/examples/svelte/hello_svelte.js
144
192
  - lib/install/examples/typescript/hello_typescript.ts
145
193
  - lib/install/examples/typescript/tsconfig.json
146
194
  - lib/install/examples/vue/app.vue
@@ -149,10 +197,11 @@ files:
149
197
  - lib/install/loaders/coffee.js
150
198
  - lib/install/loaders/elm.js
151
199
  - lib/install/loaders/erb.js
152
- - lib/install/loaders/typescript.js
200
+ - lib/install/loaders/svelte.js
153
201
  - lib/install/loaders/vue.js
154
202
  - lib/install/react.rb
155
203
  - lib/install/stimulus.rb
204
+ - lib/install/svelte.rb
156
205
  - lib/install/template.rb
157
206
  - lib/install/typescript.rb
158
207
  - lib/install/vue.rb
@@ -162,6 +211,7 @@ files:
162
211
  - lib/tasks/webpacker/check_binstubs.rake
163
212
  - lib/tasks/webpacker/check_node.rake
164
213
  - lib/tasks/webpacker/check_yarn.rake
214
+ - lib/tasks/webpacker/clean.rake
165
215
  - lib/tasks/webpacker/clobber.rake
166
216
  - lib/tasks/webpacker/compile.rake
167
217
  - lib/tasks/webpacker/info.rake
@@ -192,6 +242,7 @@ files:
192
242
  - package/__tests__/staging.js
193
243
  - package/__tests__/test.js
194
244
  - package/config.js
245
+ - package/configPath.js
195
246
  - package/config_types/__tests__/config_list.js
196
247
  - package/config_types/__tests__/config_object.js
197
248
  - package/config_types/config_list.js
@@ -233,6 +284,8 @@ files:
233
284
  - test/rake_tasks_test.rb
234
285
  - test/test_app/Rakefile
235
286
  - test/test_app/app/javascript/packs/application.js
287
+ - test/test_app/app/javascript/packs/multi_entry.css
288
+ - test/test_app/app/javascript/packs/multi_entry.js
236
289
  - test/test_app/bin/webpack
237
290
  - test/test_app/bin/webpack-dev-server
238
291
  - test/test_app/config.ru
@@ -253,8 +306,8 @@ homepage: https://github.com/rails/webpacker
253
306
  licenses:
254
307
  - MIT
255
308
  metadata:
256
- source_code_uri: https://github.com/rails/webpacker/tree/v4.0.2
257
- changelog_uri: https://github.com/rails/webpacker/blob/v4.0.2/CHANGELOG.md
309
+ source_code_uri: https://github.com/rails/webpacker/tree/v5.4.3
310
+ changelog_uri: https://github.com/rails/webpacker/blob/v5.4.3/CHANGELOG.md
258
311
  post_install_message:
259
312
  rdoc_options: []
260
313
  require_paths:
@@ -263,15 +316,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
263
316
  requirements:
264
317
  - - ">="
265
318
  - !ruby/object:Gem::Version
266
- version: 2.2.0
319
+ version: 2.4.0
267
320
  required_rubygems_version: !ruby/object:Gem::Requirement
268
321
  requirements:
269
322
  - - ">="
270
323
  - !ruby/object:Gem::Version
271
324
  version: '0'
272
325
  requirements: []
273
- rubyforge_project:
274
- rubygems_version: 2.7.6
326
+ rubygems_version: 3.1.4
275
327
  signing_key:
276
328
  specification_version: 4
277
329
  summary: Use webpack to manage app-like JavaScript modules in Rails
@@ -287,6 +339,8 @@ test_files:
287
339
  - test/rake_tasks_test.rb
288
340
  - test/test_app/Rakefile
289
341
  - test/test_app/app/javascript/packs/application.js
342
+ - test/test_app/app/javascript/packs/multi_entry.css
343
+ - test/test_app/app/javascript/packs/multi_entry.js
290
344
  - test/test_app/bin/webpack
291
345
  - test/test_app/bin/webpack-dev-server
292
346
  - test/test_app/config.ru
@@ -1,10 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "webpacker", path: ".."
4
-
5
- gem "rails", "~> 4.2.0"
6
- gem "rake", ">= 11.1"
7
- gem "rubocop", git: "https://github.com/rubocop-hq/rubocop.git", require: false
8
- gem "rack-proxy", require: false
9
- gem "minitest", "~> 5.0"
10
- gem "byebug"
@@ -1,10 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "webpacker", path: ".."
4
-
5
- gem "rails", "~> 5.0.0"
6
- gem "rake", ">= 11.1"
7
- gem "rubocop", git: "https://github.com/rubocop-hq/rubocop.git", require: false
8
- gem "rack-proxy", require: false
9
- gem "minitest", "~> 5.0"
10
- gem "byebug"
@@ -1,10 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "webpacker", path: ".."
4
-
5
- gem "rails", "~> 5.1.0"
6
- gem "rake", ">= 11.1"
7
- gem "rubocop", git: "https://github.com/rubocop-hq/rubocop.git", require: false
8
- gem "rack-proxy", require: false
9
- gem "minitest", "~> 5.0"
10
- 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
- }