mirror of
https://github.com/pnpm/pnpm.git
synced 2026-05-07 23:48:05 -04:00
58d1b3a501773ff41167c60a7dc1709efa45f6f4
@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.3%