ts-repo-utils 7.0.3 → 7.1.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/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 +1 -1
- package/dist/cmd/format-uncommitted.mjs +1 -1
- package/dist/cmd/gen-index-ts.mjs +1 -1
- package/dist/functions/format.d.mts +1 -0
- package/dist/functions/format.d.mts.map +1 -1
- package/dist/functions/format.mjs +47 -1
- package/dist/functions/format.mjs.map +1 -1
- package/package.json +8 -8
- 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 +1 -1
- package/src/cmd/format-uncommitted.mts +1 -1
- package/src/cmd/gen-index-ts.mts +1 -1
- package/src/functions/format.mts +60 -2
|
@@ -8,6 +8,7 @@ import '../node-global.mjs';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare const formatFiles: (files: readonly string[], options?: Readonly<{
|
|
10
10
|
silent?: boolean;
|
|
11
|
+
ignore?: (filePath: string) => boolean;
|
|
11
12
|
}>) => Promise<Result<undefined, readonly unknown[]>>;
|
|
12
13
|
/**
|
|
13
14
|
* Format files matching the given glob pattern using Prettier
|
|
@@ -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;
|
|
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;CACxC,CAAC,KACD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,CAAC,CAwF/C,CAAC;AAsDF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAChB,UAAU,QAAQ,CAAC;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,KACvC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAwBpC,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;CAClB,CAAC,KACD,OAAO,CACR,MAAM,CACJ,SAAS,EACT,aAAa,GAAG,QAAQ,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,OAAO,EAAE,CACnE,CAsDF,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;CAClB,CAAC,KACD,OAAO,CACR,MAAM,CACJ,SAAS,EACP,aAAa,GACb,QAAQ,CAAC;IACP,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,GACF,SAAS,OAAO,EAAE,CACrB,CA8EF,CAAC"}
|
|
@@ -38,7 +38,8 @@ const formatFiles = async (files, options) => {
|
|
|
38
38
|
const fileInfo = await prettier.getFileInfo(filePath, {
|
|
39
39
|
ignorePath: '.prettierignore',
|
|
40
40
|
});
|
|
41
|
-
if (fileInfo.ignored
|
|
41
|
+
if (fileInfo.ignored ||
|
|
42
|
+
(options?.ignore ?? defaultIgnoreFn)(filePath)) {
|
|
42
43
|
conditionalEcho(`Skipping ignored file: ${filePath}`);
|
|
43
44
|
return Result.ok(undefined);
|
|
44
45
|
}
|
|
@@ -83,6 +84,51 @@ const formatFiles = async (files, options) => {
|
|
|
83
84
|
return Result.err(errors);
|
|
84
85
|
}
|
|
85
86
|
};
|
|
87
|
+
const defaultIgnoreFn = (filePath) => {
|
|
88
|
+
const filename = path.basename(filePath);
|
|
89
|
+
return (ignoreFiles.has(filename) ||
|
|
90
|
+
filename.startsWith('.env') ||
|
|
91
|
+
ignoreExtensions.some((ext) => filePath.endsWith(ext)) ||
|
|
92
|
+
ignoreDirs.some((dir) => filename.startsWith(dir)));
|
|
93
|
+
};
|
|
94
|
+
const ignoreFiles = new Set([
|
|
95
|
+
'.DS_Store',
|
|
96
|
+
'package-lock.json',
|
|
97
|
+
'LICENSE',
|
|
98
|
+
'.prettierignore',
|
|
99
|
+
'.editorconfig',
|
|
100
|
+
'.gitignore',
|
|
101
|
+
]);
|
|
102
|
+
const ignoreExtensions = [
|
|
103
|
+
'.svg',
|
|
104
|
+
'.png',
|
|
105
|
+
'.jpg',
|
|
106
|
+
'.jpeg',
|
|
107
|
+
'.gif',
|
|
108
|
+
'.bmp',
|
|
109
|
+
'.tiff',
|
|
110
|
+
'.bak',
|
|
111
|
+
'.log',
|
|
112
|
+
'.zip',
|
|
113
|
+
'.tar',
|
|
114
|
+
'.gz',
|
|
115
|
+
'.7z',
|
|
116
|
+
'.mp3',
|
|
117
|
+
'.mp4',
|
|
118
|
+
'.avi',
|
|
119
|
+
'.mkv',
|
|
120
|
+
'.tsbuildinfo',
|
|
121
|
+
];
|
|
122
|
+
const ignoreDirs = [
|
|
123
|
+
'node_modules',
|
|
124
|
+
'.git',
|
|
125
|
+
'dist',
|
|
126
|
+
'build',
|
|
127
|
+
'out',
|
|
128
|
+
'.cache',
|
|
129
|
+
'.vscode',
|
|
130
|
+
'.yarn',
|
|
131
|
+
];
|
|
86
132
|
/**
|
|
87
133
|
* Format files matching the given glob pattern using Prettier
|
|
88
134
|
*
|
|
@@ -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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-repo-utils",
|
|
3
|
-
"version": "7.0
|
|
3
|
+
"version": "7.1.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript"
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"@types/micromatch": "^4.0.9",
|
|
66
|
-
"cmd-ts": "^0.
|
|
66
|
+
"cmd-ts": "^0.14.1",
|
|
67
67
|
"fast-glob": "^3.3.3",
|
|
68
68
|
"micromatch": "^4.0.8",
|
|
69
69
|
"prettier": "^3.6.2",
|
|
@@ -81,14 +81,14 @@
|
|
|
81
81
|
"@semantic-release/git": "^10.0.1",
|
|
82
82
|
"@semantic-release/github": "^11.0.5",
|
|
83
83
|
"@semantic-release/npm": "^12.0.2",
|
|
84
|
-
"@semantic-release/release-notes-generator": "^14.0
|
|
84
|
+
"@semantic-release/release-notes-generator": "^14.1.0",
|
|
85
85
|
"@types/node": "^24.3.0",
|
|
86
86
|
"@vitest/coverage-v8": "^3.2.4",
|
|
87
87
|
"@vitest/ui": "^3.2.4",
|
|
88
88
|
"conventional-changelog-conventionalcommits": "^9.1.0",
|
|
89
89
|
"cspell": "^9.2.0",
|
|
90
90
|
"dedent": "^1.6.0",
|
|
91
|
-
"eslint": "^9.
|
|
91
|
+
"eslint": "^9.35.0",
|
|
92
92
|
"eslint-import-resolver-typescript": "4.4.4",
|
|
93
93
|
"eslint-plugin-array-func": "5.0.2",
|
|
94
94
|
"eslint-plugin-functional": "9.0.2",
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"eslint-plugin-prefer-arrow-functions": "3.6.2",
|
|
97
97
|
"eslint-plugin-promise": "7.2.1",
|
|
98
98
|
"eslint-plugin-security": "3.0.1",
|
|
99
|
-
"eslint-plugin-unicorn": "
|
|
99
|
+
"eslint-plugin-unicorn": "61.0.1",
|
|
100
100
|
"eslint-plugin-vitest": "0.5.4",
|
|
101
101
|
"markdownlint-cli2": "^0.18.1",
|
|
102
102
|
"npm-run-all2": "^8.0.4",
|
|
@@ -104,14 +104,14 @@
|
|
|
104
104
|
"prettier-plugin-jsdoc": "^1.3.3",
|
|
105
105
|
"prettier-plugin-organize-imports": "^4.2.0",
|
|
106
106
|
"prettier-plugin-packagejson": "^2.5.19",
|
|
107
|
-
"rollup": "^4.
|
|
107
|
+
"rollup": "^4.49.0",
|
|
108
108
|
"semantic-release": "^24.2.7",
|
|
109
109
|
"ts-type-forge": "^2.1.1",
|
|
110
110
|
"tslib": "^2.8.1",
|
|
111
|
-
"typedoc": "^0.28.
|
|
111
|
+
"typedoc": "^0.28.12",
|
|
112
112
|
"typedoc-plugin-markdown": "^4.8.1",
|
|
113
113
|
"typescript": "^5.9.2",
|
|
114
|
-
"typescript-eslint": "^8.
|
|
114
|
+
"typescript-eslint": "^8.42.0",
|
|
115
115
|
"vitest": "^3.2.4"
|
|
116
116
|
},
|
|
117
117
|
"peerDependencies": {
|
package/src/cmd/gen-index-ts.mts
CHANGED
package/src/functions/format.mts
CHANGED
|
@@ -16,7 +16,10 @@ import {
|
|
|
16
16
|
*/
|
|
17
17
|
export const formatFiles = async (
|
|
18
18
|
files: readonly string[],
|
|
19
|
-
options?: Readonly<{
|
|
19
|
+
options?: Readonly<{
|
|
20
|
+
silent?: boolean;
|
|
21
|
+
ignore?: (filePath: string) => boolean;
|
|
22
|
+
}>,
|
|
20
23
|
): Promise<Result<undefined, readonly unknown[]>> => {
|
|
21
24
|
const silent = options?.silent ?? false;
|
|
22
25
|
|
|
@@ -55,7 +58,10 @@ export const formatFiles = async (
|
|
|
55
58
|
ignorePath: '.prettierignore',
|
|
56
59
|
});
|
|
57
60
|
|
|
58
|
-
if (
|
|
61
|
+
if (
|
|
62
|
+
fileInfo.ignored ||
|
|
63
|
+
(options?.ignore ?? defaultIgnoreFn)(filePath)
|
|
64
|
+
) {
|
|
59
65
|
conditionalEcho(`Skipping ignored file: ${filePath}`);
|
|
60
66
|
return Result.ok(undefined);
|
|
61
67
|
}
|
|
@@ -104,6 +110,58 @@ export const formatFiles = async (
|
|
|
104
110
|
}
|
|
105
111
|
};
|
|
106
112
|
|
|
113
|
+
const defaultIgnoreFn = (filePath: string): boolean => {
|
|
114
|
+
const filename = path.basename(filePath);
|
|
115
|
+
|
|
116
|
+
return (
|
|
117
|
+
ignoreFiles.has(filename) ||
|
|
118
|
+
filename.startsWith('.env') ||
|
|
119
|
+
ignoreExtensions.some((ext) => filePath.endsWith(ext)) ||
|
|
120
|
+
ignoreDirs.some((dir) => filename.startsWith(dir))
|
|
121
|
+
);
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
const ignoreFiles: ReadonlySet<string> = new Set([
|
|
125
|
+
'.DS_Store',
|
|
126
|
+
'package-lock.json',
|
|
127
|
+
'LICENSE',
|
|
128
|
+
'.prettierignore',
|
|
129
|
+
'.editorconfig',
|
|
130
|
+
'.gitignore',
|
|
131
|
+
]);
|
|
132
|
+
|
|
133
|
+
const ignoreExtensions: readonly string[] = [
|
|
134
|
+
'.svg',
|
|
135
|
+
'.png',
|
|
136
|
+
'.jpg',
|
|
137
|
+
'.jpeg',
|
|
138
|
+
'.gif',
|
|
139
|
+
'.bmp',
|
|
140
|
+
'.tiff',
|
|
141
|
+
'.bak',
|
|
142
|
+
'.log',
|
|
143
|
+
'.zip',
|
|
144
|
+
'.tar',
|
|
145
|
+
'.gz',
|
|
146
|
+
'.7z',
|
|
147
|
+
'.mp3',
|
|
148
|
+
'.mp4',
|
|
149
|
+
'.avi',
|
|
150
|
+
'.mkv',
|
|
151
|
+
'.tsbuildinfo',
|
|
152
|
+
] as const;
|
|
153
|
+
|
|
154
|
+
const ignoreDirs: readonly string[] = [
|
|
155
|
+
'node_modules',
|
|
156
|
+
'.git',
|
|
157
|
+
'dist',
|
|
158
|
+
'build',
|
|
159
|
+
'out',
|
|
160
|
+
'.cache',
|
|
161
|
+
'.vscode',
|
|
162
|
+
'.yarn',
|
|
163
|
+
] as const;
|
|
164
|
+
|
|
107
165
|
/**
|
|
108
166
|
* Format files matching the given glob pattern using Prettier
|
|
109
167
|
*
|