shakapacker 7.1.0 → 7.2.0.rc.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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/generator.yml +3 -0
  3. data/.github/workflows/ruby-backward-compatibility.yml +6 -0
  4. data/.github/workflows/ruby.yml +7 -0
  5. data/CHANGELOG.md +12 -6
  6. data/README.md +29 -3
  7. data/docs/v6_upgrade.md +1 -1
  8. data/lib/install/template.rb +56 -16
  9. data/lib/shakapacker/compiler.rb +5 -3
  10. data/lib/shakapacker/configuration.rb +8 -0
  11. data/lib/shakapacker/dev_server_runner.rb +11 -5
  12. data/lib/shakapacker/runner.rb +19 -1
  13. data/lib/shakapacker/utils/misc.rb +12 -0
  14. data/lib/shakapacker/version.rb +1 -1
  15. data/lib/shakapacker/webpack_runner.rb +12 -5
  16. data/lib/tasks/shakapacker/binstubs.rake +1 -1
  17. data/lib/tasks/shakapacker/check_manager.rake +27 -0
  18. data/lib/tasks/shakapacker/check_yarn.rake +2 -1
  19. data/lib/tasks/shakapacker/info.rake +20 -3
  20. data/lib/tasks/shakapacker/install.rake +1 -1
  21. data/lib/tasks/shakapacker/verify_install.rake +1 -1
  22. data/lib/tasks/shakapacker.rake +2 -2
  23. data/lib/tasks/webpacker/check_yarn.rake +1 -1
  24. data/package.json +2 -2
  25. data/shakapacker.gemspec +1 -0
  26. data/spec/backward_compatibility_specs/dev_server_runner_spec.rb +90 -30
  27. data/spec/backward_compatibility_specs/engine_rake_tasks_spec.rb +29 -7
  28. data/spec/backward_compatibility_specs/webpack_runner_spec.rb +44 -10
  29. data/spec/generator_specs/e2e_template/template.rb +31 -10
  30. data/spec/generator_specs/fake-bin/bun +10 -0
  31. data/spec/generator_specs/fake-bin/npm +10 -0
  32. data/spec/generator_specs/fake-bin/pnpm +10 -0
  33. data/spec/generator_specs/fake-bin/yarn +10 -0
  34. data/spec/generator_specs/generator_spec.rb +167 -17
  35. data/spec/mounted_app/package.json +1 -0
  36. data/spec/shakapacker/compiler_spec.rb +9 -5
  37. data/spec/shakapacker/configuration_spec.rb +48 -0
  38. data/spec/shakapacker/dev_server_runner_spec.rb +88 -29
  39. data/spec/shakapacker/engine_rake_tasks_spec.rb +27 -6
  40. data/spec/shakapacker/rake_tasks_spec.rb +6 -5
  41. data/spec/shakapacker/spec_helper_initializer.rb +18 -0
  42. data/spec/shakapacker/webpack_runner_spec.rb +44 -10
  43. data/spec/spec_helper.rb +2 -0
  44. data/spec/support/package_json_helpers.rb +16 -0
  45. metadata +26 -5
@@ -330,4 +330,52 @@ describe "Shakapacker::Configuration" do
330
330
  expect(actual).to eq(expected)
331
331
  end
332
332
  end
