ts-repo-utils 10.6.0 → 10.6.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/dist/functions/should-run.d.mts +43 -38
- package/dist/functions/should-run.d.mts.map +1 -1
- package/dist/functions/should-run.mjs +5 -0
- package/dist/functions/should-run.mjs.map +1 -1
- package/dist/functions/strip-dev-only-code.d.mts +21 -0
- package/dist/functions/strip-dev-only-code.d.mts.map +1 -1
- package/dist/functions/strip-dev-only-code.mjs +74 -2
- package/dist/functions/strip-dev-only-code.mjs.map +1 -1
- package/package.json +14 -13
- package/src/functions/should-run.mts +43 -38
- package/src/functions/strip-dev-only-code.mts +84 -4
- package/src/functions/strip-dev-only-code.test.mts +47 -0
|
@@ -12,29 +12,33 @@
|
|
|
12
12
|
* reports a status check, so a pull request that changed only the filtered
|
|
13
13
|
* paths waits forever on a required check that will never arrive.
|
|
14
14
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* // Custom base branch
|
|
21
|
-
* await checkShouldRun({
|
|
22
|
-
* pathsIgnore: ['docs/', '**.md'],
|
|
23
|
-
* baseBranch: 'origin/develop',
|
|
24
|
-
* });
|
|
25
|
-
* ```;
|
|
15
|
+
* In a GitHub Actions workflow, the step writes `should_run` to
|
|
16
|
+
* `GITHUB_OUTPUT`, and the steps it gates read it — the YAML is not an
|
|
17
|
+
* `@example` because it is not TypeScript and so cannot be embedded from a
|
|
18
|
+
* sample file:
|
|
26
19
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* ```yaml
|
|
30
|
-
* - name: Check diff
|
|
20
|
+
* ```yaml
|
|
21
|
+
* - name: Check diff
|
|
31
22
|
* id: check_diff
|
|
32
23
|
* run: npm exec -- check-should-run --paths-ignore 'experimental/'
|
|
33
24
|
*
|
|
34
|
-
*
|
|
25
|
+
* - name: Run the checks
|
|
35
26
|
* if: steps.check_diff.outputs.should_run == 'true'
|
|
36
27
|
* run: npm run check
|
|
37
|
-
*
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
*
|
|
32
|
+
* ```ts
|
|
33
|
+
* // Skip when the diff only touches a directory nothing checks
|
|
34
|
+
* await checkShouldRun({ pathsIgnore: ['experimental/'] });
|
|
35
|
+
*
|
|
36
|
+
* // Custom base branch
|
|
37
|
+
* await checkShouldRun({
|
|
38
|
+
* pathsIgnore: ['docs/', '**.md'],
|
|
39
|
+
* baseBranch: 'origin/develop',
|
|
40
|
+
* });
|
|
41
|
+
* ```
|
|
38
42
|
*
|
|
39
43
|
* @param options - Configuration options
|
|
40
44
|
* @param options.pathsIgnore - Patterns whose files do not affect the step.
|
|
@@ -68,33 +72,34 @@ export declare const checkShouldRun: (options?: Readonly<{
|
|
|
68
72
|
* are documentation, configuration, or other non-TypeScript files, type checks
|
|
69
73
|
* can be safely skipped to improve build performance.
|
|
70
74
|
*
|
|
71
|
-
*
|
|
72
|
-
* ```typescript
|
|
73
|
-
* // Use default settings (compare against origin/main, ignore docs/md/txt files)
|
|
74
|
-
* await checkShouldRunTypeChecks();
|
|
75
|
-
*
|
|
76
|
-
* // Custom ignore patterns
|
|
77
|
-
* await checkShouldRunTypeChecks({
|
|
78
|
-
* pathsIgnore: ['.eslintrc.json', 'docs/', '**.md', 'scripts/'],
|
|
79
|
-
* });
|
|
80
|
-
*
|
|
81
|
-
* // Custom base branch
|
|
82
|
-
* await checkShouldRunTypeChecks({
|
|
83
|
-
* baseBranch: 'origin/develop',
|
|
84
|
-
* });
|
|
85
|
-
* ```;
|
|
75
|
+
* The GitHub Actions form, for the same reason not an `@example`:
|
|
86
76
|
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
* ```yaml
|
|
90
|
-
* - name: Check if type checks should run
|
|
77
|
+
* ```yaml
|
|
78
|
+
* - name: Check if type checks should run
|
|
91
79
|
* id: check_diff
|
|
92
80
|
* run: npm exec check-should-run-type-checks
|
|
93
81
|
*
|
|
94
|
-
*
|
|
82
|
+
* - name: Run type checks
|
|
95
83
|
* if: steps.check_diff.outputs.should_run == 'true'
|
|
96
84
|
* run: npm run type-check
|
|
97
|
-
*
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
*
|
|
89
|
+
* ```ts
|
|
90
|
+
* // Use the defaults: compare against origin/main, ignore docs/md/txt files
|
|
91
|
+
* await checkShouldRunTypeChecks();
|
|
92
|
+
*
|
|
93
|
+
* // Custom ignore patterns
|
|
94
|
+
* await checkShouldRunTypeChecks({
|
|
95
|
+
* pathsIgnore: ['.eslintrc.json', 'docs/', '**.md', 'scripts/'],
|
|
96
|
+
* });
|
|
97
|
+
*
|
|
98
|
+
* // Custom base branch
|
|
99
|
+
* await checkShouldRunTypeChecks({
|
|
100
|
+
* baseBranch: 'origin/develop',
|
|
101
|
+
* });
|
|
102
|
+
* ```
|
|
98
103
|
*
|
|
99
104
|
* @param options - Configuration options
|
|
100
105
|
* @param options.pathsIgnore - Array of patterns to ignore when determining if
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"should-run.d.mts","sourceRoot":"","sources":["../../src/functions/should-run.mts"],"names":[],"mappings":"AAMA
|
|
1
|
+
{"version":3,"file":"should-run.d.mts","sourceRoot":"","sources":["../../src/functions/should-run.mts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,eAAO,MAAM,cAAc,aACf,QAAQ,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,KACD,OAAO,CAAC,OAAO,CAyCjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,eAAO,MAAM,wBAAwB,aACzB,QAAQ,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,KACD,OAAO,CAAC,OAAO,CAId,CAAC"}
|
|
@@ -50,6 +50,10 @@ import { getDiffFrom, getGitRoot } from './diff.mjs';
|
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
53
57
|
|
|
54
58
|
|
|
55
59
|
|
|
@@ -137,6 +141,7 @@ export const checkShouldRun = async (options) => {
|
|
|
137
141
|
|
|
138
142
|
|
|
139
143
|
|
|
144
|
+
|
|
140
145
|
|
|
141
146
|
|
|
142
147
|
export const checkShouldRunTypeChecks = async (options) => checkShouldRun({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"should-run.mjs","sourceRoot":"","sources":["../../src/functions/should-run.mts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAErD
|
|
1
|
+
{"version":3,"file":"should-run.mjs","sourceRoot":"","sources":["../../src/functions/should-run.mts"],"names":[],"mappings":"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"}
|
|
@@ -28,12 +28,33 @@ import { Result } from 'ts-data-forge';
|
|
|
28
28
|
* unaffected.
|
|
29
29
|
* - An import binding that nothing outside the removed code refers to any
|
|
30
30
|
* more, and the whole `import` declaration when it has no bindings left.
|
|
31
|
+
* This is one rule and there is no other: an unwrapped identity call's own
|
|
32
|
+
* binding is removed by it, and so stays when the file also uses that name
|
|
33
|
+
* somewhere the pass does not unwrap (`xs.map(castMutable)`). Which is why
|
|
34
|
+
* the pass has to see what an unwrapped call's argument refers to, even
|
|
35
|
+
* though the argument itself is none of its business.
|
|
31
36
|
* - Every comment, when `options.removeComments` is set. The compiler copies
|
|
32
37
|
* the JSDoc of each declaration into the JavaScript as well as into the
|
|
33
38
|
* `.d.mts`, where an editor reads it from; the copy in the JavaScript is
|
|
34
39
|
* read by nobody and is most of the file. A `#!` line and the pragma
|
|
35
40
|
* comments (`//# sourceMappingURL=`) are kept.
|
|
36
41
|
*
|
|
42
|
+
* The pass never rewrites the tree. It walks it, collects `[start, end)`
|
|
43
|
+
* ranges of text to erase, and erases them all at the end. Two kinds of range
|
|
44
|
+
* come out of that walk, and the difference between them matters to anything
|
|
45
|
+
* that goes on to ask whether a node survived:
|
|
46
|
+
*
|
|
47
|
+
* - A **whole-node** range covers a node completely. Every removed statement
|
|
48
|
+
* is one of these.
|
|
49
|
+
* - A **partial** range covers part of a node and keeps the rest. Unwrapping
|
|
50
|
+
* `castMutable(x)` erases the callee and the parentheses and keeps `x`, so
|
|
51
|
+
* the call node is half erased — and the erased half is the half it starts
|
|
52
|
+
* with.
|
|
53
|
+
*
|
|
54
|
+
* So "does this node begin in erased text" and "is this node gone" are
|
|
55
|
+
* different questions, and only the second one is safe to prune imports by.
|
|
56
|
+
* See {@link isErasedBy} and {@link isNodeErasedBy}.
|
|
57
|
+
*
|
|
37
58
|
* Every line break is kept when a range is removed, so the line numbers of
|
|
38
59
|
* the output are the line numbers of the input and the source map the
|
|
39
60
|
* compiler emitted for the file stays valid line for line. What follows a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strip-dev-only-code.d.mts","sourceRoot":"","sources":["../../src/functions/strip-dev-only-code.mts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,MAAM,EAAmB,MAAM,eAAe,CAAC;AAK7E
|
|
1
|
+
{"version":3,"file":"strip-dev-only-code.d.mts","sourceRoot":"","sources":["../../src/functions/strip-dev-only-code.mts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,MAAM,EAAmB,MAAM,eAAe,CAAC;AAK7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,eAAO,MAAM,gBAAgB,WACnB,MAAM,YACJ,MAAM,WACP,uBAAuB,KAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,CA0DvB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,QAC3B,MAAM,WACF,uBAAuB,KAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,MAAM,CAAC,CA4C5D,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C;;;;;OAKG;IACH,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IAExC;;;;;OAKG;IACH,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAEvC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC,CAAC"}
|
|
@@ -42,6 +42,27 @@ import { glob } from './glob.mjs';
|
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
45
66
|
|
|
46
67
|
|
|
47
68
|
|
|
@@ -72,8 +93,13 @@ export const stripDevOnlyCode = (source, fileName, options) => {
|
|
|
72
93
|
if (leftover !== undefined) {
|
|
73
94
|
return Result.err(leftover);
|
|
74
95
|
}
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
75
99
|
const calleeRanges = collectUnwrappedCallees(sourceFile, unwrapIdentityCalls, isErasedBy(statementRanges));
|
|
76
|
-
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
const importRanges = collectUnusedImports(sourceFile, isNodeErasedBy([...statementRanges, ...calleeRanges]));
|
|
77
103
|
const commentRanges = options.removeComments === true
|
|
78
104
|
? collectComments(sourceFile, source)
|
|
79
105
|
: [];
|
|
@@ -120,12 +146,46 @@ export const stripDevOnlyCodeInDir = async (dir, options) => {
|
|
|
120
146
|
};
|
|
121
147
|
|
|
122
148
|
const importMetaVitest = ['import.meta', 'vitest'].join('.');
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
123
156
|
const isErasedBy = (ranges) => (pos) => ranges.some(([start, end]) => start <= pos && pos < end);
|
|
124
157
|
|
|
125
158
|
|
|
126
159
|
|
|
127
160
|
|
|
128
161
|
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
const isNodeErasedBy = (ranges) => (start, end) => ranges.some(([from, to]) => from <= start && end <= to);
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
129
189
|
const createIsRemovable = (removeCallStatements) => {
|
|
130
190
|
const isRemovable = (statement) => {
|
|
131
191
|
if (isVitestGuard(statement)) {
|
|
@@ -247,6 +307,11 @@ const describeLeftover = (message, node, sourceFile, fileName) => {
|
|
|
247
307
|
|
|
248
308
|
|
|
249
309
|
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
|
|
250
315
|
const collectUnwrappedCallees = (sourceFile, unwrapIdentityCalls, isErased) => {
|
|
251
316
|
const mut_ranges = [];
|
|
252
317
|
const visit = (node) => {
|
|
@@ -381,13 +446,20 @@ const specifierEraseRange = (specifier, neighbors, sourceFile) => {
|
|
|
381
446
|
|
|
382
447
|
|
|
383
448
|
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
384
456
|
const collectReferencedNames = (sourceFile, isErased) => {
|
|
385
457
|
const mut_names = new Set();
|
|
386
458
|
const visit = (node) => {
|
|
387
459
|
if (ts.isImportDeclaration(node)) {
|
|
388
460
|
return;
|
|
389
461
|
}
|
|
390
|
-
if (isErased(node.getStart(sourceFile))) {
|
|
462
|
+
if (isErased(node.getStart(sourceFile), node.getEnd())) {
|
|
391
463
|
return;
|
|
392
464
|
}
|
|
393
465
|
if (ts.isIdentifier(node) && !isPropertyName(node)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strip-dev-only-code.mjs","sourceRoot":"","sources":["../../src/functions/strip-dev-only-code.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"strip-dev-only-code.mjs","sourceRoot":"","sources":["../../src/functions/strip-dev-only-code.mts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-repo-utils",
|
|
3
|
-
"version": "10.6.
|
|
3
|
+
"version": "10.6.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript"
|
|
@@ -49,33 +49,33 @@
|
|
|
49
49
|
"cmd-ts": "^0.15.0",
|
|
50
50
|
"fast-glob": "^3.3.3",
|
|
51
51
|
"micromatch": "^4.0.8",
|
|
52
|
-
"ts-data-forge": "^14.
|
|
52
|
+
"ts-data-forge": "^14.7.1",
|
|
53
53
|
"ts-type-forge": "^9.2.2",
|
|
54
54
|
"typescript": ">=5.0.0 <7.0.0"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@types/node": "26.
|
|
58
|
-
"@vitest/coverage-v8": "
|
|
59
|
-
"@vitest/ui": "
|
|
60
|
-
"cspell": "10.
|
|
57
|
+
"@types/node": "26.5.0",
|
|
58
|
+
"@vitest/coverage-v8": "5.0.0",
|
|
59
|
+
"@vitest/ui": "5.0.0",
|
|
60
|
+
"cspell": "10.2.1",
|
|
61
61
|
"dedent": "1.7.2",
|
|
62
62
|
"esbuild": "0.28.2",
|
|
63
63
|
"eslint": "10.9.1",
|
|
64
|
-
"eslint-config-typed": "5.11.
|
|
65
|
-
"eslint-plugin-ts-data-forge": "0.7.
|
|
66
|
-
"eslint-plugin-ts-fortress": "1.2.
|
|
67
|
-
"eslint-plugin-ts-type-forge": "0.8.
|
|
64
|
+
"eslint-config-typed": "5.11.7",
|
|
65
|
+
"eslint-plugin-ts-data-forge": "0.7.4",
|
|
66
|
+
"eslint-plugin-ts-fortress": "1.2.2",
|
|
67
|
+
"eslint-plugin-ts-type-forge": "0.8.3",
|
|
68
68
|
"jiti": "2.7.0",
|
|
69
69
|
"npm-run-all2": "9.0.3",
|
|
70
70
|
"prettier": "3.9.6",
|
|
71
71
|
"prettier-plugin-organize-imports": "4.3.0",
|
|
72
72
|
"prettier-plugin-packagejson": "3.0.2",
|
|
73
|
-
"tsx": "4.23.
|
|
73
|
+
"tsx": "4.23.13",
|
|
74
74
|
"typedoc": "0.28.20",
|
|
75
75
|
"typedoc-github-theme": "0.4.0",
|
|
76
76
|
"typescript-native": "npm:typescript@7.0.2",
|
|
77
77
|
"vite": "8.2.2",
|
|
78
|
-
"vitest": "
|
|
78
|
+
"vitest": "5.0.0"
|
|
79
79
|
},
|
|
80
80
|
"peerDependencies": {
|
|
81
81
|
"prettier": ">=3.0.0"
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"pnpm": ">=8.0.0"
|
|
86
86
|
},
|
|
87
87
|
"volta": {
|
|
88
|
-
"node": "26.
|
|
88
|
+
"node": "26.8.1"
|
|
89
89
|
},
|
|
90
90
|
"publishConfig": {
|
|
91
91
|
"access": "public",
|
|
@@ -102,6 +102,7 @@
|
|
|
102
102
|
"cspell": "cspell \"**\" --gitignore --gitignore-root ../../ --no-progress",
|
|
103
103
|
"doc": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/gen-docs.mts",
|
|
104
104
|
"doc:embed": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/embed-examples.mts",
|
|
105
|
+
"doc:embed:jsdoc": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/embed-examples-in-jsdoc.mts",
|
|
105
106
|
"doc:preview": "vite preview --config ./configs/vite.doc.config.mts",
|
|
106
107
|
"doc:watch": "typedoc --options ./configs/typedoc.config.mjs --watch",
|
|
107
108
|
"fmt": "pnpm run z:format-uncommitted --cwd .",
|
|
@@ -18,29 +18,33 @@ import { getDiffFrom, getGitRoot } from './diff.mjs';
|
|
|
18
18
|
* reports a status check, so a pull request that changed only the filtered
|
|
19
19
|
* paths waits forever on a required check that will never arrive.
|
|
20
20
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* // Custom base branch
|
|
27
|
-
* await checkShouldRun({
|
|
28
|
-
* pathsIgnore: ['docs/', '**.md'],
|
|
29
|
-
* baseBranch: 'origin/develop',
|
|
30
|
-
* });
|
|
31
|
-
* ```;
|
|
21
|
+
* In a GitHub Actions workflow, the step writes `should_run` to
|
|
22
|
+
* `GITHUB_OUTPUT`, and the steps it gates read it — the YAML is not an
|
|
23
|
+
* `@example` because it is not TypeScript and so cannot be embedded from a
|
|
24
|
+
* sample file:
|
|
32
25
|
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* ```yaml
|
|
36
|
-
* - name: Check diff
|
|
26
|
+
* ```yaml
|
|
27
|
+
* - name: Check diff
|
|
37
28
|
* id: check_diff
|
|
38
29
|
* run: npm exec -- check-should-run --paths-ignore 'experimental/'
|
|
39
30
|
*
|
|
40
|
-
*
|
|
31
|
+
* - name: Run the checks
|
|
41
32
|
* if: steps.check_diff.outputs.should_run == 'true'
|
|
42
33
|
* run: npm run check
|
|
43
|
-
*
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
*
|
|
38
|
+
* ```ts
|
|
39
|
+
* // Skip when the diff only touches a directory nothing checks
|
|
40
|
+
* await checkShouldRun({ pathsIgnore: ['experimental/'] });
|
|
41
|
+
*
|
|
42
|
+
* // Custom base branch
|
|
43
|
+
* await checkShouldRun({
|
|
44
|
+
* pathsIgnore: ['docs/', '**.md'],
|
|
45
|
+
* baseBranch: 'origin/develop',
|
|
46
|
+
* });
|
|
47
|
+
* ```
|
|
44
48
|
*
|
|
45
49
|
* @param options - Configuration options
|
|
46
50
|
* @param options.pathsIgnore - Patterns whose files do not affect the step.
|
|
@@ -118,33 +122,34 @@ export const checkShouldRun = async (
|
|
|
118
122
|
* are documentation, configuration, or other non-TypeScript files, type checks
|
|
119
123
|
* can be safely skipped to improve build performance.
|
|
120
124
|
*
|
|
121
|
-
*
|
|
122
|
-
* ```typescript
|
|
123
|
-
* // Use default settings (compare against origin/main, ignore docs/md/txt files)
|
|
124
|
-
* await checkShouldRunTypeChecks();
|
|
125
|
-
*
|
|
126
|
-
* // Custom ignore patterns
|
|
127
|
-
* await checkShouldRunTypeChecks({
|
|
128
|
-
* pathsIgnore: ['.eslintrc.json', 'docs/', '**.md', 'scripts/'],
|
|
129
|
-
* });
|
|
130
|
-
*
|
|
131
|
-
* // Custom base branch
|
|
132
|
-
* await checkShouldRunTypeChecks({
|
|
133
|
-
* baseBranch: 'origin/develop',
|
|
134
|
-
* });
|
|
135
|
-
* ```;
|
|
125
|
+
* The GitHub Actions form, for the same reason not an `@example`:
|
|
136
126
|
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
* ```yaml
|
|
140
|
-
* - name: Check if type checks should run
|
|
127
|
+
* ```yaml
|
|
128
|
+
* - name: Check if type checks should run
|
|
141
129
|
* id: check_diff
|
|
142
130
|
* run: npm exec check-should-run-type-checks
|
|
143
131
|
*
|
|
144
|
-
*
|
|
132
|
+
* - name: Run type checks
|
|
145
133
|
* if: steps.check_diff.outputs.should_run == 'true'
|
|
146
134
|
* run: npm run type-check
|
|
147
|
-
*
|
|
135
|
+
* ```
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
*
|
|
139
|
+
* ```ts
|
|
140
|
+
* // Use the defaults: compare against origin/main, ignore docs/md/txt files
|
|
141
|
+
* await checkShouldRunTypeChecks();
|
|
142
|
+
*
|
|
143
|
+
* // Custom ignore patterns
|
|
144
|
+
* await checkShouldRunTypeChecks({
|
|
145
|
+
* pathsIgnore: ['.eslintrc.json', 'docs/', '**.md', 'scripts/'],
|
|
146
|
+
* });
|
|
147
|
+
*
|
|
148
|
+
* // Custom base branch
|
|
149
|
+
* await checkShouldRunTypeChecks({
|
|
150
|
+
* baseBranch: 'origin/develop',
|
|
151
|
+
* });
|
|
152
|
+
* ```
|
|
148
153
|
*
|
|
149
154
|
* @param options - Configuration options
|
|
150
155
|
* @param options.pathsIgnore - Array of patterns to ignore when determining if
|
|
@@ -34,12 +34,33 @@ import { glob } from './glob.mjs';
|
|
|
34
34
|
* unaffected.
|
|
35
35
|
* - An import binding that nothing outside the removed code refers to any
|
|
36
36
|
* more, and the whole `import` declaration when it has no bindings left.
|
|
37
|
+
* This is one rule and there is no other: an unwrapped identity call's own
|
|
38
|
+
* binding is removed by it, and so stays when the file also uses that name
|
|
39
|
+
* somewhere the pass does not unwrap (`xs.map(castMutable)`). Which is why
|
|
40
|
+
* the pass has to see what an unwrapped call's argument refers to, even
|
|
41
|
+
* though the argument itself is none of its business.
|
|
37
42
|
* - Every comment, when `options.removeComments` is set. The compiler copies
|
|
38
43
|
* the JSDoc of each declaration into the JavaScript as well as into the
|
|
39
44
|
* `.d.mts`, where an editor reads it from; the copy in the JavaScript is
|
|
40
45
|
* read by nobody and is most of the file. A `#!` line and the pragma
|
|
41
46
|
* comments (`//# sourceMappingURL=`) are kept.
|
|
42
47
|
*
|
|
48
|
+
* The pass never rewrites the tree. It walks it, collects `[start, end)`
|
|
49
|
+
* ranges of text to erase, and erases them all at the end. Two kinds of range
|
|
50
|
+
* come out of that walk, and the difference between them matters to anything
|
|
51
|
+
* that goes on to ask whether a node survived:
|
|
52
|
+
*
|
|
53
|
+
* - A **whole-node** range covers a node completely. Every removed statement
|
|
54
|
+
* is one of these.
|
|
55
|
+
* - A **partial** range covers part of a node and keeps the rest. Unwrapping
|
|
56
|
+
* `castMutable(x)` erases the callee and the parentheses and keeps `x`, so
|
|
57
|
+
* the call node is half erased — and the erased half is the half it starts
|
|
58
|
+
* with.
|
|
59
|
+
*
|
|
60
|
+
* So "does this node begin in erased text" and "is this node gone" are
|
|
61
|
+
* different questions, and only the second one is safe to prune imports by.
|
|
62
|
+
* See {@link isErasedBy} and {@link isNodeErasedBy}.
|
|
63
|
+
*
|
|
43
64
|
* Every line break is kept when a range is removed, so the line numbers of
|
|
44
65
|
* the output are the line numbers of the input and the source map the
|
|
45
66
|
* compiler emitted for the file stays valid line for line. What follows a
|
|
@@ -98,15 +119,20 @@ export const stripDevOnlyCode = (
|
|
|
98
119
|
return Result.err(leftover);
|
|
99
120
|
}
|
|
100
121
|
|
|
122
|
+
// Only the statement ranges here: a call inside a removed statement needs
|
|
123
|
+
// no unwrapping, and every one of those ranges covers a whole node, so a
|
|
124
|
+
// position test answers the question.
|
|
101
125
|
const calleeRanges = collectUnwrappedCallees(
|
|
102
126
|
sourceFile,
|
|
103
127
|
unwrapIdentityCalls,
|
|
104
128
|
isErasedBy(statementRanges),
|
|
105
129
|
);
|
|
106
130
|
|
|
131
|
+
// `isNodeErasedBy`, not `isErasedBy`: `calleeRanges` are partial, and a name
|
|
132
|
+
// inside an unwrapped call's argument is still referenced by the output.
|
|
107
133
|
const importRanges = collectUnusedImports(
|
|
108
134
|
sourceFile,
|
|
109
|
-
|
|
135
|
+
isNodeErasedBy([...statementRanges, ...calleeRanges]),
|
|
110
136
|
);
|
|
111
137
|
|
|
112
138
|
const commentRanges =
|
|
@@ -221,13 +247,55 @@ type EraseRange = readonly [start: number, end: number];
|
|
|
221
247
|
|
|
222
248
|
type IsRemovable = (statement: DeepReadonly<ts.Statement>) => boolean;
|
|
223
249
|
|
|
250
|
+
/** Whether a single position falls in erased text. */
|
|
224
251
|
type IsErased = (pos: number) => boolean;
|
|
225
252
|
|
|
253
|
+
/** Whether a node is erased in its entirety. */
|
|
254
|
+
type IsNodeErased = (start: number, end: number) => boolean;
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Whether the character at `pos` is erased.
|
|
258
|
+
*
|
|
259
|
+
* Read as "is this node gone?" this is only correct where every range covers
|
|
260
|
+
* a whole node, which is true of the statement ranges and of nothing else.
|
|
261
|
+
* {@link isNodeErasedBy} is the one to reach for otherwise.
|
|
262
|
+
*/
|
|
226
263
|
const isErasedBy =
|
|
227
264
|
(ranges: readonly EraseRange[]): IsErased =>
|
|
228
265
|
(pos) =>
|
|
229
266
|
ranges.some(([start, end]) => start <= pos && pos < end);
|
|
230
267
|
|
|
268
|
+
/**
|
|
269
|
+
* Whether a node is erased in its entirety, rather than merely beginning in
|
|
270
|
+
* erased text.
|
|
271
|
+
*
|
|
272
|
+
* Unwrapping an identity call is what makes the two different, because the
|
|
273
|
+
* part it erases is the part the node starts with. Written out with the
|
|
274
|
+
* positions of `castMutable(newArray(n))`:
|
|
275
|
+
*
|
|
276
|
+
* ```text
|
|
277
|
+
* castMutable(newArray(n))
|
|
278
|
+
* ~~~~~~~~~~~~ ~ ~ erased: [0, 12) and [23, 24)
|
|
279
|
+
* ^^^^^^^^^^^ ^ kept, and emitted as the whole expression
|
|
280
|
+
* ```
|
|
281
|
+
*
|
|
282
|
+
* The call node spans `[0, 24)` and so begins at 0, inside the first erased
|
|
283
|
+
* range — while `newArray` at 12 goes on to the output untouched. A walk that
|
|
284
|
+
* skips a subtree whenever the subtree *starts* in erased text therefore
|
|
285
|
+
* never reaches the argument, and every name the argument uses comes back
|
|
286
|
+
* unreferenced.
|
|
287
|
+
*
|
|
288
|
+
* That is precisely how the pruning below deleted the `newArray` import out
|
|
289
|
+
* from under the call that still made it. Nothing downstream noticed: the
|
|
290
|
+
* type check reads `src/`, where the import is still written, and only the
|
|
291
|
+
* built module is missing it, so the first `Arr.scan` call at run time threw
|
|
292
|
+
* `ReferenceError: newArray is not defined`.
|
|
293
|
+
*/
|
|
294
|
+
const isNodeErasedBy =
|
|
295
|
+
(ranges: readonly EraseRange[]): IsNodeErased =>
|
|
296
|
+
(start, end) =>
|
|
297
|
+
ranges.some(([from, to]) => from <= start && end <= to);
|
|
298
|
+
|
|
231
299
|
/**
|
|
232
300
|
* Decides whether a statement is removed as a whole. A compound statement is
|
|
233
301
|
* removed when its body is: a block all of whose statements are removable, a
|
|
@@ -437,6 +505,11 @@ const describeLeftover = (
|
|
|
437
505
|
* Erases `f(` and `)` around the argument of every identity function `f`,
|
|
438
506
|
* or only the `f` when the argument needs the parentheses to keep its
|
|
439
507
|
* meaning.
|
|
508
|
+
*
|
|
509
|
+
* The ranges this returns are **partial**: each one erases a piece of a call
|
|
510
|
+
* expression whose argument survives, and the piece starts where the call
|
|
511
|
+
* does. Anything that later asks "is this node gone?" against them has to ask
|
|
512
|
+
* by containment — see {@link isNodeErasedBy}.
|
|
440
513
|
*/
|
|
441
514
|
const collectUnwrappedCallees = (
|
|
442
515
|
sourceFile: DeepReadonly<ts.SourceFile>,
|
|
@@ -516,7 +589,7 @@ const standsAloneWithoutParentheses = (
|
|
|
516
589
|
*/
|
|
517
590
|
const collectUnusedImports = (
|
|
518
591
|
sourceFile: DeepReadonly<ts.SourceFile>,
|
|
519
|
-
isErased:
|
|
592
|
+
isErased: IsNodeErased,
|
|
520
593
|
): readonly EraseRange[] => {
|
|
521
594
|
const referencedNames = collectReferencedNames(sourceFile, isErased);
|
|
522
595
|
|
|
@@ -633,9 +706,16 @@ const specifierEraseRange = (
|
|
|
633
706
|
* Names of every identifier that reads as a reference: everything except
|
|
634
707
|
* import bindings themselves and property names.
|
|
635
708
|
*/
|
|
709
|
+
/**
|
|
710
|
+
* The names the output still refers to.
|
|
711
|
+
*
|
|
712
|
+
* A subtree is skipped only when all of it is erased. Skipping one that merely
|
|
713
|
+
* begins in erased text would lose the argument of every unwrapped identity
|
|
714
|
+
* call, whose names the output goes on using.
|
|
715
|
+
*/
|
|
636
716
|
const collectReferencedNames = (
|
|
637
717
|
sourceFile: DeepReadonly<ts.SourceFile>,
|
|
638
|
-
isErased:
|
|
718
|
+
isErased: IsNodeErased,
|
|
639
719
|
): ReadonlySet<string> => {
|
|
640
720
|
const mut_names = new Set<string>();
|
|
641
721
|
|
|
@@ -644,7 +724,7 @@ const collectReferencedNames = (
|
|
|
644
724
|
return;
|
|
645
725
|
}
|
|
646
726
|
|
|
647
|
-
if (isErased(node.getStart(sourceFile))) {
|
|
727
|
+
if (isErased(node.getStart(sourceFile), node.getEnd())) {
|
|
648
728
|
return;
|
|
649
729
|
}
|
|
650
730
|
|
|
@@ -207,6 +207,30 @@ describe(stripDevOnlyCode, () => {
|
|
|
207
207
|
);
|
|
208
208
|
});
|
|
209
209
|
|
|
210
|
+
test("keeps the imports an unwrapped cast's argument uses", () => {
|
|
211
|
+
// Unwrapping erases `castMutable(` and the closing `)`, and the first of
|
|
212
|
+
// those ranges starts where the call itself starts. So a walk that skips
|
|
213
|
+
// a subtree beginning in erased text skips the argument too, and the
|
|
214
|
+
// names it uses come back unreferenced — while the argument is exactly
|
|
215
|
+
// what the output keeps. `ts-data-forge@14.6.3` shipped `Arr.scan` and
|
|
216
|
+
// `Arr.fill` calling `newArray`, `asPositiveUint32` and `copy` with the
|
|
217
|
+
// imports for them deleted.
|
|
218
|
+
assert.deepStrictEqual(
|
|
219
|
+
stripKeepingLines(
|
|
220
|
+
dedent`
|
|
221
|
+
import { asPositiveUint32, castMutable, newArray } from 'x';
|
|
222
|
+
export const f = (xs, init) =>
|
|
223
|
+
castMutable(newArray(asPositiveUint32(xs.length + 1), init));
|
|
224
|
+
`,
|
|
225
|
+
),
|
|
226
|
+
dedent`
|
|
227
|
+
import { asPositiveUint32, newArray } from 'x';
|
|
228
|
+
export const f = (xs, init) =>
|
|
229
|
+
newArray(asPositiveUint32(xs.length + 1), init);
|
|
230
|
+
`,
|
|
231
|
+
);
|
|
232
|
+
});
|
|
233
|
+
|
|
210
234
|
test('leaves a member call, an optional call and a two-argument call alone', () => {
|
|
211
235
|
const source = dedent`
|
|
212
236
|
import { castMutable } from 'ts-data-forge';
|
|
@@ -219,6 +243,29 @@ describe(stripDevOnlyCode, () => {
|
|
|
219
243
|
assert.deepStrictEqual(stripKeepingLines(source), source);
|
|
220
244
|
});
|
|
221
245
|
|
|
246
|
+
test("keeps the cast's own import when another use of it survives", () => {
|
|
247
|
+
// There is no rule that removes an identity cast's import by name, and
|
|
248
|
+
// there could not be: `castMutable` is unwrapped in one place here and
|
|
249
|
+
// left alone in the other, so the name is still referenced and has to
|
|
250
|
+
// stay imported. What removes it in the ordinary case is the one general
|
|
251
|
+
// rule — an import binding nothing in the output refers to any more goes
|
|
252
|
+
// — which is also what removes `expectType`'s import above.
|
|
253
|
+
assert.deepStrictEqual(
|
|
254
|
+
stripKeepingLines(
|
|
255
|
+
dedent`
|
|
256
|
+
import { castMutable, newArray } from 'x';
|
|
257
|
+
export const f = (xs) => xs.map(castMutable);
|
|
258
|
+
export const g = (n) => castMutable(newArray(n));
|
|
259
|
+
`,
|
|
260
|
+
),
|
|
261
|
+
dedent`
|
|
262
|
+
import { castMutable, newArray } from 'x';
|
|
263
|
+
export const f = (xs) => xs.map(castMutable);
|
|
264
|
+
export const g = (n) => newArray(n);
|
|
265
|
+
`,
|
|
266
|
+
);
|
|
267
|
+
});
|
|
268
|
+
|
|
222
269
|
test('prunes a middle and a last import specifier', () => {
|
|
223
270
|
assert.deepStrictEqual(
|
|
224
271
|
stripKeepingLines(
|