ts-repo-utils 10.4.0 → 10.6.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.
Files changed (69) hide show
  1. package/README.md +6 -8
  2. package/dist/cmd/assert-repo-is-clean.mjs +18 -28
  3. package/dist/cmd/assert-repo-is-clean.mjs.map +1 -1
  4. package/dist/cmd/check-should-run-type-checks.mjs +26 -36
  5. package/dist/cmd/check-should-run-type-checks.mjs.map +1 -1
  6. package/dist/cmd/check-should-run.mjs +26 -36
  7. package/dist/cmd/check-should-run.mjs.map +1 -1
  8. package/dist/cmd/format-diff-from.mjs +67 -76
  9. package/dist/cmd/format-diff-from.mjs.map +1 -1
  10. package/dist/cmd/format-uncommitted.mjs +61 -70
  11. package/dist/cmd/format-uncommitted.mjs.map +1 -1
  12. package/dist/cmd/gen-index-ts.mjs +110 -121
  13. package/dist/cmd/gen-index-ts.mjs.map +1 -1
  14. package/dist/entry-point.mjs +2 -18
  15. package/dist/entry-point.mjs.map +1 -1
  16. package/dist/functions/assert-ext.mjs +86 -77
  17. package/dist/functions/assert-ext.mjs.map +1 -1
  18. package/dist/functions/assert-path-exists.mjs +26 -16
  19. package/dist/functions/assert-path-exists.mjs.map +1 -1
  20. package/dist/functions/assert-repo-is-clean.mjs +58 -46
  21. package/dist/functions/assert-repo-is-clean.mjs.map +1 -1
  22. package/dist/functions/create-result-assert.mjs +34 -32
  23. package/dist/functions/create-result-assert.mjs.map +1 -1
  24. package/dist/functions/diff.mjs +80 -64
  25. package/dist/functions/diff.mjs.map +1 -1
  26. package/dist/functions/exec-async.mjs +43 -47
  27. package/dist/functions/exec-async.mjs.map +1 -1
  28. package/dist/functions/format.mjs +309 -272
  29. package/dist/functions/format.mjs.map +1 -1
  30. package/dist/functions/gen-index.mjs +414 -189
  31. package/dist/functions/gen-index.mjs.map +1 -1
  32. package/dist/functions/glob.mjs +10 -15
  33. package/dist/functions/glob.mjs.map +1 -1
  34. package/dist/functions/index.d.mts +1 -0
  35. package/dist/functions/index.d.mts.map +1 -1
  36. package/dist/functions/index.mjs +15 -18
  37. package/dist/functions/index.mjs.map +1 -1
  38. package/dist/functions/is-directly-executed.mjs +3 -5
  39. package/dist/functions/is-directly-executed.mjs.map +1 -1
  40. package/dist/functions/make-empty-dir.mjs +4 -6
  41. package/dist/functions/make-empty-dir.mjs.map +1 -1
  42. package/dist/functions/should-run.mjs +157 -47
  43. package/dist/functions/should-run.mjs.map +1 -1
  44. package/dist/functions/strip-dev-only-code.d.mts +103 -0
  45. package/dist/functions/strip-dev-only-code.d.mts.map +1 -0
  46. package/dist/functions/strip-dev-only-code.mjs +477 -0
  47. package/dist/functions/strip-dev-only-code.mjs.map +1 -0
  48. package/dist/functions/workspace-utils/execute-parallel.mjs +204 -136
  49. package/dist/functions/workspace-utils/execute-parallel.mjs.map +1 -1
  50. package/dist/functions/workspace-utils/get-workspace-packages.mjs +75 -64
  51. package/dist/functions/workspace-utils/get-workspace-packages.mjs.map +1 -1
  52. package/dist/functions/workspace-utils/index.mjs +6 -6
  53. package/dist/functions/workspace-utils/index.mjs.map +1 -1
  54. package/dist/functions/workspace-utils/run-cmd-in-parallel.mjs +33 -26
  55. package/dist/functions/workspace-utils/run-cmd-in-parallel.mjs.map +1 -1
  56. package/dist/functions/workspace-utils/run-cmd-in-stages.mjs +39 -30
  57. package/dist/functions/workspace-utils/run-cmd-in-stages.mjs.map +1 -1
  58. package/dist/functions/workspace-utils/types.mjs +15 -7
  59. package/dist/functions/workspace-utils/types.mjs.map +1 -1
  60. package/dist/index.mjs +2 -18
  61. package/dist/index.mjs.map +1 -1
  62. package/package.json +11 -12
  63. package/src/cmd/gen-index-ts.mts +2 -2
  64. package/src/functions/diff.mts +3 -3
  65. package/src/functions/diff.test.mts +6 -6
  66. package/src/functions/gen-index.mts +177 -7
  67. package/src/functions/index.mts +1 -0
  68. package/src/functions/strip-dev-only-code.mts +767 -0
  69. package/src/functions/strip-dev-only-code.test.mts +537 -0
