shakapacker 6.2.0 → 6.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/README.md +5 -2
- data/docs/deployment.md +2 -2
- data/docs/troubleshooting.md +18 -0
- data/docs/v6_upgrade.md +3 -1
- data/lib/webpacker/compiler.rb +1 -1
- data/lib/webpacker/configuration.rb +4 -0
- data/lib/webpacker/version.rb +1 -1
- data/package.json +1 -1
- data/test/configuration_test.rb +5 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd1ab6b39f1ae6a30d35edb3ce88f505aa982751ce798cbc02a7ff1e6d1b1fd4
|
4
|
+
data.tar.gz: 389b31b8cd3e24b9cbe39e7fef24257037ec3195229d2fae9d35146f82f6c594
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44e0784025695f8d6686c9c4fecd551da50f4c47c48939abe0c93b55e6e6f9407b68fba15e88c7dfe2169e981248e31c93e240fa1be342f58ffa368a1a6dc4ac
|
7
|
+
data.tar.gz: 8b51a5b4c2870bea948801afe3db35f24bf79bdfb543f098e63bbdc62dd3be1a23241dc8ebccefceb0a92d0c51e50bc0d75553e1eb9c93f0c362ae7a91ea3b47
|
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,10 @@ Changes since last non-beta release.
|
|
7
7
|
|
8
8
|
*Please add entries here for your pull requests that are not yet released.*
|
9
9
|
|
10
|
+
## [v6.2.1] - April 15, 2022
|
11
|
+
### Fixed
|
12
|
+
- Put back config.public_manifest_path, removed in 6.2.0 in PR 78. [PR 104](https://github.com/shakacode/shakapacker/pull/104) by [justin808](https://github.com/justin808).
|
13
|
+
|
10
14
|
## [v6.2.0] - March 22, 2022
|
11
15
|
|
12
16
|
### Added
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -17,13 +17,16 @@ Webpacker makes it easy to use the JavaScript pre-processor and bundler [Webpack
|
|
17
17
|
to manage application-like JavaScript in Rails. It can coexist with the asset pipeline,
|
18
18
|
leaving Webpack responsible solely for app-like JavaScript, or it can be used exclusively, making it also responsible for images, fonts, and CSS.
|
19
19
|
|
20
|
-
Check out 6.1.1 for [SWC](https://swc.rs/) and [esbuild-loader](https://github.com/privatenumber/esbuild-loader) support! They are faster than Babel!
|
20
|
+
Check out 6.1.1+ for [SWC](https://swc.rs/) and [esbuild-loader](https://github.com/privatenumber/esbuild-loader) support! They are faster than Babel!
|
21
21
|
|
22
22
|
See a comparison of [webpacker with jsbundling-rails](https://github.com/rails/jsbundling-rails/blob/main/docs/comparison_with_webpacker.md).
|
23
23
|
|
24
24
|
Discussion forum and Slack to discuss debugging and troubleshooting tips. Please open issues for bugs and feature requests:
|
25
25
|
1. [Discussions tab](https://github.com/shakacode/shakapacker/discussions)
|
26
26
|
2. [Slack discussion channel](https://reactrails.slack.com/join/shared_invite/enQtNjY3NTczMjczNzYxLTlmYjdiZmY3MTVlMzU2YWE0OWM0MzNiZDI0MzdkZGFiZTFkYTFkOGVjODBmOWEyYWQ3MzA2NGE1YWJjNmVlMGE)
|
27
|
+
3. [Tweets with tag `#shakapacker`](https://twitter.com/hashtag/shakapacker?src=hashtag_click)
|
28
|
+
|
29
|
+
[ShakaCode](https://www.shakacode.com) offers suppport for upgrading from webpacker or using Shakapacker. If interested, contact [justin@shakacode.com](mailto:justin@shakacode.com). ShakaCode is [hiring passionate engineers](https://jobs.lever.co/shakacode/3bdbfdb3-4495-4611-a279-01dddb351abe) that love open source.
|
27
30
|
|
28
31
|
---
|
29
32
|
|
@@ -307,7 +310,7 @@ end
|
|
307
310
|
|
308
311
|
### Webpack Configuration
|
309
312
|
|
310
|
-
First, you don't _need_ to use Shakapacker's webpack configuration. However, the `shakapacker` NPM package provides convenient access to configuration code that reads the `config/webpacker.yml` file which the view helpers also use. If you have your own customized webpack configuration, at the
|
313
|
+
First, you don't _need_ to use Shakapacker's webpack configuration. However, the `shakapacker` NPM package provides convenient access to configuration code that reads the `config/webpacker.yml` file which the view helpers also use. If you have your own customized webpack configuration, at the minimum, you must ensure:
|
311
314
|
|
312
315
|
1. Your output files go the right directory
|
313
316
|
2. You provide a manifest, via package [`webpack-assets-manifest`](https://github.com/webdeveric/webpack-assets-manifest) that maps output names (your 'packs') to the fingerprinted versions, including bundle-splitting dependencies. That's the main secret sauce of webpacker!
|
data/docs/deployment.md
CHANGED
@@ -93,10 +93,10 @@ you don't need to do anything extra for Webpacker, it just works.
|
|
93
93
|
|
94
94
|
### Assets compiling on every deployment even if JavaScript and CSS files are not changed
|
95
95
|
|
96
|
-
Make sure you have `public/packs` and `node_modules` in `:linked_dirs`
|
96
|
+
Make sure you have your public outputh path (default `public/packs`), the webpacker cache path (default `tmp/webpacker`) and `node_modules` in `:linked_dirs`
|
97
97
|
|
98
98
|
```ruby
|
99
|
-
append :linked_dirs, "log", "tmp/pids", "tmp/cache", "tmp/sockets", "public/packs", ".bundle", "node_modules"
|
99
|
+
append :linked_dirs, "log", "tmp/pids", "tmp/cache", "tmp/sockets", "tmp/webpacker", "public/packs", ".bundle", "node_modules"
|
100
100
|
```
|
101
101
|
|
102
102
|
If you have `node_modules` added to `:linked_dirs` you'll need to run yarn install before `deploy:assets:precompile`, so you can add this code snippet at the bottom deploy.rb
|
data/docs/troubleshooting.md
CHANGED
@@ -17,6 +17,24 @@
|
|
17
17
|
|
18
18
|
4. You can also pass additional options to the command to run the webpack-dev-server and start the webpack-dev-server with the option `--debug-webpacker`
|
19
19
|
|
20
|
+
## Incorrect peer dependencies
|
21
|
+
The latest version of Shakapacker uses peer dependencies to make upgrading easier. However, there's a catch.
|
22
|
+
|
23
|
+
If you fail to update peer dependencies, you'll see an easy-to-overlook warning from `yarn install`.
|
24
|
+
|
25
|
+
```
|
26
|
+
warning " > shakapacker@6.1.1" has incorrect peer dependency "compression-webpack-plugin@^9.0.0".
|
27
|
+
```
|
28
|
+
|
29
|
+
This omission resulted in an error in the browser:
|
30
|
+
```
|
31
|
+
Failed to load resource: net::ERR_CONTENT_DECODING_FAILED
|
32
|
+
```
|
33
|
+
|
34
|
+
The error was caused by an old version of the peer dependency webpack-compression-plugin.
|
35
|
+
|
36
|
+
So, be sure to investigate warnings from `yarn install`!
|
37
|
+
|
20
38
|
## ENOENT: no such file or directory - node-sass
|
21
39
|
|
22
40
|
If you get the error `ENOENT: no such file or directory - node-sass` on deploy with
|
data/docs/v6_upgrade.md
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
There are several substantial changes in Shakapacker v6 that you need to manually account for when coming from Webpacker 5. This guide will help you through it.
|
4
4
|
|
5
|
+
[ShakaCode](https://www.shakacode.com) offers suppport for upgrading from webpacker or using Shakapacker. If interested, contact [justin@shakacode.com](mailto:justin@shakacode.com).
|
6
|
+
|
5
7
|
## Webpacker/Shakapacker has become a slimmer wrapper around Webpack
|
6
8
|
|
7
9
|
By default, Webpacker 6 is focused on compiling and bundling JavaScript. This pairs with the existing asset pipeline in Rails that's setup to transpile CSS and static images using [Sprockets](https://github.com/rails/sprockets). For most developers, that's the recommended combination. But if you'd like to use Webpacker for CSS and static assets as well, please see [integrations](https://github.com/shakacode/shakapacker#integrations) for more information.
|
@@ -17,7 +19,7 @@ See an example migration here: [PR 27](https://github.com/shakacode/react_on_rai
|
|
17
19
|
_If you're on webpacker v5, follow below steps to get to v6.0.0.rc.6 first._
|
18
20
|
|
19
21
|
1. Change the gem name from `webpacker` to `shakapacker` and the NPM package from `@rails/webpacker` to `shakapacker`.
|
20
|
-
1. Install the peer dependencies. Run `yarn add @babel/core @babel/plugin-transform-runtime @babel/preset-env @babel/runtime babel-loader compression-webpack-plugin terser-webpack-plugin webpack webpack-assets-manifest webpack-cli webpack-merge webpack-sources webpack-dev-server`
|
22
|
+
1. Install the peer dependencies. Run `yarn add @babel/core @babel/plugin-transform-runtime @babel/preset-env @babel/runtime babel-loader compression-webpack-plugin terser-webpack-plugin webpack webpack-assets-manifest webpack-cli webpack-merge webpack-sources webpack-dev-server`. You may have old versions of libraries. Run `yarn install` and check for warnings like `warning " > shakapacker@6.1.1" has incorrect peer dependency "compression-webpack-plugin@^9.0.0"` and `file-loader@1.1.11" has incorrect peer dependency "webpack@^2.0.0 || ^3.0.0 || ^4.0.0"`. In other words, warnings like these are **serious** and will cause considerable confusion if not respected.
|
21
23
|
1. Update any scripts that called `bin/webpack` or `bin/webpack-dev-server` to `bin/webpacker` or `bin/webpacker-dev-server`
|
22
24
|
1. Update your webpack config for a single config file, `config/webpack/webpack.config.js`. If you want to use the prior style of having a separate file for each NODE_ENV, you can use this shim for `config/webpack/webpack.config.js`. WARNING, previously, if you did not set `NODE_ENV`, `NODE_ENV` defaulted to `development`. Thus, you might expect `config/webpack/development.js` to run, but you'll instead be using the `config/webpack/RAILS_ENV.js`
|
23
25
|
```js
|
data/lib/webpacker/compiler.rb
CHANGED
data/lib/webpacker/version.rb
CHANGED
data/package.json
CHANGED
data/test/configuration_test.rb
CHANGED
@@ -38,6 +38,11 @@ class ConfigurationTest < Webpacker::Test
|
|
38
38
|
assert_equal @config.public_output_path.to_s, public_output_path
|
39
39
|
end
|
40
40
|
|
41
|
+
def test_public_manifest_path
|
42
|
+
public_manifest_path = File.expand_path File.join(File.dirname(__FILE__), "test_app/public/packs", "manifest.json").to_s
|
43
|
+
assert_equal @config.public_manifest_path.to_s, public_manifest_path
|
44
|
+
end
|
45
|
+
|
41
46
|
def test_manifest_path
|
42
47
|
manifest_path = File.expand_path File.join(File.dirname(__FILE__), "test_app/public/packs", "manifest.json").to_s
|
43
48
|
assert_equal @config.manifest_path.to_s, manifest_path
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shakapacker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.2.
|
4
|
+
version: 6.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2022-
|
13
|
+
date: 2022-04-16 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -291,7 +291,7 @@ homepage: https://github.com/shakacode/shakapacker
|
|
291
291
|
licenses:
|
292
292
|
- MIT
|
293
293
|
metadata:
|
294
|
-
source_code_uri: https://github.com/shakacode/shakapacker/tree/v6.2.
|
294
|
+
source_code_uri: https://github.com/shakacode/shakapacker/tree/v6.2.1
|
295
295
|
post_install_message:
|
296
296
|
rdoc_options: []
|
297
297
|
require_paths:
|