Skip to content

Commit

Permalink
feat: TypeScript 5.7 (#1470)
Browse files Browse the repository at this point in the history
jsii 5.7.x with support for TypeScript 5.7

https://devblogs.microsoft.com/typescript/announcing-typescript-5-7/

---

By submitting this pull request, I confirm that my contribution is made
under the terms of the [Apache 2.0 license].

[Apache 2.0 license]: https://www.apache.org/licenses/LICENSE-2.0
  • Loading branch information
mrgrain authored Nov 28, 2024
1 parent 523019d commit 58cb06a
Show file tree
Hide file tree
Showing 19 changed files with 260 additions and 26 deletions.
3 changes: 2 additions & 1 deletion .backportrc.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions .gitattributes

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

59 changes: 59 additions & 0 deletions .github/workflows/auto-tag-dev-v5.6.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/auto-tag-dev.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

59 changes: 59 additions & 0 deletions .github/workflows/auto-tag-releases-v5.6.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/auto-tag-releases.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

97 changes: 97 additions & 0 deletions .github/workflows/upgrade-maintenance-v5.6.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions .gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .projen/deps.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions .projen/files.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 9 additions & 11 deletions .projenrc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,18 @@ import { UpgradeDependencies } from './projenrc/upgrade-dependencies';
// 1. Fork the current `main` to a maintenance branch:
// `git switch main && git fetch --all && git pull`
// `git push origin main:maintenance/vX.Y` (X.Y is the TS version that is about to be replaced by a new release)
// 2. Add a branch protection rule for the new maintenance branch.
// Copy the settings from the most recent maintenance branch.
// 3. Edit `projenrc/support.ts`, set maintenance EOL date for the new maintenance version to be 6 months from
// 2. Edit `projenrc/support.ts`, set maintenance EOL date for the new maintenance version to be 6 months from
// today (round up to the mid-point or end of month), make the new version current.
// 4. Update `minNodeVersion` to the oldest LTS version of Node (i.e. dropping support for EOL versions of Node)
// 5. Update the version list in the README (remember to remove EOS versions)
// 6. If any versions dropped into EOS, change the respective branch protection rule to include "Lock branch"
// 7. `npx projen`
// 8. `npx projen build` and resolve any new test failures that might be introduced by the new TS version
// 9. Create a PR, with title "feat: TypeScript X.Y"
// 10. Note that merging the PR doesn't trigger a release. Release are performed on a weekly schedule.
// 3. Update `minNodeVersion` to the oldest LTS version of Node (i.e. dropping support for EOL versions of Node)
// 4. Update the version list in the README (remember to remove EOS versions)
// 5. If any versions dropped into EOS, add the respective branch to the "end-of-support" ruleset.
// 6. `npx projen`
// 7. `npx projen build` and resolve any new test failures that might be introduced by the new TS version
// 8. Create a PR, with title "feat: TypeScript X.Y"
// 9. Note that merging the PR doesn't trigger a release. Release are performed on a weekly schedule.
// You need to manually create a release by triggering this workflow:
// https://github.com/aws/jsii-compiler/actions/workflows/auto-tag-releases.yml
// 11. Perform new version steps for `jsii-rosetta`
// 10. Perform new version steps for `jsii-rosetta`

const project = new typescript.TypeScriptProject({
projenrcTs: true,
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,8 @@ The current status of `jsii` compiler releases is:

| Release | Status | EOS | Comment |
| ------- | ----------- | ---------- | --------------------------------------------------------------------------------------- |
| `5.6.x` | Current | TBD | ![npm](https://img.shields.io/npm/v/jsii/v5.6-latest?label=jsii%40v5.6-latest&logo=npm) |
| `5.7.x` | Current | TBD | ![npm](https://img.shields.io/npm/v/jsii/v5.7-latest?label=jsii%40v5.7-latest&logo=npm) |
| `5.6.x` | Maintenance | 2025-07-01 | ![npm](https://img.shields.io/npm/v/jsii/v5.6-latest?label=jsii%40v5.6-latest&logo=npm) |
| `5.5.x` | Maintenance | 2025-05-15 | ![npm](https://img.shields.io/npm/v/jsii/v5.5-latest?label=jsii%40v5.5-latest&logo=npm) |
| `5.4.x` | Maintenance | 2025-02-28 | ![npm](https://img.shields.io/npm/v/jsii/v5.4-latest?label=jsii%40v5.4-latest&logo=npm) |

Expand Down
2 changes: 1 addition & 1 deletion package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion projenrc/support.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { JsonFile, Project } from 'projen';
import type { ReleasesDocument } from '../src/support';

export const SUPPORT_POLICY: ReleasesDocument = {
current: '5.6',
current: '5.7',
maintenance: {
// version: End-of-support date
'5.0': new Date('2024-01-31'),
Expand All @@ -11,6 +11,7 @@ export const SUPPORT_POLICY: ReleasesDocument = {
'5.3': new Date('2024-10-15'),
'5.4': new Date('2025-02-28'),
'5.5': new Date('2025-05-15'),
'5.6': new Date('2025-07-01'),
},
};

Expand Down
5 changes: 3 additions & 2 deletions releases.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 58cb06a

Please sign in to comment.