@williamthorsen/tsconfig 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.readyup/kits/default.js +1 -1
- package/.readyup/manifest.json +2 -2
- package/README.md +9 -11
- package/package.json +3 -2
package/.readyup/kits/default.js
CHANGED
package/.readyup/manifest.json
CHANGED
|
@@ -53,10 +53,10 @@
|
|
|
53
53
|
],
|
|
54
54
|
"name": "default",
|
|
55
55
|
"path": "kits/default.js",
|
|
56
|
-
"readyupVersion": "0.35.
|
|
56
|
+
"readyupVersion": "0.35.1",
|
|
57
57
|
"source": "kits/default.ts",
|
|
58
58
|
"sourceHash": "f4ec4ffd",
|
|
59
|
-
"targetHash": "
|
|
59
|
+
"targetHash": "9949c309"
|
|
60
60
|
}
|
|
61
61
|
]
|
|
62
62
|
}
|
package/README.md
CHANGED
|
@@ -3,17 +3,15 @@
|
|
|
3
3
|
Shared TypeScript base config for Node-only projects. Inlines the settings of [`@tsconfig/strictest`](https://www.npmjs.com/package/@tsconfig/strictest) and adds the Node and build options it leaves out, so a consuming repo declares only what is genuinely its own.
|
|
4
4
|
|
|
5
5
|
<!-- section:release-notes -->
|
|
6
|
-
## Release notes — v0.
|
|
6
|
+
## Release notes — v0.9.0 (2026-09-08)
|
|
7
7
|
|
|
8
8
|
### 🎉 Features
|
|
9
9
|
|
|
10
|
-
- 🚨 **Breaking:**
|
|
10
|
+
- 🚨 **Breaking:** Stop exempting vitest from n/no-extraneous-import (#219)
|
|
11
11
|
|
|
12
|
-
-
|
|
13
|
-
- Raises the `typescript` peer range to `>=5.7`, the first version in which a project emitting with `tsc` can write the required spelling.
|
|
14
|
-
- Sets `rewriteRelativeImportExtensions` in `@williamthorsen/tsconfig`'s base, so that a build that clears `noEmit` compiles a TypeScript-extension import.
|
|
12
|
+
- Removes the `allowModules: ['vitest']` option from `n/no-extraneous-import`, so the rule now reports `vitest` in any workspace whose own `package.json` does not declare it.
|
|
15
13
|
|
|
16
|
-
Migration:
|
|
14
|
+
Migration: Declare `vitest` in the `devDependencies` of every workspace that imports it; in a pnpm workspace, a catalog entry (`"vitest": "catalog:"`) declares it without repeating the version. To keep the old behavior instead, set `'n/no-extraneous-import': ['error', { allowModules: ['vitest'] }]` in the consuming config's own `rules` block.
|
|
17
15
|
<!-- /section:release-notes -->
|
|
18
16
|
|
|
19
17
|
## Installation
|
|
@@ -82,9 +80,9 @@ The base declares none of these:
|
|
|
82
80
|
|
|
83
81
|
The base sets `noEmit: true`, on the assumption that a separate build step owns emit. A consumer that builds with this config directly must override `noEmit` and, if it keeps `allowImportingTsExtensions`, pair that with `rewriteRelativeImportExtensions` so `./foo.ts` specifiers survive the rewrite.
|
|
84
82
|
|
|
85
|
-
## Checking
|
|
83
|
+
## Checking the configuration
|
|
86
84
|
|
|
87
|
-
This package ships a [ReadyUp](https://www.npmjs.com/package/readyup) kit that checks whether
|
|
85
|
+
This package ships a [ReadyUp](https://www.npmjs.com/package/readyup) kit that checks whether the workspace tsconfigs are wired for the installed version. It is a migration aid rather than a CI gate: only a Node floor too old to run the base's ES year is reported as an error, and everything else caps at a warning.
|
|
88
86
|
|
|
89
87
|
Run it once:
|
|
90
88
|
|
|
@@ -92,7 +90,7 @@ Run it once:
|
|
|
92
90
|
pnpm exec rdy run --from npm:@williamthorsen/tsconfig
|
|
93
91
|
```
|
|
94
92
|
|
|
95
|
-
Or list it in `.config/readyup.config.ts` to include it
|
|
93
|
+
Or list it in `.config/readyup.config.ts` to include it in every `rdy run --packages`:
|
|
96
94
|
|
|
97
95
|
```ts
|
|
98
96
|
import { defineRdyConfig } from 'readyup';
|
|
@@ -109,10 +107,10 @@ The kit walks each workspace tsconfig's `extends` chain and reports five things:
|
|
|
109
107
|
- **Adoption**: a tsconfig reaching neither this base nor a framework base. A tsconfig naming this base through a specifier that does not resolve is reported separately, as declared but not installed.
|
|
110
108
|
- **Re-declaration**: an option restated with the base's own value. A key that a framework base in the same chain also declares is exempt, since restating it is how a config wins against that base.
|
|
111
109
|
- **Escaping paths**: an `include`, `exclude`, or `files` path resolving outside the directory that holds the tsconfig. A config that is extended hands these fields down resolved against its own directory, so a package inheriting them is governed by paths pointing outside itself; the remedy is a complete local declaration, or `${configDir}` in the config being extended.
|
|
112
|
-
- **ES year**: a `target` or `lib` declaring a year other than the base's, read from the base
|
|
110
|
+
- **ES year**: a `target` or `lib` declaring a year other than the base's, read from the base that the tsconfig extends rather than from a constant compiled into the kit.
|
|
113
111
|
- **Node floor**: an `engines.node` below the major that implements that ES year. This is the one failure `tsc` cannot surface on its own, which is why it alone is an error.
|
|
114
112
|
|
|
115
|
-
The kit runs at the version resolved from
|
|
113
|
+
The kit runs at the version resolved from the project's `node_modules`, so it reports whether the configuration matches that version. It never reports whether that version is current.
|
|
116
114
|
|
|
117
115
|
## License
|
|
118
116
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@williamthorsen/tsconfig",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Shared TypeScript base config for Node-only projects",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tsconfig",
|
|
@@ -31,7 +31,8 @@
|
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@tsconfig/strictest": "2.0.8",
|
|
33
33
|
"esbuild": "0.28.2",
|
|
34
|
-
"readyup": "0.35.
|
|
34
|
+
"readyup": "0.35.1",
|
|
35
|
+
"vitest": "4.1.11"
|
|
35
36
|
},
|
|
36
37
|
"peerDependencies": {
|
|
37
38
|
"readyup": ">=0.33.0"
|