Module: Rails::Generators::JsPackageManager
Do not use. This module is for internal use only.
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
|
Included In:
| |
| Defined in: | railties/lib/rails/generators/js_package_manager.rb |
Constant Summary
-
MANAGERS =
# File 'railties/lib/rails/generators/js_package_manager.rb', line 8{ bun: { add: "bun add %s", install: "bun install --frozen-lockfile", lockfile: "bun.lockb", audit: nil }, pnpm: { add: "pnpm add %s", install: "pnpm install --frozen-lockfile", lockfile: "pnpm-lock.yaml", audit: "pnpm audit" }, npm: { add: "npm install %s", install: "npm ci", lockfile: "package-lock.json", audit: "npm audit" }, yarn: { add: "yarn add %s", install: "yarn install --immutable", lockfile: "yarn.lock", audit: "yarn audit" } }.freeze
Class Method Summary
Instance Attribute Summary
- #using_js_runtime? ⇒ Boolean readonly
Instance Method Summary
Class Method Details
.detect(root)
[ GitHub ]Instance Attribute Details
#using_js_runtime? ⇒ Boolean (readonly)
[ GitHub ]
# File 'railties/lib/rails/generators/js_package_manager.rb', line 51
def using_js_runtime? @using_js_runtime ||= package_json_path.exist? end
Instance Method Details
#package_add_command(package)
[ GitHub ]# File 'railties/lib/rails/generators/js_package_manager.rb', line 55
def package_add_command(package) MANAGERS.dig(package_manager, :add) % package end
#package_install_command
[ GitHub ]# File 'railties/lib/rails/generators/js_package_manager.rb', line 59
def package_install_command MANAGERS.dig(package_manager, :install) end
#package_json_path (private)
[ GitHub ]# File 'railties/lib/rails/generators/js_package_manager.rb', line 72
def package_json_path project_root.join("package.json") end
#package_lockfile
[ GitHub ]# File 'railties/lib/rails/generators/js_package_manager.rb', line 63
def package_lockfile MANAGERS.dig(package_manager, :lockfile) end
#package_manager
[ GitHub ]# File 'railties/lib/rails/generators/js_package_manager.rb', line 47
def package_manager @package_manager ||= JsPackageManager.detect(project_root) end
#project_root (private)
[ GitHub ]# File 'railties/lib/rails/generators/js_package_manager.rb', line 68
def project_root Pathname(respond_to?(:destination_root) ? destination_root : Dir.pwd) end