webpacker 4.0.7 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/.node-version +1 -1
  3. data/.rubocop.yml +2 -1
  4. data/.travis.yml +10 -20
  5. data/CHANGELOG.md +243 -137
  6. data/Gemfile +1 -0
  7. data/Gemfile.lock +84 -62
  8. data/README.md +52 -149
  9. data/docs/css.md +15 -4
  10. data/docs/deployment.md +40 -11
  11. data/docs/docker.md +33 -14
  12. data/docs/engines.md +53 -3
  13. data/docs/es6.md +19 -1
  14. data/docs/integrations.md +220 -0
  15. data/docs/troubleshooting.md +37 -9
  16. data/docs/typescript.md +10 -8
  17. data/docs/webpack-dev-server.md +1 -1
  18. data/docs/webpack.md +18 -3
  19. data/gemfiles/{Gemfile-rails.4.2.x → Gemfile-rails.6.0.x} +1 -1
  20. data/lib/install/bin/webpack +0 -1
  21. data/lib/install/bin/webpack-dev-server +0 -1
  22. data/lib/install/coffee.rb +1 -1
  23. data/lib/install/config/babel.config.js +10 -10
  24. data/lib/install/config/webpacker.yml +2 -1
  25. data/lib/install/elm.rb +1 -1
  26. data/lib/install/erb.rb +2 -2
  27. data/lib/install/examples/angular/hello_angular/polyfills.ts +2 -2
  28. data/lib/install/examples/react/babel.config.js +16 -14
  29. data/lib/install/examples/svelte/app.svelte +11 -0
  30. data/lib/install/examples/svelte/hello_svelte.js +20 -0
  31. data/lib/install/loaders/elm.js +9 -6
  32. data/lib/install/loaders/svelte.js +9 -0
  33. data/lib/install/loaders/typescript.js +1 -1
  34. data/lib/install/svelte.rb +29 -0
  35. data/lib/install/template.rb +2 -2
  36. data/lib/install/typescript.rb +1 -1
  37. data/lib/install/vue.rb +1 -1
  38. data/lib/tasks/installers.rake +1 -0
  39. data/lib/tasks/webpacker.rake +2 -0
  40. data/lib/tasks/webpacker/check_node.rake +14 -7
  41. data/lib/tasks/webpacker/check_yarn.rake +16 -9
  42. data/lib/tasks/webpacker/clean.rake +25 -0
  43. data/lib/tasks/webpacker/clobber.rake +8 -4
  44. data/lib/tasks/webpacker/compile.rake +2 -10
  45. data/lib/tasks/webpacker/yarn_install.rake +5 -1
  46. data/lib/webpacker.rb +9 -1
  47. data/lib/webpacker/commands.rb +53 -1
  48. data/lib/webpacker/compiler.rb +15 -8
  49. data/lib/webpacker/configuration.rb +9 -1
  50. data/lib/webpacker/dev_server.rb +1 -1
  51. data/lib/webpacker/dev_server_proxy.rb +2 -8
  52. data/lib/webpacker/dev_server_runner.rb +4 -4
  53. data/lib/webpacker/env.rb +1 -1
  54. data/lib/webpacker/helper.rb +39 -13
  55. data/lib/webpacker/manifest.rb +4 -4
  56. data/lib/webpacker/railtie.rb +6 -0
  57. data/lib/webpacker/version.rb +1 -1
  58. data/package.json +38 -38
  59. data/package/__tests__/config.js +0 -23
  60. data/package/config.js +2 -10
  61. data/package/config_types/config_list.js +3 -3
  62. data/package/config_types/config_object.js +1 -1
  63. data/package/environments/__tests__/base.js +10 -0
  64. data/package/environments/base.js +14 -3
  65. data/package/environments/development.js +1 -5
  66. data/package/environments/production.js +12 -0
  67. data/package/rules/babel.js +1 -1
  68. data/package/rules/node_modules.js +2 -2
  69. data/package/rules/sass.js +3 -2
  70. data/package/utils/__tests__/get_style_rule.js +9 -0
  71. data/package/utils/deep_merge.js +5 -5
  72. data/package/utils/get_style_rule.js +7 -12
  73. data/package/utils/helpers.js +9 -9
  74. data/test/command_test.rb +6 -0
  75. data/test/compiler_test.rb +5 -6
  76. data/test/configuration_test.rb +36 -27
  77. data/test/dev_server_test.rb +22 -0
  78. data/test/helper_test.rb +34 -0
  79. data/test/manifest_test.rb +37 -6
  80. data/test/rake_tasks_test.rb +17 -0
  81. data/test/test_app/app/javascript/packs/multi_entry.css +4 -0
  82. data/test/test_app/app/javascript/packs/multi_entry.js +4 -0
  83. data/test/test_app/bin/webpack +0 -1
  84. data/test/test_app/bin/webpack-dev-server +0 -1
  85. data/test/test_app/config/webpacker.yml +1 -0
  86. data/test/test_app/public/packs/manifest.json +3 -0
  87. data/webpacker.gemspec +5 -3
  88. data/yarn.lock +2684 -1846
  89. metadata +48 -12
  90. data/gemfiles/Gemfile-rails.5.0.x +0 -9
  91. data/gemfiles/Gemfile-rails.5.1.x +0 -9
