chore: align dev dependencies across workspaces#1341
Open
Conversation
iliapolo
approved these changes
Apr 10, 2026
Replace ts-node with tsx for the aws-cdk pre-compile task and cdk-assets-lib manual test script. Enable consistentVersions for @types/node, eslint-config-prettier, eslint-plugin-prettier, and jest to ensure all workspace packages use the same versions of shared dev dependencies.
cd066ad to
ff76efe
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1341 +/- ##
=======================================
Coverage 88.30% 88.30%
=======================================
Files 73 73
Lines 10386 10386
Branches 1412 1412
=======================================
Hits 9171 9171
Misses 1188 1188
Partials 27 27
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR aligns dev dependencies across all workspace packages and replaces
ts-nodewithtsxas a dev tool.Previously, several shared dev dependencies were allowed to drift independently across workspaces. This caused packages like
cdk-assets-libandcloud-assembly-apito use jest 30 while the rest of the repo was on jest 29,eslint-plugin-prettierranged from v4 to v5, and@types/nodevaried from^16to^18depending on each package'sminNodeVersion.Enabling
consistentVersionsforeslint-config-prettier,eslint-plugin-prettier,jest, and@types/jestensures the root workspace version is enforced everywhere via yarn constraints. The root versions are set to the most common versions already in use (jest@^29,eslint-plugin-prettier@^4,eslint-config-prettier@^10), so most packages see no functional change.For
@types/node, projen'sminNodeVersionkept overriding the version back to^16. This is worked around by callingaddDevDeps('@types/node@^20')on all projects after configuration, which takes precedence over theminNodeVersion-derived default.The
fs-extradependency is upgraded from^9to^11across all packages (aws-cdk,toolkit-lib,integ-runner,cli-integ,cdk-assets-lib) along with@types/fs-extrato^11. This removes the oldfs-extra@^9and@types/fs-extra@^9from the lockfile entirely.The
ts-nodetotsxswitch only affects theaws-cdkpre-compile task (user-input-gen.ts) and thecdk-assets-libmanual test script. Both are internal dev scripts, not user-facing.Checklist
eslint-plugin-prettieris downgraded from v5 to v4 in some workspaces (aligning to the majority version). No breaking changes since v4 is the less restrictive version.fs-extraupgraded from v9 to v11. The API is backwards compatible; v10 dropped Node 10/12 support and v11 dropped Node 14 support, both well below our minimum.@types/nodeupgraded from^16/^17/^18to^20. This provides more accurate type definitions for the Node versions we actually target.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license