Skip to content

Commit 1749c05

Browse files
committed
...
1 parent f04a34c commit 1749c05

4 files changed

Lines changed: 30 additions & 9 deletions

File tree

.github/workflows/test.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,11 @@ jobs:
273273
- name: Install Typescript (${{ env.TS_VERSION }}) and TSD (${{ env.TSD_VERSION }})
274274
run: pnpm i -D typescript@${{ env.TS_VERSION }} tsd@${{ env.TSD_VERSION }}
275275

276+
name: Make `tsconfig` backwards compatible.
277+
- run: pnpm script:override-tsconfig-target
278+
276279
- name: Run tests with older TypeScript version
277-
run: pnpm test:typings && pnpm tsc -p test/node${{ env.TS_VERSION == '~5.4.0' && '/tsconfig-5.4.json' || '' }}
280+
run: pnpm test:typings && pnpm test:node:build
278281

279282
jsdocs:
280283
name: JSDocs

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@
106106
"script:add-deno-type-references": "node scripts/add-deno-type-references.cjs",
107107
"script:align-versions": "node --experimental-strip-types scripts/align-versions.mts",
108108
"script:generate-site-examples": "node scripts/generate-site-examples.cjs",
109+
"script:override-tsconfig-target": "node --experimental-strip-types scripts/override-tsconfig-target.mts",
109110
"script:remove-global-augmentations": "node --experimental-strip-types scripts/remove-global-augmentations.mts",
110111
"prepublishOnly": "pnpm build && pnpm test:exports",
111112
"version": "pnpm script:align-versions && git add ."
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { writeFile } from 'node:fs/promises'
2+
import { fileURLToPath } from 'node:url'
3+
import { dirname, join } from 'pathe'
4+
import { lt } from 'semver'
5+
import packageJson from '../package.json'
6+
import tsconfig from '../tsconfig-base.json'
7+
8+
const __dirname = dirname(fileURLToPath(import.meta.url))
9+
10+
// <=5.4.0 supports target <= es2022.
11+
if (lt(packageJson.devDependencies.typescript.replace(/^[~^]/, ''), '5.5.0')) {
12+
const { compilerOptions } = tsconfig
13+
14+
const originalTarget = compilerOptions.target
15+
16+
compilerOptions.target = 'es2022'
17+
18+
await writeFile(
19+
join(__dirname, '../tsconfig-base.json'),
20+
JSON.stringify(tsconfig),
21+
{ encoding: 'utf8' },
22+
)
23+
24+
console.log(`tsconfig-base.json: target:${originalTarget}->target:es2022`)
25+
}

test/node/tsconfig-5.4.json

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)