react_on_rails 16.7.0.rc.1 → 16.7.0.rc.2
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/generators/react_on_rails/js_dependency_manager.rb +33 -1
- data/lib/react_on_rails/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 60730ef27df1000e69cba89e5882f3a62d6c4fa0cdebb6ada0c10fa6af8f9385
|
|
4
|
+
data.tar.gz: 2214b6b5492d8ad2eb312bf79622b9cef74c469aaf0ef29e253211c97f0c92d8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1b4cd9ee45593c49f2ae568b68f7c8b9353c6238ae710e8ceaf6f84c34becc061254acecd8850f00d10006642f9ec80f795ab6c9d74aaaf1d24fcd731119bb21
|
|
7
|
+
data.tar.gz: 3646913ccf2b0d66e4d0adea6310cfdeaf1ab5463e46a0991a35734cb1111ecde8c23701b0272b0a4040c216a3c5fb49546bbb6c78d4a444dec072943ada6938
|
data/Gemfile.lock
CHANGED
|
@@ -510,8 +510,10 @@ module ReactOnRails
|
|
|
510
510
|
# @return [Boolean] true if successful, false otherwise
|
|
511
511
|
def add_packages(packages, dev: false)
|
|
512
512
|
return true if add_npm_dependencies(packages, dev: dev)
|
|
513
|
+
return true if install_packages_with_fallback(packages, dev: dev)
|
|
513
514
|
|
|
514
|
-
|
|
515
|
+
write_versioned_package_specs_to_package_json(packages, dev: dev)
|
|
516
|
+
false
|
|
515
517
|
end
|
|
516
518
|
|
|
517
519
|
def install_js_dependencies
|
|
@@ -559,6 +561,29 @@ module ReactOnRails
|
|
|
559
561
|
false
|
|
560
562
|
end
|
|
561
563
|
|
|
564
|
+
# Last-resort fallback for install failures. This rewrites package.json with
|
|
565
|
+
# JSON.pretty_generate so users can rerun their package manager manually.
|
|
566
|
+
def write_versioned_package_specs_to_package_json(packages, dev:)
|
|
567
|
+
return false unless File.exist?("package.json")
|
|
568
|
+
|
|
569
|
+
versioned_packages = packages.filter_map { |package_spec| package_name_and_version_from_spec(package_spec) }
|
|
570
|
+
return false if versioned_packages.empty?
|
|
571
|
+
|
|
572
|
+
content = JSON.parse(File.read("package.json"))
|
|
573
|
+
dependency_field = dev ? "devDependencies" : "dependencies"
|
|
574
|
+
content[dependency_field] ||= {}
|
|
575
|
+
|
|
576
|
+
versioned_packages.each do |package_name, package_version|
|
|
577
|
+
content[dependency_field][package_name] = package_version
|
|
578
|
+
end
|
|
579
|
+
|
|
580
|
+
File.write("package.json", "#{JSON.pretty_generate(content)}\n")
|
|
581
|
+
true
|
|
582
|
+
rescue StandardError => e
|
|
583
|
+
GeneratorMessages.add_warning("⚠️ Could not write dependency pins to package.json: #{e.message}")
|
|
584
|
+
false
|
|
585
|
+
end
|
|
586
|
+
|
|
562
587
|
def fallback_package_manager
|
|
563
588
|
package_manager = GeneratorMessages.detect_package_manager(app_root: destination_root)
|
|
564
589
|
return package_manager if GeneratorMessages.supported_package_manager?(package_manager)
|
|
@@ -622,6 +647,13 @@ module ReactOnRails
|
|
|
622
647
|
def version_specified?(package_spec, package_name)
|
|
623
648
|
package_spec != package_name
|
|
624
649
|
end
|
|
650
|
+
|
|
651
|
+
def package_name_and_version_from_spec(package_spec)
|
|
652
|
+
package_name = package_name_from_spec(package_spec)
|
|
653
|
+
return nil unless package_name && version_specified?(package_spec, package_name)
|
|
654
|
+
|
|
655
|
+
[package_name, package_spec.delete_prefix("#{package_name}@")]
|
|
656
|
+
end
|
|
625
657
|
end
|
|
626
658
|
end
|
|
627
659
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: react_on_rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 16.7.0.rc.
|
|
4
|
+
version: 16.7.0.rc.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Justin Gordon
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-05-
|
|
11
|
+
date: 2026-05-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: addressable
|