Top Level Namespace
Defined Under Namespace
Modules: Shakapacker
Constant Summary collapse
- Webpacker =
Shakapacker
Instance Method Summary collapse
- #add_dependencies(dependencies, type) ⇒ Object
- #fetch_peer_dependencies ⇒ Object
- #native_install_command ⇒ Object
- #package_json ⇒ Object
Instance Method Details
#add_dependencies(dependencies, type) ⇒ Object
90 91 92 93 94 95 96 97 98 99 |
# File 'lib/install/template.rb', line 90 def add_dependencies(dependencies, type) return package_json.manager.add!(dependencies, type: type) if Shakapacker::Utils::Misc.use_package_json_gem # TODO: check that run actually errors run("yarn add #{dependencies.join(" ")}") if type == :production run("yarn add --dev #{dependencies.join(" ")}") if type == :dev rescue PackageJson::Error say "Shakapacker installation failed 😠See above for details.", :red exit 1 end |
#fetch_peer_dependencies ⇒ Object
101 102 103 104 105 106 107 108 |
# File 'lib/install/template.rb', line 101 def fetch_peer_dependencies if Shakapacker::Utils::Misc.use_package_json_gem return PackageJson.read("#{__dir__}/../../").fetch("peerDependencies") end package_json = File.read("#{__dir__}/../../package.json") JSON.parse(package_json)["peerDependencies"] end |
#native_install_command ⇒ Object
57 58 59 60 61 |
# File 'lib/install/template.rb', line 57 def native_install_command return "bin/yarn" unless Shakapacker::Utils::Misc.use_package_json_gem package_json.manager.native_install_command.join(" ") end |
#package_json ⇒ Object
45 46 47 48 49 50 51 52 53 |
# File 'lib/install/template.rb', line 45 def package_json if @package_json.nil? Shakapacker::Utils::Misc.require_package_json_gem @package_json = PackageJson.read end @package_json end |