Class: Lively::Electron::Packager::Pnpm
- Defined in:
- lib/lively/electron/packager/pnpm.rb
Overview
A pnpm (‘pnpm-lock.yaml`) project layout with the corresponding `pnpm` command line.
Constant Summary
Constants inherited from Generic
Generic::ELECTRON_VERSION_RANGE
Instance Attribute Summary
Attributes inherited from Generic
#Semver range for the `electron` dependency written by {setup!}.
Instance Method Summary collapse
- #install_command ⇒ Object
-
#setup!(package_root) ⇒ Object
Creates a ‘package.json` and installs Generic::ELECTRON_VERSION_RANGE when no manifest exists yet; see Generic#setup!.
- #to_s ⇒ Object
Methods inherited from Generic
#electron_executable_path, #install_hint, #run_install_in!
Instance Method Details
#install_command ⇒ Object
21 22 23 |
# File 'lib/lively/electron/packager/pnpm.rb', line 21 def install_command %w[pnpm install] end |
#setup!(package_root) ⇒ Object
Creates a ‘package.json` and installs Generic::ELECTRON_VERSION_RANGE when no manifest exists yet; see Generic#setup!. Also writes the `onlyBuiltDependencies` policy required by pnpm 10+.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/lively/electron/packager/pnpm.rb', line 28 def setup!(package_root) manifest = File.join(File.(package_root), "package.json") return if File.file?(manifest) # pnpm 10 requires --bare and --init-package-manager (see `pnpm help init`): run_subprocess!(%w[pnpm init --bare --init-package-manager], package_root, "pnpm init") run_subprocess!( [ "pnpm", "add", "electron@#{ELECTRON_VERSION_RANGE}" ], package_root, "pnpm add electron" ) merge_electron_postinstall_policy!(package_root) end |
#to_s ⇒ Object
18 |
# File 'lib/lively/electron/packager/pnpm.rb', line 18 def to_s = "pnpm" |