chore: update package dependencies and configurations#272
Conversation
- Added "analytics": false to nx.json. - Updated various package versions in package.json and package-lock.json, including: - Upgraded @nx packages to version ^22.6.5. - Updated vite to version 8.0.8 and @vitejs/plugin-react to version ^6.0.1. - Added new dependencies: @rollup/plugin-terser and next at version 15.5.15. - Removed outdated dependencies and cleaned up package-lock.json for better consistency.
📝 WalkthroughWalkthroughClient Webpack now replaces Ably's Node entry with its browser bundle for client builds; Node engine constraints and numerous devtool/vite/plugin-react versions were pinned or upgraded across many package.json files; workspace analytics disabled. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
|
- Added new dependencies: @ioredis/commands, cluster-key-slot, debug, denque, lodash.defaults, lodash.isarguments, redis-errors, redis-parser, and standard-as-callback. - Updated existing dependency ioredis to version ^5.10.0. - Cleaned up package-lock.json for better consistency.
- Added new dependencies: redis-errors and standard-as-callback. - Updated Node.js engine requirements to >=20.19.0 || >=22.12.0 in package.json and package-lock.json. - Removed outdated dependencies from various package.json files across examples and plugins. - Cleaned up package-lock.json for better consistency.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
- Added new dependencies: @inquirer/ansi and @inquirer/type. - Updated existing dependencies to specific versions in package.json. - Cleaned up package-lock.json for better consistency.
|
⏳ Review reminder — This PR has been waiting for review for over 24 hours. @team — this PR needs a review. |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
Only repository collaborators, contributors, or members can run CodeRabbit commands. |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (5)
packages/plugin-sdk/package.json (1)
97-97: Isviteactually used by this package?
vitest@^4brings Vite in transitively, and I don't see avite.config.*or avitescript in this package. If this was added purely to satisfy a peer/hoisting constraint it's fine, but otherwise it's dead weight that will drift over time. Consider removing if not required.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@packages/plugin-sdk/package.json` at line 97, package.json currently lists "vite": "8.0.8" but there is no vite.config.* or vite scripts in this package; either remove the "vite" dependency entry from package.json to avoid unnecessary transitive weight, or if Vite is intentionally required, add a minimal vite config (vite.config.js/ts) and/or an npm script (e.g., "dev" or "build") that references Vite so its presence is justified; update package.json's dependencies accordingly and run install/lockfile update to reflect the change.plugins/marketplace/frontend/package.json (1)
26-27: Nit: stray blank line insidedevDependencies.Same cosmetic inconsistency as
plugins/community/frontend/package.json; consider removing for consistency with the other manifests in this PR.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plugins/marketplace/frontend/package.json` around lines 26 - 27, Remove the stray blank line inside the devDependencies block of plugins/marketplace/frontend/package.json to match the formatting used in other manifests; locate the devDependencies section and ensure entries like "@vitejs/plugin-react": "^6.0.1" are adjacent to the surrounding dependency lines with no extra blank line so the JSON formatting is consistent with plugins/community/frontend/package.json.plugins/community/frontend/package.json (1)
27-28: Nit: stray blank line insidedevDependencies.Line 28 is an empty line in the middle of the
devDependenciesobject. Valid JSON, but inconsistent with the other workflow package.json files in this PR.Proposed cleanup
"@vitejs/plugin-react": "^6.0.1", - "autoprefixer": "^10.4.27",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plugins/community/frontend/package.json` around lines 27 - 28, Remove the stray blank line inside the devDependencies object in plugins/community/frontend/package.json by deleting the empty line immediately after the "@vitejs/plugin-react" entry so the devDependencies entries are contiguous and match the formatting used in other package.json files; ensure the JSON remains valid and run a quick lint/format (e.g., prettier) to confirm consistent spacing.packages/plugin-build/package.json (1)
6-8: Alignengines.nodewith the root workspace to prevent installation of incompatible Node versions.The root workspace specifies
>=20.19.0 || >=22.12.0, and Vite 8 (in use here) mandates the same range. The current>=20allows consumers to install with unsupported Node versions (e.g., 20.10) that will fail at runtime.Proposed alignment
"engines": { - "node": ">=20" + "node": ">=20.19.0 || >=22.12.0" },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@packages/plugin-build/package.json` around lines 6 - 8, The package's engines.node field currently allows ">=20", which is too permissive; update the engines.node value in package.json (the "engines" -> "node" entry) to match the root workspace/Vite requirement ">=20.19.0 || >=22.12.0" so consumers cannot install with unsupported Node versions.apps/web-next/package.json (1)
9-9: Migratenext lintas part of the Next 15.5 bump and aligneslint-config-nextversion.Line 47 moves the app to Next.js 15.5.x, but line 9 still uses
next lint, which is deprecated in Next 15.5 and removed in Next 16. Also aligneslint-config-next(line 80) from 15.5.12 to ^15.5.15 to match the bumped Next.js version.Since no ESLint configuration file exists, use the official next-lint-to-eslint-cli codemod to migrate the script safely. Alternatively, update manually:
♻️ Manual changes (if not using codemod)
- "lint": "next lint", + "lint": "eslint", ... - "eslint-config-next": "15.5.12", + "eslint-config-next": "^15.5.15",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web-next/package.json` at line 9, The package.json still defines the deprecated "lint" script as "next lint" and pins eslint-config-next to 15.5.12; update the scripts and dependency to match Next.js 15.5 migration by running the official next-lint-to-eslint-cli codemod (recommended) or manually replacing the "lint" script with an ESLint CLI command (e.g., run eslint against src and pages with proper extensions) and bumping "eslint-config-next" to ^15.5.15; ensure you remove any reliance on "next lint" and verify the new "lint" script target paths and extensions so ESLint runs correctly in the CI.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@package.json`:
- Around line 33-35: Update all user-facing Node version references to match the
root engines constraint ">=20.19.0 || >=22.12.0": in
packages/plugin-sdk/cli/commands/doctor.ts replace any hardcoded checks/messages
that say "Node 18" with a runtime check and user message against the root
constraint (adjust the validate logic in the doctor command/run or
validateNodeVersion helper to require >=20.19.0 || >=22.12.0); in
packages/plugin-build/package.json tighten the "engines.node" entry to include
the same patch-level constraint (use ">=20.19.0 || >=22.12.0"); in
packages/plugin-sdk/cli/commands/github.ts update the workflow template
generator (around the function that builds the YAML at line ~299) to set the
Node version to the explicit patch-level(s) or a matrix that matches the root
constraint; and in docs/sso-oauth-google-github.md update the prose that
currently states "Node 18+" to state the new required versions (>=20.19.0 ||
>=22.12.0) so documentation, CLI checks, package engines, and workflow templates
are consistent.
- Around line 37-48: The package.json currently lists build/test tools
"@rollup/plugin-terser" and "vitest" under dependencies; move them into
devDependencies instead by removing these entries from the dependencies object
and adding them with the same versions to devDependencies so they are not
installed in production; update any CI/npm scripts if they reference package
locations, and verify package.json's JSON remains valid after the change.
---
Nitpick comments:
In `@apps/web-next/package.json`:
- Line 9: The package.json still defines the deprecated "lint" script as "next
lint" and pins eslint-config-next to 15.5.12; update the scripts and dependency
to match Next.js 15.5 migration by running the official next-lint-to-eslint-cli
codemod (recommended) or manually replacing the "lint" script with an ESLint CLI
command (e.g., run eslint against src and pages with proper extensions) and
bumping "eslint-config-next" to ^15.5.15; ensure you remove any reliance on
"next lint" and verify the new "lint" script target paths and extensions so
ESLint runs correctly in the CI.
In `@packages/plugin-build/package.json`:
- Around line 6-8: The package's engines.node field currently allows ">=20",
which is too permissive; update the engines.node value in package.json (the
"engines" -> "node" entry) to match the root workspace/Vite requirement
">=20.19.0 || >=22.12.0" so consumers cannot install with unsupported Node
versions.
In `@packages/plugin-sdk/package.json`:
- Line 97: package.json currently lists "vite": "8.0.8" but there is no
vite.config.* or vite scripts in this package; either remove the "vite"
dependency entry from package.json to avoid unnecessary transitive weight, or if
Vite is intentionally required, add a minimal vite config (vite.config.js/ts)
and/or an npm script (e.g., "dev" or "build") that references Vite so its
presence is justified; update package.json's dependencies accordingly and run
install/lockfile update to reflect the change.
In `@plugins/community/frontend/package.json`:
- Around line 27-28: Remove the stray blank line inside the devDependencies
object in plugins/community/frontend/package.json by deleting the empty line
immediately after the "@vitejs/plugin-react" entry so the devDependencies
entries are contiguous and match the formatting used in other package.json
files; ensure the JSON remains valid and run a quick lint/format (e.g.,
prettier) to confirm consistent spacing.
In `@plugins/marketplace/frontend/package.json`:
- Around line 26-27: Remove the stray blank line inside the devDependencies
block of plugins/marketplace/frontend/package.json to match the formatting used
in other manifests; locate the devDependencies section and ensure entries like
"@vitejs/plugin-react": "^6.0.1" are adjacent to the surrounding dependency
lines with no extra blank line so the JSON formatting is consistent with
plugins/community/frontend/package.json.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: a6e9c559-360b-459d-a6a1-4a0f9d9ac610
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json,!package-lock.json
📒 Files selected for processing (26)
apps/web-next/next.config.jsapps/web-next/package.jsonapps/workflows/capacity-planner-web/package.jsonapps/workflows/community-web/package.jsonapps/workflows/developer-web/package.jsonapps/workflows/marketplace-web/package.jsonexamples/daydream-video/backend/package.jsonexamples/daydream-video/frontend/package.jsonexamples/intelligent-dashboard/frontend/package.jsonexamples/my-dashboard/frontend/package.jsonexamples/my-wallet/frontend/package.jsonnx.jsonpackage.jsonpackages/cache/package.jsonpackages/plugin-build/package.jsonpackages/plugin-sdk/package.jsonplugins/capacity-planner/frontend/package.jsonplugins/community/frontend/package.jsonplugins/dashboard-data-provider/frontend/package.jsonplugins/developer-api/frontend/package.jsonplugins/lightning-client/frontend/package.jsonplugins/marketplace/frontend/package.jsonplugins/plugin-publisher/frontend/package.jsonplugins/service-gateway/backend/package.jsonplugins/service-gateway/frontend/package.jsonservices/infrastructure-svc/package.json
💤 Files with no reviewable changes (1)
- services/infrastructure-svc/package.json
seanhanca
left a comment
There was a problem hiding this comment.
Review Summary
Thanks for the cleanup — the overall direction (Vite 8, Vitest 4, Nx 22.6, Next 15.5.15, tightened engines, Nx analytics off, lockfile regen, Ably client/server split) is solid and all CI (Build, Lint & TypeCheck, Shell Tests, SDK Tests, SDK Compat × 5, Lifecycle BDD, Audit, Quality Gates, CodeQL, Vercel preview) is green.
Not blocking on runtime behavior, but calling out a few real drift / hygiene issues before merge:
Should fix before merge
-
Build/test tools in root
dependenciesinstead ofdevDependencies
@rollup/plugin-terser,vitest, and arguablynextwere added under"dependencies"in the rootpackage.json. They're build/test-only and should live indevDependenciesso the root's production dependency surface stays clean.vitestis already covered byoverrides, so the direct pin doesn't need to be in runtime deps. Same applies toredis-errorsandstandard-as-callbackat root — those are ioredis internals, not app runtime deps. -
naap doctorand generated GitHub workflows still advertise Node 18
The root engines bumped to>=20.19.0 || >=22.12.0, but:packages/plugin-sdk/cli/commands/doctor.ts(L45–59) still recommends/requires "Node.js 18 LTS". A user on Node 18 will passdoctorand then hit install failures.packages/plugin-sdk/cli/commands/github.ts(~L299) emitsNODE_VERSION: '20'without a patch pin in generated CI templates; given Vite 8 requires ≥20.19, this should be'20.19'(or a matrix) for parity.
-
packages/plugin-build/package.jsonengines set to>=20
Allows installs on 20.10/20.11 that will then fail against Vite 8. Align with root:>=20.19.0 || >=22.12.0.
Minor / nits
-
apps/web-next/package.jsonversion drift:nextmoves to^15.5.15buteslint-config-nextstays pinned at15.5.12. Bump to^15.5.15for consistency."lint": "next lint"is also deprecated in Next 15.5 — worth migrating in a follow-up. -
packages/cache/package.jsonnow declares ioredis's transitive deps directly (@ioredis/commands,cluster-key-slot,debug,denque,lodash.defaults,lodash.isarguments,redis-errors,redis-parser,standard-as-callback). If this is a workaround for broken hoisting, please add a one-line comment in the PR body or a README note so future contributors don't strip these as "redundant". Otherwise consider removing and fixing hoist root cause. -
packages/plugin-sdkaddsvite@8.0.8as devDep but has novite.config.*/ vite scripts. It's already pulled in byvitest@^4. Either drop the direct listing or add a comment for why it's pinned. -
got@^11.8.5onapps/web-nextis EOL (v14 current). Acceptable since it matches what Ably's Node build needs transitively, but flag for future bump. -
Stray blank lines inside
devDependenciesinplugins/capacity-planner/frontend/,plugins/community/frontend/, andplugins/marketplace/frontend/package.json. Cosmetic, but inconsistent with siblings. -
Redundant engines range
>=20.19.0 || >=22.12.0is semantically equivalent to>=20.19.0. Common stylistic choice to signal supported LTS lines; fine to keep if intentional.
Notes
- ~37k-line PR label is almost entirely the regenerated lockfile; the non-lockfile surface is ~650 lines and reviewed as such.
- Ably browser/Node webpack split in
next.config.jsis the right fix and scopes the replacement to client builds only. - Override additions (
esbuild,vite,vitest,minimatch10.2.5) match root direct deps and keep the tree consistent — nice.
Happy to approve once items 1–3 are addressed (or explicitly justified in a reply). Items 4–9 can roll into a follow-up if preferred.
- Move root build/test-only tools to devDependencies (@rollup/plugin-terser, vitest, next) and drop redis-errors + standard-as-callback from root (they belong in packages/cache). - Tighten packages/plugin-build engines.node to ">=20.19.0 || >=22.12.0" to match root and Vite 8 requirement. - Update naap-plugin doctor CLI Node check + messaging to require >=20.19.0 || >=22.12.0 (previously "Node 18 LTS"). - Bump generated CI template NODE_VERSION from '20' to '20.19' in github/create commands and the committed frontend-only/full-stack workflow templates so generated workflows satisfy Vite 8. Lockfile regenerated to reflect the dev-flag move; no runtime dependency graph changes for any workspace package. Made-with: Cursor
|
Only repository collaborators, contributors, or members can run CodeRabbit commands. |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@package.json`:
- Around line 33-35: The engines.node semver range currently ("engines" ->
"node") is too broad and permits unsupported Node 21.x and early 22.x versions;
update the constraint to restrict the 20.x range with a caret and require 22.12+
(for example use ^20.19.0 || >=22.12.0) so Node 21 and 22.0–22.11 are excluded
and the project matches Vite/doctor expectations.
In `@packages/plugin-sdk/cli/commands/doctor.ts`:
- Around line 43-67: The code currently treats Node 20.0–20.18 and 22.0–22.11 as
warnings; instead, change the logic so any Node version that does not satisfy
the meetsRequirement check is treated as a failure. Update the branch around
meetsRequirement/nodeSpinner: remove or replace the else-if warning branch (the
block that checks majorVersion >= 20 and calls nodeSpinner.warn and pushes a
'warn' result) so that the else case handles all non-meeting versions as
failures (use nodeSpinner.fail and push a 'fail' result into results with the
same required-version message/suggestion). Reference symbols: meetsRequirement,
nodeSpinner, results, and the 'Node.js version' result object.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 5a0e4b7e-ce6c-4906-9401-c5e41023782a
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json,!package-lock.json
📒 Files selected for processing (7)
package.jsonpackages/plugin-build/package.jsonpackages/plugin-sdk/cli/commands/create.tspackages/plugin-sdk/cli/commands/doctor.tspackages/plugin-sdk/cli/commands/github.tspackages/plugin-sdk/templates/frontend-only/.github/workflows/publish-plugin.ymlpackages/plugin-sdk/templates/full-stack/.github/workflows/publish-plugin.yml
✅ Files skipped from review due to trivial changes (2)
- packages/plugin-sdk/templates/frontend-only/.github/workflows/publish-plugin.yml
- packages/plugin-build/package.json
qianghan
left a comment
There was a problem hiding this comment.
Approving — all items 1–3 from my prior review are addressed in d72c797:
1. Root build/test tools moved to devDependencies
- Moved
@rollup/plugin-terser,next,vitestfromdependencies→devDependencies. - Dropped
redis-errors,standard-as-callbackfrom root (they're ioredis internals;packages/cachealready declares them). - Lockfile regenerated: no top-level package removals, only
dev: trueflag shifts (-155 lines net after npm dedup).
2. naap doctor + generated CI templates aligned with root engines
packages/plugin-sdk/cli/commands/doctor.ts: Node check now requires>=20.19.0 || >=22.12.0(previously "Node 18 LTS"). Handles major/minor parsing explicitly (20.19+, 22.12+, or >22).cli/commands/github.ts,cli/commands/create.ts, and the committedtemplates/{frontend-only,full-stack}/.github/workflows/publish-plugin.yml:NODE_VERSION: '20'→'20.19'so generated workflows satisfy Vite 8's 20.19 floor.
3. packages/plugin-build engines tightened
engines.node:>=20→>=20.19.0 || >=22.12.0(matches root + Vite 8 requirement).
Verification
- Local
tsc --noEmitonpackages/plugin-sdk: clean. - Pre-push validation hook (SDK tests, Vercel safety) passed.
- All 34 remote CI checks green (Build, Lint & TypeCheck, Shell/SDK Tests, SDK Compat × 5, Lifecycle BDD, Audit, CodeQL, Quality Gates, Vercel preview).
- No snapshot or test files referenced the changed strings, so no test breakage risk.
The remaining minor items from my earlier review (next/eslint-config-next version drift, redis transitive-dep hoisting note, got@11 EOL, stray blank lines, next lint deprecation) are non-blocking and can ship as a follow-up.
Note: @coderabbitai's earlier review was on commit 0c381c7; its concerns on items 1–3 are now addressed on d72c797. Feel free to dismiss that stale review or @coderabbitai review to refresh.
Address CodeRabbit follow-up on d72c797: - Tighten root + plugin-build engines.node from ">=20.19.0 || >=22.12.0" to "^20.19.0 || >=22.12.0" so Node 21.x and Node 22.0–22.11 (all non-supported/non-LTS) are excluded. Matches Vite 8's supported runtime matrix. - In naap-plugin doctor: collapse the warn branch for Node versions that don't meet the engines requirement into a hard fail. Any such version will fail Vite 8 install/build anyway, so doctor now flags it as a fail rather than a warn and updates the message accordingly. Made-with: Cursor
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
Only repository collaborators, contributors, or members can run CodeRabbit commands. |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
package.json (1)
36-93:⚠️ Potential issue | 🔴 CriticalCI is red: regenerate
package-lock.jsonbefore merging.The CI job
GitHub Actions: CIis failing withLockfile sync failed — package-lock.json is out of sync with package.json. Given this PR touches the root devDependencies (Nx^22.6.5,@vitejs/plugin-react^6.0.1,next15.5.15,vitest4.1.4,@rollup/plugin-terser1.0.0) plus newoverridesentries foresbuild,vite,vitest, and bumpedminimatch, the lockfile must be regenerated on the exact Node version declared inengines(Node 20.19.x or ≥22.12.x) so the override tree is deterministic.Please run locally and push:
rm -rf node_modules package-lock.json npm install git add package-lock.jsonSeparately, the
SDK Compatibilityjob is failing withNo frontend package.json found for 'plugin-publisher' under plugins/ or examples/. That's not strictly caused by this file, but since the rootworkspacesglob includesplugins/*/frontend(line 101), any plugin missing afrontend/package.jsonwill both break the workspace resolution and this SDK check. Worth confirming whetherplugin-publisherwas intentionally moved/renamed and whether the workspace glob or the SDK Compatibility job needs adjusting.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@package.json` around lines 36 - 93, Regenerate and commit a fresh lockfile and verify workspace globs: delete node_modules and package-lock.json then run npm install on the exact Node engine used in CI (per engines in package.json) so the new package-lock.json reflects the updated dependencies/overrides (ensure changes to devDependencies like "@nx/*" and "@vitejs/plugin-react", "next", "vitest", and overrides for "esbuild", "vite", "vitest", "minimatch" are captured), git-add/package-lock.json and push; additionally, confirm the workspace glob that includes plugins/*/frontend (the workspace entry) and either restore or add the missing plugins/plugin-publisher/frontend/package.json (or adjust the workspace/job configuration) so the SDK Compatibility job can find a frontend package.json for plugin-publisher.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@package.json`:
- Line 77: The override in package.json forcing "esbuild": "0.28.0" raises
runtime OS requirements and may break CI/self-hosted runners; verify and update
CI and builds accordingly: check the package.json entry for "esbuild": "0.28.0"
and confirm all CI runner images meet the new minimums (GitHub-hosted
ubuntu-24.04 and macos-14 are OK; verify any self-hosted Linux/macOS runners),
run a full local CI smoke (npm ci && nx run-many --target=build --all) and
confirm web-next production build succeeds with the override, and if any runner
fails, either pin to a compatible esbuild version or update the failing runner
images before merging.
---
Outside diff comments:
In `@package.json`:
- Around line 36-93: Regenerate and commit a fresh lockfile and verify workspace
globs: delete node_modules and package-lock.json then run npm install on the
exact Node engine used in CI (per engines in package.json) so the new
package-lock.json reflects the updated dependencies/overrides (ensure changes to
devDependencies like "@nx/*" and "@vitejs/plugin-react", "next", "vitest", and
overrides for "esbuild", "vite", "vitest", "minimatch" are captured),
git-add/package-lock.json and push; additionally, confirm the workspace glob
that includes plugins/*/frontend (the workspace entry) and either restore or add
the missing plugins/plugin-publisher/frontend/package.json (or adjust the
workspace/job configuration) so the SDK Compatibility job can find a frontend
package.json for plugin-publisher.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 0d341ecb-b7eb-4212-87fc-7e57d70b5f96
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json,!package-lock.json
📒 Files selected for processing (3)
package.jsonpackages/plugin-build/package.jsonpackages/plugin-sdk/cli/commands/doctor.ts
✅ Files skipped from review due to trivial changes (1)
- packages/plugin-build/package.json
🚧 Files skipped from review as they are similar to previous changes (1)
- packages/plugin-sdk/cli/commands/doctor.ts
qianghan
left a comment
There was a problem hiding this comment.
Re-approving on db262d68 after addressing CodeRabbit's two follow-up nits on d72c797:
- Tightened root +
packages/plugin-buildengines.nodeto^20.19.0 || >=22.12.0so Node 21.x and Node 22.0–22.11 (non-LTS / pre-Vite-8 supported) are excluded. - Collapsed
doctor.tswarn-branch into a hard fail for versions that don't meet the engines requirement — those versions would fail Vite 8 install/build anyway, so reporting them as a warn was misleading.
All CI checks are green on db262d68:
- Build, Lint & TypeCheck, Shell Tests, SDK Tests, Lifecycle BDD, SDK Compat × 5, Plugin Tests × 5, Quality Gates, Audit, CodeQL, Vercel preview.
Both commits (d72c797, db262d68) are low-risk:
- Moving root
@rollup/plugin-terser/next/vitesttodevDependenciesand droppingredis-errors/standard-as-callbackfrom root changes only thedev: trueflag in the lockfile; no top-level package is removed and no workspace dependency graph changes. - The engines tightening and
doctorfail-branch change align runtime checks with whatnpm installwill already enforce via the engines field. NODE_VERSION: '20.19'in generated workflow templates affects newly generated plugin CI workflows only, not this repo's CI.
Approving.
Stale: CodeRabbit flagged Lockfile Sync and SDK Compat -- plugin-publisher as failing, but all 35 CI checks are SUCCESS on db262d6. The esbuild 0.28.0 override is unchanged from main and pre-existing; GitHub-hosted runners are fine. Items 1-3 from the earlier review are addressed, engines and doctor were further tightened per CodeRabbit's follow-up, and this review's content does not reflect the actual state of the PR.
seanhanca
left a comment
There was a problem hiding this comment.
Re-approving on db262d68 after addressing CodeRabbit's two follow-up nits on d72c797:
- Tightened root +
packages/plugin-buildengines.nodeto^20.19.0 || >=22.12.0so Node 21.x and Node 22.0–22.11 (non-LTS / pre-Vite-8 supported) are excluded. - Collapsed
doctor.tswarn-branch into a hard fail for versions that don't meet the engines requirement — those versions would fail Vite 8 install/build anyway, so reporting them as a warn was misleading.
All CI checks are green on db262d68:
- Build, Lint & TypeCheck, Shell Tests, SDK Tests, Lifecycle BDD, SDK Compat × 5, Plugin Tests × 5, Quality Gates, Audit, CodeQL, Vercel preview.
Both commits (d72c797, db262d68) are low-risk:
- Moving root
@rollup/plugin-terser/next/vitesttodevDependenciesand droppingredis-errors/standard-as-callbackfrom root changes only thedev: trueflag in the lockfile; no top-level package is removed and no workspace dependency graph changes. - The engines tightening and
doctorfail-branch change align runtime checks with whatnpm installwill already enforce via the engines field. NODE_VERSION: '20.19'in generated workflow templates affects newly generated plugin CI workflows only, not this repo's CI.
Approving.
|
Passing tests for me as well, merging |
Summary
This PR refreshes workspace dependencies and tooling (aligned with clearing
npm auditnoise and keeping CI green), and includes small build/CI fixes soweb-next, shell tests, and lifecycle BDD specs stay reliable after the lockfile and hoisting changes.The diff is large because
package-lock.jsonis regenerated across the monorepo.Dependency and tooling updates
@vitejs/plugin-reactto ^6.0.1, and related pins; tightened Node engines to>=20.19.0 || >=22.12.0.analytics:falseinnx.json.CI and build fixes (included in this branch)
@naap/web-next(Next.js 15 + Webpack)ably-node.js) and failing on missinggot. Added a client-onlyNormalModuleReplacementPluginso the browser build (ably.js) is used for the client compilation; server code (e.g. token route usingAbly.Rest) still uses the Node build.got,postal-mime, andsvixonapps/web-nextso server bundling matches what Ably and Resend expect when the lockfile does not materialize every nested install.@naap/plugin-sdk(CLI / lifecycle BDD)@inquirer/promptspulls nested@inquirer/corecopies that were missing hoisted siblings (@inquirer/ansi,@inquirer/figures,@inquirer/type), which madenpx tsx …/cli/index.ts --helpcrash before Commander ran (empty stdout, errors on stderr). Adding those packages as direct SDK dependencies restores a resolvable tree and fixestests/lifecycle-bdd/plugin-lifecycle.feature.test.tsCLI discoverability tests.Type
Testing
npx vitest run --dir tests/lifecycle-bddapps/web-nextproduction build (next build)Breaking changes
None intended. Reviewers should call out anything that should be treated as breaking for consumers of
@naap/plugin-sdkor app deploys.Notes for reviewers
package.json/next.config.js/nx.jsonand spot-checking a few representative workspaces rather than reading the whole lockfile diff.Summary by CodeRabbit