shakapacker 8.0.1 → 8.1.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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/dummy.yml +1 -0
  3. data/.github/workflows/generator.yml +20 -1
  4. data/.github/workflows/ruby.yml +22 -2
  5. data/CHANGELOG.md +25 -1
  6. data/Gemfile.lock +82 -88
  7. data/README.md +19 -1
  8. data/__mocks__/nonexistent/package.json +4 -0
  9. data/__mocks__/sass-loader/package.json +4 -0
  10. data/docs/react.md +4 -4
  11. data/docs/troubleshooting.md +29 -0
  12. data/docs/using_esbuild_loader.md +1 -1
  13. data/docs/v8_upgrade.md +3 -5
  14. data/gemfiles/Gemfile-rails.6.0.x +1 -1
  15. data/gemfiles/Gemfile-rails.6.1.x +0 -1
  16. data/gemfiles/Gemfile-rails.7.0.x +1 -2
  17. data/gemfiles/Gemfile-rails.7.1.x +1 -2
  18. data/gemfiles/Gemfile-rails.7.2.x +11 -0
  19. data/gemfiles/Gemfile-rails.8.0.x +11 -0
  20. data/jest.config.js +2 -1
  21. data/lib/shakapacker/compiler.rb +2 -1
  22. data/lib/shakapacker/compiler_strategy.rb +2 -2
  23. data/lib/shakapacker/dev_server_runner.rb +4 -3
  24. data/lib/shakapacker/digest_strategy.rb +2 -1
  25. data/lib/shakapacker/helper.rb +1 -1
  26. data/lib/shakapacker/mtime_strategy.rb +1 -1
  27. data/lib/shakapacker/railtie.rb +4 -4
  28. data/lib/shakapacker/runner.rb +17 -8
  29. data/lib/shakapacker/utils/manager.rb +13 -2
  30. data/lib/shakapacker/version.rb +1 -1
  31. data/lib/shakapacker/version_checker.rb +1 -1
  32. data/lib/shakapacker/webpack_runner.rb +2 -1
  33. data/lib/shakapacker.rb +10 -10
  34. data/package/rules/sass.js +8 -6
  35. data/package/utils/helpers.js +9 -1
  36. data/package.json +2 -2
  37. data/test/package/development.test.js +9 -0
  38. data/test/package/environments/base.test.js +9 -0
  39. data/test/package/environments/development.test.js +9 -0
  40. data/test/package/environments/production.test.js +9 -0
  41. data/test/package/helpers.test.js +11 -0
  42. data/test/package/index.test.js +9 -0
  43. data/test/package/production.test.js +9 -0
  44. data/test/package/rules/index.test.js +9 -0
  45. data/test/package/rules/sass.test.js +23 -0
  46. data/test/package/rules/sass1.test.js +23 -0
  47. data/test/package/staging.test.js +9 -0
  48. data/test/package/test.test.js +9 -0
  49. data/test/resolver.js +13 -0
  50. metadata +16 -4
@@ -0,0 +1,11 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
4
+
5
+ gemspec path: "../"
6
+
7
+ gem "rails", '~>7.2.0'
8
+ gem "rake", ">= 11.1"
9
+ gem "rack-proxy", require: false
10
+ gem "rspec-rails", "~> 7.0"
11
+ gem "byebug"
@@ -0,0 +1,11 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
4
+
5
+ gemspec path: "../"
6
+
7
+ gem "rails", '~>8.0.0'
8
+ gem "rake", ">= 11.1"
9
+ gem "rack-proxy", require: false
10
+ gem "rspec-rails", "~> 7.0"
11
+ gem "byebug"
data/jest.config.js CHANGED
@@ -1,4 +1,5 @@
1
1
  module.exports = {
2
2
  roots: ["<rootDir>/test"],
3
- testPathIgnorePatterns: ["/__fixtures__/", "/__utils__/"]
3
+ testPathIgnorePatterns: ["/__fixtures__/", "/__utils__/"],
4
+ resolver: "<rootDir>/test/resolver"
4
5
  }
@@ -1,7 +1,8 @@
1
1
  require "open3"
2
- require "shakapacker/compiler_strategy"
3
2
  require "fileutils"
4
3
 
4
+ require_relative "compiler_strategy"
5
+
5
6
  class Shakapacker::Compiler
6
7
  # Additional environment variables that the compiler is being run with
7
8
  # Shakapacker::Compiler.env['FRONTEND_API_KEY'] = 'your_secret_key'