data/Gemfile CHANGED
@@ -5,6 +5,7 @@ gemspec
5
5
  gem "rails"
6
6
  gem "rake", ">= 11.1"
7
7
  gem "rack-proxy", require: false
8
+ gem "semantic_range", require: false
8
9
 
9
10
  group :test do
10
11
  gem "minitest", "~> 5.0"
@@ -1,68 +1,82 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- webpacker (4.0.7)
5
- activesupport (>= 4.2)
4
+ webpacker (5.0.0)
5
+ activesupport (>= 5.2)
6
6
  rack-proxy (>= 0.6.1)
7
- railties (>= 4.2)
7
+ railties (>= 5.2)
8
+ semantic_range (>= 2.3.0)
8
9
 
9
10
  GEM
10
11
  remote: https://rubygems.org/
11
12
  specs:
12
- actioncable (5.2.3)
13
- actionpack (= 5.2.3)
13
+ actioncable (6.0.1)
14
+ actionpack (= 6.0.1)
14
15
  nio4r (~> 2.0)
15
16
  websocket-driver (>= 0.6.1)
16
- actionmailer (5.2.3)
17
- actionpack (= 5.2.3)
18
- actionview (= 5.2.3)
19
- activejob (= 5.2.3)
17
+ actionmailbox (6.0.1)
18
+ actionpack (= 6.0.1)
19
+ activejob (= 6.0.1)
20
+ activerecord (= 6.0.1)
21
+ activestorage (= 6.0.1)
22
+ activesupport (= 6.0.1)
23
+ mail (>= 2.7.1)
24
+ actionmailer (6.0.1)
25
+ actionpack (= 6.0.1)
26
+ actionview (= 6.0.1)
27
+ activejob (= 6.0.1)
20
28
  mail (~> 2.5, >= 2.5.4)
21
29
  rails-dom-testing (~> 2.0)
22
- actionpack (5.2.3)
23
- actionview (= 5.2.3)
24
- activesupport (= 5.2.3)
30
+ actionpack (6.0.1)
31
+ actionview (= 6.0.1)
32
+ activesupport (= 6.0.1)
25
33
  rack (~> 2.0)
26
34
  rack-test (>= 0.6.3)
27
35
  rails-dom-testing (~> 2.0)
28
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
29
- actionview (5.2.3)
30
- activesupport (= 5.2.3)
36
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
37
+ actiontext (6.0.1)
38
+ actionpack (= 6.0.1)
39
+ activerecord (= 6.0.1)
40
+ activestorage (= 6.0.1)
41
+ activesupport (= 6.0.1)
42
+ nokogiri (>= 1.8.5)
43
+ actionview (6.0.1)
44
+ activesupport (= 6.0.1)
31
45
  builder (~> 3.1)
32
46
  erubi (~> 1.4)
33
47
  rails-dom-testing (~> 2.0)
34
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
35
- activejob (5.2.3)
36
- activesupport (= 5.2.3)
48
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
49
+ activejob (6.0.1)
50
+ activesupport (= 6.0.1)
37
51
  globalid (>= 0.3.6)
38
- activemodel (5.2.3)
39
- activesupport (= 5.2.3)
40
- activerecord (5.2.3)
41
- activemodel (= 5.2.3)
42
- activesupport (= 5.2.3)
43
- arel (>= 9.0)
44
- activestorage (5.2.3)
45
- actionpack (= 5.2.3)
46
- activerecord (= 5.2.3)
52
+ activemodel (6.0.1)
53
+ activesupport (= 6.0.1)
54
+ activerecord (6.0.1)
55
+ activemodel (= 6.0.1)
56
+ activesupport (= 6.0.1)
57
+ activestorage (6.0.1)
58
+ actionpack (= 6.0.1)
59
+ activejob (= 6.0.1)
60
+ activerecord (= 6.0.1)
47
61
  marcel (~> 0.3.1)
