chore(deps): upgrade dependencies within Node 16 compatibility - #166
chore(deps): upgrade dependencies within Node 16 compatibility#166rsonghuster wants to merge 1 commit into
Conversation
Bump ajv, ali-oss, fs-extra, lodash, tty-table, depcheck, prettier, ts-jest and typescript (4.4 -> 5.9) to their newest versions that still run on Node 16, which every CI job and the publish pipeline use. Held back: @vercel/ncc 0.45 (webpack needs crypto.hash, Node >=20.12), typescript 7 / httpx 3 / uuid 14 / chalk 6 (ESM-only), string-random 1 (needs global crypto, Node >=19), js-yaml 5 (needs TS >=5.7 and returns unknown from load()), inquirer 14 / jest 30 / f2elint 7 (engines require Node >=18), @types/node 26 (would expose APIs absent on Node 16).
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe change updates version ranges for Alibaba Cloud SDKs, runtime dependencies, and development tools in ChangesDependency updates
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to The PR updates dependencies within the stated Node 16 compatibility target, with typecheck, build, and tests passing; no actionable merge-blocking risk remains beyond normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 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 |
Summary
Bump every dependency that has a newer release compatible with Node 16, which is what all CI jobs (
ci_node16,ci_with_docker_linux,check-format) andregistry-publishrun on.Held back, with the reason each one fails on Node 16
@vercel/ncc@0.45—npm run buildcrashes withN.hash is not a function; its bundled webpack callscrypto.hash, added in Node 20.12.typescript@7— ESM-only, andnode_modules/typescript/bin/tschas no extension, so Node 16 throwsERR_UNKNOWN_FILE_EXTENSION.string-random@1— throwsCannot get secure random numberat runtime; it reads the globalcrypto, available from Node 19.httpx@3,uuid@14,chalk@6— ESM-only, and this package is CommonJS bundled by ncc.js-yaml@5— needs TypeScript >= 5.7 for genericUint8Array, andload()now returnsunknown, which breakssrc/subCommands/2to3/index.ts. Worth a separate PR.inquirer@14,jest@30+@types/jest@30,f2elint@7—enginesrequire Node >= 18.@types/node@26— would expose APIs that do not exist on Node 16.typescript-json-schema@0.68also fails withERR_REQUIRE_ESMfrom a nested ESMyargs, but 0.67.1 fails the same way on Node 16, so that is pre-existing and CI does not rungenerate-schema.Test plan
Everything below was run locally on Node 16.20.2:
npm run typecheck— cleannpm run build— ncc 0.38.4 bundle producednpm test— 76 suites, 1137 passed, 2 skippedtty-table@5render output compared character-for-character against 4.2.3 fortableShow()— identicalSummary by CodeRabbit