Skip to content

Pnpm#175

Draft
Hinton wants to merge 3 commits into
mainfrom
pnpm
Draft

Pnpm#175
Hinton wants to merge 3 commits into
mainfrom
pnpm

Conversation

@Hinton
Copy link
Copy Markdown
Member

@Hinton Hinton commented Apr 23, 2026

Ticket

Description

Migrate the project from npm to pnpm. Replaces package-lock.json with pnpm-lock.yaml, adds pnpm-workspace.yaml, and updates CI to install with pnpm.

Shape

  • Lockfile: Deleted package-lock.json and added pnpm-lock.yaml.
  • pnpm-workspace.yaml: Allow-lists post-install build scripts for @parcel/watcher and esbuild, which pnpm blocks by default.
  • vue as a peerDependency: With pnpm's strict node_modules layout, VuePress's transitive vue isn't hoisted to the root, so Vite's import-analysis fails to resolve import "vue" from @vuepress/client. Declaring vue as a peer dependency per the VuePress getting-started guide makes it resolvable.
  • CI workflow (.github/workflows/main.yml): Added pnpm/action-setup (SHA-pinned to v6.0.3) before setup-node, enabled cache: pnpm for lockfile-based caching, and swapped npm ci / npm run lint:check for pnpm install --frozen-lockfile / pnpm run lint:check. Follows the pnpm CI guide.

Checklist

I did the following to ensure that my changes were tested thoroughly:

  • Ran pnpm install and pnpm dev locally and confirmed the dev server starts without the previous Failed to resolve import "vue" error.
  • Ran pnpm run lint:check locally.

I did the following to ensure that my changes do not introduce security vulnerabilities:

  • Pinned pnpm/action-setup to a commit SHA (v6.0.3) in line with the existing SHA-pinning convention for actions/checkout and actions/setup-node.

Hinton added 3 commits April 23, 2026 11:10
Replaces package-lock.json with pnpm-lock.yaml and adds
pnpm-workspace.yaml to allow build scripts for @parcel/watcher and
esbuild, which pnpm blocks by default.

Declares vue as a peerDependency per the VuePress getting-started
guide: with pnpm's strict node_modules layout, vue isn't hoisted to
the root, so Vite's import-analysis fails to resolve `import "vue"`
from @vuepress/client.
Add pnpm/action-setup before setup-node so pnpm is on PATH for the
built-in lockfile cache (cache: pnpm), then install with
`pnpm install --frozen-lockfile` and run the lint script via pnpm.

Follows https://pnpm.io/continuous-integration#github-actions.
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Apr 23, 2026

Deploying passwordless-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: cda0297
Status: ✅  Deploy successful!
Preview URL: https://ded2a956.passwordless-docs.pages.dev
Branch Preview URL: https://pnpm.passwordless-docs.pages.dev

View logs

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant