mirror of
https://github.com/pnpm/pnpm.git
synced 2026-05-05 14:36:10 -04:00
7ecdc48b5b5bb7d5950a2fd0831db9edd6120033
@pnpm/lifecycle
Package lifecycle hook runner
Installation
npm i -S @pnpm/logger @pnpm/lifecycle
Usage
import runLifecycleHook, {runPostinstallHooks} from '@pnpm/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,
rawNpmConfig: {},
rootNodeModulesDir: path.resolve('node_modules'),
unsafePerm: true,
})
// Run all install hooks
await runPostinstallHooks({
pkgId: 'target-pkg/1.0.0',
pkgRoot: targetPkgRoot,
rawNpmConfig: {},
rootNodeModulesDir: path.resolve('node_modules'),
unsafePerm: true,
})
API
runLifecycleHook(stage, packageJson, opts): Promise<void>
runPostinstallHooks(opts): Promise<void>
License
Languages
TypeScript
98.8%
JavaScript
0.8%
Shell
0.4%