Migrate from npm to pnpm#91
Migrate from npm to pnpm#91Wendy Fouchter (Wendystraite) wants to merge 3 commits intosaasquatch:mainfrom
Conversation
|
There was a problem hiding this comment.
Pull Request Overview
This PR migrates the project from npm to pnpm package manager to improve multi-project workflow efficiency. The migration includes replacing package lock files, updating scripts to use pnpm commands, and fixing package version inconsistencies that prevented builds.
- Replace npm with pnpm throughout the project, including lock files and package manager configuration
- Update all npm scripts to use pnpm equivalents with proper parallel/sequential execution patterns
- Replace jotai-vue with @nanostores/vue in Vue example due to package availability issues
Reviewed Changes
Copilot reviewed 9 out of 21 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Main package configuration with pnpm scripts and packageManager field |
| website/package.json | Website dependencies with fixed versions for build compatibility |
| website/pnpm-workspace.yaml | PNPM workspace configuration for website |
| website/README.md | Updated documentation to reference pnpm commands |
| examples/old-typescript/package.json | Added missing dependencies for TypeScript example |
| examples/example-vue/package.json | Migrated from jotai-vue to @nanostores/vue |
| examples/example-vue/src/components/HelloWorld.vue | Updated Vue component to use nanostores API |
| examples/example-vue/src/Molecules.ts | Updated molecule definition to use nanostores |
| CONTRIBUTING.md | Updated contributor documentation with pnpm commands |
Files not reviewed (7)
- examples/example-react/pnpm-lock.yaml: Language not supported
- examples/example-vanilla/package-lock.json: Language not supported
- examples/example-vanilla/pnpm-lock.yaml: Language not supported
- examples/example-vue/package-lock.json: Language not supported
- examples/example-vue/pnpm-lock.yaml: Language not supported
- examples/old-typescript/package-lock.json: Language not supported
- examples/old-typescript/pnpm-lock.yaml: Language not supported
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 12 out of 24 changed files in this pull request and generated no new comments.
Files not reviewed (7)
- examples/example-react/pnpm-lock.yaml: Language not supported
- examples/example-vanilla/package-lock.json: Language not supported
- examples/example-vanilla/pnpm-lock.yaml: Language not supported
- examples/example-vue/package-lock.json: Language not supported
- examples/example-vue/pnpm-lock.yaml: Language not supported
- examples/old-typescript/package-lock.json: Language not supported
- examples/old-typescript/pnpm-lock.yaml: Language not supported
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 12 out of 24 changed files in this pull request and generated 1 comment.
Files not reviewed (7)
- examples/example-react/pnpm-lock.yaml: Language not supported
- examples/example-vanilla/package-lock.json: Language not supported
- examples/example-vanilla/pnpm-lock.yaml: Language not supported
- examples/example-vue/package-lock.json: Language not supported
- examples/example-vue/pnpm-lock.yaml: Language not supported
- examples/old-typescript/package-lock.json: Language not supported
- examples/old-typescript/pnpm-lock.yaml: Language not supported
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
Wendy Fouchter (@Wendystraite) please update your PR on top of main to resolve merge conflicts. |
- Remove all `package-lock.json` by `pnpm-lock.yaml`. - Add "packageManager" field to package.json - Replace "npm-run-all" by "pnpm --parallel". Also don't launch multiple times browsers tests by not launching "test:browsers" and "test:browsers-suite" from "test" script. - Replace `jotai-vue` by `@nanostores/vue` inside example-vue since jotai-vue is not published anymore on npm. - Fix website's packages versions since it did not build when installed.
- Update actions/checkout@v3 to v4 - Add pnpm/action-setup@v4 - Update actions/setup-node@v3 to v4 - Use pnpm cache - Replace all "npm" calls to "pnpm" - Replace all "npx" calls to "pnpm exec" - Test all workflows locally using "act"
0b6335c to
201d721
Compare
Description of the change
Npm is really a pain when working with multiple projects.
This PR migrates from npm to pnpm with the following changes mades :
Code changes
package-lock.jsonbypnpm-lock.yaml.jotai-vueby@nanostores/vueinside example-vue since jotai-vue is not published anymore on npm.This also indirectly fixes #84 without typescript config changes.
CI changes
Update github workflows from npm to pnpm
Tested all workflows locally using act :
The first workflow passes, the second and third don't due to invalid credentials (expected).
Type of change