-
Notifications
You must be signed in to change notification settings - Fork 2
Grahamc/switch to npm #121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Bumps the npm-deps group with 6 updates: | Package | From | To | | --- | --- | --- | | [type-fest](https://github.com/sindresorhus/type-fest) | `5.2.0` | `5.3.1` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.48.0` | `8.48.1` | | [prettier](https://github.com/prettier/prettier) | `3.7.3` | `3.7.4` | | [tsdown](https://github.com/rolldown/tsdown) | `0.16.8` | `0.17.0` | | [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.48.0` | `8.48.1` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.14` | `4.0.15` | Updates `type-fest` from 5.2.0 to 5.3.1 - [Release notes](https://github.com/sindresorhus/type-fest/releases) - [Commits](sindresorhus/type-fest@v5.2.0...v5.3.1) Updates `@typescript-eslint/eslint-plugin` from 8.48.0 to 8.48.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.48.1/packages/eslint-plugin) Updates `prettier` from 3.7.3 to 3.7.4 - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](prettier/prettier@3.7.3...3.7.4) Updates `tsdown` from 0.16.8 to 0.17.0 - [Release notes](https://github.com/rolldown/tsdown/releases) - [Commits](rolldown/tsdown@v0.16.8...v0.17.0) Updates `typescript-eslint` from 8.48.0 to 8.48.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.48.1/packages/typescript-eslint) Updates `vitest` from 4.0.14 to 4.0.15 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.15/packages/vitest) --- updated-dependencies: - dependency-name: type-fest dependency-version: 5.3.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-deps - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.48.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-deps - dependency-name: prettier dependency-version: 3.7.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-deps - dependency-name: tsdown dependency-version: 0.17.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-deps - dependency-name: typescript-eslint dependency-version: 8.48.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-deps - dependency-name: vitest dependency-version: 4.0.15 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-deps ... Signed-off-by: dependabot[bot] <support@github.com>
✅ Deploy Preview for detsys-ts-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
WalkthroughThis pull request migrates the project's package manager from pnpm to npm. Changes include replacing pnpm commands in CI workflows and build configurations with npm equivalents, adding conditional package manager detection in the update-downstream workflow, updating dependencies, and removing pnpm-specific configuration entries. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (2)
package-lock.jsonis excluded by!**/package-lock.jsonpnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (5)
.github/workflows/ci.yml(2 hunks).github/workflows/update-downstream.yml(1 hunks)netlify.toml(1 hunks)package.json(2 hunks)pnpm-workspace.yaml(0 hunks)
💤 Files with no reviewable changes (1)
- pnpm-workspace.yaml
🔇 Additional comments (5)
netlify.toml (1)
2-2: Straightforward package manager migration. The build command correctly switches from pnpm to npm..github/workflows/update-downstream.yml (1)
82-88: Backward-compatible conditional logic for package manager detection. This pragmatically handles downstream repos that may still use pnpm, but creates technical debt if not systematically migrated. Ensure downstream repos have a migration timeline.Please verify that:
- The conditional logic works correctly for both pnpm and npm contexts in downstream repos.
- The
npm run allandpnpm run allscripts produce equivalent results.- There's a documented plan/timeline for migrating downstream repos to npm (if applicable).
package.json (1)
16-16: Script correctly migrated from pnpm to npm. The "all" script now uses npm equivalents and explicitly clears the dist directory, maintaining the original behavior..github/workflows/ci.yml (2)
21-22: Correct use of npm ci for CI environment. This is the right choice for deterministic builds using the lock file.Verify that
package-lock.jsonis committed to the repository and up-to-date. If not, this will cause the CI to fail.
25-25: CI commands correctly migrated from pnpm to npm. All script invocations are straightforward equivalents, and the nix develop wrapping is preserved for environment consistency.Also applies to: 28-28, 31-31, 43-43
| "@actions/exec": "^1.1.1", | ||
| "got": "^14.6.5", | ||
| "type-fest": "^5.2.0" | ||
| "type-fest": "^5.3.1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
cat -n package.json | sed -n '30,55p'Repository: DeterminateSystems/detsys-ts
Length of output: 938
🌐 Web query:
tsdown 0.17.2 breaking changes 0.16.8
💡 Result:
Summary of breaking changes introduced after v0.16.8 (i.e., in the v0.17.x line):
-
v0.17.0 — Breaking changes:
- Rolldown native watcher added (watcher behavior changed).
- Enable failOnWarn by default in CI (can be reverted by setting failOnWarn: false).
- Remove unconfig from configLoader.
- Support exports, publint, attw for multi-configs.
- attw.profile value renamed from "esmOnly" → "esm-only".
(v0.17.0 also added other features; see notes.) [1]
-
v0.17.1 / v0.17.2 — bugfixes only (v0.17.2: "Empty clean array" fix). No additional breaking changes after v0.17.0. [1][2]
If you want, I can extract the exact commit/PR links for each breaking item or show the minimal config changes to migrate (e.g., rename attw.profile value).
Sources: GitHub releases for tsdown v0.17.0 and v0.16.8 / v0.17.2. [1] [2]
References
[1] rolldown/tsdown — v0.17.0 release notes (breaking changes).
[2] rolldown/tsdown — v0.16.8 and v0.17.2 release entries.
tsdown 0.17.2 includes breaking changes compared to 0.16.8; verify configuration compatibility. The v0.17.0 upgrade introduced:
- Rolldown native watcher behavior change
- failOnWarn now defaults to true in CI (requires explicit
failOnWarn: falseif the old behavior is needed) - Removal of unconfig from configLoader
- Config schema change:
attw.profile: "esmOnly"renamed to"esm-only"
Confirm that project configuration and CI setup accommodate these breaking changes. v0.17.1 and v0.17.2 contain only bugfixes.
Description
Absorbs #120.
Checklist
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.