ts-repo-utils 7.1.1 → 7.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -3
- package/dist/cmd/assert-repo-is-clean.mjs +1 -1
- package/dist/cmd/check-should-run-type-checks.mjs +1 -1
- package/dist/cmd/format-diff-from.mjs +8 -1
- package/dist/cmd/format-diff-from.mjs.map +1 -1
- package/dist/cmd/format-uncommitted.mjs +8 -1
- package/dist/cmd/format-uncommitted.mjs.map +1 -1
- package/dist/cmd/gen-index-ts.mjs +1 -1
- package/dist/functions/format.d.mts +7 -0
- package/dist/functions/format.d.mts.map +1 -1
- package/dist/functions/format.mjs +21 -5
- package/dist/functions/format.mjs.map +1 -1
- package/package.json +1 -1
- package/src/cmd/assert-repo-is-clean.mts +1 -1
- package/src/cmd/check-should-run-type-checks.mts +1 -1
- package/src/cmd/format-diff-from.mts +9 -1
- package/src/cmd/format-uncommitted.mts +9 -1
- package/src/cmd/gen-index-ts.mts +1 -1
- package/src/functions/format.mts +36 -4
package/README.md
CHANGED
|
@@ -90,6 +90,7 @@ npm exec -- format-uncommitted --silent
|
|
|
90
90
|
- `--exclude-modified` - Exclude modified files (default: false)
|
|
91
91
|
- `--exclude-staged` - Exclude staged files (default: false)
|
|
92
92
|
- `--silent` - Suppress output messages (default: false)
|
|
93
|
+
- `--ignore-unknown` - Skip files without a Prettier parser instead of erroring (default: true)
|
|
93
94
|
|
|
94
95
|
### `format-diff-from`
|
|
95
96
|
|
|
@@ -119,6 +120,7 @@ npm exec -- format-diff-from main --silent
|
|
|
119
120
|
- `--exclude-modified` - Exclude modified files (default: false)
|
|
120
121
|
- `--exclude-staged` - Exclude staged files (default: false)
|
|
121
122
|
- `--silent` - Suppress output messages (default: false)
|
|
123
|
+
- `--ignore-unknown` - Skip files without a Prettier parser instead of erroring (default: true)
|
|
122
124
|
|
|
123
125
|
### `check-should-run-type-checks`
|
|
124
126
|
|
|
@@ -405,7 +407,7 @@ type Ret = Promise<
|
|
|
405
407
|
|
|
406
408
|
### Code Formatting Utilities
|
|
407
409
|
|
|
408
|
-
#### `formatFilesGlob(pathGlob: string): Promise<Result<undefined, unknown>>`
|
|
410
|
+
#### `formatFilesGlob(pathGlob: string, options?): Promise<Result<undefined, unknown>>`
|
|
409
411
|
|
|
410
412
|
Format files matching a glob pattern using Prettier.
|
|
411
413
|
|
|
@@ -417,13 +419,21 @@ await formatFilesGlob('src/**/*.ts');
|
|
|
417
419
|
|
|
418
420
|
// Format specific files
|
|
419
421
|
await formatFilesGlob('src/{index,utils}.ts');
|
|
422
|
+
|
|
423
|
+
// With custom ignore function
|
|
424
|
+
await formatFilesGlob('src/**/*.ts', {
|
|
425
|
+
ignore: (filePath) => filePath.includes('generated'),
|
|
426
|
+
ignoreUnknown: false, // Error on files without parser
|
|
427
|
+
});
|
|
420
428
|
```
|
|
421
429
|
|
|
422
430
|
**Options:**
|
|
423
431
|
|
|
424
432
|
- `silent?` - Suppress output messages (default: false)
|
|
433
|
+
- `ignoreUnknown?` - Skip files without a Prettier parser instead of erroring (default: true)
|
|
434
|
+
- `ignore?` - Custom function to ignore files (default: built-in ignore list)
|
|
425
435
|
|
|
426
|
-
#### `formatUncommittedFiles(): Promise<Result>`
|
|
436
|
+
#### `formatUncommittedFiles(options?): Promise<Result>`
|
|
427
437
|
|
|
428
438
|
Format only files that have been changed according to git status.
|
|
429
439
|
|
|
@@ -432,6 +442,12 @@ import { formatUncommittedFiles } from 'ts-repo-utils';
|
|
|
432
442
|
|
|
433
443
|
// Format only modified files
|
|
434
444
|
await formatUncommittedFiles();
|
|
445
|
+
|
|
446
|
+
// With custom options
|
|
447
|
+
await formatUncommittedFiles({
|
|
448
|
+
untracked: false, // Skip untracked files
|
|
449
|
+
ignore: (filePath) => filePath.includes('test'),
|
|
450
|
+
});
|
|
435
451
|
```
|
|
436
452
|
|
|
437
453
|
**Options:**
|
|
@@ -440,6 +456,8 @@ await formatUncommittedFiles();
|
|
|
440
456
|
- `modified?` - Format modified files (default: true)
|
|
441
457
|
- `staged?` - Format staged files (default: true)
|
|
442
458
|
- `silent?` - Suppress output messages (default: false)
|
|
459
|
+
- `ignoreUnknown?` - Skip files without a Prettier parser instead of erroring (default: true)
|
|
460
|
+
- `ignore?` - Custom function to ignore files (default: built-in ignore list)
|
|
443
461
|
|
|
444
462
|
**Return Type:**
|
|
445
463
|
|
|
@@ -452,7 +470,7 @@ type Ret = Promise<
|
|
|
452
470
|
>;
|
|
453
471
|
```
|
|
454
472
|
|
|
455
|
-
#### `formatDiffFrom(base: string): Promise<Result>`
|
|
473
|
+
#### `formatDiffFrom(base: string, options?): Promise<Result>`
|
|
456
474
|
|
|
457
475
|
Format only files that differ from the specified base branch or commit.
|
|
458
476
|
|
|
@@ -464,6 +482,13 @@ await formatDiffFrom('main');
|
|
|
464
482
|
|
|
465
483
|
// Format files different from specific commit
|
|
466
484
|
await formatDiffFrom('abc123');
|
|
485
|
+
|
|
486
|
+
// With custom options
|
|
487
|
+
await formatDiffFrom('main', {
|
|
488
|
+
includeUntracked: false,
|
|
489
|
+
ignore: (filePath) => filePath.includes('vendor'),
|
|
490
|
+
ignoreUnknown: false, // Error on files without parser
|
|
491
|
+
});
|
|
467
492
|
```
|
|
468
493
|
|
|
469
494
|
**Options:**
|
|
@@ -472,6 +497,8 @@ await formatDiffFrom('abc123');
|
|
|
472
497
|
- `includeModified?` - Include modified files in addition to diff files (default: true)
|
|
473
498
|
- `includeStaged?` - Include staged files in addition to diff files (default: true)
|
|
474
499
|
- `silent?` - Suppress output messages (default: false)
|
|
500
|
+
- `ignoreUnknown?` - Skip files without a Prettier parser instead of erroring (default: true)
|
|
501
|
+
- `ignore?` - Custom function to ignore files (default: built-in ignore list)
|
|
475
502
|
|
|
476
503
|
**Return Type:**
|
|
477
504
|
|
|
@@ -9,7 +9,7 @@ import 'child_process';
|
|
|
9
9
|
|
|
10
10
|
const cmdDef = cmd.command({
|
|
11
11
|
name: 'format-diff-from-cli',
|
|
12
|
-
version: '7.
|
|
12
|
+
version: '7.2.0',
|
|
13
13
|
args: {
|
|
14
14
|
base: cmd.positional({
|
|
15
15
|
type: cmd.string,
|
|
@@ -31,6 +31,11 @@ const cmdDef = cmd.command({
|
|
|
31
31
|
type: cmd.optional(cmd.boolean),
|
|
32
32
|
description: 'Exclude staged files in addition to diff files (default: false)',
|
|
33
33
|
}),
|
|
34
|
+
ignoreUnknown: cmd.flag({
|
|
35
|
+
long: 'ignore-unknown',
|
|
36
|
+
type: cmd.optional(cmd.boolean),
|
|
37
|
+
description: 'Ignore unknown files (default: true)',
|
|
38
|
+
}),
|
|
34
39
|
silent: cmd.flag({
|
|
35
40
|
long: 'silent',
|
|
36
41
|
type: cmd.optional(cmd.boolean),
|
|
@@ -43,6 +48,7 @@ const cmdDef = cmd.command({
|
|
|
43
48
|
excludeUntracked: args.excludeUntracked ?? false,
|
|
44
49
|
excludeModified: args.excludeModified ?? false,
|
|
45
50
|
excludeStaged: args.excludeStaged ?? false,
|
|
51
|
+
ignoreUnknown: args.ignoreUnknown ?? true,
|
|
46
52
|
silent: args.silent ?? false,
|
|
47
53
|
}).catch((error) => {
|
|
48
54
|
console.error('An error occurred:', error);
|
|
@@ -55,6 +61,7 @@ const main = async (args) => {
|
|
|
55
61
|
includeUntracked: !args.excludeUntracked,
|
|
56
62
|
includeModified: !args.excludeModified,
|
|
57
63
|
includeStaged: !args.excludeStaged,
|
|
64
|
+
ignoreUnknown: args.ignoreUnknown,
|
|
58
65
|
silent: args.silent,
|
|
59
66
|
});
|
|
60
67
|
if (Result.isErr(result)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-diff-from.mjs","sources":["../../src/cmd/format-diff-from.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAMA,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;AACzB,IAAA,IAAI,EAAE,sBAAsB;AAC5B,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC;YACnB,IAAI,EAAE,GAAG,CAAC,MAAM;AAChB,YAAA,WAAW,EAAE,MAAM;AACnB,YAAA,WAAW,EAAE,oDAAoD;SAClE,CAAC;AACF,QAAA,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC;AACzB,YAAA,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,oEAAoE;SACvE,CAAC;AACF,QAAA,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,mEAAmE;SACtE,CAAC;AACF,QAAA,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC;AACtB,YAAA,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,iEAAiE;SACpE,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EAAE,sDAAsD;SACpE,CAAC;AACH,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,KAAI;AAChB,QAAA,IAAI,CAAC;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,YAAA,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,KAAK;AAChD,YAAA,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,KAAK;AAC9C,YAAA,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,KAAK;AAC1C,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;AAC7B,SAAA,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;AACjB,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAC1C,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,QAAA,CAAC,CAAC;IACJ,CAAC;AACF,CAAA,CAAC;AAEF,MAAM,IAAI,GAAG,OACX,
|
|
1
|
+
{"version":3,"file":"format-diff-from.mjs","sources":["../../src/cmd/format-diff-from.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import 'child_process';
|
|
|
9
9
|
|
|
10
10
|
const cmdDef = cmd.command({
|
|
11
11
|
name: 'format-uncommitted-cli',
|
|
12
|
-
version: '7.
|
|
12
|
+
version: '7.2.0',
|
|
13
13
|
args: {
|
|
14
14
|
excludeUntracked: cmd.flag({
|
|
15
15
|
long: 'exclude-untracked',
|
|
@@ -26,6 +26,11 @@ const cmdDef = cmd.command({
|
|
|
26
26
|
type: cmd.optional(cmd.boolean),
|
|
27
27
|
description: 'Exclude staged files in addition to diff files (default: false)',
|
|
28
28
|
}),
|
|
29
|
+
ignoreUnknown: cmd.flag({
|
|
30
|
+
long: 'ignore-unknown',
|
|
31
|
+
type: cmd.optional(cmd.boolean),
|
|
32
|
+
description: 'Ignore unknown files (default: true)',
|
|
33
|
+
}),
|
|
29
34
|
silent: cmd.flag({
|
|
30
35
|
long: 'silent',
|
|
31
36
|
type: cmd.optional(cmd.boolean),
|
|
@@ -37,6 +42,7 @@ const cmdDef = cmd.command({
|
|
|
37
42
|
excludeUntracked: args.excludeUntracked ?? false,
|
|
38
43
|
excludeModified: args.excludeModified ?? false,
|
|
39
44
|
excludeStaged: args.excludeStaged ?? false,
|
|
45
|
+
ignoreUnknown: args.ignoreUnknown ?? true,
|
|
40
46
|
silent: args.silent ?? false,
|
|
41
47
|
}).catch((error) => {
|
|
42
48
|
console.error('An error occurred:', error);
|
|
@@ -49,6 +55,7 @@ const main = async (args) => {
|
|
|
49
55
|
untracked: !args.excludeUntracked,
|
|
50
56
|
modified: !args.excludeModified,
|
|
51
57
|
staged: !args.excludeStaged,
|
|
58
|
+
ignoreUnknown: args.ignoreUnknown,
|
|
52
59
|
silent: args.silent,
|
|
53
60
|
});
|
|
54
61
|
if (Result.isErr(result)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-uncommitted.mjs","sources":["../../src/cmd/format-uncommitted.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAMA,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;AACzB,IAAA,IAAI,EAAE,wBAAwB;AAC9B,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC;AACzB,YAAA,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,oEAAoE;SACvE,CAAC;AACF,QAAA,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,mEAAmE;SACtE,CAAC;AACF,QAAA,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC;AACtB,YAAA,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,iEAAiE;SACpE,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EAAE,sDAAsD;SACpE,CAAC;AACH,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,KAAI;AAChB,QAAA,IAAI,CAAC;AACH,YAAA,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,KAAK;AAChD,YAAA,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,KAAK;AAC9C,YAAA,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,KAAK;AAC1C,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;AAC7B,SAAA,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;AACjB,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAC1C,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,QAAA,CAAC,CAAC;IACJ,CAAC;AACF,CAAA,CAAC;AAEF,MAAM,IAAI,GAAG,OACX,
|
|
1
|
+
{"version":3,"file":"format-uncommitted.mjs","sources":["../../src/cmd/format-uncommitted.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAMA,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;AACzB,IAAA,IAAI,EAAE,wBAAwB;AAC9B,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC;AACzB,YAAA,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,oEAAoE;SACvE,CAAC;AACF,QAAA,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,mEAAmE;SACtE,CAAC;AACF,QAAA,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC;AACtB,YAAA,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,iEAAiE;SACpE,CAAC;AACF,QAAA,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC;AACtB,YAAA,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EAAE,sCAAsC;SACpD,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EAAE,sDAAsD;SACpE,CAAC;AACH,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,KAAI;AAChB,QAAA,IAAI,CAAC;AACH,YAAA,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,KAAK;AAChD,YAAA,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,KAAK;AAC9C,YAAA,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,KAAK;AAC1C,YAAA,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;AACzC,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;AAC7B,SAAA,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;AACjB,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAC1C,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,QAAA,CAAC,CAAC;IACJ,CAAC;AACF,CAAA,CAAC;AAEF,MAAM,IAAI,GAAG,OACX,IAME,KACe;AACjB,IAAA,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC;AAC1C,QAAA,SAAS,EAAE,CAAC,IAAI,CAAC,gBAAgB;AACjC,QAAA,QAAQ,EAAE,CAAC,IAAI,CAAC,eAAe;AAC/B,QAAA,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa;QAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,MAAM,EAAE,IAAI,CAAC,MAAM;AACpB,KAAA,CAAC;AACF,IAAA,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACxB,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACF,CAAC;AAED,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -9,6 +9,7 @@ import '../node-global.mjs';
|
|
|
9
9
|
export declare const formatFiles: (files: readonly string[], options?: Readonly<{
|
|
10
10
|
silent?: boolean;
|
|
11
11
|
ignore?: (filePath: string) => boolean;
|
|
12
|
+
ignoreUnknown?: boolean;
|
|
12
13
|
}>) => Promise<Result<undefined, readonly unknown[]>>;
|
|
13
14
|
/**
|
|
14
15
|
* Format files matching the given glob pattern using Prettier
|
|
@@ -17,6 +18,8 @@ export declare const formatFiles: (files: readonly string[], options?: Readonly<
|
|
|
17
18
|
*/
|
|
18
19
|
export declare const formatFilesGlob: (pathGlob: string, options?: Readonly<{
|
|
19
20
|
silent?: boolean;
|
|
21
|
+
ignoreUnknown?: boolean;
|
|
22
|
+
ignore?: (filePath: string) => boolean;
|
|
20
23
|
}>) => Promise<Result<undefined, unknown>>;
|
|
21
24
|
/**
|
|
22
25
|
* Format only files that have been changed (git status)
|
|
@@ -28,6 +31,8 @@ export declare const formatUncommittedFiles: (options?: Readonly<{
|
|
|
28
31
|
modified?: boolean;
|
|
29
32
|
staged?: boolean;
|
|
30
33
|
silent?: boolean;
|
|
34
|
+
ignoreUnknown?: boolean;
|
|
35
|
+
ignore?: (filePath: string) => boolean;
|
|
31
36
|
}>) => Promise<Result<undefined, ExecException | Readonly<{
|
|
32
37
|
message: string;
|
|
33
38
|
}> | readonly unknown[]>>;
|
|
@@ -49,6 +54,8 @@ export declare const formatDiffFrom: (base: string, options?: Readonly<{
|
|
|
49
54
|
includeModified?: boolean;
|
|
50
55
|
includeStaged?: boolean;
|
|
51
56
|
silent?: boolean;
|
|
57
|
+
ignoreUnknown?: boolean;
|
|
58
|
+
ignore?: (filePath: string) => boolean;
|
|
52
59
|
}>) => Promise<Result<undefined, ExecException | Readonly<{
|
|
53
60
|
message: string;
|
|
54
61
|
}> | readonly unknown[]>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.mts","sourceRoot":"","sources":["../../src/functions/format.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAuB,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,oBAAoB,CAAC;AAQ5B;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,OAAO,SAAS,MAAM,EAAE,EACxB,UAAU,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"format.d.mts","sourceRoot":"","sources":["../../src/functions/format.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAuB,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,oBAAoB,CAAC;AAQ5B;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,OAAO,SAAS,MAAM,EAAE,EACxB,UAAU,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC,KACD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,CAAC,CAiG/C,CAAC;AAuDF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAChB,UAAU,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CACxC,CAAC,KACD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CA0BpC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,UAAU,QAAQ,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CACxC,CAAC,KACD,OAAO,CACR,MAAM,CACJ,SAAS,EACT,aAAa,GAAG,QAAQ,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,OAAO,EAAE,CACnE,CA4DF,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,UAAU,QAAQ,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CACxC,CAAC,KACD,OAAO,CACR,MAAM,CACJ,SAAS,EACP,aAAa,GACb,QAAQ,CAAC;IACP,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,GACF,SAAS,OAAO,EAAE,CACrB,CAoFF,CAAC"}
|
|
@@ -43,6 +43,12 @@ const formatFiles = async (files, options) => {
|
|
|
43
43
|
conditionalEcho(`Skipping ignored file: ${filePath}`);
|
|
44
44
|
return Result.ok(undefined);
|
|
45
45
|
}
|
|
46
|
+
if ((options?.ignoreUnknown ?? true) &&
|
|
47
|
+
fileInfo.inferredParser === null) {
|
|
48
|
+
// Silently skip files with no parser
|
|
49
|
+
conditionalEcho(`Skipping file (no parser): ${filePath}`);
|
|
50
|
+
return Result.ok(undefined);
|
|
51
|
+
}
|
|
46
52
|
// Format the content
|
|
47
53
|
const formatted = await prettier.format(content, {
|
|
48
54
|
...prettierOptions,
|
|
@@ -137,6 +143,8 @@ const ignoreDirs = [
|
|
|
137
143
|
*/
|
|
138
144
|
const formatFilesGlob = async (pathGlob, options) => {
|
|
139
145
|
const silent = options?.silent ?? false;
|
|
146
|
+
const ignoreUnknown = options?.ignoreUnknown ?? true;
|
|
147
|
+
const ignore = options?.ignore;
|
|
140
148
|
const conditionalEcho = silent ? () => { } : echo;
|
|
141
149
|
try {
|
|
142
150
|
// Find all files matching the glob
|
|
@@ -149,7 +157,7 @@ const formatFilesGlob = async (pathGlob, options) => {
|
|
|
149
157
|
conditionalEcho('No files found matching pattern:', pathGlob);
|
|
150
158
|
return Result.ok(undefined);
|
|
151
159
|
}
|
|
152
|
-
return await formatFiles(files, { silent });
|
|
160
|
+
return await formatFiles(files, { silent, ignoreUnknown, ignore });
|
|
153
161
|
}
|
|
154
162
|
catch (error) {
|
|
155
163
|
if (!silent) {
|
|
@@ -164,7 +172,7 @@ const formatFilesGlob = async (pathGlob, options) => {
|
|
|
164
172
|
* @param options - Options for formatting
|
|
165
173
|
*/
|
|
166
174
|
const formatUncommittedFiles = async (options) => {
|
|
167
|
-
const { untracked = true, modified = true, staged = true, silent = false, } = options ?? {};
|
|
175
|
+
const { untracked = true, modified = true, staged = true, silent = false, ignoreUnknown = true, ignore, } = options ?? {};
|
|
168
176
|
const mut_files = [];
|
|
169
177
|
if (untracked) {
|
|
170
178
|
const untrackedFilesResult = await getUntrackedFiles({ silent });
|
|
@@ -196,7 +204,11 @@ const formatUncommittedFiles = async (options) => {
|
|
|
196
204
|
}
|
|
197
205
|
mut_files.push(...stagedFilesResult.value);
|
|
198
206
|
}
|
|
199
|
-
return formatFiles(Arr.uniq(mut_files), {
|
|
207
|
+
return formatFiles(Arr.uniq(mut_files), {
|
|
208
|
+
silent,
|
|
209
|
+
ignoreUnknown,
|
|
210
|
+
ignore,
|
|
211
|
+
});
|
|
200
212
|
};
|
|
201
213
|
/**
|
|
202
214
|
* Format only files that differ from the specified base branch or commit
|
|
@@ -213,7 +225,7 @@ const formatUncommittedFiles = async (options) => {
|
|
|
213
225
|
*/
|
|
214
226
|
const formatDiffFrom = async (base, options) => {
|
|
215
227
|
// const silent = options?.silent ?? false;
|
|
216
|
-
const { silent = false, includeUntracked = true, includeModified = true, includeStaged = true, } = options ?? {};
|
|
228
|
+
const { silent = false, includeUntracked = true, includeModified = true, includeStaged = true, ignoreUnknown = true, ignore, } = options ?? {};
|
|
217
229
|
const conditionalEcho = silent ? () => { } : echo;
|
|
218
230
|
// Get files that differ from base branch/commit (excluding deleted files)
|
|
219
231
|
const diffFromBaseResult = await getDiffFrom(base, {
|
|
@@ -266,7 +278,11 @@ const formatDiffFrom = async (base, options) => {
|
|
|
266
278
|
conditionalEcho('No files to format');
|
|
267
279
|
return Result.ok(undefined);
|
|
268
280
|
}
|
|
269
|
-
return formatFiles(allFiles, {
|
|
281
|
+
return formatFiles(allFiles, {
|
|
282
|
+
silent,
|
|
283
|
+
ignoreUnknown,
|
|
284
|
+
ignore,
|
|
285
|
+
});
|
|
270
286
|
};
|
|
271
287
|
|
|
272
288
|
export { formatDiffFrom, formatFiles, formatFilesGlob, formatUncommittedFiles };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.mjs","sources":["../../src/functions/format.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAWA;;;;AAIG;AACI,MAAM,WAAW,GAAG,OACzB,KAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"format.mjs","sources":["../../src/functions/format.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAWA;;;;AAIG;AACI,MAAM,WAAW,GAAG,OACzB,KAAwB,EACxB,OAIE,KACgD;AAClD,IAAA,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK;AAEvC,IAAA,MAAM,eAAe,GAAG,MAAM,GAAG,MAAK,EAAE,CAAC,GAAG,IAAI;AAEhD,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,eAAe,CAAC,oBAAoB,CAAC;AACrC,QAAA,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC;IAC7B;AAEA,IAAA,eAAe,CAAC,CAAA,WAAA,EAAc,KAAK,CAAC,MAAM,CAAA,SAAA,CAAW,CAAC;;AAGtD,IAAA,MAAM,OAAO;;AAEX,IAAA,MAAM,OAAO,CAAC,UAAU,CACtB,KAAK,CAAC,GAAG,CAAC,OAAO,QAAQ,KAAI;AAC3B,QAAA,IAAI;;AAEF,YAAA,IAAI;AACF,gBAAA,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC3B;AAAE,YAAA,MAAM;;AAEN,gBAAA,eAAe,CAAC,CAAA,4BAAA,EAA+B,QAAQ,CAAA,CAAE,CAAC;AAC1D,gBAAA,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC;YAC7B;;YAGA,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;;YAGnD,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;;YAG9D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE;AACpD,gBAAA,UAAU,EAAE,iBAAiB;AAC9B,aAAA,CAAC;YAEF,IACE,QAAQ,CAAC,OAAO;gBAChB,CAAC,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,QAAQ,CAAC,EAC9C;AACA,gBAAA,eAAe,CAAC,CAAA,uBAAA,EAA0B,QAAQ,CAAA,CAAE,CAAC;AACrD,gBAAA,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC;YAC7B;AAEA,YAAA,IACE,CAAC,OAAO,EAAE,aAAa,IAAI,IAAI;AAC/B,gBAAA,QAAQ,CAAC,cAAc,KAAK,IAAI,EAChC;;AAEA,gBAAA,eAAe,CAAC,CAAA,2BAAA,EAA8B,QAAQ,CAAA,CAAE,CAAC;AACzD,gBAAA,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC;YAC7B;;YAGA,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE;AAC/C,gBAAA,GAAG,eAAe;AAClB,gBAAA,QAAQ,EAAE,QAAQ;AACnB,aAAA,CAAC;;AAGF,YAAA,IAAI,SAAS,KAAK,OAAO,EAAE;AACzB,gBAAA,eAAe,CAAC,CAAA,WAAA,EAAc,QAAQ,CAAA,CAAE,CAAC;YAC3C;iBAAO;gBACL,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;AAC/C,gBAAA,eAAe,CAAC,CAAA,WAAA,EAAc,QAAQ,CAAA,CAAE,CAAC;YAC3C;AAEA,YAAA,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC;QAC7B;QAAE,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,CAAA,iBAAA,EAAoB,QAAQ,CAAA,CAAA,CAAG,EAAE,KAAK,CAAC;YACvD;AACA,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QAC1B;IACF,CAAC,CAAC,CACH;AAEH,IAAA,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,EAAE;AAClD,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;QAC7C,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAChC,YAAA,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC;QAC7B;aAAO;YACL,MAAM,MAAM,GAAuB;AAChC,iBAAA,MAAM,CAAC,MAAM,CAAC,KAAK;iBACnB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AAEtB,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAC3B;IACF;SAAO;QACL,MAAM,MAAM,GAAuB;aAChC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,UAAU;aACrC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAiB,CAAC;AAElC,QAAA,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;IAC3B;AACF;AAEA,MAAM,eAAe,GAAG,CAAC,QAAgB,KAAa;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAExC,IAAA,QACE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;AACzB,QAAA,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;AAC3B,QAAA,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACtD,QAAA,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAEtD,CAAC;AAED,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;IAC/C,WAAW;IACX,mBAAmB;IACnB,SAAS;IACT,iBAAiB;IACjB,eAAe;IACf,YAAY;IACZ,YAAY;AACb,CAAA,CAAC;AAEF,MAAM,gBAAgB,GAAsB;IAC1C,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,cAAc;CACN;AAEV,MAAM,UAAU,GAAsB;IACpC,cAAc;IACd,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,SAAS;IACT,OAAO;CACC;AAEV;;;;AAIG;AACI,MAAM,eAAe,GAAG,OAC7B,QAAgB,EAChB,OAIE,KACqC;AACvC,IAAA,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK;AACvC,IAAA,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,IAAI;AACpD,IAAA,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM;AAC9B,IAAA,MAAM,eAAe,GAAG,MAAM,GAAG,MAAK,EAAE,CAAC,GAAG,IAAI;AAEhD,IAAA,IAAI;;AAEF,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;AACjC,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,MAAM,EAAE,CAAC,oBAAoB,EAAE,YAAY,CAAC;AAC5C,YAAA,GAAG,EAAE,IAAI;AACV,SAAA,CAAC;AAEF,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,YAAA,eAAe,CAAC,kCAAkC,EAAE,QAAQ,CAAC;AAC7D,YAAA,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC;QAC7B;AAEA,QAAA,OAAO,MAAM,WAAW,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IACpE;IAAE,OAAO,KAAK,EAAE;QACd,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC;QAC/C;AACA,QAAA,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B;AACF;AAEA;;;;AAIG;MACU,sBAAsB,GAAG,OACpC,OAOE,KAMA;IACF,MAAM,EACJ,SAAS,GAAG,IAAI,EAChB,QAAQ,GAAG,IAAI,EACf,MAAM,GAAG,IAAI,EACb,MAAM,GAAG,KAAK,EACd,aAAa,GAAG,IAAI,EACpB,MAAM,GACP,GAAG,OAAO,IAAI,EAAE;IAEjB,MAAM,SAAS,GAAa,EAAE;IAE9B,IAAI,SAAS,EAAE;QACb,MAAM,oBAAoB,GAAG,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;AAEhE,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE;YACtC,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,CAAC,KAAK,CACX,8BAA8B,EAC9B,oBAAoB,CAAC,KAAK,CAC3B;YACH;AACA,YAAA,OAAO,oBAAoB;QAC7B;QAEA,SAAS,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC;IAC/C;IAEA,IAAI,QAAQ,EAAE;QACZ,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;AAE1D,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE;YACjC,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,eAAe,CAAC,KAAK,CAAC;YACtE;AACA,YAAA,OAAO,eAAe;QACxB;QAEA,SAAS,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC;IAC1C;IAEA,IAAI,MAAM,EAAE;QACV,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;AAE1D,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE;YACnC,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,KAAK,CAAC;YACxE;AACA,YAAA,OAAO,iBAAiB;QAC1B;QAEA,SAAS,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC;IAC5C;IAEA,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QACtC,MAAM;QACN,aAAa;QACb,MAAM;AACP,KAAA,CAAC;AACJ;AAEA;;;;;;;;;;;;AAYG;AACI,MAAM,cAAc,GAAG,OAC5B,IAAY,EACZ,OAOE,KAUA;;IAEF,MAAM,EACJ,MAAM,GAAG,KAAK,EACd,gBAAgB,GAAG,IAAI,EACvB,eAAe,GAAG,IAAI,EACtB,aAAa,GAAG,IAAI,EACpB,aAAa,GAAG,IAAI,EACpB,MAAM,GACP,GAAG,OAAO,IAAI,EAAE;AAEjB,IAAA,MAAM,eAAe,GAAG,MAAM,GAAG,MAAK,EAAE,CAAC,GAAG,IAAI;;AAGhD,IAAA,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE;QACjD,MAAM;AACP,KAAA,CAAC;AAEF,IAAA,IAAI,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;QACpC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,kBAAkB,CAAC,KAAK,CAAC;QACzE;AACA,QAAA,OAAO,kBAAkB;IAC3B;AAEA,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK;AAC1C,IAAA,MAAM,YAAY,GAAa,SAAS,CAAC,KAAK,EAAE;;IAGhD,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI;QAC/B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,iBAAiB,EAAE;QACpE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,gBAAgB,EAAE;QACjE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE;AAC5D,KAAA,EAAE;QACD,IAAI,IAAI,EAAE;;YAER,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;AAExC,YAAA,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gBAC7B,IAAI,CAAC,MAAM,EAAE;oBACX,OAAO,CAAC,KAAK,CAAC,CAAA,cAAA,EAAiB,IAAI,CAAA,OAAA,CAAS,EAAE,WAAW,CAAC,KAAK,CAAC;gBAClE;AACA,gBAAA,OAAO,WAAW;YACpB;AAEA,YAAA,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK;;AAG/B,YAAA,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC7B;IACF;IAEA,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;IAEvC,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,MAAM,iBAAiB,GAAG;AACxB,YAAA,gBAAgB,GAAG,iBAAiB,GAAG,SAAS;AAChD,YAAA,eAAe,GAAG,gBAAgB,GAAG,SAAS;AAC9C,YAAA,aAAa,GAAG,cAAc,GAAG,SAAS;AAC3C,SAAA,CAAC,MAAM,CAAC,cAAc,CAAC;AAExB,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,CAAA,kCAAA,EAAqC,IAAI,CAAA,CAAE;YAC3C;iBACG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KACR,CAAC,KAAK,iBAAiB,CAAC,MAAM,GAAG,CAAC,GAAG,CAAA,EAAA,EAAK,CAAC,CAAA,CAAE,GAAG,CAAA,KAAA,EAAQ,CAAC,CAAA,CAAE;iBAE5D,IAAI,CAAC,EAAE,CAAC;AACZ,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;AAEV,QAAA,eAAe,CAAC,CAAA,EAAG,OAAO,GAAG,EAAE,QAAQ,CAAC;IAC1C;AAEA,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,eAAe,CAAC,oBAAoB,CAAC;AACrC,QAAA,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC;IAC7B;IAEA,OAAO,WAAW,CAAC,QAAQ,EAAE;QAC3B,MAAM;QACN,aAAa;QACb,MAAM;AACP,KAAA,CAAC;AACJ;;;;"}
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@ import { formatDiffFrom } from '../functions/index.mjs';
|
|
|
6
6
|
|
|
7
7
|
const cmdDef = cmd.command({
|
|
8
8
|
name: 'format-diff-from-cli',
|
|
9
|
-
version: '7.
|
|
9
|
+
version: '7.2.0',
|
|
10
10
|
args: {
|
|
11
11
|
base: cmd.positional({
|
|
12
12
|
type: cmd.string,
|
|
@@ -31,6 +31,11 @@ const cmdDef = cmd.command({
|
|
|
31
31
|
description:
|
|
32
32
|
'Exclude staged files in addition to diff files (default: false)',
|
|
33
33
|
}),
|
|
34
|
+
ignoreUnknown: cmd.flag({
|
|
35
|
+
long: 'ignore-unknown',
|
|
36
|
+
type: cmd.optional(cmd.boolean),
|
|
37
|
+
description: 'Ignore unknown files (default: true)',
|
|
38
|
+
}),
|
|
34
39
|
silent: cmd.flag({
|
|
35
40
|
long: 'silent',
|
|
36
41
|
type: cmd.optional(cmd.boolean),
|
|
@@ -43,6 +48,7 @@ const cmdDef = cmd.command({
|
|
|
43
48
|
excludeUntracked: args.excludeUntracked ?? false,
|
|
44
49
|
excludeModified: args.excludeModified ?? false,
|
|
45
50
|
excludeStaged: args.excludeStaged ?? false,
|
|
51
|
+
ignoreUnknown: args.ignoreUnknown ?? true,
|
|
46
52
|
silent: args.silent ?? false,
|
|
47
53
|
}).catch((error) => {
|
|
48
54
|
console.error('An error occurred:', error);
|
|
@@ -57,6 +63,7 @@ const main = async (
|
|
|
57
63
|
excludeUntracked: boolean;
|
|
58
64
|
excludeModified: boolean;
|
|
59
65
|
excludeStaged: boolean;
|
|
66
|
+
ignoreUnknown: boolean;
|
|
60
67
|
silent: boolean;
|
|
61
68
|
}>,
|
|
62
69
|
): Promise<void> => {
|
|
@@ -64,6 +71,7 @@ const main = async (
|
|
|
64
71
|
includeUntracked: !args.excludeUntracked,
|
|
65
72
|
includeModified: !args.excludeModified,
|
|
66
73
|
includeStaged: !args.excludeStaged,
|
|
74
|
+
ignoreUnknown: args.ignoreUnknown,
|
|
67
75
|
silent: args.silent,
|
|
68
76
|
});
|
|
69
77
|
|
|
@@ -6,7 +6,7 @@ import { formatUncommittedFiles } from '../functions/index.mjs';
|
|
|
6
6
|
|
|
7
7
|
const cmdDef = cmd.command({
|
|
8
8
|
name: 'format-uncommitted-cli',
|
|
9
|
-
version: '7.
|
|
9
|
+
version: '7.2.0',
|
|
10
10
|
args: {
|
|
11
11
|
excludeUntracked: cmd.flag({
|
|
12
12
|
long: 'exclude-untracked',
|
|
@@ -26,6 +26,11 @@ const cmdDef = cmd.command({
|
|
|
26
26
|
description:
|
|
27
27
|
'Exclude staged files in addition to diff files (default: false)',
|
|
28
28
|
}),
|
|
29
|
+
ignoreUnknown: cmd.flag({
|
|
30
|
+
long: 'ignore-unknown',
|
|
31
|
+
type: cmd.optional(cmd.boolean),
|
|
32
|
+
description: 'Ignore unknown files (default: true)',
|
|
33
|
+
}),
|
|
29
34
|
silent: cmd.flag({
|
|
30
35
|
long: 'silent',
|
|
31
36
|
type: cmd.optional(cmd.boolean),
|
|
@@ -37,6 +42,7 @@ const cmdDef = cmd.command({
|
|
|
37
42
|
excludeUntracked: args.excludeUntracked ?? false,
|
|
38
43
|
excludeModified: args.excludeModified ?? false,
|
|
39
44
|
excludeStaged: args.excludeStaged ?? false,
|
|
45
|
+
ignoreUnknown: args.ignoreUnknown ?? true,
|
|
40
46
|
silent: args.silent ?? false,
|
|
41
47
|
}).catch((error) => {
|
|
42
48
|
console.error('An error occurred:', error);
|
|
@@ -50,6 +56,7 @@ const main = async (
|
|
|
50
56
|
excludeUntracked: boolean;
|
|
51
57
|
excludeModified: boolean;
|
|
52
58
|
excludeStaged: boolean;
|
|
59
|
+
ignoreUnknown: boolean;
|
|
53
60
|
silent: boolean;
|
|
54
61
|
}>,
|
|
55
62
|
): Promise<void> => {
|
|
@@ -57,6 +64,7 @@ const main = async (
|
|
|
57
64
|
untracked: !args.excludeUntracked,
|
|
58
65
|
modified: !args.excludeModified,
|
|
59
66
|
staged: !args.excludeStaged,
|
|
67
|
+
ignoreUnknown: args.ignoreUnknown,
|
|
60
68
|
silent: args.silent,
|
|
61
69
|
});
|
|
62
70
|
if (Result.isErr(result)) {
|
package/src/cmd/gen-index-ts.mts
CHANGED
package/src/functions/format.mts
CHANGED
|
@@ -19,6 +19,7 @@ export const formatFiles = async (
|
|
|
19
19
|
options?: Readonly<{
|
|
20
20
|
silent?: boolean;
|
|
21
21
|
ignore?: (filePath: string) => boolean;
|
|
22
|
+
ignoreUnknown?: boolean;
|
|
22
23
|
}>,
|
|
23
24
|
): Promise<Result<undefined, readonly unknown[]>> => {
|
|
24
25
|
const silent = options?.silent ?? false;
|
|
@@ -66,6 +67,15 @@ export const formatFiles = async (
|
|
|
66
67
|
return Result.ok(undefined);
|
|
67
68
|
}
|
|
68
69
|
|
|
70
|
+
if (
|
|
71
|
+
(options?.ignoreUnknown ?? true) &&
|
|
72
|
+
fileInfo.inferredParser === null
|
|
73
|
+
) {
|
|
74
|
+
// Silently skip files with no parser
|
|
75
|
+
conditionalEcho(`Skipping file (no parser): ${filePath}`);
|
|
76
|
+
return Result.ok(undefined);
|
|
77
|
+
}
|
|
78
|
+
|
|
69
79
|
// Format the content
|
|
70
80
|
const formatted = await prettier.format(content, {
|
|
71
81
|
...prettierOptions,
|
|
@@ -170,9 +180,15 @@ const ignoreDirs: readonly string[] = [
|
|
|
170
180
|
*/
|
|
171
181
|
export const formatFilesGlob = async (
|
|
172
182
|
pathGlob: string,
|
|
173
|
-
options?: Readonly<{
|
|
183
|
+
options?: Readonly<{
|
|
184
|
+
silent?: boolean;
|
|
185
|
+
ignoreUnknown?: boolean;
|
|
186
|
+
ignore?: (filePath: string) => boolean;
|
|
187
|
+
}>,
|
|
174
188
|
): Promise<Result<undefined, unknown>> => {
|
|
175
189
|
const silent = options?.silent ?? false;
|
|
190
|
+
const ignoreUnknown = options?.ignoreUnknown ?? true;
|
|
191
|
+
const ignore = options?.ignore;
|
|
176
192
|
const conditionalEcho = silent ? () => {} : echo;
|
|
177
193
|
|
|
178
194
|
try {
|
|
@@ -188,7 +204,7 @@ export const formatFilesGlob = async (
|
|
|
188
204
|
return Result.ok(undefined);
|
|
189
205
|
}
|
|
190
206
|
|
|
191
|
-
return await formatFiles(files, { silent });
|
|
207
|
+
return await formatFiles(files, { silent, ignoreUnknown, ignore });
|
|
192
208
|
} catch (error) {
|
|
193
209
|
if (!silent) {
|
|
194
210
|
console.error('Error in formatFiles:', error);
|
|
@@ -208,6 +224,8 @@ export const formatUncommittedFiles = async (
|
|
|
208
224
|
modified?: boolean;
|
|
209
225
|
staged?: boolean;
|
|
210
226
|
silent?: boolean;
|
|
227
|
+
ignoreUnknown?: boolean;
|
|
228
|
+
ignore?: (filePath: string) => boolean;
|
|
211
229
|
}>,
|
|
212
230
|
): Promise<
|
|
213
231
|
Result<
|
|
@@ -220,6 +238,8 @@ export const formatUncommittedFiles = async (
|
|
|
220
238
|
modified = true,
|
|
221
239
|
staged = true,
|
|
222
240
|
silent = false,
|
|
241
|
+
ignoreUnknown = true,
|
|
242
|
+
ignore,
|
|
223
243
|
} = options ?? {};
|
|
224
244
|
|
|
225
245
|
const mut_files: string[] = [];
|
|
@@ -266,7 +286,11 @@ export const formatUncommittedFiles = async (
|
|
|
266
286
|
mut_files.push(...stagedFilesResult.value);
|
|
267
287
|
}
|
|
268
288
|
|
|
269
|
-
return formatFiles(Arr.uniq(mut_files), {
|
|
289
|
+
return formatFiles(Arr.uniq(mut_files), {
|
|
290
|
+
silent,
|
|
291
|
+
ignoreUnknown,
|
|
292
|
+
ignore,
|
|
293
|
+
});
|
|
270
294
|
};
|
|
271
295
|
|
|
272
296
|
/**
|
|
@@ -289,6 +313,8 @@ export const formatDiffFrom = async (
|
|
|
289
313
|
includeModified?: boolean;
|
|
290
314
|
includeStaged?: boolean;
|
|
291
315
|
silent?: boolean;
|
|
316
|
+
ignoreUnknown?: boolean;
|
|
317
|
+
ignore?: (filePath: string) => boolean;
|
|
292
318
|
}>,
|
|
293
319
|
): Promise<
|
|
294
320
|
Result<
|
|
@@ -306,6 +332,8 @@ export const formatDiffFrom = async (
|
|
|
306
332
|
includeUntracked = true,
|
|
307
333
|
includeModified = true,
|
|
308
334
|
includeStaged = true,
|
|
335
|
+
ignoreUnknown = true,
|
|
336
|
+
ignore,
|
|
309
337
|
} = options ?? {};
|
|
310
338
|
|
|
311
339
|
const conditionalEcho = silent ? () => {} : echo;
|
|
@@ -375,5 +403,9 @@ export const formatDiffFrom = async (
|
|
|
375
403
|
return Result.ok(undefined);
|
|
376
404
|
}
|
|
377
405
|
|
|
378
|
-
return formatFiles(allFiles, {
|
|
406
|
+
return formatFiles(allFiles, {
|
|
407
|
+
silent,
|
|
408
|
+
ignoreUnknown,
|
|
409
|
+
ignore,
|
|
410
|
+
});
|
|
379
411
|
};
|