webpacker 4.0.7 → 5.0.0

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 (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