ts-repo-utils 10.7.0 → 10.7.1
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/cmd/assert-repo-is-clean.mjs +2 -1
- package/dist/cmd/assert-repo-is-clean.mjs.map +1 -1
- package/dist/cmd/check-should-run-type-checks.mjs +2 -1
- package/dist/cmd/check-should-run-type-checks.mjs.map +1 -1
- package/dist/cmd/check-should-run.mjs +2 -1
- package/dist/cmd/check-should-run.mjs.map +1 -1
- package/dist/cmd/cli-version.d.mts +19 -0
- package/dist/cmd/cli-version.d.mts.map +1 -0
- package/dist/cmd/cli-version.mjs +20 -0
- package/dist/cmd/cli-version.mjs.map +1 -0
- package/dist/cmd/format-diff-from.mjs +2 -1
- package/dist/cmd/format-diff-from.mjs.map +1 -1
- package/dist/cmd/format-uncommitted.mjs +2 -1
- package/dist/cmd/format-uncommitted.mjs.map +1 -1
- package/dist/cmd/gen-index-ts.mjs +2 -1
- package/dist/cmd/gen-index-ts.mjs.map +1 -1
- package/package.json +5 -7
- package/src/cmd/assert-repo-is-clean.mts +2 -1
- package/src/cmd/check-should-run-type-checks.mts +2 -1
- package/src/cmd/check-should-run.mts +2 -1
- package/src/cmd/cli-version.mts +20 -0
- package/src/cmd/cli-version.test.mts +79 -0
- package/src/cmd/format-diff-from.mts +2 -1
- package/src/cmd/format-uncommitted.mts +2 -1
- package/src/cmd/gen-index-ts.mts +2 -1
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
import * as cmd from 'cmd-ts';
|
|
3
3
|
import { Arr } from 'ts-data-forge';
|
|
4
4
|
import { assertRepoIsClean } from '../functions/index.mjs';
|
|
5
|
+
import { cliVersion } from './cli-version.mjs';
|
|
5
6
|
const cmdDef = cmd.command({
|
|
6
7
|
name: 'assert-repo-is-clean-cli',
|
|
7
|
-
version:
|
|
8
|
+
version: cliVersion,
|
|
8
9
|
args: {
|
|
9
10
|
silent: cmd.flag({
|
|
10
11
|
long: 'silent',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert-repo-is-clean.mjs","sourceRoot":"","sources":["../../src/cmd/assert-repo-is-clean.mts"],"names":[],"mappings":";AAEA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"assert-repo-is-clean.mjs","sourceRoot":"","sources":["../../src/cmd/assert-repo-is-clean.mts"],"names":[],"mappings":";AAEA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACzB,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE;QACJ,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,sDAAsD;SACpE,CAAC;KACH;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAChB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAE3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,KAAK,EAAE,IAAoC,EAAiB,EAAE;IACzE,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
import * as cmd from 'cmd-ts';
|
|
3
3
|
import { Arr } from 'ts-data-forge';
|
|
4
4
|
import { checkShouldRunTypeChecks } from '../functions/index.mjs';
|
|
5
|
+
import { cliVersion } from './cli-version.mjs';
|
|
5
6
|
const cmdDef = cmd.command({
|
|
6
7
|
name: 'check-should-run-type-checks-cli',
|
|
7
|
-
version:
|
|
8
|
+
version: cliVersion,
|
|
8
9
|
args: {
|
|
9
10
|
pathsIgnore: cmd.multioption({
|
|
10
11
|
long: 'paths-ignore',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-should-run-type-checks.mjs","sourceRoot":"","sources":["../../src/cmd/check-should-run-type-checks.mts"],"names":[],"mappings":";AAEA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"check-should-run-type-checks.mjs","sourceRoot":"","sources":["../../src/cmd/check-should-run-type-checks.mts"],"names":[],"mappings":";AAEA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACzB,IAAI,EAAE,kCAAkC;IACxC,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE;QACJ,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC;YAC3B,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzC,WAAW,EACT,0KAA0K;SAC7K,CAAC;QACF,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B,WAAW,EACT,gKAAgK;SACnK,CAAC;KACH;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAChB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAE3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,KAAK,EAChB,IAGE,EACa,EAAE;IACjB,MAAM,wBAAwB,CAAC;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
import * as cmd from 'cmd-ts';
|
|
3
3
|
import { Arr } from 'ts-data-forge';
|
|
4
4
|
import { checkShouldRun } from '../functions/index.mjs';
|
|
5
|
+
import { cliVersion } from './cli-version.mjs';
|
|
5
6
|
const cmdDef = cmd.command({
|
|
6
7
|
name: 'check-should-run-cli',
|
|
7
|
-
version:
|
|
8
|
+
version: cliVersion,
|
|
8
9
|
args: {
|
|
9
10
|
pathsIgnore: cmd.multioption({
|
|
10
11
|
long: 'paths-ignore',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-should-run.mjs","sourceRoot":"","sources":["../../src/cmd/check-should-run.mts"],"names":[],"mappings":";AAEA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"check-should-run.mjs","sourceRoot":"","sources":["../../src/cmd/check-should-run.mts"],"names":[],"mappings":";AAEA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACzB,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE;QACJ,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC;YAC3B,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzC,WAAW,EACT,oPAAoP;SACvP,CAAC;QACF,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B,WAAW,EACT,gKAAgK;SACnK,CAAC;KACH;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAChB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAE3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,KAAK,EAChB,IAGE,EACa,EAAE;IACjB,MAAM,cAAc,CAAC;QACnB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The version string the CLIs in this directory report for `--version`.
|
|
3
|
+
*
|
|
4
|
+
* It is read from the package's own `package.json` rather than written down.
|
|
5
|
+
* A literal has to be carried from `package.json` by a separate step, and
|
|
6
|
+
* what a CLI prints is the one value that must not lag behind the code it is
|
|
7
|
+
* printed by: it is what tells a consumer which build of these commands their
|
|
8
|
+
* CI is actually running.
|
|
9
|
+
*
|
|
10
|
+
* The import attribute is required under `module: NodeNext`, and it is also
|
|
11
|
+
* what keeps this cheap: TypeScript leaves the specifier alone instead of
|
|
12
|
+
* pulling `package.json` in as an emit input, so `dist/` keeps its layout
|
|
13
|
+
* and no copy of the manifest is produced that could itself go stale.
|
|
14
|
+
* `package.json` sits two directories up both from the sources (`src/cmd/`)
|
|
15
|
+
* and from what `bin` points at (`dist/cmd/`), so one specifier serves the
|
|
16
|
+
* repository and the published package alike.
|
|
17
|
+
*/
|
|
18
|
+
export declare const cliVersion: string;
|
|
19
|
+
//# sourceMappingURL=cli-version.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-version.d.mts","sourceRoot":"","sources":["../../src/cmd/cli-version.mts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,UAAU,EAAE,MAA4B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-version.mjs","sourceRoot":"","sources":["../../src/cmd/cli-version.mts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,UAAU,GAAW,WAAW,CAAC,OAAO,CAAC"}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
import * as cmd from 'cmd-ts';
|
|
3
3
|
import { Arr, Result } from 'ts-data-forge';
|
|
4
4
|
import { formatDiffFrom } from '../functions/index.mjs';
|
|
5
|
+
import { cliVersion } from './cli-version.mjs';
|
|
5
6
|
const cmdDef = cmd.command({
|
|
6
7
|
name: 'format-diff-from-cli',
|
|
7
|
-
version:
|
|
8
|
+
version: cliVersion,
|
|
8
9
|
args: {
|
|
9
10
|
base: cmd.positional({
|
|
10
11
|
type: cmd.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-diff-from.mjs","sourceRoot":"","sources":["../../src/cmd/format-diff-from.mts"],"names":[],"mappings":";AAEA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"format-diff-from.mjs","sourceRoot":"","sources":["../../src/cmd/format-diff-from.mts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
import * as cmd from 'cmd-ts';
|
|
3
3
|
import { Arr, Result } from 'ts-data-forge';
|
|
4
4
|
import { formatUncommittedFiles } from '../functions/index.mjs';
|
|
5
|
+
import { cliVersion } from './cli-version.mjs';
|
|
5
6
|
const cmdDef = cmd.command({
|
|
6
7
|
name: 'format-uncommitted-cli',
|
|
7
|
-
version:
|
|
8
|
+
version: cliVersion,
|
|
8
9
|
args: {
|
|
9
10
|
excludeUntracked: cmd.flag({
|
|
10
11
|
long: 'exclude-untracked',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-uncommitted.mjs","sourceRoot":"","sources":["../../src/cmd/format-uncommitted.mts"],"names":[],"mappings":";AAEA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"format-uncommitted.mjs","sourceRoot":"","sources":["../../src/cmd/format-uncommitted.mts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import * as cmd from 'cmd-ts';
|
|
4
4
|
import { Arr } from 'ts-data-forge';
|
|
5
5
|
import { genIndex } from '../functions/index.mjs';
|
|
6
|
+
import { cliVersion } from './cli-version.mjs';
|
|
6
7
|
const extensionType = cmd.extendType(cmd.string, {
|
|
7
8
|
from: (s) => {
|
|
8
9
|
if (!s.startsWith('.')) {
|
|
@@ -26,7 +27,7 @@ cmd.array(t), {
|
|
|
26
27
|
});
|
|
27
28
|
const cmdDef = cmd.command({
|
|
28
29
|
name: 'gen-index-ts-cli',
|
|
29
|
-
version:
|
|
30
|
+
version: cliVersion,
|
|
30
31
|
args: {
|
|
31
32
|
|
|
32
33
|
targetDirectory: cmd.positional({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gen-index-ts.mjs","sourceRoot":"","sources":["../../src/cmd/gen-index-ts.mts"],"names":[],"mappings":";AAEA,4CAA4C;AAE5C,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"gen-index-ts.mjs","sourceRoot":"","sources":["../../src/cmd/gen-index-ts.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.7.
|
|
3
|
+
"version": "10.7.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript"
|
|
@@ -54,10 +54,10 @@
|
|
|
54
54
|
"typescript": ">=5.0.0 <7.0.0"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@types/node": "26.5.
|
|
57
|
+
"@types/node": "26.5.1",
|
|
58
58
|
"@vitest/coverage-v8": "5.0.0",
|
|
59
59
|
"@vitest/ui": "5.0.0",
|
|
60
|
-
"cspell": "10.3.
|
|
60
|
+
"cspell": "10.3.1",
|
|
61
61
|
"dedent": "1.7.2",
|
|
62
62
|
"esbuild": "0.28.2",
|
|
63
63
|
"eslint": "10.10.0",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"typedoc": "0.28.20",
|
|
75
75
|
"typedoc-github-theme": "0.4.0",
|
|
76
76
|
"typescript-native": "npm:typescript@7.0.2",
|
|
77
|
-
"vite": "8.
|
|
77
|
+
"vite": "8.3.0",
|
|
78
78
|
"vitest": "5.0.0"
|
|
79
79
|
},
|
|
80
80
|
"peerDependencies": {
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"pnpm": ">=8.0.0"
|
|
86
86
|
},
|
|
87
87
|
"volta": {
|
|
88
|
-
"node": "26.
|
|
88
|
+
"node": "26.9.0"
|
|
89
89
|
},
|
|
90
90
|
"publishConfig": {
|
|
91
91
|
"access": "public",
|
|
@@ -116,8 +116,6 @@
|
|
|
116
116
|
"gen:index:src": "pnpm run z:gen-index-ts ./src --index-ext .mts --export-ext .mjs --target-ext .mts --target-ext .tsx --exclude entry-point.mts --exclude cmd",
|
|
117
117
|
"gen:jsdoc": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/embed-examples-in-jsdoc.mts",
|
|
118
118
|
"gen:readme": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/embed-examples.mts",
|
|
119
|
-
"prepare-release": "run-s sync-cli-versions fix:fmt build doc",
|
|
120
|
-
"sync-cli-versions": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json scripts/cmd/sync-cli-versions.mts",
|
|
121
119
|
"test": "pnpm run check:test",
|
|
122
120
|
"test:cov:ui": "vite preview --outDir ./coverage",
|
|
123
121
|
"test:ui": "pnpm run z:vitest:node --ui",
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
import * as cmd from 'cmd-ts';
|
|
4
4
|
import { Arr } from 'ts-data-forge';
|
|
5
5
|
import { assertRepoIsClean } from '../functions/index.mjs';
|
|
6
|
+
import { cliVersion } from './cli-version.mjs';
|
|
6
7
|
|
|
7
8
|
const cmdDef = cmd.command({
|
|
8
9
|
name: 'assert-repo-is-clean-cli',
|
|
9
|
-
version:
|
|
10
|
+
version: cliVersion,
|
|
10
11
|
args: {
|
|
11
12
|
silent: cmd.flag({
|
|
12
13
|
long: 'silent',
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
import * as cmd from 'cmd-ts';
|
|
4
4
|
import { Arr } from 'ts-data-forge';
|
|
5
5
|
import { checkShouldRunTypeChecks } from '../functions/index.mjs';
|
|
6
|
+
import { cliVersion } from './cli-version.mjs';
|
|
6
7
|
|
|
7
8
|
const cmdDef = cmd.command({
|
|
8
9
|
name: 'check-should-run-type-checks-cli',
|
|
9
|
-
version:
|
|
10
|
+
version: cliVersion,
|
|
10
11
|
args: {
|
|
11
12
|
pathsIgnore: cmd.multioption({
|
|
12
13
|
long: 'paths-ignore',
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
import * as cmd from 'cmd-ts';
|
|
4
4
|
import { Arr } from 'ts-data-forge';
|
|
5
5
|
import { checkShouldRun } from '../functions/index.mjs';
|
|
6
|
+
import { cliVersion } from './cli-version.mjs';
|
|
6
7
|
|
|
7
8
|
const cmdDef = cmd.command({
|
|
8
9
|
name: 'check-should-run-cli',
|
|
9
|
-
version:
|
|
10
|
+
version: cliVersion,
|
|
10
11
|
args: {
|
|
11
12
|
pathsIgnore: cmd.multioption({
|
|
12
13
|
long: 'paths-ignore',
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import packageJson from '../../package.json' with { type: 'json' };
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The version string the CLIs in this directory report for `--version`.
|
|
5
|
+
*
|
|
6
|
+
* It is read from the package's own `package.json` rather than written down.
|
|
7
|
+
* A literal has to be carried from `package.json` by a separate step, and
|
|
8
|
+
* what a CLI prints is the one value that must not lag behind the code it is
|
|
9
|
+
* printed by: it is what tells a consumer which build of these commands their
|
|
10
|
+
* CI is actually running.
|
|
11
|
+
*
|
|
12
|
+
* The import attribute is required under `module: NodeNext`, and it is also
|
|
13
|
+
* what keeps this cheap: TypeScript leaves the specifier alone instead of
|
|
14
|
+
* pulling `package.json` in as an emit input, so `dist/` keeps its layout
|
|
15
|
+
* and no copy of the manifest is produced that could itself go stale.
|
|
16
|
+
* `package.json` sits two directories up both from the sources (`src/cmd/`)
|
|
17
|
+
* and from what `bin` points at (`dist/cmd/`), so one specifier serves the
|
|
18
|
+
* repository and the published package alike.
|
|
19
|
+
*/
|
|
20
|
+
export const cliVersion: string = packageJson.version;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as fs from 'node:fs/promises';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import { hasKey, isRecord, isString, Result } from 'ts-data-forge';
|
|
4
|
+
import { $ } from '../functions/index.mjs';
|
|
5
|
+
|
|
6
|
+
const packageRoot = path.resolve(import.meta.dirname, '../..');
|
|
7
|
+
|
|
8
|
+
const repoRoot = path.resolve(packageRoot, '../..');
|
|
9
|
+
|
|
10
|
+
const tsx = path.resolve(packageRoot, './node_modules/.bin/tsx');
|
|
11
|
+
|
|
12
|
+
const tsxTsconfig = path.resolve(repoRoot, './tools/configs/tsconfig.tsx.json');
|
|
13
|
+
|
|
14
|
+
/** The parsed `package.json` this package publishes. */
|
|
15
|
+
const readManifest = async (): Promise<unknown> =>
|
|
16
|
+
JSON.parse(
|
|
17
|
+
await fs.readFile(path.resolve(packageRoot, './package.json'), 'utf8'),
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
/** The version the published package carries. */
|
|
21
|
+
const manifestVersion = (manifest: unknown): string => {
|
|
22
|
+
if (
|
|
23
|
+
!isRecord(manifest) ||
|
|
24
|
+
!hasKey(manifest, 'version') ||
|
|
25
|
+
!isString(manifest.version)
|
|
26
|
+
) {
|
|
27
|
+
throw new Error('package.json declares no string "version"');
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return manifest.version;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
/** The names of the commands the published package installs. */
|
|
34
|
+
const manifestBinNames = (manifest: unknown): readonly string[] => {
|
|
35
|
+
if (
|
|
36
|
+
!isRecord(manifest) ||
|
|
37
|
+
!hasKey(manifest, 'bin') ||
|
|
38
|
+
!isRecord(manifest.bin)
|
|
39
|
+
) {
|
|
40
|
+
throw new Error('package.json declares no "bin" record');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return Object.keys(manifest.bin).toSorted();
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/** Runs one CLI entry point with `--version` and returns what it printed. */
|
|
47
|
+
const reportedVersion = async (binName: string): Promise<string> => {
|
|
48
|
+
const entryPoint = path.resolve(packageRoot, `./src/cmd/${binName}.mts`);
|
|
49
|
+
|
|
50
|
+
const result = await $(
|
|
51
|
+
`"${tsx}" --tsconfig "${tsxTsconfig}" "${entryPoint}" --version`,
|
|
52
|
+
{ silent: true, cwd: packageRoot },
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
assert.isTrue(Result.isOk(result));
|
|
56
|
+
|
|
57
|
+
return Result.isOk(result) ? result.value.stdout.trim() : '';
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
describe('CLI --version', () => {
|
|
61
|
+
test('every published CLI reports this package version', async () => {
|
|
62
|
+
const manifest = await readManifest();
|
|
63
|
+
|
|
64
|
+
const version = manifestVersion(manifest);
|
|
65
|
+
|
|
66
|
+
const binNames = manifestBinNames(manifest);
|
|
67
|
+
|
|
68
|
+
const reported = await Promise.all(
|
|
69
|
+
binNames.map(
|
|
70
|
+
async (name) => [name, await reportedVersion(name)] as const,
|
|
71
|
+
),
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
assert.deepStrictEqual(
|
|
75
|
+
Object.fromEntries(reported),
|
|
76
|
+
Object.fromEntries(binNames.map((name) => [name, version])),
|
|
77
|
+
);
|
|
78
|
+
}, 120_000);
|
|
79
|
+
});
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
import * as cmd from 'cmd-ts';
|
|
4
4
|
import { Arr, Result } from 'ts-data-forge';
|
|
5
5
|
import { formatDiffFrom } from '../functions/index.mjs';
|
|
6
|
+
import { cliVersion } from './cli-version.mjs';
|
|
6
7
|
|
|
7
8
|
const cmdDef = cmd.command({
|
|
8
9
|
name: 'format-diff-from-cli',
|
|
9
|
-
version:
|
|
10
|
+
version: cliVersion,
|
|
10
11
|
args: {
|
|
11
12
|
base: cmd.positional({
|
|
12
13
|
type: cmd.string,
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
import * as cmd from 'cmd-ts';
|
|
4
4
|
import { Arr, Result } from 'ts-data-forge';
|
|
5
5
|
import { formatUncommittedFiles } from '../functions/index.mjs';
|
|
6
|
+
import { cliVersion } from './cli-version.mjs';
|
|
6
7
|
|
|
7
8
|
const cmdDef = cmd.command({
|
|
8
9
|
name: 'format-uncommitted-cli',
|
|
9
|
-
version:
|
|
10
|
+
version: cliVersion,
|
|
10
11
|
args: {
|
|
11
12
|
excludeUntracked: cmd.flag({
|
|
12
13
|
long: 'exclude-untracked',
|
package/src/cmd/gen-index-ts.mts
CHANGED
|
@@ -8,6 +8,7 @@ import { Arr, expectType } from 'ts-data-forge';
|
|
|
8
8
|
import { type InputOf, type OutputOf } from 'cmd-ts/dist/esm/from.js';
|
|
9
9
|
import { type NonEmptyArray } from 'ts-type-forge';
|
|
10
10
|
import { genIndex } from '../functions/index.mjs';
|
|
11
|
+
import { cliVersion } from './cli-version.mjs';
|
|
11
12
|
|
|
12
13
|
type Ext = `.${string}`;
|
|
13
14
|
|
|
@@ -46,7 +47,7 @@ const nonEmptyArray = <T extends cmd.Type<any, any>>(
|
|
|
46
47
|
|
|
47
48
|
const cmdDef = cmd.command({
|
|
48
49
|
name: 'gen-index-ts-cli',
|
|
49
|
-
version:
|
|
50
|
+
version: cliVersion,
|
|
50
51
|
args: {
|
|
51
52
|
// required args
|
|
52
53
|
targetDirectory: cmd.positional({
|