package/README.md CHANGED
@@ -428,10 +428,10 @@ type CheckExtConfig = Readonly<{
428
428
  Creates an assert-style wrapper around a function that returns a `Result`, exiting the process with a non-zero code when the underlying function yields an error. The wrapper keeps success handling customizable while reusing the composable Result-based variant elsewhere.
429
429
 
430
430
  ```tsx
431
- import { hasKey, isNumber, isRecord, isString, Result } from 'ts-data-forge';
431
+ import { hasKey, isNumber, isRecord, Result } from 'ts-data-forge';
432
432
  import { createResultAssert } from 'ts-repo-utils';
433
433
 
434
- type AppConfig = Readonly<{ port: number; host: string }>;
434
+ type AppConfig = Readonly<{ port: number }>;
435
435
 
436
436
  const parseConfig = (
437
437
  raw: string,
@@ -447,24 +447,22 @@ const parseConfig = (
447
447
  if (
448
448
  !isRecord(parsed) ||
449
449
  !hasKey(parsed, 'port') ||
450
- !hasKey(parsed, 'host') ||
451
- !isNumber(parsed.port) ||
452
- !isString(parsed.host)
450
+ !isNumber(parsed.port)
453
451
  ) {
454
452
  return Promise.resolve(Result.err({ message: 'Invalid config shape' }));
455
453
  }
456
454
 
457
- return Promise.resolve(Result.ok({ port: parsed.port, host: parsed.host }));
455
+ return Promise.resolve(Result.ok({ port: parsed.port }));
458
456
  };
459
457
 
460
458
  const assertValidConfig = createResultAssert({
461
459
  run: parseConfig,
462
460
  onSuccess: (config) => {
463
- console.log(`✓ Config loaded: ${config.host}:${config.port}`);
461
+ console.log(`✓ Config loaded on port ${config.port}`);
464
462
  },
465
463
  });
466
464
 
467
- await assertValidConfig('{"port":3000,"host":"localhost"}');
465
+ await assertValidConfig('{"port":3000}');
468
466
  ```
469
467
 
470
468
  **Options:**
@@ -1,36 +1,26 @@
1
1
  #!/usr/bin/env node
2
2
  import * as cmd from 'cmd-ts';
3
3
  import { Arr } from 'ts-data-forge';
4
- import 'node:path';
5
- import 'node:fs/promises';
6
- import 'fast-glob';
7
- import { assertRepoIsClean } from '../functions/assert-repo-is-clean.mjs';
8
- import 'node:child_process';
9
- import 'prettier';
10
- import 'micromatch';
11
- import 'node:fs';
12
- import 'node:url';
13
- import '@sindresorhus/is';
14
-
4
+ import { assertRepoIsClean } from '../functions/index.mjs';
15
5
  const cmdDef = cmd.command({
16
- name: "assert-repo-is-clean-cli",
17
- version: "10.1.8",
18
- args: {
19
- silent: cmd.flag({
20
- long: "silent",
21
- type: cmd.optional(cmd.boolean),
22
- description: "If true, suppresses output messages (default: false)"
23
- })
24
- },
25
- handler: (args) => {
26
- main(args).catch((error) => {
27
- console.error("An error occurred:", error);
28
- process.exit(1);
29
- });
30
- }
6
+ name: 'assert-repo-is-clean-cli',
7
+ version: '10.1.8',
8
+ args: {
9
+ silent: cmd.flag({
10
+ long: 'silent',
11
+ type: cmd.optional(cmd.boolean),
12
+ description: 'If true, suppresses output messages (default: false)',
13
+ }),
14
+ },
15
+ handler: (args) => {
16
+ main(args).catch((error) => {
17
+ console.error('An error occurred:', error);
18
+ process.exit(1);
19
+ });
20
+ },
31
21
  });
32
22
  const main = async (args) => {
33
- await assertRepoIsClean({ silent: args.silent });
23
+ await assertRepoIsClean({ silent: args.silent });
34
24
  };
35
25
  await cmd.run(cmdDef, Arr.skip(process.argv, 2));
36
- //# sourceMappingURL=assert-repo-is-clean.mjs.map
26
+ //# sourceMappingURL=assert-repo-is-clean.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"assert-repo-is-clean.mjs","sources":["../../src/cmd/assert-repo-is-clean.mts"],"sourcesContent":["#!/usr/bin/env node\n\nimport * as cmd from 'cmd-ts';\nimport { Arr } from 'ts-data-forge';\nimport { assertRepoIsClean } from '../functions/index.mjs';\n\nconst cmdDef = cmd.command({\n name: 'assert-repo-is-clean-cli',\n version: '10.1.8',\n args: {\n silent: cmd.flag({\n long: 'silent',\n type: cmd.optional(cmd.boolean),\n description: 'If true, suppresses output messages (default: false)',\n }),\n },\n handler: (args) => {\n main(args).catch((error: unknown) => {\n console.error('An error occurred:', error);\n\n process.exit(1);\n });\n },\n});\n\nconst main = async (args: Readonly<{ silent?: boolean }>): Promise<void> => {\n await assertRepoIsClean({ silent: args.silent });\n};\n\nawait cmd.run(cmdDef, Arr.skip(process.argv, 2));\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAMA,MAAM,MAAA,GAAS,IAAI,OAAA,CAAQ;AAAA,EACzB,IAAA,EAAM,0BAAA;AAAA,EACN,OAAA,EAAS,QAAA;AAAA,EACT,IAAA,EAAM;AAAA,IACJ,MAAA,EAAQ,IAAI,IAAA,CAAK;AAAA,MACf,IAAA,EAAM,QAAA;AAAA,MACN,IAAA,EAAM,GAAA,CAAI,QAAA,CAAS,GAAA,CAAI,OAAO,CAAA;AAAA,MAC9B,WAAA,EAAa;AAAA,KACd;AAAA,GACH;AAAA,EACA,OAAA,EAAS,CAAC,IAAA,KAAS;AACjB,IAAA,IAAA,CAAK,IAAI,CAAA,CAAE,KAAA,CAAM,CAAC,KAAA,KAAmB;AACnC,MAAA,OAAA,CAAQ,KAAA,CAAM,sBAAsB,KAAK,CAAA;AAEzC,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,IAChB,CAAC,CAAA;AAAA,EACH;AACF,CAAC,CAAA;AAED,MAAM,IAAA,GAAO,OAAO,IAAA,KAAwD;AAC1E,EAAA,MAAM,iBAAA,CAAkB,EAAE,MAAA,EAAQ,IAAA,CAAK,QAAQ,CAAA;AACjD,CAAA;AAEA,MAAM,GAAA,CAAI,IAAI,MAAA,EAAQ,GAAA,CAAI,KAAK,OAAA,CAAQ,IAAA,EAAM,CAAC,CAAC,CAAA"}
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;AAE3D,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACzB,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,QAAQ;IACjB,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"}
@@ -1,44 +1,34 @@
1
1
  #!/usr/bin/env node
2
2
  import * as cmd from 'cmd-ts';
3
3
  import { Arr } from 'ts-data-forge';
4
- import 'node:path';
5
- import 'node:fs/promises';
6
- import 'fast-glob';
7
- import 'node:child_process';
8
- import 'prettier';
9
- import 'micromatch';
10
- import 'node:fs';
11
- import 'node:url';
12
- import { checkShouldRunTypeChecks } from '../functions/should-run.mjs';
13
- import '@sindresorhus/is';
14
-
4
+ import { checkShouldRunTypeChecks } from '../functions/index.mjs';
15
5
  const cmdDef = cmd.command({
16
- name: "check-should-run-type-checks-cli",
17
- version: "10.1.8",
18
- args: {
19
- pathsIgnore: cmd.multioption({
20
- long: "paths-ignore",
21
- type: cmd.optional(cmd.array(cmd.string)),
22
- description: 'Patterns to ignore when checking if type checks should run. Supports exact file matches, directory prefixes (ending with "/"), and file extensions (starting with "**.")'
23
- }),
24
- baseBranch: cmd.option({
25
- long: "base-branch",
26
- type: cmd.optional(cmd.string),
27
- description: 'Base branch to compare against for determining changed files. Defaults to "origin/main"'
28
- })
29
- },
30
- handler: (args) => {
31
- main(args).catch((error) => {
32
- console.error("An error occurred:", error);
33
- process.exit(1);
34
- });
35
- }
6
+ name: 'check-should-run-type-checks-cli',
7
+ version: '10.1.8',
8
+ args: {
9
+ pathsIgnore: cmd.multioption({
10
+ long: 'paths-ignore',
11
+ type: cmd.optional(cmd.array(cmd.string)),
12
+ description: 'Patterns to ignore when checking if type checks should run. Supports exact file matches, directory prefixes (ending with "/"), and file extensions (starting with "**.")',
13
+ }),
14
+ baseBranch: cmd.option({
15
+ long: 'base-branch',
16
+ type: cmd.optional(cmd.string),
17
+ description: 'Base branch to compare against for determining changed files. Defaults to "origin/main"',
18
+ }),
19
+ },
20
+ handler: (args) => {
21
+ main(args).catch((error) => {
22
+ console.error('An error occurred:', error);
23
+ process.exit(1);
24
+ });
25
+ },
36
26
  });
37
27
  const main = async (args) => {
38
- await checkShouldRunTypeChecks({
39
- pathsIgnore: args.pathsIgnore,
40
- baseBranch: args.baseBranch
41
- });
28
+ await checkShouldRunTypeChecks({
29
+ pathsIgnore: args.pathsIgnore,
30
+ baseBranch: args.baseBranch,
31
+ });
42
32
  };
43
33
  await cmd.run(cmdDef, Arr.skip(process.argv, 2));
44
- //# sourceMappingURL=check-should-run-type-checks.mjs.map
34
+ //# sourceMappingURL=check-should-run-type-checks.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-should-run-type-checks.mjs","sources":["../../src/cmd/check-should-run-type-checks.mts"],"sourcesContent":["#!/usr/bin/env node\n\nimport * as cmd from 'cmd-ts';\nimport { Arr } from 'ts-data-forge';\nimport { checkShouldRunTypeChecks } from '../functions/index.mjs';\n\nconst cmdDef = cmd.command({\n name: 'check-should-run-type-checks-cli',\n version: '10.1.8',\n args: {\n pathsIgnore: cmd.multioption({\n long: 'paths-ignore',\n type: cmd.optional(cmd.array(cmd.string)),\n description:\n 'Patterns to ignore when checking if type checks should run. Supports exact file matches, directory prefixes (ending with \"/\"), and file extensions (starting with \"**.\")',\n }),\n baseBranch: cmd.option({\n long: 'base-branch',\n type: cmd.optional(cmd.string),\n description:\n 'Base branch to compare against for determining changed files. Defaults to \"origin/main\"',\n }),\n },\n handler: (args) => {\n main(args).catch((error: unknown) => {\n console.error('An error occurred:', error);\n\n process.exit(1);\n });\n },\n});\n\nconst main = async (\n args: Readonly<{\n pathsIgnore?: readonly string[];\n baseBranch?: string;\n }>,\n): Promise<void> => {\n await checkShouldRunTypeChecks({\n pathsIgnore: args.pathsIgnore,\n baseBranch: args.baseBranch,\n });\n};\n\nawait cmd.run(cmdDef, Arr.skip(process.argv, 2));\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAMA,MAAM,MAAA,GAAS,IAAI,OAAA,CAAQ;AAAA,EACzB,IAAA,EAAM,kCAAA;AAAA,EACN,OAAA,EAAS,QAAA;AAAA,EACT,IAAA,EAAM;AAAA,IACJ,WAAA,EAAa,IAAI,WAAA,CAAY;AAAA,MAC3B,IAAA,EAAM,cAAA;AAAA,MACN,MAAM,GAAA,CAAI,QAAA,CAAS,IAAI,KAAA,CAAM,GAAA,CAAI,MAAM,CAAC,CAAA;AAAA,MACxC,WAAA,EACE;AAAA,KACH,CAAA;AAAA,IACD,UAAA,EAAY,IAAI,MAAA,CAAO;AAAA,MACrB,IAAA,EAAM,aAAA;AAAA,MACN,IAAA,EAAM,GAAA,CAAI,QAAA,CAAS,GAAA,CAAI,MAAM,CAAA;AAAA,MAC7B,WAAA,EACE;AAAA,KACH;AAAA,GACH;AAAA,EACA,OAAA,EAAS,CAAC,IAAA,KAAS;AACjB,IAAA,IAAA,CAAK,IAAI,CAAA,CAAE,KAAA,CAAM,CAAC,KAAA,KAAmB;AACnC,MAAA,OAAA,CAAQ,KAAA,CAAM,sBAAsB,KAAK,CAAA;AAEzC,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,IAChB,CAAC,CAAA;AAAA,EACH;AACF,CAAC,CAAA;AAED,MAAM,IAAA,GAAO,OACX,IAAA,KAIkB;AAClB,EAAA,MAAM,wBAAA,CAAyB;AAAA,IAC7B,aAAa,IAAA,CAAK,WAAA;AAAA,IAClB,YAAY,IAAA,CAAK;AAAA,GAClB,CAAA;AACH,CAAA;AAEA,MAAM,GAAA,CAAI,IAAI,MAAA,EAAQ,GAAA,CAAI,KAAK,OAAA,CAAQ,IAAA,EAAM,CAAC,CAAC,CAAA"}
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;AAElE,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACzB,IAAI,EAAE,kCAAkC;IACxC,OAAO,EAAE,QAAQ;IACjB,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,yFAAyF;SAC5F,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"}
@@ -1,44 +1,34 @@
1
1
  #!/usr/bin/env node
2
2
  import * as cmd from 'cmd-ts';
3
3
  import { Arr } from 'ts-data-forge';
4
- import 'node:path';
5
- import 'node:fs/promises';
6
- import 'fast-glob';
7
- import 'node:child_process';
8
- import 'prettier';
9
- import 'micromatch';
10
- import 'node:fs';
11
- import 'node:url';
12
- import { checkShouldRun } from '../functions/should-run.mjs';
13
- import '@sindresorhus/is';
14
-
4
+ import { checkShouldRun } from '../functions/index.mjs';
15
5
  const cmdDef = cmd.command({
16
- name: "check-should-run-cli",
17
- version: "10.2.0",
18
- args: {
19
- pathsIgnore: cmd.multioption({
20
- long: "paths-ignore",
21
- type: cmd.optional(cmd.array(cmd.string)),
22
- description: 'Patterns whose files do not affect the gated step. Matched with micromatch against repository-relative paths, with a trailing "/" as the shorthand for a directory (e.g. "experimental/", ".editorconfig", "**.md"). Defaults to ignoring nothing.'
23
- }),
24
- baseBranch: cmd.option({
25
- long: "base-branch",
26
- type: cmd.optional(cmd.string),
27
- description: 'Base branch to compare against for determining changed files. Defaults to "origin/main"'
28
- })
29
- },
30
- handler: (args) => {
31
- main(args).catch((error) => {
32
- console.error("An error occurred:", error);
33
- process.exit(1);
34
- });
35
- }
6
+ name: 'check-should-run-cli',
7
+ version: '10.2.0',
8
+ args: {
9
+ pathsIgnore: cmd.multioption({
10
+ long: 'paths-ignore',
11
+ type: cmd.optional(cmd.array(cmd.string)),
12
+ description: 'Patterns whose files do not affect the gated step. Matched with micromatch against repository-relative paths, with a trailing "/" as the shorthand for a directory (e.g. "experimental/", ".editorconfig", "**.md"). Defaults to ignoring nothing.',
13
+ }),
14
+ baseBranch: cmd.option({
15
+ long: 'base-branch',
16
+ type: cmd.optional(cmd.string),
17
+ description: 'Base branch to compare against for determining changed files. Defaults to "origin/main"',
18
+ }),
19
+ },
20
+ handler: (args) => {
21
+ main(args).catch((error) => {
22
+ console.error('An error occurred:', error);
23
+ process.exit(1);
24
+ });
25
+ },
36
26
  });
37
27
  const main = async (args) => {
38
- await checkShouldRun({
39
- pathsIgnore: args.pathsIgnore,
40
- baseBranch: args.baseBranch
41
- });
28
+ await checkShouldRun({
29
+ pathsIgnore: args.pathsIgnore,
30
+ baseBranch: args.baseBranch,
31
+ });
42
32
  };
43
33
  await cmd.run(cmdDef, Arr.skip(process.argv, 2));
44
- //# sourceMappingURL=check-should-run.mjs.map
34
+ //# sourceMappingURL=check-should-run.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-should-run.mjs","sources":["../../src/cmd/check-should-run.mts"],"sourcesContent":["#!/usr/bin/env node\n\nimport * as cmd from 'cmd-ts';\nimport { Arr } from 'ts-data-forge';\nimport { checkShouldRun } from '../functions/index.mjs';\n\nconst cmdDef = cmd.command({\n name: 'check-should-run-cli',\n version: '10.2.0',\n args: {\n pathsIgnore: cmd.multioption({\n long: 'paths-ignore',\n type: cmd.optional(cmd.array(cmd.string)),\n description:\n 'Patterns whose files do not affect the gated step. Matched with micromatch against repository-relative paths, with a trailing \"/\" as the shorthand for a directory (e.g. \"experimental/\", \".editorconfig\", \"**.md\"). Defaults to ignoring nothing.',\n }),\n baseBranch: cmd.option({\n long: 'base-branch',\n type: cmd.optional(cmd.string),\n description:\n 'Base branch to compare against for determining changed files. Defaults to \"origin/main\"',\n }),\n },\n handler: (args) => {\n main(args).catch((error: unknown) => {\n console.error('An error occurred:', error);\n\n process.exit(1);\n });\n },\n});\n\nconst main = async (\n args: Readonly<{\n pathsIgnore?: readonly string[];\n baseBranch?: string;\n }>,\n): Promise<void> => {\n await checkShouldRun({\n pathsIgnore: args.pathsIgnore,\n baseBranch: args.baseBranch,\n });\n};\n\nawait cmd.run(cmdDef, Arr.skip(process.argv, 2));\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAMA,MAAM,MAAA,GAAS,IAAI,OAAA,CAAQ;AAAA,EACzB,IAAA,EAAM,sBAAA;AAAA,EACN,OAAA,EAAS,QAAA;AAAA,EACT,IAAA,EAAM;AAAA,IACJ,WAAA,EAAa,IAAI,WAAA,CAAY;AAAA,MAC3B,IAAA,EAAM,cAAA;AAAA,MACN,MAAM,GAAA,CAAI,QAAA,CAAS,IAAI,KAAA,CAAM,GAAA,CAAI,MAAM,CAAC,CAAA;AAAA,MACxC,WAAA,EACE;AAAA,KACH,CAAA;AAAA,IACD,UAAA,EAAY,IAAI,MAAA,CAAO;AAAA,MACrB,IAAA,EAAM,aAAA;AAAA,MACN,IAAA,EAAM,GAAA,CAAI,QAAA,CAAS,GAAA,CAAI,MAAM,CAAA;AAAA,MAC7B,WAAA,EACE;AAAA,KACH;AAAA,GACH;AAAA,EACA,OAAA,EAAS,CAAC,IAAA,KAAS;AACjB,IAAA,IAAA,CAAK,IAAI,CAAA,CAAE,KAAA,CAAM,CAAC,KAAA,KAAmB;AACnC,MAAA,OAAA,CAAQ,KAAA,CAAM,sBAAsB,KAAK,CAAA;AAEzC,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,IAChB,CAAC,CAAA;AAAA,EACH;AACF,CAAC,CAAA;AAED,MAAM,IAAA,GAAO,OACX,IAAA,KAIkB;AAClB,EAAA,MAAM,cAAA,CAAe;AAAA,IACnB,aAAa,IAAA,CAAK,WAAA;AAAA,IAClB,YAAY,IAAA,CAAK;AAAA,GAClB,CAAA;AACH,CAAA;AAEA,MAAM,GAAA,CAAI,IAAI,MAAA,EAAQ,GAAA,CAAI,KAAK,OAAA,CAAQ,IAAA,EAAM,CAAC,CAAC,CAAA"}
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;AAExD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACzB,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,QAAQ;IACjB,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,yFAAyF;SAC5F,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"}
@@ -1,83 +1,74 @@
1
1
  #!/usr/bin/env node
2
2
  import * as cmd from 'cmd-ts';
3
- import { Result, Arr } from 'ts-data-forge';
4
- import 'node:path';
5
- import 'node:fs/promises';
6
- import 'fast-glob';
7
- import 'node:child_process';
8
- import { formatDiffFrom } from '../functions/format.mjs';
9
- import 'micromatch';
10
- import 'node:fs';
11
- import 'node:url';
12
- import '@sindresorhus/is';
13
-
3
+ import { Arr, Result } from 'ts-data-forge';
4
+ import { formatDiffFrom } from '../functions/index.mjs';
14
5
  const cmdDef = cmd.command({
15
- name: "format-diff-from-cli",
16
- version: "10.1.8",
17
- args: {
18
- base: cmd.positional({
19
- type: cmd.string,
20
- displayName: "base",
21
- description: "Base branch name or commit hash to compare against"
22
- }),
23
- excludeUntracked: cmd.flag({
24
- long: "exclude-untracked",
25
- type: cmd.optional(cmd.boolean),
26
- description: "Exclude untracked files in addition to diff files (default: false)"
27
- }),
28
- excludeModified: cmd.flag({
29
- long: "exclude-modified",
30
- type: cmd.optional(cmd.boolean),
31
- description: "Exclude modified files in addition to diff files (default: false)"
32
- }),
33
- excludeStaged: cmd.flag({
34
- long: "exclude-staged",
35
- type: cmd.optional(cmd.boolean),
36
- description: "Exclude staged files in addition to diff files (default: false)"
37
- }),
38
- ignoreUnknown: cmd.flag({
39
- long: "ignore-unknown",
40
- type: cmd.optional(cmd.boolean),
41
- description: "Ignore unknown files (default: true)"
42
- }),
43
- silent: cmd.flag({
44
- long: "silent",
45
- type: cmd.optional(cmd.boolean),
46
- description: "If true, suppresses output messages (default: false)"
47
- }),
48
- cwd: cmd.option({
49
- long: "cwd",
50
- type: cmd.optional(cmd.string),
51
- description: "If provided, only files within this directory are formatted. Relative paths are resolved against the current working directory (process.cwd()), not the git repository root."
52
- })
53
- },
54
- handler: (args) => {
55
- main({
56
- base: args.base,
57
- excludeUntracked: args.excludeUntracked ?? false,
58
- excludeModified: args.excludeModified ?? false,
59
- excludeStaged: args.excludeStaged ?? false,
60
- ignoreUnknown: args.ignoreUnknown ?? true,
61
- silent: args.silent ?? false,
62
- cwd: args.cwd
63
- }).catch((error) => {
64
- console.error("An error occurred:", error);
65
- process.exit(1);
66
- });
67
- }
6
+ name: 'format-diff-from-cli',
7
+ version: '10.1.8',
8
+ args: {
9
+ base: cmd.positional({
10
+ type: cmd.string,
11
+ displayName: 'base',
12
+ description: 'Base branch name or commit hash to compare against',
13
+ }),
14
+ excludeUntracked: cmd.flag({
15
+ long: 'exclude-untracked',
16
+ type: cmd.optional(cmd.boolean),
17
+ description: 'Exclude untracked files in addition to diff files (default: false)',
18
+ }),
19
+ excludeModified: cmd.flag({
20
+ long: 'exclude-modified',
21
+ type: cmd.optional(cmd.boolean),
22
+ description: 'Exclude modified files in addition to diff files (default: false)',
23
+ }),
24
+ excludeStaged: cmd.flag({
25
+ long: 'exclude-staged',
26
+ type: cmd.optional(cmd.boolean),
27
+ description: 'Exclude staged files in addition to diff files (default: false)',
28
+ }),
29
+ ignoreUnknown: cmd.flag({
30
+ long: 'ignore-unknown',
31
+ type: cmd.optional(cmd.boolean),
32
+ description: 'Ignore unknown files (default: true)',
33
+ }),
34
+ silent: cmd.flag({
35
+ long: 'silent',
36
+ type: cmd.optional(cmd.boolean),
37
+ description: 'If true, suppresses output messages (default: false)',
38
+ }),
39
+ cwd: cmd.option({
40
+ long: 'cwd',
41
+ type: cmd.optional(cmd.string),
42
+ description: 'If provided, only files within this directory are formatted. Relative paths are resolved against the current working directory (process.cwd()), not the git repository root.',
43
+ }),
44
+ },
45
+ handler: (args) => {
46
+ main({
47
+ base: args.base,
48
+ excludeUntracked: args.excludeUntracked ?? false,
49
+ excludeModified: args.excludeModified ?? false,
50
+ excludeStaged: args.excludeStaged ?? false,
51
+ ignoreUnknown: args.ignoreUnknown ?? true,
52
+ silent: args.silent ?? false,
53
+ cwd: args.cwd,
54
+ }).catch((error) => {
55
+ console.error('An error occurred:', error);
56
+ process.exit(1);
57
+ });
58
+ },
68
59
  });
69
60
  const main = async (args) => {
70
- const result = await formatDiffFrom(args.base, {
71
- includeUntracked: !args.excludeUntracked,
72
- includeModified: !args.excludeModified,
73
- includeStaged: !args.excludeStaged,
74
- ignoreUnknown: args.ignoreUnknown,
75
- silent: args.silent,
76
- cwd: args.cwd
77
- });
78
- if (Result.isErr(result)) {
79
- process.exit(1);
80
- }
61
+ const result = await formatDiffFrom(args.base, {
62
+ includeUntracked: !args.excludeUntracked,
63
+ includeModified: !args.excludeModified,
64
+ includeStaged: !args.excludeStaged,
65
+ ignoreUnknown: args.ignoreUnknown,
66
+ silent: args.silent,
67
+ cwd: args.cwd,
68
+ });
69
+ if (Result.isErr(result)) {
70
+ process.exit(1);
71
+ }
81
72
  };
82
73
  await cmd.run(cmdDef, Arr.skip(process.argv, 2));
83
- //# sourceMappingURL=format-diff-from.mjs.map
74
+ //# sourceMappingURL=format-diff-from.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"format-diff-from.mjs","sources":["../../src/cmd/format-diff-from.mts"],"sourcesContent":["#!/usr/bin/env node\n\nimport * as cmd from 'cmd-ts';\nimport { Arr, Result } from 'ts-data-forge';\nimport { formatDiffFrom } from '../functions/index.mjs';\n\nconst cmdDef = cmd.command({\n name: 'format-diff-from-cli',\n version: '10.1.8',\n args: {\n base: cmd.positional({\n type: cmd.string,\n displayName: 'base',\n description: 'Base branch name or commit hash to compare against',\n }),\n excludeUntracked: cmd.flag({\n long: 'exclude-untracked',\n type: cmd.optional(cmd.boolean),\n description:\n 'Exclude untracked files in addition to diff files (default: false)',\n }),\n excludeModified: cmd.flag({\n long: 'exclude-modified',\n type: cmd.optional(cmd.boolean),\n description:\n 'Exclude modified files in addition to diff files (default: false)',\n }),\n excludeStaged: cmd.flag({\n long: 'exclude-staged',\n type: cmd.optional(cmd.boolean),\n description:\n 'Exclude staged files in addition to diff files (default: false)',\n }),\n ignoreUnknown: cmd.flag({\n long: 'ignore-unknown',\n type: cmd.optional(cmd.boolean),\n description: 'Ignore unknown files (default: true)',\n }),\n silent: cmd.flag({\n long: 'silent',\n type: cmd.optional(cmd.boolean),\n description: 'If true, suppresses output messages (default: false)',\n }),\n cwd: cmd.option({\n long: 'cwd',\n type: cmd.optional(cmd.string),\n description:\n 'If provided, only files within this directory are formatted. Relative paths are resolved against the current working directory (process.cwd()), not the git repository root.',\n }),\n },\n handler: (args) => {\n main({\n base: args.base,\n excludeUntracked: args.excludeUntracked ?? false,\n excludeModified: args.excludeModified ?? false,\n excludeStaged: args.excludeStaged ?? false,\n ignoreUnknown: args.ignoreUnknown ?? true,\n silent: args.silent ?? false,\n cwd: args.cwd,\n }).catch((error: unknown) => {\n console.error('An error occurred:', error);\n\n process.exit(1);\n });\n },\n});\n\nconst main = async (\n args: Readonly<{\n base: string;\n excludeUntracked: boolean;\n excludeModified: boolean;\n excludeStaged: boolean;\n ignoreUnknown: boolean;\n silent: boolean;\n cwd: string | undefined;\n }>,\n): Promise<void> => {\n const result = await formatDiffFrom(args.base, {\n includeUntracked: !args.excludeUntracked,\n includeModified: !args.excludeModified,\n includeStaged: !args.excludeStaged,\n ignoreUnknown: args.ignoreUnknown,\n silent: args.silent,\n cwd: args.cwd,\n });\n\n if (Result.isErr(result)) {\n process.exit(1);\n }\n};\n\nawait cmd.run(cmdDef, Arr.skip(process.argv, 2));\n"],"names":[],"mappings":"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"}
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;AAExD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACzB,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE;QACJ,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC;YACnB,IAAI,EAAE,GAAG,CAAC,MAAM;YAChB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,oDAAoD;SAClE,CAAC;QACF,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;YAC/B,WAAW,EACT,oEAAoE;SACvE,CAAC;QACF,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC;YACxB,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;YAC/B,WAAW,EACT,mEAAmE;SACtE,CAAC;QACF,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;YAC/B,WAAW,EACT,iEAAiE;SACpE,CAAC;QACF,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,sCAAsC;SACpD,CAAC;QACF,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;QACF,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B,WAAW,EACT,8KAA8K;SACjL,CAAC;KACH;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAChB,IAAI,CAAC;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,KAAK;YAChD,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,KAAK;YAC9C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,KAAK;YAC1C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;YACzC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;YAC5B,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC1B,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,IAQE,EACa,EAAE;IACjB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE;QAC7C,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB;QACxC,eAAe,EAAE,CAAC,IAAI,CAAC,eAAe;QACtC,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa;QAClC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC"}
@@ -1,77 +1,68 @@
1
1
  #!/usr/bin/env node
2
2
  import * as cmd from 'cmd-ts';
3
- import { Result, Arr } from 'ts-data-forge';
4
- import 'node:path';
5
- import 'node:fs/promises';
6
- import 'fast-glob';
7
- import 'node:child_process';
8
- import { formatUncommittedFiles } from '../functions/format.mjs';
9
- import 'micromatch';
10
- import 'node:fs';
11
- import 'node:url';
12
- import '@sindresorhus/is';
13
-
3
+ import { Arr, Result } from 'ts-data-forge';
4
+ import { formatUncommittedFiles } from '../functions/index.mjs';
14
5
  const cmdDef = cmd.command({
15
- name: "format-uncommitted-cli",
16
- version: "10.1.8",
17
- args: {
18
- excludeUntracked: cmd.flag({
19
- long: "exclude-untracked",
20
- type: cmd.optional(cmd.boolean),
21
- description: "Exclude untracked files in addition to diff files (default: false)"
22
- }),
23
- excludeModified: cmd.flag({
24
- long: "exclude-modified",
25
- type: cmd.optional(cmd.boolean),
26
- description: "Exclude modified files in addition to diff files (default: false)"
27
- }),
28
- excludeStaged: cmd.flag({
29
- long: "exclude-staged",
30
- type: cmd.optional(cmd.boolean),
31
- description: "Exclude staged files in addition to diff files (default: false)"
32
- }),
33
- ignoreUnknown: cmd.flag({
34
- long: "ignore-unknown",
35
- type: cmd.optional(cmd.boolean),
36
- description: "Ignore unknown files (default: true)"
37
- }),
38
- silent: cmd.flag({
39
- long: "silent",
40
- type: cmd.optional(cmd.boolean),
41
- description: "If true, suppresses output messages (default: false)"
42
- }),
43
- cwd: cmd.option({
44
- long: "cwd",
45
- type: cmd.optional(cmd.string),
46
- description: "If provided, only files within this directory are formatted. Relative paths are resolved against the current working directory (process.cwd()), not the git repository root."
47
- })
48
- },
49
- handler: (args) => {
50
- main({
51
- excludeUntracked: args.excludeUntracked ?? false,
52
- excludeModified: args.excludeModified ?? false,
53
- excludeStaged: args.excludeStaged ?? false,
54
- ignoreUnknown: args.ignoreUnknown ?? true,
55
- silent: args.silent ?? false,
56
- cwd: args.cwd
57
- }).catch((error) => {
58
- console.error("An error occurred:", error);
59
- process.exit(1);
60
- });
61
- }
6
+ name: 'format-uncommitted-cli',
7
+ version: '10.1.8',
8
+ args: {
9
+ excludeUntracked: cmd.flag({
10
+ long: 'exclude-untracked',
11
+ type: cmd.optional(cmd.boolean),
12
+ description: 'Exclude untracked files in addition to diff files (default: false)',
13
+ }),
14
+ excludeModified: cmd.flag({
15
+ long: 'exclude-modified',
16
+ type: cmd.optional(cmd.boolean),
17
+ description: 'Exclude modified files in addition to diff files (default: false)',
18
+ }),
19
+ excludeStaged: cmd.flag({
20
+ long: 'exclude-staged',
21
+ type: cmd.optional(cmd.boolean),
22
+ description: 'Exclude staged files in addition to diff files (default: false)',
23
+ }),
24
+ ignoreUnknown: cmd.flag({
25
+ long: 'ignore-unknown',
26
+ type: cmd.optional(cmd.boolean),
27
+ description: 'Ignore unknown files (default: true)',
28
+ }),
29
+ silent: cmd.flag({
30
+ long: 'silent',
31
+ type: cmd.optional(cmd.boolean),
32
+ description: 'If true, suppresses output messages (default: false)',
33
+ }),
34
+ cwd: cmd.option({
35
+ long: 'cwd',
36
+ type: cmd.optional(cmd.string),
37
+ description: 'If provided, only files within this directory are formatted. Relative paths are resolved against the current working directory (process.cwd()), not the git repository root.',
38
+ }),
39
+ },
40
+ handler: (args) => {
41
+ main({
42
+ excludeUntracked: args.excludeUntracked ?? false,
43
+ excludeModified: args.excludeModified ?? false,
44
+ excludeStaged: args.excludeStaged ?? false,
45
+ ignoreUnknown: args.ignoreUnknown ?? true,
46
+ silent: args.silent ?? false,
47
+ cwd: args.cwd,
48
+ }).catch((error) => {
49
+ console.error('An error occurred:', error);
50
+ process.exit(1);
51
+ });
52
+ },
62
53
  });
63
54
  const main = async (args) => {
64
- const result = await formatUncommittedFiles({
65
- untracked: !args.excludeUntracked,
66
- modified: !args.excludeModified,
67
- staged: !args.excludeStaged,
68
- ignoreUnknown: args.ignoreUnknown,
69
- silent: args.silent,
70
- cwd: args.cwd
71
- });
72
- if (Result.isErr(result)) {
73
- process.exit(1);
74
- }
55
+ const result = await formatUncommittedFiles({
56
+ untracked: !args.excludeUntracked,
57
+ modified: !args.excludeModified,
58
+ staged: !args.excludeStaged,
59
+ ignoreUnknown: args.ignoreUnknown,
60
+ silent: args.silent,
61
+ cwd: args.cwd,
62
+ });
63
+ if (Result.isErr(result)) {
64
+ process.exit(1);
65
+ }
75
66
  };
76
67
  await cmd.run(cmdDef, Arr.skip(process.argv, 2));
77
- //# sourceMappingURL=format-uncommitted.mjs.map
68
+ //# sourceMappingURL=format-uncommitted.mjs.map