Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit d2dfe73

Browse filesBrowse files
docs: add big announcement notice for old major versions (typescript-eslint#11178)
* docs: add big announcement notice for old major versions * Update banner to be a bit more verbose about crashing * Also mention in Releases * Also update release docs
1 parent 48a9835 commit d2dfe73
Copy full SHA for d2dfe73

File tree

Expand file treeCollapse file tree

4 files changed

+61
-1
lines changed
Filter options
Expand file treeCollapse file tree

4 files changed

+61
-1
lines changed

‎docs/maintenance/Releases.mdx

Copy file name to clipboardExpand all lines: docs/maintenance/Releases.mdx
+5Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ Per [Users > Releases > Major Releases](../users/Releases.mdx#major-releases), w
3434
- Its publish command should be `npx nx release publish --tag rc-v${major} --verbose`.
3535
- `README.md`:
3636
- Add a link to a `v${major}--typescript-eslint.netlify.app` preview deploy environment on Netlify that you create for the branch.
37+
- `docusaurus.config.mts`: updating the `supportedMajorVersion` variable
3738
- Merge this into `main` once reviewed and rebase the `v${major}` branch.
3839

3940
#### 1a. Shared Config Changes
@@ -77,6 +78,7 @@ These should only be done for feedback that consistently comes up in community t
7778
- It is important to note that when merged the commit message must also include `BREAKING CHANGE:` as the first line in order for `nx release` to recognize it as a breaking change in the release notes. If you miss this it just means more manual work when writing the release documentation.
7879
1. Write and share out a blog post announcing the new beta [example: [Docs: Blog post describing changes & migration strategy for v5->v6](https://github.com/typescript-eslint/typescript-eslint/issues/6466)].
7980
- Keep this post up-to-date as changes land in the `v${major}` branch.
81+
1. Send a PR to the `v${major}` branch that adds the old major version to [Users > Releases > Old Release Documentation](../users/Releases.mdx#old-release-documentation)
8082
1. Wait until all required PRs have been merged
8183
1. Write a blog post announcing the new release [example: [Docs: Release blog post for v6](https://github.com/typescript-eslint/typescript-eslint/issues/7153)], and land it in the `v${major}` branch.
8284
1. Let the release wait for **at least 1 week** to allow time for early adopters to help test it and discuss the changes.
@@ -93,6 +95,9 @@ They don't need any special treatment.
9395
1. Discuss with the maintainers to be ready for an [out-of-band](#out-of-band-releases) release. Doing this manually helps ensure someone is on-hand to action any issues that might arise from the major release.
9496
1. Prepare the release notes. `nx release` will automatically generate the release notes on GitHub, however this will be disorganized and unhelpful for users. We need to reorganize the release notes so that breaking changes are placed at the top to make them most visible. If any migrations are required, we must list the steps to make it easy for users.
9597
- Example release notes: [`v6.0.0`](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v6.0.0), [`v5.0.0`](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v5.0.0)
98+
1. Update Netlify deploys for old sites:
99+
1. Update the `CURRENT_MAJOR_VERSION` environment variable to the new major version integer, such as `9`
100+
2. Re-deploy the `v${major}` branches listed in [Users > Releases > Old Release Documentation](../users/Releases.mdx#old-release-documentation)
96101
1. Finally, post the release on social media with a link to the GitHub release. Make sure you include additional information about the highlights of the release!
97102

98103
## Out-of-Band Releases

‎docs/users/Releases.mdx

Copy file name to clipboardExpand all lines: docs/users/Releases.mdx
+17-1Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,23 @@ We assess need on a case-by-case basis though generally an emergency is defined
9898

9999
These releases are done manually by a maintainer with the required access privileges.
100100

101-
## Back-Porting Releases
101+
## Older Versions
102+
103+
Older major versions of typescript-eslint are never maintained or supported.
104+
They may crash with the latest versions of TypeScript.
105+
Using the latest version of typescript-eslint is strongly recommended for getting the latest rule features and fixes, supporting the latest TypeScript features and syntax, and continuous performance and stability improvements.
106+
107+
### Back-Porting Releases
102108

103109
We **_do not_** back port releases to previously released major/minor versions.
104110
We only ever release forward.
111+
112+
### Old Release Documentation
113+
114+
You can find the last version of some older major versions under their dedicated branch deploys:
115+
116+
- v7: [v7--typescript-eslint.netlify.app](https://v7--typescript-eslint.netlify.app)
117+
- v6: [v6--typescript-eslint.netlify.app](https://v6--typescript-eslint.netlify.app)
118+
119+
Note that older documentation pages may contain outdated information and links.
120+
We strongly recommend using the latest version of typescript-eslint and its documentation.

‎packages/website/docusaurus.config.mts

Copy file name to clipboardExpand all lines: packages/website/docusaurus.config.mts
+24Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ const remarkPlugins: MDXPlugin[] = [[npm2yarnPlugin, { sync: true }]];
1818

1919
const githubUrl = 'https://github.com/typescript-eslint/typescript-eslint';
2020

21+
const currentMajorVersion =
22+
process.env.CURRENT_MAJOR_VERSION &&
23+
Number(process.env.CURRENT_MAJOR_VERSION);
24+
2125
const presetClassicOptions: PresetClassicOptions = {
2226
blog: {
2327
blogSidebarCount: 'ALL',
@@ -60,6 +64,26 @@ const themeConfig: AlgoliaThemeConfig & ThemeCommonConfig = {
6064
appId: 'N1HUB2TU6A',
6165
indexName: 'typescript-eslint',
6266
},
67+
announcementBar:
68+
currentMajorVersion &&
69+
Number(version[0].split('.')[0]) < currentMajorVersion
70+
? {
71+
content: [
72+
'This documentation is for an older major version of typescript-eslint.',
73+
'<br />',
74+
'It is no longer maintained or supported. It may crash with the latest versions of TypeScript.',
75+
'<hr />',
76+
'Using the latest version of typescript-eslint is strongly recommended for',
77+
'getting the latest rule features and fixes, ',
78+
'supporting the latest TypeScript features and syntax, and',
79+
'continuous performance and stability improvements.',
80+
'<hr />',
81+
'Please visit <a href="https://typescript-eslint.io">typescript-eslint.io</a> for the latest version\'s documentation.',
82+
].join('\n'),
83+
id: 'old-version-announcement',
84+
isCloseable: false,
85+
}
86+
: undefined,
6387
colorMode: {
6488
respectPrefersColorScheme: true,
6589
},

‎packages/website/src/css/custom.css

Copy file name to clipboardExpand all lines: packages/website/src/css/custom.css
+15Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,3 +219,18 @@ td > p:last-child {
219219
h5 {
220220
font-weight: bold;
221221
}
222+
223+
/* stylelint-disable-next-line selector-id-pattern */
224+
#__docusaurus > div[role='banner'] {
225+
font-size: 150%;
226+
height: initial;
227+
position: sticky;
228+
padding: 1rem 1.5rem;
229+
margin: auto;
230+
max-width: max(60%, 70rem);
231+
}
232+
233+
/* stylelint-disable-next-line selector-id-pattern */
234+
#__docusaurus > div[role='banner'] a {
235+
font-weight: bold;
236+
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.