Skip to content

Let pnpm 12 finish an install via git - #109

Open
irskep wants to merge 1 commit into
mainfrom
pnpm12-allow-esbuild-build
Open

irskep wants to merge 1 commit into
mainfrom
pnpm12-allow-esbuild-build

Conversation

@irskep

@irskep irskep commented Sep 17, 2026

Copy link
Copy Markdown
Collaborator

pnpm install fails in a Dependicus checkout on pnpm 12, and so does installing Dependicus from git.

pnpm 12 fails any install that skipped a dependency's build script. esbuild comes in transitively and has one, so the install stops with ERR_PNPM_IGNORED_BUILDS. Anyone installing from git sees it as ERR_PNPM_PREPARE_PACKAGE instead: pnpm builds a git dependency by running prepare in a nested install, and there is no way to pass --ignore-scripts to that install or allowlist anything inside it.

A pnpm-workspace.yaml allowing esbuild's postinstall fixes both. esbuild isn't on the build path, since tsdown bundles with rolldown. The file also declares the single package explicitly: aube -r list errors without a packages key, and the dependicus-* jobs reach it through the aube provider.

The README needed a correction too. pnpm 12 keys its build allowlist on the resolved package URL, commit included, and ignores the onlyBuiltDependencies name older versions accepted.

Checked on pnpm 12.1.0 and aube 1.0.0-beta.9: install, build, test (930 passing), lint, format and typecheck here; node dist/bin.mjs update --html across all nine providers, which is what the dependicus-* jobs run; and pnpm add git+... from a separate project, which builds and installs a working dependicus.

🤖 Generated with Claude Code

@irskep
irskep force-pushed the pnpm12-allow-esbuild-build branch from dccdd9d to 52179cb Compare September 17, 2026 18:34
pnpm 12 fails an install that skipped a dependency's build script, and
esbuild has one. That broke `pnpm install` here, and broke installing
Dependicus from git: pnpm builds a git dependency by running `prepare`
in a nested install, which consumers can't pass --ignore-scripts to, so
they got ERR_PNPM_PREPARE_PACKAGE with no way around it.

esbuild isn't on the build path, since tsdown bundles with rolldown.

The allowlist lives in a pnpm-workspace.yaml, which is also where pnpm 12
reads its config. The file declares the single package explicitly because
`aube -r list` errors without a `packages` key, which is what the
dependicus-* CI jobs run through the aube provider.

The README's pnpm instructions were out of date too. pnpm 12 keys its
build allowlist on the resolved package URL, commit included, and
ignores the `onlyBuiltDependencies` name earlier versions took.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@irskep
irskep force-pushed the pnpm12-allow-esbuild-build branch from 52179cb to d25ea06 Compare September 17, 2026 18:39
@irskep irskep changed the title Let pnpm 12 finish an install Let pnpm 12 finish an install via git Sep 17, 2026
@irskep
irskep marked this pull request as ready for review September 17, 2026 18:43
@irskep
irskep requested a review from mblair September 17, 2026 18:43
@irskep

irskep commented Sep 17, 2026

Copy link
Copy Markdown
Collaborator Author

@mblair sorry I didn't get it right in the last batch!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants