@esportsplus/typescript 0.33.0 → 0.33.2
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/README.md
CHANGED
|
@@ -204,7 +204,7 @@ type ReplacementIntent = {
|
|
|
204
204
|
|
|
205
205
|
## Shared Config
|
|
206
206
|
|
|
207
|
-
Importable base tsconfig files:
|
|
207
|
+
Importable base tsconfig files, one per target:
|
|
208
208
|
|
|
209
209
|
```json
|
|
210
210
|
{ "extends": "@esportsplus/typescript/tsconfig.browser.json" }
|
|
@@ -212,6 +212,16 @@ Importable base tsconfig files:
|
|
|
212
212
|
{ "extends": "@esportsplus/typescript/tsconfig.package.json" }
|
|
213
213
|
```
|
|
214
214
|
|
|
215
|
+
Each target also ships a `.dev` variant that extends its build config, sets `noEmit` with `rootDir` at the config dir, and widens `include` to the whole repo (`src`, `test`, `bench`, `*.config.ts`) — for editor and full-typecheck passes over everything, not just the emitted sources:
|
|
216
|
+
|
|
217
|
+
```json
|
|
218
|
+
{ "extends": "@esportsplus/typescript/tsconfig.browser.dev.json" }
|
|
219
|
+
{ "extends": "@esportsplus/typescript/tsconfig.node.dev.json" }
|
|
220
|
+
{ "extends": "@esportsplus/typescript/tsconfig.package.dev.json" }
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
`tsconfig.package.dev.json` additionally sets `tsc-guard` to `warn` for `exceptions` and `resources`, so the analyzer reports over your sources during development without failing the typecheck.
|
|
224
|
+
|
|
215
225
|
## TypeScript 7 migration
|
|
216
226
|
|
|
217
227
|
This package targets `typescript@^7`, shipped as a regular `dependencies` entry. Breaking changes for consumers:
|
|
@@ -32,13 +32,13 @@ function refsSym(env, expr, sym) {
|
|
|
32
32
|
}
|
|
33
33
|
return env.checker.getSymbolAtLocation(e) === sym;
|
|
34
34
|
}
|
|
35
|
-
function containsMatch(node, pred) {
|
|
35
|
+
function containsMatch(node, pred, descendIntoFunctions = false) {
|
|
36
36
|
let found = false;
|
|
37
37
|
const rec = (n) => {
|
|
38
38
|
if (found) {
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
|
-
if (n !== node && isFunctionLike(n)) {
|
|
41
|
+
if (n !== node && !descendIntoFunctions && isFunctionLike(n)) {
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
44
|
if (pred(n)) {
|
|
@@ -405,7 +405,7 @@ function hasMatchingRelease(env, acquireCall, acq) {
|
|
|
405
405
|
const acquireExpressionText = ts.isPropertyAccessExpression(acqCallee)
|
|
406
406
|
? acqCallee.expression.getText()
|
|
407
407
|
: undefined;
|
|
408
|
-
return containsMatch(body, (n) => isReleaseCallForPair(n, acq, acquireCall, acquireExpressionText));
|
|
408
|
+
return containsMatch(body, (n) => isReleaseCallForPair(n, acq, acquireCall, acquireExpressionText), true);
|
|
409
409
|
}
|
|
410
410
|
function classDischargesField(cls, field, acq) {
|
|
411
411
|
const members = cls.members ?? [];
|
package/package.json
CHANGED
|
@@ -22,9 +22,11 @@
|
|
|
22
22
|
},
|
|
23
23
|
"exports": {
|
|
24
24
|
"./package.json": "./package.json",
|
|
25
|
+
"./tsconfig.browser.dev.json": "./tsconfig.browser.dev.json",
|
|
25
26
|
"./tsconfig.browser.json": "./tsconfig.browser.json",
|
|
26
|
-
"./tsconfig.dev.json": "./tsconfig.dev.json",
|
|
27
|
+
"./tsconfig.node.dev.json": "./tsconfig.node.dev.json",
|
|
27
28
|
"./tsconfig.node.json": "./tsconfig.node.json",
|
|
29
|
+
"./tsconfig.package.dev.json": "./tsconfig.package.dev.json",
|
|
28
30
|
"./tsconfig.package.json": "./tsconfig.package.json",
|
|
29
31
|
"./compiler": {
|
|
30
32
|
"types": "./build/compiler/index.d.ts",
|
|
@@ -43,9 +45,11 @@
|
|
|
43
45
|
"bin",
|
|
44
46
|
"build",
|
|
45
47
|
"tsconfig.base.json",
|
|
48
|
+
"tsconfig.browser.dev.json",
|
|
46
49
|
"tsconfig.browser.json",
|
|
47
|
-
"tsconfig.dev.json",
|
|
50
|
+
"tsconfig.node.dev.json",
|
|
48
51
|
"tsconfig.node.json",
|
|
52
|
+
"tsconfig.package.dev.json",
|
|
49
53
|
"tsconfig.package.json"
|
|
50
54
|
],
|
|
51
55
|
"main": "build/index.js",
|
|
@@ -60,7 +64,7 @@
|
|
|
60
64
|
},
|
|
61
65
|
"type": "module",
|
|
62
66
|
"types": "build/index.d.ts",
|
|
63
|
-
"version": "0.33.
|
|
67
|
+
"version": "0.33.2",
|
|
64
68
|
"scripts": {
|
|
65
69
|
"agent:bench": "pnpm bench:run",
|
|
66
70
|
"agent:build": "pnpm build",
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"noEmit": true,
|
|
4
|
+
"rootDir": "${configDir}"
|
|
5
|
+
},
|
|
6
|
+
"extends": "./tsconfig.package.json",
|
|
7
|
+
"include": [
|
|
8
|
+
"${configDir}/*.config.ts",
|
|
9
|
+
"${configDir}/bench/**/*",
|
|
10
|
+
"${configDir}/src/**/*",
|
|
11
|
+
"${configDir}/test/**/*"
|
|
12
|
+
],
|
|
13
|
+
"tsc-guard": {
|
|
14
|
+
"exceptions": { "severity": "warn" },
|
|
15
|
+
"resources": { "severity": "warn" }
|
|
16
|
+
}
|
|
17
|
+
}
|