@@ -1,5 +1,5 @@
1
- require "shakapacker/mtime_strategy"
2
- require "shakapacker/digest_strategy"
1
+ require_relative "mtime_strategy"
2
+ require_relative "digest_strategy"
3
3
 
4
4
  module Shakapacker
5
5
  class CompilerStrategy
@@ -1,8 +1,9 @@
1
1
  require "shellwords"
2
2
  require "socket"
3
- require "shakapacker/configuration"
4
- require "shakapacker/dev_server"
5
- require "shakapacker/runner"
3
+
4
+ require_relative "configuration"
5
+ require_relative "dev_server"
6
+ require_relative "runner"
6
7
 
7
8
  module Shakapacker
8
9
  class DevServerRunner < Shakapacker::Runner
@@ -1,5 +1,6 @@
1
1
  require "digest/sha1"
2
- require "shakapacker/base_strategy"
2
+
3
+ require_relative "base_strategy"
3
4
 
4
5
  module Shakapacker
5
6
  class DigestStrategy < BaseStrategy
@@ -195,7 +195,7 @@ module Shakapacker::Helper
195
195
 
196
196
  def update_javascript_pack_tag_queue(defer:)
197
197
  if @javascript_pack_tag_loaded
198
- raise "You can only call #{caller_locations(1..1).first.label} before javascript_pack_tag helper. " \
198
+ raise "You can only call #{caller_locations(1..1).first.base_label} before javascript_pack_tag helper. " \
199
199
  "Please refer to https://github.com/shakacode/shakapacker/blob/main/README.md#view-helper-append_javascript_pack_tag-prepend_javascript_pack_tag-and-append_stylesheet_pack_tag for the usage guide"
200
200
  end
201
201
 
@@ -1,4 +1,4 @@
1
- require "shakapacker/base_strategy"
1
+ require_relative "base_strategy"
2
2
 
3
3
  module Shakapacker
4
4
  class MtimeStrategy < BaseStrategy
@@ -1,9 +1,9 @@
1
1
  require "rails/railtie"
2
2
 
3
- require "shakapacker/helper"
4
- require "shakapacker/dev_server_proxy"
5
- require "shakapacker/version_checker"
6
- require "shakapacker/utils/manager"
3
+ require_relative "helper"
4
+ require_relative "dev_server_proxy"
5
+ require_relative "version_checker"
6
+ require_relative "utils/manager"
7
7
 
8
8
  class Shakapacker::Engine < ::Rails::Engine
9
9
  # Allows Shakapacker config values to be set via Rails env config files
@@ -1,5 +1,6 @@
1
- require "shakapacker/utils/misc"
2
- require "shakapacker/utils/manager"
1
+ require_relative "utils/misc"
2
+ require_relative "utils/manager"
3
+
3
4
  require "package_json"
4
5
 
5
6
  module Shakapacker
@@ -14,13 +15,8 @@ module Shakapacker
14
15
  @argv = argv
15
16
 
16
17
  @app_path = File.expand_path(".", Dir.pwd)
17
- @webpack_config = File.join(@app_path, "config/webpack/webpack.config.js")
18
18
  @shakapacker_config = ENV["SHAKAPACKER_CONFIG"] || File.join(@app_path, "config/shakapacker.yml")
19
-
20
- unless File.exist?(@webpack_config)
21
- $stderr.puts "webpack config #{@webpack_config} not found, please run 'bundle exec rails shakapacker:install' to install Shakapacker with default configs or add the missing config file for your custom environment."
22
- exit!
23
- end
19
+ @webpack_config = find_webpack_config
24
20
 
25
21
  Shakapacker::Utils::Manager.error_unless_package_manager_is_obvious!
26
22
  end
@@ -28,5 +24,18 @@ module Shakapacker
28
24
  def package_json
29
25
  @package_json ||= PackageJson.read(@app_path)
30
26
  end
27
+
28
+ private
29
+ def find_webpack_config
30
+ possible_paths = %w[ts js].map do |ext|
31
+ File.join(@app_path, "config/webpack/webpack.config.#{ext}")
32
+ end
33
+ path = possible_paths.find { |f| File.exist?(f) }
34
+ unless path
35
+ $stderr.puts "webpack config #{possible_paths.last} not found, please run 'bundle exec rails shakapacker:install' to install Shakapacker with default configs or add the missing config file for your custom environment."
36
+ exit!
37
+ end
38
+ path
39
+ end
31
40
  end
32
41
  end
