diff --git a/Gemfile b/Gemfile index 7a73dada..6ea22158 100644 --- a/Gemfile +++ b/Gemfile @@ -42,7 +42,7 @@ gem 'rest-client' gem 'rubytree' gem 'rubyzip' gem 'sass-rails' -gem 'shakapacker', '6.0.0.rc13' +gem 'shakapacker', '= 6.5' gem 'slim-rails' gem 'sorcery' # Causes a deprecation warning in Rails 6.0+, see: https://github.com/Sorcery/sorcery/pull/255 gem 'telegraf' diff --git a/Gemfile.lock b/Gemfile.lock index 005bf524..34df7f91 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -464,7 +464,7 @@ GEM sentry-ruby (5.4.1) concurrent-ruby (~> 1.0, >= 1.0.2) set (1.0.2) - shakapacker (6.0.0.rc.13) + shakapacker (6.5.0) activesupport (>= 5.2) rack-proxy (>= 0.6.1) railties (>= 5.2) @@ -611,7 +611,7 @@ DEPENDENCIES selenium-webdriver sentry-rails sentry-ruby - shakapacker (= 6.0.0.rc13) + shakapacker (= 6.5) shoulda-matchers simplecov slim-rails @@ -625,4 +625,4 @@ DEPENDENCIES whenever BUNDLED WITH - 2.3.19 + 2.3.17 diff --git a/config/webpack/development.js b/config/webpack/development.js deleted file mode 100644 index 50209390..00000000 --- a/config/webpack/development.js +++ /dev/null @@ -1,5 +0,0 @@ -process.env.NODE_ENV = process.env.NODE_ENV || 'development' - -const environment = require('./environment') - -module.exports = environment diff --git a/config/webpack/production.js b/config/webpack/production.js deleted file mode 100644 index 1fddcfb4..00000000 --- a/config/webpack/production.js +++ /dev/null @@ -1,5 +0,0 @@ -process.env.NODE_ENV = process.env.NODE_ENV || 'production' - -const environment = require('./environment') - -module.exports = environment diff --git a/config/webpack/test.js b/config/webpack/test.js deleted file mode 100644 index 50209390..00000000 --- a/config/webpack/test.js +++ /dev/null @@ -1,5 +0,0 @@ -process.env.NODE_ENV = process.env.NODE_ENV || 'development' - -const environment = require('./environment') - -module.exports = environment diff --git a/config/webpacker.yml b/config/webpacker.yml index ca3534f3..314cfb8f 100644 --- a/config/webpacker.yml +++ b/config/webpacker.yml @@ -2,11 +2,24 @@ default: &default source_path: app/javascript + + # You can have a subdirectory of the source_path, like 'packs' (recommended). + # Alternatively, you can use '/' to use the whole source_path directory. source_entry_path: / + + # If nested_entries is true, then we'll pick up subdirectories within the source_entry_path. + # You cannot set this option to true if you set source_entry_path to '/' + nested_entries: false + public_root_path: public public_output_path: packs cache_path: tmp/webpacker webpack_compile_output: true + # See https://github.com/shakacode/shakapacker#deployment + webpacker_precompile: true + + # Location for manifest.json, defaults to {public_output_path}/manifest.json if unset + # manifest_path: public/packs/manifest.json # Additional paths webpack should look up modules # ['app/assets', 'engine/foo/app/assets'] @@ -15,9 +28,19 @@ default: &default # Reload manifest.json on all requests so we reload latest compiled packs cache_manifest: false + # Select loader to use, available options are 'babel' (default), 'swc' or 'esbuild' + webpack_loader: 'babel' + + # Set to true to enable check for matching versions of shakapacker gem and NPM package - will raise an error if there is a mismatch or wildcard versioning is used + ensure_consistent_versioning: true + + # Select whether the compiler will use SHA digest ('digest' option) or most most recent modified timestamp ('mtime') to determine freshness + compiler_strategy: digest + development: <<: *default compile: true + compiler_strategy: mtime # Reference: https://webpack.js.org/configuration/dev-server/ dev_server: @@ -26,6 +49,14 @@ development: port: 3035 # Hot Module Replacement updates modules while the application is running without a full reload hmr: false + # If HMR is on, CSS will by inlined by delivering it as part of the script payload via style-loader. Be sure + # that you add style-loader to your project dependencies. + # + # If you want to instead deliver CSS via with the mini-extract-css-plugin, set inline_css to false. + # In that case, style-loader is not needed as a dependency. + # + # mini-extract-css-plugin is a required dependency in both cases. + inline_css: true # Defaults to the inverse of hmr. Uncomment to manually set this. # live_reload: true client: diff --git a/package.json b/package.json index 3c78c0d2..8de37fe4 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "rails-erb-loader": "^5.5.2", "sass": "^1.54.4", "sass-loader": "^13.0.2", - "shakapacker": "^6.0.0-rc.14", + "shakapacker": "6.5.0", "sortablejs": "^1.15.0", "style-loader": "^3.3.1", "terser-webpack-plugin": "5", @@ -40,7 +40,8 @@ "webpack": "5", "webpack-assets-manifest": "5", "webpack-cli": "4", - "webpack-merge": "5" + "webpack-merge": "5", + "webpack-sources": "^3.2.3" }, "devDependencies": { "webpack-dev-server": "^4.10.0" diff --git a/yarn.lock b/yarn.lock index e3c3dcef..8fb28aaa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -965,9 +965,9 @@ integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== "@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.14" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed" - integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== + version "0.3.15" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" + integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" @@ -1127,9 +1127,9 @@ integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== "@types/node@*": - version "18.6.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.6.5.tgz#06caea822caf9e59d5034b695186ee74154d2802" - integrity sha512-Xjt5ZGUa5WusGZJ4WJPbOT8QOqp6nDynVFRKcUt32bOgvXEoc6o085WNkYTMO7ifAj2isEfQQ2cseE+wT6jsRw== + version "18.7.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.1.tgz#352bee64f93117d867d05f7406642a52685cbca6" + integrity sha512-GKX1Qnqxo4S+Z/+Z8KKPLpH282LD7jLHWJcVryOflnsnH+BtSDfieR6ObwBMwpnNws0bUK8GI7z0unQf9bARNQ== "@types/qs@*": version "6.9.7" @@ -3945,10 +3945,10 @@ setprototypeof@1.2.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== -shakapacker@^6.0.0-rc.14: - version "6.0.0-rc.14" - resolved "https://registry.yarnpkg.com/shakapacker/-/shakapacker-6.0.0-rc.14.tgz#2e16b364f2192f066227e77289b8cd63fc5fb430" - integrity sha512-yaoJnvUqEHDfckea6GK57+N7viKBYygj2Yw8m+QycndUJPKuOk7hfOjqFbEODYn5+haxJ+WJEqfXFDOtoduChA== +shakapacker@6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/shakapacker/-/shakapacker-6.5.0.tgz#d61d8639debce81452ef0057189034b31aa75a8a" + integrity sha512-/0Pd79zPd5Ys1VxVcD4lvqVHij0t8Ymz3As7X3592hHynNGllqzjyCqST6PdaNXL6tO7/b8WFKcY2lMUfDKYVA== dependencies: glob "^7.2.0" js-yaml "^4.1.0"