48
- activesupport (5.2.3)
62
+ activesupport (6.0.1)
49
63
  concurrent-ruby (~> 1.0, >= 1.0.2)
50
64
  i18n (>= 0.7, < 2)
51
65
  minitest (~> 5.1)
52
66
  tzinfo (~> 1.1)
53
- arel (9.0.0)
67
+ zeitwerk (~> 2.2)
54
68
  ast (2.4.0)
55
69
  builder (3.2.3)
56
70
  byebug (11.0.1)
57
71
  concurrent-ruby (1.1.5)
58
- crass (1.0.4)
59
- erubi (1.8.0)
72
+ crass (1.0.5)
73
+ erubi (1.9.0)
60
74
  globalid (0.4.2)
61
75
  activesupport (>= 4.2.0)
62
- i18n (1.6.0)
76
+ i18n (1.7.0)
63
77
  concurrent-ruby (~> 1.0)
64
- jaro_winkler (1.5.2)
65
- loofah (2.2.3)
78
+ jaro_winkler (1.5.4)
79
+ loofah (2.3.1)
66
80
  crass (~> 1.0.2)
67
81
  nokogiri (>= 1.5.9)
68
82
  mail (2.7.1)
@@ -71,46 +85,48 @@ GEM
71
85
  mimemagic (~> 0.3.2)
72
86
  method_source (0.9.2)
73
87
  mimemagic (0.3.3)
74
- mini_mime (1.0.1)
88
+ mini_mime (1.0.2)
75
89
  mini_portile2 (2.4.0)
76
- minitest (5.11.3)
77
- nio4r (2.3.1)
78
- nokogiri (1.10.3)
90
+ minitest (5.13.0)
91
+ nio4r (2.5.2)
92
+ nokogiri (1.10.8)
79
93
  mini_portile2 (~> 2.4.0)
80
- parallel (1.17.0)
81
- parser (2.6.3.0)
94
+ parallel (1.18.0)
95
+ parser (2.6.5.0)
82
96
  ast (~> 2.4.0)
83
- rack (2.0.7)
97
+ rack (2.0.8)
84
98
  rack-proxy (0.6.5)
85
99
  rack
86
100
  rack-test (1.1.0)
87
101
  rack (>= 1.0, < 3)
88
- rails (5.2.3)
89
- actioncable (= 5.2.3)
90
- actionmailer (= 5.2.3)
91
- actionpack (= 5.2.3)
92
- actionview (= 5.2.3)
93
- activejob (= 5.2.3)
94
- activemodel (= 5.2.3)
95
- activerecord (= 5.2.3)
96
- activestorage (= 5.2.3)
97
- activesupport (= 5.2.3)
102
+ rails (6.0.1)
103
+ actioncable (= 6.0.1)
104
+ actionmailbox (= 6.0.1)
105
+ actionmailer (= 6.0.1)
106
+ actionpack (= 6.0.1)
107
+ actiontext (= 6.0.1)
108
+ actionview (= 6.0.1)
109
+ activejob (= 6.0.1)
110
+ activemodel (= 6.0.1)
111
+ activerecord (= 6.0.1)
112
+ activestorage (= 6.0.1)
113
+ activesupport (= 6.0.1)
98
114
  bundler (>= 1.3.0)
99
- railties (= 5.2.3)
115
+ railties (= 6.0.1)
100
116
  sprockets-rails (>= 2.0.0)
101
117
  rails-dom-testing (2.0.3)
102
118
  activesupport (>= 4.2.0)
103
119
  nokogiri (>= 1.6)
104
- rails-html-sanitizer (1.0.4)
105
- loofah (~> 2.2, >= 2.2.2)
106
- railties (5.2.3)
107
- actionpack (= 5.2.3)
108
- activesupport (= 5.2.3)
120
+ rails-html-sanitizer (1.3.0)
121
+ loofah (~> 2.3)
122
+ railties (6.0.1)
123
+ actionpack (= 6.0.1)
124
+ activesupport (= 6.0.1)
109
125
  method_source
110
126
  rake (>= 0.8.7)
111
- thor (>= 0.19.0, < 2.0)
127
+ thor (>= 0.20.3, < 2.0)
112
128
  rainbow (3.0.0)
