Back to Pnpm

@pnpm/exec.lifecycle

exec/lifecycle/README.md

11.0.61.0 KB
Original Source

@pnpm/exec.lifecycle

Package lifecycle hook runner

<!--@shields('npm')-->

<!--/@-->

Installation

sh
pnpm add @pnpm/logger @pnpm/exec.lifecycle

Usage

ts
import runLifecycleHook, {runPostinstallHooks} from '@pnpm/exec.lifecycle'

const targetPkgRoot = path.resolve('node_modules/target-pkg')
const pkg = require(path.join(targetPkgRoot, 'package.json'))

// Run a specific hook
await runLifecycleHook('preinstall', pkg, {
  pkgId: 'target-pkg/1.0.0',
  pkgRoot: targetPkgRoot,
  rawConfig: {},
  rootModulesDir: path.resolve('node_modules'),
  unsafePerm: true,
})

// Run all install hooks
await runPostinstallHooks({
  pkgId: 'target-pkg/1.0.0',
  pkgRoot: targetPkgRoot,
  rawConfig: {},
  rootModulesDir: path.resolve('node_modules'),
  unsafePerm: true,
})

API

runLifecycleHook(stage, packageManifest, opts): Promise<void>

runPostinstallHooks(opts): Promise<void>

License

MIT