Files
pnpm/packages/lifecycle
Zoltan Kochan 8fc6fc4ad7 refactor: rename prefix options to dir options
BREAKING CHANGE:

- @pnpm/build-modules
- @pnpm/filter-lockfile
- @pnpm/headless
- @pnpm/lifecycle
- @pnpm/modules-cleaner
- @pnpm/package-is-installable
- @pnpm/read-importers-context
- @pnpm/resolve-dependencies
- supi
2019-11-03 17:08:57 +02:00
..
2019-10-04 01:29:26 +03:00
2019-10-06 01:03:17 +03:00
2018-12-15 22:56:20 +02:00

@pnpm/lifecycle

Package lifecycle hook runner

npm version

Installation

<pnpm|npm|yarn> add @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,
  rawConfig: {},
  rootNodeModulesDir: path.resolve('node_modules'),
  unsafePerm: true,
})

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

API

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

runPostinstallHooks(opts): Promise<void>

License

MIT © Zoltan Kochan