333
+
334
+ describe "#asset_host" do
335
+ let(:config) do
336
+ Shakapacker::Configuration.new(
337
+ root_path: ROOT_PATH,
338
+ config_path: Pathname.new(File.expand_path("./test_app/config/shakapacker.yml", __dir__)),
339
+ env: "production"
340
+ )
341
+ end
342
+
343
+ it "returns the value of SHAKAPACKER_ASSET_HOST if set" do
344
+ with_env_variable("SHAKAPACKER_ASSET_HOST" => "custom_host.abc") do
345
+ expect(config.asset_host).to eq "custom_host.abc"
346
+ end
347
+ end
348
+
349
+ it "returns ActionController::Base.helpers.compute_asset_host if SHAKAPACKER_ASSET_HOST is not set" do
350
+ allow(ActionController::Base.helpers).to receive(:compute_asset_host).and_return("domain.abc")
351
+
352
+ with_env_variable("SHAKAPACKER_ASSET_HOST" => nil) do
353
+ expect(config.asset_host).to eq "domain.abc"
354
+ end
355
+ end
356
+ end
357
+
358
+ describe "#relative_url_root" do
359
+ let(:config) do
360
+ Shakapacker::Configuration.new(
361
+ root_path: ROOT_PATH,
362
+ config_path: Pathname.new(File.expand_path("./test_app/config/shakapacker.yml", __dir__)),
363
+ env: "production"
364
+ )
365
+ end
366
+
367
+ it "returns the value of SHAKAPACKER_RELATIVE_URL_ROOT if set" do
368
+ with_env_variable("SHAKAPACKER_RELATIVE_URL_ROOT" => "custom_value") do
369
+ expect(config.relative_url_root).to eq "custom_value"
370
+ end
371
+ end
372
+
373
+ it "returns ActionController::Base.helpers.compute_asset_host if SHAKAPACKER_RELATIVE_URL_ROOT is not set" do
374
+ allow(ActionController::Base).to receive(:relative_url_root).and_return("abcd")
375
+
376
+ with_env_variable("SHAKAPACKER_RELATIVE_URL_ROOT" => nil) do
377
+ expect(config.relative_url_root).to eq "abcd"
378
+ end
379
+ end
380
+ end
333
381
  end
@@ -16,47 +16,106 @@ describe "DevServerRunner" do
16
16
 
17
17
  let(:test_app_path) { File.expand_path("./test_app", __dir__) }
18
18
 
19
- it "supports running via node modules" do
20
- cmd = ["#{test_app_path}/node_modules/.bin/webpack", "serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js"]
19
+ NODE_PACKAGE_MANAGERS.each do |fallback_manager|
20
+ context "when using package_json with #{fallback_manager} as the manager" do
21
+ with_use_package_json_gem(enabled: true, fallback_manager: fallback_manager)
21
22
 
22
- verify_command(cmd, use_node_modules: true)
23
- end
23
+ let(:package_json) { PackageJson.read(test_app_path) }
24
24
 
25
- it "supports running via yarn" do
26
- cmd = ["yarn", "webpack", "serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js"]
25
+ require "package_json"
27
26
 
28
- verify_command(cmd, use_node_modules: false)
29
- end
27
+ it "uses the expected package manager", unless: fallback_manager == "yarn_classic" do
28
+ cmd = package_json.manager.native_exec_command("webpack", ["serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js"])
30
29
 
31
- it "passes on arguments" do
32
- cmd = ["#{test_app_path}/node_modules/.bin/webpack", "serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js", "--quiet"]
30
+ manager_name = fallback_manager.split("_")[0]
33
31
 
34
- verify_command(cmd, argv: (["--quiet"]))
35
- end
32
+ expect(cmd).to start_with(manager_name)
33
+ end
34
+
35
+ it "runs the command using the manager" do
36
+ cmd = package_json.manager.native_exec_command("webpack", ["serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js"])
37
+
38
+ verify_command(cmd)
39
+ end
40
+
41
+ it "passes on arguments" do
42
+ cmd = package_json.manager.native_exec_command("webpack", ["serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js", "--quiet"])
36
43
 
37
- it "supports the https flag" do
38
- cmd = ["#{test_app_path}/node_modules/.bin/webpack", "serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js", "--https"]
44
+ verify_command(cmd, argv: (["--quiet"]))
45
+ end
46
+
47
+ it "supports the https flag" do
48
+ cmd = package_json.manager.native_exec_command("webpack", ["serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js", "--https"])
49
+
50
+ dev_server = double()
51
+ allow(dev_server).to receive(:host).and_return("localhost")
52
+ allow(dev_server).to receive(:port).and_return("3035")
53
+ allow(dev_server).to receive(:pretty?).and_return(false)
54
+ allow(dev_server).to receive(:https?).and_return(true)
55
+ allow(dev_server).to receive(:hmr?).and_return(false)
56
+
57
+ allow(Shakapacker::DevServer).to receive(:new) do
58
+ verify_command(cmd, argv: (["--https"]))
59
+ end.and_return(dev_server)
60
+ end
61
+
62
+ it "accepts environment variables" do
63
+ cmd = package_json.manager.native_exec_command("webpack", ["serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js"])
39
64
 
