Skip to content

Commit bb32625

Browse files
authored
chore: Release Notes, handle tables (#8320)
1 parent b25cc8f commit bb32625

File tree

8 files changed

+119
-219
lines changed

8 files changed

+119
-219
lines changed

.github/workflows/release-drafter.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ env:
1717
# The branch to create the PR from
1818
NEW_BRANCH: 'release-draft'
1919
# Node.js version to use in the workflow
20-
NODE_VERSION: '22.x'
20+
NODE_VERSION: 'lts/*'
2121

2222
jobs:
2323
update_release_draft:
@@ -56,7 +56,8 @@ jobs:
5656
${{ toJSON(steps.release-drafter.outputs) }}
5757
5858
create-pr:
59-
if: "${{ !startsWith(github.event.head_commit.message, 'chore: Prepare Release') }}"
59+
if: >-
60+
${{ !startsWith(github.event.head_commit.message, 'chore: Prepare Release') }}
6061
runs-on: ubuntu-latest
6162
permissions:
6263
contents: write
@@ -80,8 +81,8 @@ jobs:
8081
'GITHUB_RELEASE_VERSION': ${{ needs.update_release_draft.outputs.resolved_version }}
8182

8283
run: |
83-
node ./scripts/gen-release.mjs -s packages/*/CHANGELOG.md
84-
node ./scripts/gen-release.mjs CHANGELOG.md packages/cspell/CHANGELOG.md
84+
node ./scripts/gen-release.mts -s packages/*/CHANGELOG.md
85+
node ./scripts/gen-release.mts CHANGELOG.md packages/cspell/CHANGELOG.md
8586
8687
- name: PR Body
8788
id: body
@@ -126,7 +127,8 @@ jobs:
126127
# ```
127128

128129
create-release:
129-
if: "${{ startsWith(github.event.head_commit.message, 'chore: Prepare Release') && contains(github.event.head_commit.message, '(auto-deploy)') }}"
130+
if: >-
131+
${{ startsWith(github.event.head_commit.message, 'chore: Prepare Release') && contains(github.event.head_commit.message, '(auto-deploy)') }}
130132
permissions:
131133
contents: write
132134
id-token: write

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
"test-integrations": "cd ./integration-tests && pnpm run integration-tests",
6060
"test-schema": "node ./test-packages/cspell-types/validate-schema/validate-schema.mjs",
6161
"test:deno": "deno run -A ./bin.mjs lint rfc packages/cspell/src",
62-
"update-changelog": "node ./scripts/gen-release.mjs CHANGELOG.md packages/cspell/CHANGELOG.md",
62+
"update-changelog": "node ./scripts/gen-release.mts CHANGELOG.md packages/cspell/CHANGELOG.md",
6363
"update-packages": "pnpm run update-packages-src && pnpm run update-packages-docs && pnpm update-package-json",
6464
"update-packages-docs": "cd website && pnpm run update-packages",
6565
"update-packages-src": "pnpm -r up",
Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,29 @@
11
#!/usr/bin/env node
22

3-
// @ts-check
4-
53
import fs from 'node:fs/promises';
64
import { pathToFileURL } from 'node:url';
75
import { parseArgs } from 'node:util';
86

9-
import { checkWeAreInGitRepo, processChangeLog } from './lib/changelog.mjs';
7+
import { checkWeAreInGitRepo, processChangeLog } from './lib/changelog.mts';
108

11-
/**
12-
* @typedef {{ tag: string; body: string; name: string; version: string; debug?: boolean }} ReleaseData
13-
*/
9+
interface ReleaseData {
10+
tag: string;
11+
body: string;
12+
name: string;
13+
version: string;
14+
debug?: boolean;
15+
}
1416

1517
const optionsToEnv = {
1618
tag: 'GITHUB_RELEASE_TAG',
1719
body: 'GITHUB_RELEASE_BODY',
1820
name: 'GITHUB_RELEASE_NAME',
1921
version: 'GITHUB_RELEASE_VERSION',
20-
};
22+
} as const satisfies ReleaseData;
2123

2224
class AppError extends Error {
23-
/**
24-
*
25-
* @param {string} message
26-
* @param {string | undefined} [code]
27-
*/
28-
constructor(message, code) {
25+
code?: string;
26+
constructor(message: string, code?: string) {
2927
super(message);
3028
this.name = 'AppError';
3129
this.code = code;
@@ -34,14 +32,9 @@ class AppError extends Error {
3432

3533
// cspell:ignore mdast
3634

37-
/**
38-
*
39-
* @param {Partial<ReleaseData>} releaseData
40-
* @returns {asserts releaseData is ReleaseData}
41-
*/
42-
function checkArgs(releaseData) {
35+
function checkArgs(releaseData: Partial<ReleaseData>): asserts releaseData is ReleaseData {
4336
let ok = true;
44-
for (const [key, envVar] of Object.entries(optionsToEnv)) {
37+
for (const [key, envVar] of Object.entries(optionsToEnv) as [keyof ReleaseData, string][]) {
4538
if (!releaseData[key]) {
4639
console.error(`Error: Option --${key} Environment variable ${envVar} is not set.`);
4740
ok = false;
@@ -52,11 +45,7 @@ function checkArgs(releaseData) {
5245
}
5346
}
5447

55-
/**
56-
* @param {ReleaseData} releaseData
57-
* @return {Promise<void>}
58-
*/
59-
async function updateVersionFile(releaseData) {
48+
async function updateVersionFile(releaseData: ReleaseData): Promise<void> {
6049
const { tag, name, version } = releaseData;
6150
await fs.writeFile('.release.json', JSON.stringify({ name, version, tag }, undefined, 4) + '\n', 'utf8');
6251
}

scripts/jsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"module": "NodeNext",
44
"moduleResolution": "NodeNext",
55
"target": "ESNext",
6-
"allowImportingTsExtensions": false,
6+
"allowImportingTsExtensions": true,
77
"strictNullChecks": true,
88
"strictFunctionTypes": true
99
},

0 commit comments

Comments
 (0)