Skip to content

Chore/go to pnpm - #1179

Open
jordividaller wants to merge 18 commits into
mainfrom
chore/go-to-pnpm
Open

Chore/go to pnpm#1179
jordividaller wants to merge 18 commits into
mainfrom
chore/go-to-pnpm

Conversation

@jordividaller

@jordividaller jordividaller commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

npm → pnpm migration

Straight migration to pnpm@11.10.0 (same version as Dragon). No restructuring: root and example/ stay two independent projects, each with its own pnpm-lock.yaml.

Changes

  • packageManager: pnpm@11.10.0 pinned in both projects (corepack enable once and you're set).
  • Lockfiles: package-lock.jsonpnpm-lock.yaml (root + example).
  • All workflows + release scripts: npm cipnpm install --frozen-lockfile, npm runpnpm, npxpnpm exec. npm publish/npm view kept (registry ops only).
  • example/ now consumes the SDK via link:.. — same live symlink behavior as file:.. had under npm.
  • Docs updated (README kept npm install for consumers).

Phantom deps surfaced by pnpm's strict node_modules (now declared)

  • typescript@6.0.3 — required by ignoreDeprecations: "6.0" in tsconfig
  • lodash + @types/lodash — imported directly in src/
  • @remoteoss/json-schema-form — its types leak into our published .d.ts

Notes

  • pnpm-workspace.yaml files are settings/root markers only (no packages: key — not a workspace). They gate dependency build scripts via allowBuilds.
  • Transitional lockfile-detection in base-coverage and size-check (base branch is still on npm until this merges) — remove after merge.
  • Use pnpm run ci locally (plain pnpm ci is pnpm's builtin clean-install).

Verified: pnpm run ci green (821/821 tests), size:check green, example type-check/build green.


Note

Medium Risk
Touches all CI/release paths and install semantics; transitional npm fallbacks and the new root build step for Playwright reduce but don’t eliminate pipeline risk until main is fully on pnpm.

Overview
Migrates the repo from npm to pnpm@11.10.0 (pinned via packageManager in root and example/). Lockfiles switch from package-lock.json to pnpm-lock.yaml in both projects; they remain separate installs, not a shared pnpm workspace.

CI/CD and tooling enable Corepack, use pnpm install --frozen-lockfile --ignore-scripts, and replace npm run / npx with pnpm / pnpm exec across workflows (PR, main, release, coverage, size-check, E2E). Size/badge workflows watch pnpm-lock.yaml instead of package-lock.json and use cache: 'pnpm'. Base-branch steps in PR coverage and size-check still fall back to npm when pnpm-lock.yaml is missing until main has merged.

Example app: @remoteoss/remote-flows is link:.. (replacing file:..); preinstall uses only-allow pnpm (skipped on Vercel). E2E/Playwright jobs build the root package before installing example/ so the symlinked SDK’s dist/ exists. Docs and .cursor/BUGBOT.md now document pnpm commands; consumer-facing README install stays npm where noted.

The PR description also lists explicit dependencies pnpm’s strict layout surfaced (typescript, lodash, @remoteoss/json-schema-form).

Reviewed by Cursor Bugbot for commit efef9e4. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Already up to date
Done in 417ms using pnpm v11.10.0

📦 Bundle Size Report

Metric Current Previous Change Status
Total (gzip) 248.37 kB 249.99 kB -1.62 kB (-0.6%) 🟢
Total (raw) 665.74 kB 669.83 kB -4.09 kB (-0.6%) 🟢
CSS (gzip) 21.69 kB 21.69 kB 0 B (0%) 🟢
CSS (raw) 112.77 kB 112.77 kB 0 B (0%) 🟢

Size Limits

  • ✅ Total gzipped: 248.37 kB / 350 kB (71.0%)
  • ✅ Total raw: 665.74 kB / 850 kB (78.3%)
  • ✅ CSS gzipped: 21.69 kB / 25 kB (86.8%)

Largest Files (Top 5)

  1. chunk-OXB3L3LU.js - 14 kB (new)
  2. styles.css - 10.85 kB (0 B (0%))
  3. index.css - 10.85 kB (0 B (0%))
  4. index.js - 6.67 kB (+3 B (+0.0%))
  5. chunk-YY5DHQ4E.js - 6.46 kB (new)
View All Files (402 total)
File Size (gzip) Change
chunk-OXB3L3LU.js 14 kB new
styles.css 10.85 kB 0 B (0%)
index.css 10.85 kB 0 B (0%)
index.js 6.67 kB +3 B (+0.0%)
chunk-YY5DHQ4E.js 6.46 kB new
chunk-R5XB35MZ.js 6.44 kB new
chunk-TF3QS7NM.js 5.31 kB new
chunk-LLR4CL67.js 4.87 kB new
chunk-I4J7LM2I.js 4.76 kB new
chunk-UUDEUWQQ.js 4.12 kB new

✅ Bundle size check passed

@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Already up to date
Done in 409ms using pnpm v11.10.0

📊 Coverage Report

⚪ Coverage unchanged

Metric Current Previous Change Status
Lines 84.96% 84.96% 0%
Statements 84.45% 84.45% 0%
Functions 82.96% 82.96% 0%
Branches 76.31% 76.31% 0%

Detailed Breakdown

Lines Coverage
  • Covered: 4097 / 4822
  • Coverage: 84.96%
  • Change: 0% (0 lines)
Statements Coverage
  • Covered: 4164 / 4931
  • Coverage: 84.45%
  • Change: 0% (0 statements)
Functions Coverage
  • Covered: 1100 / 1326
  • Coverage: 82.96%
  • Change: 0% (0 functions)
Branches Coverage
  • Covered: 2561 / 3356
  • Coverage: 76.31%
  • Change: 0% (0 branches)

✅ Coverage check passed

Comment thread example/scripts/set-commit-hash.js Outdated
Comment thread example/vercel.json Outdated
Comment thread example/vercel.json Outdated
Comment thread example/e2e/add-estimation.spec.js Outdated
@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Deploy preview for adp-cost-calculator ready!

Project:adp-cost-calculator
Status: ✅  Deploy successful!
Preview URL:https://adp-cost-calculator-npnfi8grv-remotecom.vercel.app
Latest Commit:efef9e4

Deployed with vercel-action

@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Deploy preview for remote-flows ready!

Project:remote-flows
Status: ✅  Deploy successful!
Preview URL:https://remote-flows-3m74k16ww-remotecom.vercel.app
Latest Commit:efef9e4

Deployed with vercel-action

Jordi Vidaller and others added 18 commits July 30, 2026 15:36
Picks up the dependency bumps that landed on main during the migration:
postcss 8.5.18 (security), vitest + @vitest/coverage-istanbul 4.1.10,
filesize 11.0.22, axios 1.18.1, @playwright/test 1.61.1,
@vitejs/plugin-react 6.0.3.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit efef9e4. Configure here.

// url: 'http://localhost:3000',
// reuseExistingServer: !process.env.CI,
// },
});

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compiled Playwright config committed

Medium Severity

example/playwright.config.js is compiled output from tsc -b via tsconfig.e2e.json, which includes playwright.config.ts with no noEmit/outDir. The new gitignore only ignores /e2e/**/*.js, so this root emit stays tracked and can drift from the TypeScript source.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit efef9e4. Configure here.

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