@@ -16,7 +16,7 @@ module Shakapacker
16
16
 
17
17
  # Emits a warning if it's not obvious what package manager to use
18
18
  def self.error_unless_package_manager_is_obvious!
19
- return unless PackageJson.read.fetch("packageManager", nil).nil?
19
+ return unless PackageJson.read(rails_root).fetch("packageManager", nil).nil?
20
20
 
21
21
  guessed_binary = guess_binary
22
22
 
@@ -35,7 +35,7 @@ module Shakapacker
35
35
  #
36
36
  # @return [String]
37
37
  def self.guess_binary
38
- MANAGER_LOCKS.find { |_, lock| File.exist?(lock) }&.first || "npm"
38
+ MANAGER_LOCKS.find { |_, lock| File.exist?(rails_root.join(lock)) }&.first || "npm"
39
39
  end
40
40
 
41
41
  # Guesses the version of the package manager to use by calling `<manager> --version`
@@ -53,6 +53,17 @@ module Shakapacker
53
53
 
54
54
  stdout.chomp
55
55
  end
56
+
57
+ private
58
+ def self.rails_root
59
+ if defined?(APP_ROOT)
60
+ Pathname.new(APP_ROOT)
61
+ elsif defined?(Rails)
62
+ Rails.root
63
+ else
64
+ raise "can only be called from a rails environment or with APP_ROOT defined"
65
+ end
66
+ end
56
67
  end
57
68
  end
58
69
  end
@@ -1,4 +1,4 @@
1
1
  module Shakapacker
2
2
  # Change the version in package.json too, please!
3
- VERSION = "8.0.1".freeze
3
+ VERSION = "8.1.0".freeze
4
4
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require "shakapacker/version"
2
+ require_relative "version"
3
3
 
4
4
  module Shakapacker
5
5
  class VersionChecker
@@ -1,5 +1,6 @@
1
1
  require "shellwords"
2
- require "shakapacker/runner"
2
+
3
+ require_relative "runner"
3
4
 
4
5
  module Shakapacker
5
6
  class WebpackRunner < Shakapacker::Runner
data/lib/shakapacker.rb CHANGED
@@ -37,13 +37,13 @@ module Shakapacker
37
37
  delegate :bootstrap, :clean, :clobber, :compile, to: :commands
38
38
  end
39
39
 
40
- require "shakapacker/instance"
41
- require "shakapacker/env"
42
- require "shakapacker/configuration"
43
- require "shakapacker/manifest"
44
- require "shakapacker/compiler"
45
- require "shakapacker/commands"
46
- require "shakapacker/dev_server"
47
- require "shakapacker/deprecation_helper"
48
-
49
- require "shakapacker/railtie" if defined?(Rails)
40
+ require_relative "shakapacker/instance"
41
+ require_relative "shakapacker/env"
42
+ require_relative "shakapacker/configuration"
43
+ require_relative "shakapacker/manifest"
44
+ require_relative "shakapacker/compiler"
45
+ require_relative "shakapacker/commands"
46
+ require_relative "shakapacker/dev_server"
47
+ require_relative "shakapacker/deprecation_helper"
48
+
49
+ require_relative "shakapacker/railtie" if defined?(Rails)
@@ -1,16 +1,18 @@
1
1
  /* eslint global-require: 0 */
2
2
 
3
3
  const getStyleRule = require("../utils/getStyleRule")
4
- const { canProcess } = require("../utils/helpers")
5
- const { additional_paths: includePaths } = require("../config")
4
+ const { canProcess, packageMajorVersion } = require("../utils/helpers")
5
+ const { additional_paths: extraPaths } = require("../config")
6
6
 
7
- module.exports = canProcess("sass-loader", (resolvedPath) =>
8
- getStyleRule(/\.(scss|sass)(\.erb)?$/i, [
7
+ module.exports = canProcess("sass-loader", (resolvedPath) => {
8
+ const optionKey =
9
+ packageMajorVersion("sass-loader") > 15 ? "loadPaths" : "includePaths"
10
+ return getStyleRule(/\.(scss|sass)(\.erb)?$/i, [
9
11
  {
10
12
  loader: resolvedPath,
11
13
  options: {
12
- sassOptions: { includePaths }
14
+ sassOptions: { [optionKey]: extraPaths }
13
15
  }
14
16
  }
15
17
  ])
16
- )
18
+ })
@@ -41,10 +41,18 @@ const loaderMatches = (configLoader, loaderToCheck, fn) => {
41
41
  return fn()
42
42
  }
43
43
 
44
+ const packageMajorVersion = (packageName) => {
45
+ // eslint-disable-next-line import/no-dynamic-require
46
+ const packageJsonPath = require.resolve(`${packageName}/package.json`)
47
+ // eslint-disable-next-line import/no-dynamic-require, global-require
48
+ return require(packageJsonPath).version.match(/^\d+/)[0]
49
+ }
50
+
44
51
  module.exports = {
45
52
  isBoolean,
46
53
  ensureTrailingSlash,
47
54
  canProcess,
48
55
  moduleExists,
49
- loaderMatches
56
+ loaderMatches,
57
+ packageMajorVersion
50
58
  }
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shakapacker",
3
- "version": "8.0.1",
3
+ "version": "8.1.0",
4
4
  "description": "Use webpack to manage app-like JavaScript modules in Rails",
5
5
  "homepage": "https://github.com/shakacode/shakapacker",
6
6
  "bugs": {
@@ -60,7 +60,7 @@
60
60
  "terser-webpack-plugin": "^5.3.1",
61
61
  "webpack": "^5.72.0",
62
62
  "webpack-assets-manifest": "^5.0.6",
63
- "webpack-cli": "^4.9.2 || ^5.0.0",
63
+ "webpack-cli": "^4.9.2 || ^5.0.0 || ^6.0.0",
64
64
  "webpack-dev-server": "^4.9.0 || ^5.0.0",
65
65
  "webpack-merge": "^5.8.0 || ^6.0.0"
66
66
  },
@@ -4,6 +4,15 @@ const { chdirTestApp, resetEnv } = require("../helpers")
4
4
  const rootPath = process.cwd()
5
5
  chdirTestApp()
6
6
 
7
+ jest.mock("../../package/utils/helpers", () => {
8
+ const original = jest.requireActual("../../package/utils/helpers")
9
+ const moduleExists = () => false
10
+ return {
11
+ ...original,
12
+ moduleExists
13
+ }
14
+ })
15
+
7
16
  describe("Development environment", () => {
8
17
  beforeEach(() => jest.resetModules() && resetEnv())
9
18
  afterAll(() => process.chdir(rootPath))
@@ -10,6 +10,15 @@ chdirTestApp()
10
10
  const baseConfig = require("../../../package/environments/base")
11
11
  const config = require("../../../package/config")
12
12
 
13
+ jest.mock("../../../package/utils/helpers", () => {
14
+ const original = jest.requireActual("../../../package/utils/helpers")
15
+ const moduleExists = () => false
16
+ return {
17
+ ...original,
18
+ moduleExists
19
+ }
20
+ })
21
+
13
22
  describe("Base config", () => {
14
23
  beforeEach(() => jest.resetModules() && resetEnv())
15
24
  afterAll(() => process.chdir(rootPath))
@@ -3,6 +3,15 @@ const { chdirTestApp, resetEnv } = require("../../helpers")
3
3
  const rootPath = process.cwd()
4
4
  chdirTestApp()
5
5
 
6
+ jest.mock("../../../package/utils/helpers", () => {
7
+ const original = jest.requireActual("../../../package/utils/helpers")
8
+ const moduleExists = () => false
9
+ return {
10
+ ...original,
11
+ moduleExists
12
+ }
13
+ })
14
+
6
15
  describe("Development specific config", () => {
7
16
  beforeEach(() => {
8
17
  jest.resetModules()
@@ -3,6 +3,15 @@ const { chdirTestApp, resetEnv } = require("../../helpers")
3
3
  const rootPath = process.cwd()
4
4
  chdirTestApp()
5
5
 
6
+ jest.mock("../../../package/utils/helpers", () => {
7
+ const original = jest.requireActual("../../../package/utils/helpers")
8
+ const moduleExists = () => false
9
+ return {
10
+ ...original,
11
+ moduleExists
12
+ }
13
+ })
14
+
6
15
  describe("Production specific config", () => {
7
16
  beforeEach(() => {
8
17
  jest.resetModules()
@@ -0,0 +1,11 @@
1
+ const { packageMajorVersion } = require("../../package/utils/helpers")
2
+
3
+ describe("packageMajorVersion", () => {
4
+ test("should find that sass-loader is v16", () => {
5
+ expect(packageMajorVersion("sass-loader")).toBe("16")
6
+ })
7
+
8
+ test("should find that nonexistent is v12", () => {
9
+ expect(packageMajorVersion("nonexistent")).toBe("12")
10
+ })
11
+ })
@@ -1,5 +1,14 @@
1
1
  const index = require("../../package/index")
2
2
 
3
+ jest.mock("../../package/utils/helpers", () => {
4
+ const original = jest.requireActual("../../package/utils/helpers")
5
+ const moduleExists = () => false
6
+ return {
7
+ ...original,
8
+ moduleExists
9
+ }
10
+ })
11
+
3
12
  describe("index", () => {
4
13
  test("exports webpack-merge v5 functions", () => {
5
14
  expect(index.merge).toBeInstanceOf(Function)
@@ -4,6 +4,15 @@ const { chdirTestApp } = require("../helpers")
4
4
  const rootPath = process.cwd()
5
5
  chdirTestApp()
6
6
 
7
+ jest.mock("../../package/utils/helpers", () => {
8
+ const original = jest.requireActual("../../package/utils/helpers")
9
+ const moduleExists = () => false
10
+ return {
11
+ ...original,
12
+ moduleExists
13
+ }
14
+ })
15
+
7
16
  describe("Production environment", () => {
8
17
  afterAll(() => process.chdir(rootPath))
9
18
 
@@ -1,5 +1,14 @@
1
1
  const rules = require("../../../package/rules/index")
2
2
 
3
+ jest.mock("../../../package/utils/helpers", () => {
4
+ const original = jest.requireActual("../../../package/utils/helpers")
5
+ const moduleExists = () => false
6
+ return {
7
+ ...original,
8
+ moduleExists
9
+ }
10
+ })
11
+
3
12
  describe("index", () => {
4
13
  test("rule tests are regexes", () => {
5
14
  rules.forEach((rule) => expect(rule.test instanceof RegExp).toBe(true))
@@ -0,0 +1,23 @@
1
+ const sass = require("../../../package/rules/sass")
2
+
3
+ jest.mock("../../../package/utils/helpers", () => {
4
+ const original = jest.requireActual("../../../package/utils/helpers")
5
+ const canProcess = (rule, fn) => {
6
+ return fn("This path was mocked")
7
+ }
8
+ const packageMajorVersion = () => "15"
9
+ return {
10
+ ...original,
11
+ canProcess,
12
+ packageMajorVersion
13
+ }
14
+ })
15
+
16
+ jest.mock("../../../package/utils/inliningCss", () => true)
17
+
18
+ describe("sass rule", () => {
19
+ test("contains loadPaths as the sassOptions key if sass-loader is v15 or earlier", () => {
20
+ expect(typeof sass.use[3].options.sassOptions.includePaths).toBe("object")
21
+ expect(typeof sass.use[3].options.sassOptions.loadPaths).toBe("undefined")
22
+ })
23
+ })
@@ -0,0 +1,23 @@
1
+ const sass = require("../../../package/rules/sass")
2
+
3
+ jest.mock("../../../package/utils/helpers", () => {
4
+ const original = jest.requireActual("../../../package/utils/helpers")
5
+ const canProcess = (rule, fn) => {
6
+ return fn("This path was mocked")
7
+ }
8
+ return {
9
+ ...original,
10
+ canProcess
11
+ }
12
+ })
13
+
14
+ jest.mock("../../../package/utils/inliningCss", () => true)
15
+
16
+ describe("sass rule", () => {
17
+ test("contains loadPaths as the sassOptions key if sass-loader is v15 or earlier", () => {
18
+ expect(typeof sass.use[3].options.sassOptions.includePaths).toBe(
19
+ "undefined"
20
+ )
21
+ expect(typeof sass.use[3].options.sassOptions.loadPaths).toBe("object")
22
+ })
23
+ })
@@ -4,6 +4,15 @@ const { chdirTestApp } = require("../helpers")
4
4
  const rootPath = process.cwd()
5
5
  chdirTestApp()
6
6
 
7
+ jest.mock("../../package/utils/helpers", () => {
8
+ const original = jest.requireActual("../../package/utils/helpers")
9
+ const moduleExists = () => false
10
+ return {
11
+ ...original,
12
+ moduleExists
13
+ }
14
+ })
15
+
7
16
  describe("Custom environment", () => {
8
17
  afterAll(() => process.chdir(rootPath))
9
18
 
@@ -4,6 +4,15 @@ const { chdirTestApp } = require("../helpers")
4
4
  const rootPath = process.cwd()
5
5
  chdirTestApp()
6
6
 
7
+ jest.mock("../../package/utils/helpers", () => {
8
+ const original = jest.requireActual("../../package/utils/helpers")
9
+ const moduleExists = () => false
10
+ return {
11
+ ...original,
12
+ moduleExists
13
+ }
14
+ })
15
+
7
16
  describe("Test environment", () => {
8
17
  afterAll(() => process.chdir(rootPath))
9
18
 
data/test/resolver.js ADDED
@@ -0,0 +1,13 @@
1
+ const mapping = {
2
+ "css-loader": "this path was mocked",
3
+ "sass-loader/package.json": "../../__mocks__/sass-loader/package.json",
4
+ "nonexistent/package.json": "../../__mocks__/nonexistent/package.json"
5
+ }
6
+
7
+ function resolver(module, options) {
8
+ // If the path corresponds to a key in the mapping object, returns the fakely resolved path
9
+ // otherwise it calls the Jest's default resolver
10
+ return mapping[module] || options.defaultResolver(module, options)
11
+ }
12
+
13
+ module.exports = resolver
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: 8.0.1
4
+ version: 8.1.0
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: 2024-07-10 00:00:00.000000000 Z
13
+ date: 2025-01-21 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -155,6 +155,8 @@ files:
155
155
  - MIT-LICENSE
156
156
  - README.md
157
157
  - Rakefile
158
+ - __mocks__/nonexistent/package.json
159
+ - __mocks__/sass-loader/package.json
158
160
  - config/README.md
159
161
  - config/shakapacker.yml
160
162
  - docs/customizing_babel_config.md
@@ -174,6 +176,8 @@ files:
174
176
  - gemfiles/Gemfile-rails.6.1.x
175
177
  - gemfiles/Gemfile-rails.7.0.x
176
178
  - gemfiles/Gemfile-rails.7.1.x
179
+ - gemfiles/Gemfile-rails.7.2.x
180
+ - gemfiles/Gemfile-rails.8.0.x
177
181
  - jest.config.js
178
182
  - lib/install/application.js
179
183
  - lib/install/bin/shakapacker
@@ -261,6 +265,7 @@ files:
261
265
  - test/package/environments/base.test.js
262
266
  - test/package/environments/development.test.js
263
267
  - test/package/environments/production.test.js
268
+ - test/package/helpers.test.js
264
269
  - test/package/index.test.js
265
270
  - test/package/production.test.js
266
271
  - test/package/rules/babel.test.js
@@ -268,15 +273,18 @@ files:
268
273
  - test/package/rules/file.test.js
269
274
  - test/package/rules/index.test.js
270
275
  - test/package/rules/raw.test.js
276
+ - test/package/rules/sass.test.js
277
+ - test/package/rules/sass1.test.js
271
278
  - test/package/rules/swc.test.js
272
279
  - test/package/staging.test.js
273
280
  - test/package/test.test.js
281
+ - test/resolver.js
274
282
  - yarn.lock
275
283
  homepage: https://github.com/shakacode/shakapacker
276
284
  licenses:
277
285
  - MIT
278
286
  metadata:
279
- source_code_uri: https://github.com/shakacode/shakapacker/tree/v8.0.1
287
+ source_code_uri: https://github.com/shakacode/shakapacker/tree/v8.1.0
280
288
  post_install_message:
281
289
  rdoc_options: []
282
290
  require_paths:
@@ -292,7 +300,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
292
300
  - !ruby/object:Gem::Version
293
301
  version: '0'
294
302
  requirements: []
295
- rubygems_version: 3.5.3
303
+ rubygems_version: 3.5.11
296
304
  signing_key:
297
305
  specification_version: 4
298
306
  summary: Use webpack to manage app-like JavaScript modules in Rails
@@ -305,6 +313,7 @@ test_files:
305
313
  - test/package/environments/base.test.js
306
314
  - test/package/environments/development.test.js
307
315
  - test/package/environments/production.test.js
316
+ - test/package/helpers.test.js
308
317
  - test/package/index.test.js
309
318
  - test/package/production.test.js
310
319
  - test/package/rules/babel.test.js
@@ -312,6 +321,9 @@ test_files:
312
321
  - test/package/rules/file.test.js
313
322
  - test/package/rules/index.test.js
314
323
  - test/package/rules/raw.test.js
324
+ - test/package/rules/sass.test.js
325
+ - test/package/rules/sass1.test.js
315
326
  - test/package/rules/swc.test.js
316
327
  - test/package/staging.test.js
317
328
  - test/package/test.test.js
329
+ - test/resolver.js