40
- dev_server = double()
41
- allow(dev_server).to receive(:host).and_return("localhost")
42
- allow(dev_server).to receive(:port).and_return("3035")
43
- allow(dev_server).to receive(:pretty?).and_return(false)
44
- allow(dev_server).to receive(:https?).and_return(true)
45
- allow(dev_server).to receive(:hmr?).and_return(false)
65
+ env = Shakapacker::Compiler.env.dup
66
+ ENV["SHAKAPACKER_CONFIG"] = env["SHAKAPACKER_CONFIG"] = "#{test_app_path}/config/shakapacker_other_location.yml"
67
+ env["WEBPACK_SERVE"] = "true"
46
68
 
47
- allow(Shakapacker::DevServer).to receive(:new) do
48
- verify_command(cmd, argv: (["--https"]))
49
- end.and_return(dev_server)
69
+ verify_command(cmd, env: env)
70
+ end
71
+ end
50
72
  end
51
73
 
52
- it "accepts environment variables" do
53
- cmd = ["#{test_app_path}/node_modules/.bin/webpack", "serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js"]
54
- env = Shakapacker::Compiler.env.dup
74
+ context "when not using package_json" do
75
+ with_use_package_json_gem(enabled: false)
55
76
 
56
- ENV["SHAKAPACKER_CONFIG"] = env["SHAKAPACKER_CONFIG"] = "#{test_app_path}/config/shakapacker_other_location.yml"
57
- env["WEBPACK_SERVE"] = "true"
77
+ it "supports running via node modules" do
78
+ cmd = ["#{test_app_path}/node_modules/.bin/webpack", "serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js"]
58
79
 
59
- verify_command(cmd, env: env)
80
+ verify_command(cmd, use_node_modules: true)
81
+ end
82
+
83
+ it "supports running via yarn" do
84
+ cmd = ["yarn", "webpack", "serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js"]
85
+
86
+ verify_command(cmd, use_node_modules: false)
87
+ end
88
+
89
+ it "passes on arguments" do
90
+ cmd = ["#{test_app_path}/node_modules/.bin/webpack", "serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js", "--quiet"]
91
+
92
+ verify_command(cmd, argv: (["--quiet"]))
93
+ end
94
+
95
+ it "supports the https flag" do
96
+ cmd = ["#{test_app_path}/node_modules/.bin/webpack", "serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js", "--https"]
97
+
98
+ dev_server = double()
99
+ allow(dev_server).to receive(:host).and_return("localhost")
100
+ allow(dev_server).to receive(:port).and_return("3035")
101
+ allow(dev_server).to receive(:pretty?).and_return(false)
102
+ allow(dev_server).to receive(:https?).and_return(true)
103
+ allow(dev_server).to receive(:hmr?).and_return(false)
104
+
105
+ allow(Shakapacker::DevServer).to receive(:new) do
106
+ verify_command(cmd, argv: (["--https"]))
107
+ end.and_return(dev_server)
108
+ end
109
+
110
+ it "accepts environment variables" do
111
+ cmd = ["#{test_app_path}/node_modules/.bin/webpack", "serve", "--config", "#{test_app_path}/config/webpack/webpack.config.js"]
112
+ env = Shakapacker::Compiler.env.dup
113
+
114
+ ENV["SHAKAPACKER_CONFIG"] = env["SHAKAPACKER_CONFIG"] = "#{test_app_path}/config/shakapacker_other_location.yml"
115
+ env["WEBPACK_SERVE"] = "true"
116
+
117
+ verify_command(cmd, env: env)
118
+ end
60
119
  end
61
120
 
62
121
  private