113
- rake (12.3.2)
129
+ rake (13.0.0)
114
130
  rubocop (0.68.1)
115
131
  jaro_winkler (~> 1.5.1)
116
132
  parallel (~> 1.10)
@@ -118,8 +134,11 @@ GEM
118
134
  rainbow (>= 2.2.2, < 4.0)
119
135
  ruby-progressbar (~> 1.7)
120
136
  unicode-display_width (>= 1.4.0, < 1.6)
137
+ rubocop-performance (1.3.0)
138
+ rubocop (>= 0.68.0)
121
139
  ruby-progressbar (1.10.1)
122
- sprockets (3.7.2)
140
+ semantic_range (2.3.0)
141
+ sprockets (4.0.0)
123
142
  concurrent-ruby (~> 1.0)
124
143
  rack (> 1, < 3)
125
144
  sprockets-rails (3.2.1)
@@ -131,9 +150,10 @@ GEM
131
150
  tzinfo (1.2.5)
132
151
  thread_safe (~> 0.1)
133
152
  unicode-display_width (1.5.0)
134
- websocket-driver (0.7.0)
153
+ websocket-driver (0.7.1)
135
154
  websocket-extensions (>= 0.1.0)
136
- websocket-extensions (0.1.3)
155
+ websocket-extensions (0.1.4)
156
+ zeitwerk (2.2.1)
137
157
 
138
158
  PLATFORMS
139
159
  ruby
@@ -146,6 +166,8 @@ DEPENDENCIES
146
166
  rails
147
167
  rake (>= 11.1)
148
168
  rubocop (< 0.69)
169
+ rubocop-performance
170
+ semantic_range
149
171
  webpacker!
150
172
 
151
173
  BUNDLED WITH
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Webpacker
2
2
 
