* chore(release): 11.28.7, pacquet 12.15.0, pnpr 0.1.0-alpha.16 * docs(release): curate 11.28.7, pacquet 12.15.0, and pnpr 0.1.0-alpha.16 release notes Add lead paragraphs and group the patch entries by what the reader was doing, with security fixes first on each page. - v11: lead with the registry metadata name check, pinned pnpm trustPolicy check, maxTarballUnpackedSize, and the removal of registry revisions; merge overlapping entries for minimumReleaseAge metadata revalidation, frozen-lockfile directory dependency checks, syncInjectedDepsAfterScripts, verifyDepsBeforeRun, pnpm sbom, and unreadable config settings. - v12: order minor highlights from config includes and lockfile.integrityTarget down to interactive update styling; drop the pnpr-only distribution note from the CLI changelog; merge overlapping entries for workspace and pnpr install speedups, minimumReleaseAge and If-Modified-Since revalidation, frozen-lockfile and injected package checks, verifyDepsBeforeRun, pnpm prune, pnpm pack, pnpm licenses list, pnpm self-update, pinned pnpm flag forwarding, and WebContainer fixes. - pnpr: lead the minor section with the breaking ecosystem URL prefix, hosted storage layout, artifacts.orgs, and strict config schema changes; fold dist.pnpr tarball metadata into one entry and drop the redundant /metrics note; lead the patch section with reserved-username and auth security fixes. - Use one issue-link label style across the release pages. --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@pnpm/exec.npm-lifecycle
JavaScript package lifecycle hook runner
@pnpm/exec.npm-lifecycle is a library for executing packages' lifecycle
scripts. It is extracted from npm itself and intended to be fully compatible
with the way npm executes individual scripts.
Installation
pnpm add @pnpm/exec.npm-lifecycle
API
lifecycle(pkg, stage, wd, opts): Promise<void>
Runs the stage script of pkg in wd, followed by the .hooks/<stage>
hook of opts.dir when there is one.
opts.dir- thenode_modulesdirectory whose.hooksare run.opts.log- the logger the runner reports to.opts.stdio- the stdio passed to the child process.[0, 1, 2]by default.opts.runConcurrently- Boolean -falseby default. Iftrue, lifecycle scripts may run concurrently.opts.extraEnv- Record<string, string> - add some extra env vars to the exec environment of the lifecycle script.opts.extraBinPaths- string[] - directories added to thePATHof the lifecycle script.opts.onSpawn- Function - called with each spawned lifecycle child process.opts.scriptShell- the shell the script runs in.shby default,cmdon Windows.opts.shellEmulator- Boolean - whenscriptShellis unset, run the script in a JavaScript shell emulator instead of a system shell. A configuredscriptShellis used even when this is set.opts.scriptsPrependNodePath- Boolean | 'warn-only' - put the directory of the running Node.js binary on the script'sPATH.
makeEnv(pkg, opts): Record<string, string>
Builds the environment a lifecycle script of pkg runs with: the current
environment without private npm_config_* settings, plus the npm_package_*
variables derived from the manifest.