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
data/Gemfile CHANGED
@@ -4,8 +4,8 @@ gemspec
4
4
 
5
5
  gem "rails"
6
6
  gem "rake", ">= 11.1"
7
- gem "rubocop", git: "https://github.com/rubocop-hq/rubocop.git", require: false
8
7
  gem "rack-proxy", require: false
8
+ gem "semantic_range", require: false
9
9
 
10
10
  group :test do
11
11
  gem "minitest", "~> 5.0"
data/Gemfile.lock CHANGED
@@ -1,161 +1,183 @@
1
- GIT
2
- remote: https://github.com/rubocop-hq/rubocop.git
3
- revision: dc69686abf10d9f38ed3a39037fab76ae8874138
4
- specs:
5
- rubocop (0.65.0)
6
- jaro_winkler (~> 1.5.1)
7
- parallel (~> 1.10)
8
- parser (>= 2.5, != 2.5.1.1)
9
- powerpack (~> 0.1)
10
- psych (>= 3.1.0)
11
- rainbow (>= 2.2.2, < 4.0)
12
- ruby-progressbar (~> 1.7)
13
- unicode-display_width (~> 1.4.0)
14
-
15
1
  PATH
16
2
  remote: .
17
3
  specs:
18
- webpacker (4.0.2)
19
- activesupport (>= 4.2)
4
+ webpacker (5.4.0)
5
+ activesupport (>= 5.2)
20
6
  rack-proxy (>= 0.6.1)
21
- railties (>= 4.2)
7
+ railties (>= 5.2)
8
+ semantic_range (>= 2.3.0)
22
9
 
23
10
  GEM
24
11
  remote: https://rubygems.org/
25
12
  specs:
26
- actioncable (5.2.2)
27
- actionpack (= 5.2.2)
13
+ actioncable (6.1.3.2)
14
+ actionpack (= 6.1.3.2)
15
+ activesupport (= 6.1.3.2)
28
16
  nio4r (~> 2.0)
29
17
  websocket-driver (>= 0.6.1)
30
- actionmailer (5.2.2)
31
- actionpack (= 5.2.2)
32
- actionview (= 5.2.2)
33
- activejob (= 5.2.2)
18
+ actionmailbox (6.1.3.2)
19
+ actionpack (= 6.1.3.2)
20
+ activejob (= 6.1.3.2)
21
+ activerecord (= 6.1.3.2)
22
+ activestorage (= 6.1.3.2)
23
+ activesupport (= 6.1.3.2)
24
+ mail (>= 2.7.1)
25
+ actionmailer (6.1.3.2)
26
+ actionpack (= 6.1.3.2)
27
+ actionview (= 6.1.3.2)
28
+ activejob (= 6.1.3.2)
29
+ activesupport (= 6.1.3.2)
34
30
  mail (~> 2.5, >= 2.5.4)
35
31
  rails-dom-testing (~> 2.0)
36
- actionpack (5.2.2)
37
- actionview (= 5.2.2)
38
- activesupport (= 5.2.2)
39
- rack (~> 2.0)
32
+ actionpack (6.1.3.2)
33
+ actionview (= 6.1.3.2)
34
+ activesupport (= 6.1.3.2)
35
+ rack (~> 2.0, >= 2.0.9)
40
36
  rack-test (>= 0.6.3)
41
37
  rails-dom-testing (~> 2.0)
42
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
43
- actionview (5.2.2)
44
- activesupport (= 5.2.2)
38
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
39
+ actiontext (6.1.3.2)
40
+ actionpack (= 6.1.3.2)
41
+ activerecord (= 6.1.3.2)
42
+ activestorage (= 6.1.3.2)
43
+ activesupport (= 6.1.3.2)
44
+ nokogiri (>= 1.8.5)
45
+ actionview (6.1.3.2)
46
+ activesupport (= 6.1.3.2)
45
47
  builder (~> 3.1)
46
48
  erubi (~> 1.4)
47
49
  rails-dom-testing (~> 2.0)
48
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
49
- activejob (5.2.2)
50
- activesupport (= 5.2.2)
50
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
51
+ activejob (6.1.3.2)
52
+ activesupport (= 6.1.3.2)
51
53
  globalid (>= 0.3.6)