3
3
  [![Build Status](https://travis-ci.org/rails/webpacker.svg?branch=master)](https://travis-ci.org/rails/webpacker)
4
- [![node.js](https://img.shields.io/badge/node-%3E%3D%206.14.0-brightgreen.svg)](https://nodejs.org/en/)
5
- [![Gem](https://img.shields.io/gem/v/webpacker.svg)](https://github.com/rails/webpacker)
4
+ [![node.js](https://img.shields.io/badge/node-%3E%3D%2010.13.0-brightgreen.svg)](https://www.npmjs.com/package/@rails/webpacker)
5
+ [![Gem](https://img.shields.io/gem/v/webpacker.svg)](https://rubygems.org/gems/webpacker)
6
6
 
7
7
  Webpacker makes it easy to use the JavaScript pre-processor and bundler
8
8
  [webpack 4.x.x+](https://webpack.js.org/)
@@ -29,13 +29,14 @@ in which case you may not even need the asset pipeline. This is mostly relevant
29
29
  - [Upgrading](#upgrading)
30
30
  - [Yarn Integrity](#yarn-integrity)
31
31
  - [Integrations](#integrations)
32
- - [React](#react)
33
- - [Angular with TypeScript](#angular-with-typescript)
34
- - [Vue](#vue)
35
- - [Elm](#elm)
36
- - [Stimulus](#stimulus)
37
- - [CoffeeScript](#coffeescript)
38
- - [Erb](#erb)
32
+ - [React](./docs/integrations.md#react)
33
+ - [Angular with TypeScript](./docs/integrations.md#angular-with-typescript)
34
+ - [Vue](./docs/integrations.md#vue)
35
+ - [Elm](./docs/integrations.md#elm)
36
+ - [Stimulus](./docs/integrations.md#stimulus)
37
+ - [Svelte](./docs/integrations.md#svelte)
38
+ - [CoffeeScript](./docs/integrations.md#coffeescript)
39
+ - [Erb](./docs/integrations.md#erb)
39
40
  - [Paths](#paths)
40
41
  - [Resolved](#resolved)
41
42
  - [Watched](#watched)
@@ -49,9 +50,9 @@ in which case you may not even need the asset pipeline. This is mostly relevant
49
50
 
50
51
  ## Prerequisites
51
52
 
52
- * Ruby 2.2+
53
- * Rails 4.2+
54
- * Node.js 6.14.4+
53
+ * Ruby 2.4+
54
+ * Rails 5.2+
55
+ * Node.js 10.13.0+
55
56
  * Yarn 1.x+
56
57
 
57
58
 
@@ -89,6 +90,7 @@ gem 'webpacker', '~> 4.x'
89
90
  # OR if you prefer to use master
90
91
  gem 'webpacker', git: 'https://github.com/rails/webpacker.git'
91
92
  yarn add https://github.com/rails/webpacker.git
93
+ yarn add core-js regenerator-runtime
92
94
  ```
93
95
 
94
96
  Finally, run the following to install Webpacker:
@@ -122,6 +124,13 @@ app/javascript:
122
124
  └── logo.svg
123
125
  ```
124
126
 
127
+ In `/packs/application.js`, include this at the top of the file:
128
+
129
+ ```js
130
+ import "core-js/stable";
131
+ import "regenerator-runtime/runtime";
132
+ ```
133
+
125
134
  You can then link the JavaScript pack in Rails views using the `javascript_pack_tag` helper.
126
135
  If you have styles imported in your pack file, you can link them by using `stylesheet_pack_tag`:
127
136
 
@@ -318,145 +327,21 @@ You may also turn on this feature by adding the config option for any Rails envi
318
327
 
319
328
  ## Integrations
320
329
 
321
- Webpacker ships with basic out-of-the-box integration for React, Angular, Vue and Elm.
322
- You can see a list of available commands/tasks by running `bundle exec rails webpacker`:
323
-
324
- ### React
325
-
326
- To use Webpacker with [React](https://facebook.github.io/react/), create a
327
- new Rails 5.1+ app using `--webpack=react` option:
328
-
329
- ```bash
330
- # Rails 5.1+
331
- rails new myapp --webpack=react
332
- ```
333
-
334
- (or run `bundle exec rails webpacker:install:react` in an existing Rails app already
335
- setup with Webpacker).
336
-
337
- The installer will add all relevant dependencies using Yarn, changes
338
- to the configuration files, and an example React component to your
339
- project in `app/javascript/packs` so that you can experiment with React right away.
340
-
341
-
342
- ### Angular with TypeScript
343
-
344
- To use Webpacker with [Angular](https://angular.io/), create a
345
- new Rails 5.1+ app using `--webpack=angular` option:
346
-
347
- ```bash
348
- # Rails 5.1+
349
- rails new myapp --webpack=angular
350
- ```
351
-
352
- (or run `bundle exec rails webpacker:install:angular` on a Rails app already
353
- setup with Webpacker).
354
-
355
- The installer will add the TypeScript and Angular core libraries using Yarn alongside
356
- a few changes to the configuration files. An example component written in
357
- TypeScript will also be added to your project in `app/javascript` so that
358
- you can experiment with Angular right away.
359
-
360
- By default, Angular uses a JIT compiler for development environment. This
361
- compiler is not compatible with restrictive CSP (Content Security
362
- Policy) environments like Rails 5.2+. You can use Angular AOT compiler
363
- in development with the [@ngtools/webpack](https://www.npmjs.com/package/@ngtools/webpack#usage) plugin.
364
-
365
- Alternatively if you're using Rails 5.2+ you can enable `unsafe-eval` rule for your
366
- development environment. This can be done in the `config/initializers/content_security_policy.rb`
367
- with the following code:
368
-
369
- ```ruby
370
- Rails.application.config.content_security_policy do |policy|
371
- if Rails.env.development?
372
- policy.script_src :self, :https, :unsafe_eval
373
- else
374
- policy.script_src :self, :https
375
- end
376
- end
377
- ```
378
-
379
-
380
- ### Vue
381
-
382
- To use Webpacker with [Vue](https://vuejs.org/), create a
383
- new Rails 5.1+ app using `--webpack=vue` option:
384
-
385
- ```bash
386
- # Rails 5.1+
387
- rails new myapp --webpack=vue
388
- ```
389
- (or run `bundle exec rails webpacker:install:vue` on a Rails app already setup with Webpacker).
390
-
391
- The installer will add Vue and its required libraries using Yarn alongside
392
- automatically applying changes needed to the configuration files. An example component will
393
- be added to your project in `app/javascript` so that you can experiment with Vue right away.
394
-
395
- If you're using Rails 5.2+ you'll need to enable `unsafe-eval` rule for your development environment.
396
- This can be done in the `config/initializers/content_security_policy.rb` with the following
397
- configuration:
398
-
399
- ```ruby
400
- Rails.application.config.content_security_policy do |policy|
401
- if Rails.env.development?
402
- policy.script_src :self, :https, :unsafe_eval
403
- else
404
- policy.script_src :self, :https
405
- end
406
- end
407
- ```
408
- You can read more about this in the [Vue docs](https://vuejs.org/v2/guide/installation.html#CSP-environments).
409
-
410
-
411
- ### Elm
412
-
413
- To use Webpacker with [Elm](http://elm-lang.org), create a
414
- new Rails 5.1+ app using `--webpack=elm` option:
415
-
416
- ```
417
- # Rails 5.1+
418
- rails new myapp --webpack=elm
419
- ```
420
-
421
- (or run `bundle exec rails webpacker:install:elm` on a Rails app already setup with Webpacker).
422
-
423
- The Elm library and its core packages will be added via Yarn and Elm.
424
- An example `Main.elm` app will also be added to your project in `app/javascript`
425
- so that you can experiment with Elm right away.
426
-
427
- ### Stimulus
428
-
429
- To use Webpacker with [Stimulus](http://stimulusjs.org), create a
430
- new Rails 5.1+ app using `--webpack=stimulus` option:
431
-
432
- ```
433
- # Rails 5.1+
434
- rails new myapp --webpack=stimulus
435
- ```
436
-
437
- (or run `bundle exec rails webpacker:install:stimulus` on a Rails app already setup with Webpacker).
438
-
439
- Please read [The Stimulus Handbook](https://stimulusjs.org/handbook/introduction) or learn more about its source code at https://github.com/stimulusjs/stimulus
440
-
441
- ### CoffeeScript
442
-
443
- To add [CoffeeScript](http://coffeescript.org/) support,
444
- run `bundle exec rails webpacker:install:coffee` on a Rails app already
445
- setup with Webpacker.
446
-
447
- An example `hello_coffee.coffee` file will also be added to your project
448
- in `app/javascript/packs` so that you can experiment with CoffeeScript right away.
449
-
450
- ### Erb
330
+ Webpacker ships with basic out-of-the-box integration. You can see a list of available commands/tasks by running `bundle exec rails webpacker`.
451
331
 
452
- To add [Erb](https://apidock.com/ruby/ERB) support in your JS templates,
453
- run `bundle exec rails webpacker:install:erb` on a Rails app already
454
- setup with Webpacker.
332
+ Included install integrations:
455
333
 
456
- An example `hello_erb.js.erb` file will also be added to your project
457
- in `app/javascript/packs` so that you can experiment with Erb-flavoured
458
- javascript right away.
334
+ * [React](./docs/integrations.md#React)
335
+ * [Angular with TypeScript](./docs/integrations.md#Angular-with-TypeScript)
336
+ * [Vue](./docs/integrations.md#Vue)
337
+ * [Elm](./docs/integrations.md#Elm)
338
+ * [Svelte](./docs/integrations.md#Svelte)
339
+ * [Stimulus](./docs/integrations.md#Stimulus)
340
+ * [CoffeeScript](./docs/integrations.md#CoffeeScript)
341
+ * [Typescript](./docs/integrations.md)
342
+ * [Erb](./docs/integrations.md#Erb)
459
343
 
344
+ See [Integrations](./docs/integrations.md) for further details.
460
345
 
461
346
  ## Paths
462
347
 
@@ -539,7 +424,25 @@ Webpacker hooks up a new `webpacker:compile` task to `assets:precompile`, which
539
424
 
540
425
  ## Docs
541
426
 
542
- You can find more detailed guides under [docs](./docs).
427
+ - [Development](https://github.com/rails/webpacker#development)
428
+ - [Webpack](./docs/webpack.md)
429
+ - [Webpack-dev-server](./docs/webpack-dev-server.md)
430
+ - [Environment Variables](./docs/env.md)
431
+ - [Folder Structure](./docs/folder-structure.md)
432
+ - [Assets](./docs/assets.md)
433
+ - [CSS, Sass and SCSS](./docs/css.md)
434
+ - [ES6](./docs/es6.md)
435
+ - [Props](./docs/props.md)
436
+ - [Typescript](./docs/typescript.md)
437
+ - [Yarn](./docs/yarn.md)
438
+ - [Misc](./docs/misc.md)
439
+ - [Deployment](./docs/deployment.md)
440
+ - [Docker](./docs/docker.md)
441
+ - [Using in Rails engines](./docs/engines.md)
442
+ - [Webpacker on Cloud9](./docs/cloud9.md)
443
+ - [Testing](./docs/testing.md)
444
+ - [Troubleshooting](./docs/troubleshooting.md)
445
+ - [v3 to v4 Upgrade Guide](./docs/v4-upgrade.md)
543
446
 
544
447
 
545
448
  ## Contributing