WEBDEV-8724: Migrate elements to pnpm#63
Open
jbuckner wants to merge 2 commits into
Open
Conversation
Switch the repo from npm to pnpm 11. - packageManager + engines pins, and a preinstall guard (support/only-pnpm.cjs) so npm/yarn/bun installs fail fast - .npmrc drops package-lock; pnpm-workspace.yaml uses nodeLinker: hoisted and the WEBDEV-8544 supply-chain cooldown (14 days), with @internetarchive/* excluded - allowBuilds: esbuild, which vite and vitest need - pnpm-lock.yaml replaces package-lock.json - CI installs/tests with pnpm; publish stays on npm so provenance keeps working - pinned prettier to 3.6.2 so regenerating the lockfile didn't pull 3.9 and reformat the whole codebase - README dev/publish steps use pnpm Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NTzdCHTRpPpn9VUnFCFn3R
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #63 +/- ##
=======================================
Coverage 78.62% 78.62%
=======================================
Files 17 17
Lines 697 697
Branches 189 189
=======================================
Hits 548 548
Misses 100 100
Partials 49 49 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
npm runs a dependency's preinstall script, and the guard shipped in the published package.json, so `npm install @internetarchive/elements` failed for consumers: the guard file isn't in the tarball, so node hit MODULE_NOT_FOUND and the install aborted. pnpm consumers installed fine but got a spurious "ignored build scripts" warning naming elements. The guard belongs in an app, not a published library. packageManager, engines, and the committed pnpm lockfile still steer devs to pnpm. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NTzdCHTRpPpn9VUnFCFn3R
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Migrates the repo from npm to pnpm 11. Same setup as the offshoot migration (WEBDEV-8502).
packageManager+enginespinspnpm-workspace.yamlwithnodeLinker: hoistedand the WEBDEV-8544 supply-chain cooldown (14 days),@internetarchive/*excludedpnpm-lock.yamlreplacespackage-lock.json;.npmrcsetspackage-lock=falsenpm publishso provenance keeps workingNo pnpm-only preinstall guard: this is a published library, and a dependency's preinstall runs during consumers' installs (npm would fail, pnpm would warn).
packageManager+ the committed lockfile still steer devs to pnpm.Local: install / build / 164 tests all green. No runtime code touched.
🤖 Generated with Claude Code