52
- activemodel (5.2.2)
53
- activesupport (= 5.2.2)
54
- activerecord (5.2.2)
55
- activemodel (= 5.2.2)
56
- activesupport (= 5.2.2)
57
- arel (>= 9.0)
58
- activestorage (5.2.2)
59
- actionpack (= 5.2.2)
60
- activerecord (= 5.2.2)
61
- marcel (~> 0.3.1)
62
- activesupport (5.2.2)
54
+ activemodel (6.1.3.2)
55
+ activesupport (= 6.1.3.2)
56
+ activerecord (6.1.3.2)
57
+ activemodel (= 6.1.3.2)
58
+ activesupport (= 6.1.3.2)
59
+ activestorage (6.1.3.2)
60
+ actionpack (= 6.1.3.2)
61
+ activejob (= 6.1.3.2)
62
+ activerecord (= 6.1.3.2)
63
+ activesupport (= 6.1.3.2)
64
+ marcel (~> 1.0.0)
65
+ mini_mime (~> 1.0.2)
66
+ activesupport (6.1.3.2)
63
67
  concurrent-ruby (~> 1.0, >= 1.0.2)
64
- i18n (>= 0.7, < 2)
65
- minitest (~> 5.1)
66
- tzinfo (~> 1.1)
67
- arel (9.0.0)
68
- ast (2.4.0)
69
- builder (3.2.3)
70
- byebug (11.0.0)
71
- concurrent-ruby (1.1.4)
72
- crass (1.0.4)
73
- erubi (1.8.0)
68
+ i18n (>= 1.6, < 2)
69
+ minitest (>= 5.1)
70
+ tzinfo (~> 2.0)
71
+ zeitwerk (~> 2.3)
72
+ ast (2.4.2)
73
+ builder (3.2.4)
74
+ byebug (11.1.3)
75
+ concurrent-ruby (1.1.8)
76
+ crass (1.0.6)
77
+ erubi (1.10.0)
74
78
  globalid (0.4.2)
75
79
  activesupport (>= 4.2.0)
76
- i18n (1.5.3)
80
+ i18n (1.8.10)
77
81
  concurrent-ruby (~> 1.0)
78
- jaro_winkler (1.5.2)
79
- loofah (2.2.3)
82
+ loofah (2.9.1)
80
83
  crass (~> 1.0.2)
81
84
  nokogiri (>= 1.5.9)
82
85
  mail (2.7.1)
83
86
  mini_mime (>= 0.1.1)
84
- marcel (0.3.3)
85
- mimemagic (~> 0.3.2)
86
- method_source (0.9.2)
87
- mimemagic (0.3.3)
88
- mini_mime (1.0.1)
89
- mini_portile2 (2.4.0)
90
- minitest (5.11.3)
91
- nio4r (2.3.1)
92
- nokogiri (1.10.1)
93
- mini_portile2 (~> 2.4.0)
94
- parallel (1.14.0)
95
- parser (2.6.0.0)
96
- ast (~> 2.4.0)
97
- powerpack (0.1.2)
98
- psych (3.1.0)
99
- rack (2.0.6)
87
+ marcel (1.0.1)
88
+ method_source (1.0.0)
89
+ mini_mime (1.0.3)
90
+ mini_portile2 (2.5.1)
91
+ minitest (5.14.4)
92
+ nio4r (2.5.7)
93
+ nokogiri (1.11.4)
94
+ mini_portile2 (~> 2.5.0)
95
+ racc (~> 1.4)
96
+ parallel (1.20.1)
97
+ parser (3.0.1.1)
98
+ ast (~> 2.4.1)
99
+ racc (1.5.2)
100
+ rack (2.2.3)
100
101
  rack-proxy (0.6.5)
101
102
  rack
102
103
  rack-test (1.1.0)
103
104
  rack (>= 1.0, < 3)
104
- rails (5.2.2)
105
- actioncable (= 5.2.2)
106
- actionmailer (= 5.2.2)
107
- actionpack (= 5.2.2)
108
- actionview (= 5.2.2)
109
- activejob (= 5.2.2)
110
- activemodel (= 5.2.2)
111
- activerecord (= 5.2.2)
112
- activestorage (= 5.2.2)
113
- activesupport (= 5.2.2)
114
- bundler (>= 1.3.0)
115
- railties (= 5.2.2)
105
+ rails (6.1.3.2)
106
+ actioncable (= 6.1.3.2)
107
+ actionmailbox (= 6.1.3.2)
108
+ actionmailer (= 6.1.3.2)
109
+ actionpack (= 6.1.3.2)
110
+ actiontext (= 6.1.3.2)
111
+ actionview (= 6.1.3.2)
112
+ activejob (= 6.1.3.2)
113
+ activemodel (= 6.1.3.2)
114
+ activerecord (= 6.1.3.2)
115
+ activestorage (= 6.1.3.2)
116
+ activesupport (= 6.1.3.2)
117
+ bundler (>= 1.15.0)
118
+ railties (= 6.1.3.2)
116
119
  sprockets-rails (>= 2.0.0)
117
120
  rails-dom-testing (2.0.3)
118
121
  activesupport (>= 4.2.0)
119
122
  nokogiri (>= 1.6)
120
- rails-html-sanitizer (1.0.4)
121
- loofah (~> 2.2, >= 2.2.2)
122
- railties (5.2.2)
123
- actionpack (= 5.2.2)
124
- activesupport (= 5.2.2)
123
+ rails-html-sanitizer (1.3.0)
124
+ loofah (~> 2.3)
125
+ railties (6.1.3.2)
126
+ actionpack (= 6.1.3.2)
127
+ activesupport (= 6.1.3.2)
125
128
  method_source
126
129
  rake (>= 0.8.7)
127
- thor (>= 0.19.0, < 2.0)
130
+ thor (~> 1.0)
128
131
  rainbow (3.0.0)
129
- rake (12.3.2)
130
- ruby-progressbar (1.10.0)
131
- sprockets (3.7.2)
132
+ rake (13.0.3)
133
+ regexp_parser (2.1.1)
134
+ rexml (3.2.5)
135
+ rubocop (0.93.1)
136
+ parallel (~> 1.10)
137
+ parser (>= 2.7.1.5)
138
+ rainbow (>= 2.2.2, < 4.0)
139
+ regexp_parser (>= 1.8)
140
+ rexml
141
+ rubocop-ast (>= 0.6.0)
142
+ ruby-progressbar (~> 1.7)
143
+ unicode-display_width (>= 1.4.0, < 2.0)
144
+ rubocop-ast (1.5.0)
145
+ parser (>= 3.0.1.1)
146
+ rubocop-performance (1.10.2)
147
+ rubocop (>= 0.90.0, < 2.0)
148
+ rubocop-ast (>= 0.4.0)
149
+ ruby-progressbar (1.11.0)
150
+ semantic_range (3.0.0)
151
+ sprockets (4.0.2)
132
152
  concurrent-ruby (~> 1.0)
133
153
  rack (> 1, < 3)
134
- sprockets-rails (3.2.1)
154
+ sprockets-rails (3.2.2)
135
155
  actionpack (>= 4.0)
136
156
  activesupport (>= 4.0)
137
157
  sprockets (>= 3.0.0)
138
- thor (0.20.3)
139
- thread_safe (0.3.6)
140
- tzinfo (1.2.5)
141
- thread_safe (~> 0.1)
142
- unicode-display_width (1.4.1)
143
- websocket-driver (0.7.0)
158
+ thor (1.1.0)
159
+ tzinfo (2.0.4)
160
+ concurrent-ruby (~> 1.0)
161
+ unicode-display_width (1.7.0)
162
+ websocket-driver (0.7.3)
144
163
  websocket-extensions (>= 0.1.0)
145
- websocket-extensions (0.1.3)
164
+ websocket-extensions (0.1.5)
165
+ zeitwerk (2.4.2)
146
166
 
147
167
  PLATFORMS
148
168
  ruby
149
169
 
150
170
  DEPENDENCIES
151
- bundler (~> 1.12)
171
+ bundler (>= 1.3.0)
152
172
  byebug
153
173
  minitest (~> 5.0)
154
174
  rack-proxy
155
175
  rails
156
176
  rake (>= 11.1)
157
- rubocop!
177
+ rubocop (= 0.93.1)
178
+ rubocop-performance
179
+ semantic_range
158
180
  webpacker!
159
181
 
160
182
  BUNDLED WITH
161
- 1.17.3
183
+ 2.2.3