@@ -9,15 +9,36 @@ describe "EngineRakeTasks" do
9
9
  remove_webpack_binstubs
10
10
  end
11
11
 
12
- it "mounts app:shakapacker task successfully" do
13
- output = Dir.chdir(mounted_app_path) { `rake -T` }
12
+ NODE_PACKAGE_MANAGERS.each do |fallback_manager|
13
+ context "when using package_json with #{fallback_manager} as the manager" do
14
+ with_use_package_json_gem(enabled: true, fallback_manager: fallback_manager)
14
15
 
15
- expect(output).to include "app:shakapacker"
16
+ it "mounts app:shakapacker task successfully" do
17
+ output = Dir.chdir(mounted_app_path) { `rake -T` }
18
+
19
+ expect(output).to include "app:shakapacker"
20
+ end
21
+
22
+ it "only adds expected files to bin directory when binstubs is run" do
23
+ Dir.chdir(mounted_app_path) { `bundle exec rake app:shakapacker:binstubs` }
24
+ expected_binstub_paths.each { |path| expect(File.exist?(path)).to be true }
25
+ end
26
+ end
16
27
  end
17
28
 
18
- it "only adds expected files to bin directory when binstubs is run" do
19
- Dir.chdir(mounted_app_path) { `bundle exec rake app:shakapacker:binstubs` }
20
- expected_binstub_paths.each { |path| expect(File.exist?(path)).to be true }
29
+ context "when not using package_json" do
30
+ with_use_package_json_gem(enabled: false)
31
+
32
+ it "mounts app:shakapacker task successfully" do
33
+ output = Dir.chdir(mounted_app_path) { `rake -T` }
34
+
35
+ expect(output).to include "app:shakapacker"
36
+ end
37
+
38
+ it "only adds expected files to bin directory when binstubs is run" do
39
+ Dir.chdir(mounted_app_path) { `bundle exec rake app:shakapacker:binstubs` }
40
+ expected_binstub_paths.each { |path| expect(File.exist?(path)).to be true }
41
+ end
21
42
  end
22
43
 
23
44
  private
@@ -8,7 +8,7 @@ describe "RakeTasks" do
8
8
  expect(output).to include "shakapacker"
9
9
  expect(output).to include "shakapacker:check_binstubs"
10
10
  expect(output).to include "shakapacker:check_node"
11
- expect(output).to include "shakapacker:check_yarn"
11
+ expect(output).to include "shakapacker:check_manager"
12
12
  expect(output).to include "shakapacker:clean"
13
13
  expect(output).to include "shakapacker:clobber"
14
14
  expect(output).to include "shakapacker:compile"
@@ -28,11 +28,12 @@ describe "RakeTasks" do
28
28
  expect(output).to_not include "Shakapacker requires Node.js"
29
29
  end
30
30
 
31
- it "`shakapacker:check_yarn` doesn't get errors related to yarn" do
32
- output = Dir.chdir(TEST_APP_PATH) { `rake shakapacker:check_yarn 2>&1` }
31
+ # TODO: currently this test depends on external conditions & PACKAGE_JSON_FALLBACK_MANAGER
32
+ it "`shakapacker:check_manager` doesn't get errors related to the package manager" do
33
+ output = Dir.chdir(TEST_APP_PATH) { `rake shakapacker:check_manager 2>&1` }
33
34
 
34
- expect(output).to_not include "Yarn not installed"
35
- expect(output).to_not include "Shakapacker requires Yarn"
35
+ expect(output).to_not include "not installed"
36
+ expect(output).to_not include "Shakapacker requires"
36
37
  end
37
38
 
38
39
  describe "`shakapacker:check_binstubs`" do
@@ -22,3 +22,21 @@ ensure
22
22
  Rails.env = ActiveSupport::StringInquirer.new(original)
23
23
  reloaded_config
24
24
  end
25
+
26
+ # Temportarily set env variables to a custom value
27
+ # arg: a hash with key:value for each custom env
28
+ # Keys could be string or symbol
29
+ def with_env_variable(custom_env_hash)
30
+ original_env = {}
31
+ custom_env_hash.each do |key, new_value|
32
+ upcased_key = key.to_s.upcase
33
+ original_env[upcased_key] = new_value
34
+ ENV[upcased_key] = new_value
35
+ end
36
+
37
+ yield
38
+ ensure
39
+ original_env.each do |key, original_value|
40
+ ENV[key] = original_value
41
+ end
42
+ end
@@ -14,22 +14,56 @@ describe "WebpackRunner" do
14
14
 
15
15
  let(:test_app_path) { File.expand_path("./test_app", __dir__) }
16
16
 
17
- it "supports running via node_modules" do
18
- cmd = ["#{test_app_path}/node_modules/.bin/webpack", "--config", "#{test_app_path}/config/webpack/webpack.config.js"]
17
+ NODE_PACKAGE_MANAGERS.each do |fallback_manager|
18
+ context "when using package_json with #{fallback_manager} as the manager" do
19
+ with_use_package_json_gem(enabled: true, fallback_manager: fallback_manager)
19
20
 
20
- verify_command(cmd, use_node_modules: true)
21
- end
21
+ let(:package_json) { PackageJson.read(test_app_path) }
22
+
23
+ require "package_json"
24
+
25
+ it "uses the expected package manager", unless: fallback_manager == "yarn_classic" do
26
+ cmd = package_json.manager.native_exec_command("webpack", ["--config", "#{test_app_path}/config/webpack/webpack.config.js"])
27
+
28
+ manager_name = fallback_manager.split("_")[0]
29
+
30
+ expect(cmd).to start_with(manager_name)
31
+ end
32
+
33
+ it "runs the command using the manager" do
34
+ cmd = package_json.manager.native_exec_command("webpack", ["--config", "#{test_app_path}/config/webpack/webpack.config.js"])
22
35
 
23
- it "supports running via yarn" do
24
- cmd = ["yarn", "webpack", "--config", "#{test_app_path}/config/webpack/webpack.config.js"]
36
+ verify_command(cmd)
37
+ end
25
38
 
26
- verify_command(cmd, use_node_modules: false)
39
+ it "passes on arguments" do
40
+ cmd = package_json.manager.native_exec_command("webpack", ["--config", "#{test_app_path}/config/webpack/webpack.config.js", "--watch"])
41
+
42
+ verify_command(cmd, argv: (["--watch"]))
43
+ end
44
+ end
27
45
  end
28
46
 
29
- it "passes on arguments" do
30
- cmd = ["#{test_app_path}/node_modules/.bin/webpack", "--config", "#{test_app_path}/config/webpack/webpack.config.js", "--watch"]
47
+ context "when not using package_json" do
48
+ with_use_package_json_gem(enabled: false)
49
+
50
+ it "supports running via node_modules" do
51
+ cmd = ["#{test_app_path}/node_modules/.bin/webpack", "--config", "#{test_app_path}/config/webpack/webpack.config.js"]
52
+
53
+ verify_command(cmd, use_node_modules: true)
54
+ end
55
+
56
+ it "supports running via yarn" do
57
+ cmd = ["yarn", "webpack", "--config", "#{test_app_path}/config/webpack/webpack.config.js"]
31
58
 
32
- verify_command(cmd, argv: ["--watch"])
59
+ verify_command(cmd, use_node_modules: false)
60
+ end
61
+
62
+ it "passes on arguments" do
63
+ cmd = ["#{test_app_path}/node_modules/.bin/webpack", "--config", "#{test_app_path}/config/webpack/webpack.config.js", "--watch"]
64
+
65
+ verify_command(cmd, argv: ["--watch"])
66
+ end
33
67
  end
34
68
 
35
69
  private
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require_relative "./support/package_json_helpers"
2
+
1
3
  # This file was generated by the `rspec --init` command. Conventionally, all
2
4
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
5
  # The generated `.rspec` file contains `--require spec_helper` which will cause
@@ -0,0 +1,16 @@
1
+ NODE_PACKAGE_MANAGERS = ["npm", "yarn_classic", "yarn_berry", "pnpm", "bun"]
2
+
3
+ def with_use_package_json_gem(enabled:, fallback_manager: nil)
4
+ around do |example|
5
+ old_use_package_json_gem_value = ENV["SHAKAPACKER_USE_PACKAGE_JSON_GEM"]
6
+ old_package_json_fallback_manager_value = ENV["PACKAGE_JSON_FALLBACK_MANAGER"]
7
+
8
+ ENV["SHAKAPACKER_USE_PACKAGE_JSON_GEM"] = enabled.to_s
9
+ ENV["PACKAGE_JSON_FALLBACK_MANAGER"] = fallback_manager.to_s
10
+
11
+ example.run
12
+
13
+ ENV["SHAKAPACKER_USE_PACKAGE_JSON_GEM"] = old_use_package_json_gem_value
14
+ ENV["PACKAGE_JSON_FALLBACK_MANAGER"] = old_package_json_fallback_manager_value
15
+ end
16
+ end
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: 7.1.0
4
+ version: 7.2.0.rc.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: 2023-10-01 00:00:00.000000000 Z
13
+ date: 2023-10-31 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -26,6 +26,20 @@ dependencies:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
28
  version: '5.2'
29
+ - !ruby/object:Gem::Dependency
30
+ name: package_json
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
29
43
  - !ruby/object:Gem::Dependency
30
44
  name: railties
31
45
  requirement: !ruby/object:Gem::Requirement
@@ -195,6 +209,7 @@ files:
195
209
  - lib/tasks/shakapacker.rake
196
210
  - lib/tasks/shakapacker/binstubs.rake
197
211
  - lib/tasks/shakapacker/check_binstubs.rake
212
+ - lib/tasks/shakapacker/check_manager.rake
198
213
  - lib/tasks/shakapacker/check_node.rake
199
214
  - lib/tasks/shakapacker/check_yarn.rake
200
215
  - lib/tasks/shakapacker/clean.rake
@@ -486,8 +501,13 @@ files:
486
501
  - spec/generator_specs/e2e_template/files/config/routes.rb
487
502
  - spec/generator_specs/e2e_template/files/spec/system/test_react_component_renders_spec.rb
488
503
  - spec/generator_specs/e2e_template/template.rb
504
+ - spec/generator_specs/fake-bin/bun
505
+ - spec/generator_specs/fake-bin/npm
506
+ - spec/generator_specs/fake-bin/pnpm
507
+ - spec/generator_specs/fake-bin/yarn
489
508
  - spec/generator_specs/generator_spec.rb
490
509
  - spec/mounted_app/Rakefile
510
+ - spec/mounted_app/package.json
491
511
  - spec/mounted_app/test/dummy/Rakefile
492
512
  - spec/mounted_app/test/dummy/bin/rails
493
513
  - spec/mounted_app/test/dummy/bin/rake
@@ -540,12 +560,13 @@ files:
540
560
  - spec/shakapacker/version_checker_spec.rb
541
561
  - spec/shakapacker/webpack_runner_spec.rb
542
562
  - spec/spec_helper.rb
563
+ - spec/support/package_json_helpers.rb
543
564
  - yarn.lock
544
565
  homepage: https://github.com/shakacode/shakapacker
545
566
  licenses:
546
567
  - MIT
547
568
  metadata:
548
- source_code_uri: https://github.com/shakacode/shakapacker/tree/v7.1.0
569
+ source_code_uri: https://github.com/shakacode/shakapacker/tree/v7.2.0-rc.0
549
570
  post_install_message:
550
571
  rdoc_options: []
551
572
  require_paths:
@@ -557,9 +578,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
557
578
  version: 2.6.0
558
579
  required_rubygems_version: !ruby/object:Gem::Requirement
559
580
  requirements:
560
- - - ">="
581
+ - - ">"
561
582
  - !ruby/object:Gem::Version
562
- version: '0'
583
+ version: 1.3.1
563
584
  requirements: []
564
585
  rubygems_version: 3.4.12
565
586
  signing_key: