ts-codemod-lib 2.1.1 → 2.1.3
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/append-as-const.mjs +1 -1
- package/dist/cmd/convert-interface-to-type.mjs +1 -1
- package/dist/cmd/convert-to-readonly.mjs +1 -1
- package/dist/cmd/replace-any-with-unknown.mjs +1 -1
- package/dist/cmd/replace-record-with-unknown-record.mjs +1 -1
- package/dist/cmd/run-transformer-cli.d.mts.map +1 -1
- package/dist/cmd/run-transformer-cli.mjs +6 -2
- package/dist/cmd/run-transformer-cli.mjs.map +1 -1
- package/package.json +29 -29
- package/src/cmd/append-as-const.mts +1 -1
- package/src/cmd/convert-interface-to-type.mts +1 -1
- package/src/cmd/convert-to-readonly.mts +1 -1
- package/src/cmd/replace-any-with-unknown.mts +1 -1
- package/src/cmd/replace-record-with-unknown-record.mts +1 -1
- package/src/cmd/run-transformer-cli.mts +6 -2
- package/src/functions/ast-transformers/convert-to-readonly.test.mts +2 -2
|
@@ -10,7 +10,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
|
|
|
10
10
|
const transformer = appendAsConstTransformer();
|
|
11
11
|
const cmdDef = cmd.command({
|
|
12
12
|
name: transformer.name,
|
|
13
|
-
version: '2.1.
|
|
13
|
+
version: '2.1.3',
|
|
14
14
|
args: {
|
|
15
15
|
baseDir: cmd.positional({
|
|
16
16
|
type: cmd.string,
|
|
@@ -10,7 +10,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
|
|
|
10
10
|
const transformer = convertInterfaceToTypeTransformer();
|
|
11
11
|
const cmdDef = cmd.command({
|
|
12
12
|
name: transformer.name,
|
|
13
|
-
version: '2.1.
|
|
13
|
+
version: '2.1.3',
|
|
14
14
|
args: {
|
|
15
15
|
baseDir: cmd.positional({
|
|
16
16
|
type: cmd.string,
|
|
@@ -10,7 +10,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
|
|
|
10
10
|
const transformer = convertToReadonlyTransformer();
|
|
11
11
|
const cmdDef = cmd.command({
|
|
12
12
|
name: transformer.name,
|
|
13
|
-
version: '2.1.
|
|
13
|
+
version: '2.1.3',
|
|
14
14
|
args: {
|
|
15
15
|
baseDir: cmd.positional({
|
|
16
16
|
type: cmd.string,
|
|
@@ -10,7 +10,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
|
|
|
10
10
|
const transformer = replaceAnyWithUnknownTransformer();
|
|
11
11
|
const cmdDef = cmd.command({
|
|
12
12
|
name: transformer.name,
|
|
13
|
-
version: '2.1.
|
|
13
|
+
version: '2.1.3',
|
|
14
14
|
args: {
|
|
15
15
|
baseDir: cmd.positional({
|
|
16
16
|
type: cmd.string,
|
|
@@ -10,7 +10,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
|
|
|
10
10
|
const transformer = replaceRecordWithUnknownRecordTransformer();
|
|
11
11
|
const cmdDef = cmd.command({
|
|
12
12
|
name: transformer.name,
|
|
13
|
-
version: '2.1.
|
|
13
|
+
version: '2.1.3',
|
|
14
14
|
args: {
|
|
15
15
|
baseDir: cmd.positional({
|
|
16
16
|
type: cmd.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-transformer-cli.d.mts","sourceRoot":"","sources":["../../src/cmd/run-transformer-cli.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-transformer-cli.d.mts","sourceRoot":"","sources":["../../src/cmd/run-transformer-cli.mts"],"names":[],"mappings":"AAKA,OAAO,EAAO,MAAM,EAAmB,MAAM,eAAe,CAAC;AAO7D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAEhC,KAAK,eAAe,GAAG,QAAQ,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC;AAEH,KAAK,qBAAqB,GAAG,eAAe,CAAC;AAE7C,eAAO,MAAM,iBAAiB,GAC5B,SAAS,qBAAqB,EAC9B,cAAc,SAAS,kBAAkB,EAAE,KAC1C,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CA8DtC,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
|
+
import * as fs from 'node:fs/promises';
|
|
3
|
+
import * as path from 'node:path';
|
|
2
4
|
import { Result, Arr, unknownToString } from 'ts-data-forge';
|
|
3
5
|
import { glob, getUntrackedFiles, getModifiedFiles, getStagedFiles } from 'ts-repo-utils';
|
|
4
6
|
import 'ts-morph';
|
|
@@ -8,7 +10,7 @@ import { transformSourceCode } from '../functions/ast-transformers/transform-sou
|
|
|
8
10
|
|
|
9
11
|
/* eslint-disable no-await-in-loop */
|
|
10
12
|
const runTransformerCLI = async (options, transformers) => {
|
|
11
|
-
const echoIfNotSilent = options.silent ? () => { } :
|
|
13
|
+
const echoIfNotSilent = options.silent ? () => { } : console.log;
|
|
12
14
|
const errorIfNotSilent = options.silent ? () => { } : console.error;
|
|
13
15
|
const filesResult = await getFilesForTransformation(options);
|
|
14
16
|
if (Result.isErr(filesResult)) {
|
|
@@ -116,11 +118,12 @@ const transformFiles = async (filePaths, transformers, silent) => {
|
|
|
116
118
|
};
|
|
117
119
|
};
|
|
118
120
|
const transformOneFile = async (filePath, transformers, silent) => {
|
|
119
|
-
const echoIfNotSilent = silent ? () => { } :
|
|
121
|
+
const echoIfNotSilent = silent ? () => { } : console.log;
|
|
120
122
|
const errorIfNotSilent = silent ? () => { } : console.error;
|
|
121
123
|
const fileName = path.basename(filePath);
|
|
122
124
|
const isTsx = fileName.endsWith('.tsx') || fileName.endsWith('.jsx');
|
|
123
125
|
try {
|
|
126
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
124
127
|
const originalCode = await fs.readFile(filePath, 'utf8');
|
|
125
128
|
const transformedCode = transformSourceCode(originalCode, isTsx, transformers);
|
|
126
129
|
if (transformedCode === originalCode) {
|
|
@@ -128,6 +131,7 @@ const transformOneFile = async (filePath, transformers, silent) => {
|
|
|
128
131
|
return Result.ok('unchanged');
|
|
129
132
|
}
|
|
130
133
|
else {
|
|
134
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
131
135
|
await fs.writeFile(filePath, transformedCode, 'utf8');
|
|
132
136
|
echoIfNotSilent(`✅ ${fileName} - transformed`);
|
|
133
137
|
return Result.ok('transformed');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-transformer-cli.mjs","sources":["../../src/cmd/run-transformer-cli.mts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-transformer-cli.mjs","sources":["../../src/cmd/run-transformer-cli.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-codemod-lib",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -99,8 +99,8 @@
|
|
|
99
99
|
"z:vitest:node": "pnpm run z:vitest --project='Node.js'"
|
|
100
100
|
},
|
|
101
101
|
"dependencies": {
|
|
102
|
-
"ts-data-forge": "6.
|
|
103
|
-
"ts-morph": "
|
|
102
|
+
"ts-data-forge": "6.9.0",
|
|
103
|
+
"ts-morph": "28.0.0"
|
|
104
104
|
},
|
|
105
105
|
"devDependencies": {
|
|
106
106
|
"@rollup/plugin-replace": "6.0.3",
|
|
@@ -111,42 +111,42 @@
|
|
|
111
111
|
"@semantic-release/exec": "7.1.0",
|
|
112
112
|
"@semantic-release/git": "10.0.1",
|
|
113
113
|
"@semantic-release/github": "12.0.6",
|
|
114
|
-
"@semantic-release/npm": "13.1.
|
|
114
|
+
"@semantic-release/npm": "13.1.5",
|
|
115
115
|
"@semantic-release/release-notes-generator": "14.1.0",
|
|
116
|
-
"@types/node": "25.
|
|
117
|
-
"@vitest/browser-playwright": "4.
|
|
118
|
-
"@vitest/coverage-v8": "4.
|
|
119
|
-
"@vitest/ui": "4.
|
|
116
|
+
"@types/node": "25.6.0",
|
|
117
|
+
"@vitest/browser-playwright": "4.1.4",
|
|
118
|
+
"@vitest/coverage-v8": "4.1.4",
|
|
119
|
+
"@vitest/ui": "4.1.4",
|
|
120
120
|
"cmd-ts": "0.15.0",
|
|
121
|
-
"conventional-changelog-conventionalcommits": "9.1
|
|
122
|
-
"cspell": "
|
|
123
|
-
"dedent": "1.7.
|
|
124
|
-
"eslint": "9.39.
|
|
125
|
-
"eslint-config-typed": "4.
|
|
126
|
-
"github-settings-as-code": "1.
|
|
121
|
+
"conventional-changelog-conventionalcommits": "9.3.1",
|
|
122
|
+
"cspell": "10.0.0",
|
|
123
|
+
"dedent": "1.7.2",
|
|
124
|
+
"eslint": "9.39.4",
|
|
125
|
+
"eslint-config-typed": "4.7.4",
|
|
126
|
+
"github-settings-as-code": "1.2.3",
|
|
127
127
|
"jiti": "2.6.1",
|
|
128
128
|
"markdownlint": "0.40.0",
|
|
129
|
-
"markdownlint-cli2": "0.
|
|
129
|
+
"markdownlint-cli2": "0.22.0",
|
|
130
130
|
"npm-run-all2": "8.0.4",
|
|
131
|
-
"playwright": "1.
|
|
132
|
-
"prettier": "3.8.
|
|
131
|
+
"playwright": "1.59.1",
|
|
132
|
+
"prettier": "3.8.3",
|
|
133
133
|
"prettier-plugin-organize-imports": "4.3.0",
|
|
134
|
-
"prettier-plugin-packagejson": "3.0.
|
|
135
|
-
"rollup": "4.
|
|
134
|
+
"prettier-plugin-packagejson": "3.0.2",
|
|
135
|
+
"rollup": "4.60.1",
|
|
136
136
|
"semantic-release": "25.0.3",
|
|
137
|
-
"ts-repo-utils": "
|
|
138
|
-
"ts-type-forge": "2.
|
|
137
|
+
"ts-repo-utils": "9.0.1",
|
|
138
|
+
"ts-type-forge": "2.4.0",
|
|
139
139
|
"tslib": "2.8.1",
|
|
140
140
|
"tsx": "4.21.0",
|
|
141
|
-
"typedoc": "0.28.
|
|
141
|
+
"typedoc": "0.28.19",
|
|
142
142
|
"typedoc-github-theme": "0.4.0",
|
|
143
143
|
"typescript": "5.9.3",
|
|
144
|
-
"vite": "
|
|
145
|
-
"vitest": "4.
|
|
144
|
+
"vite": "8.0.8",
|
|
145
|
+
"vitest": "4.1.4"
|
|
146
146
|
},
|
|
147
147
|
"peerDependencies": {
|
|
148
148
|
"cmd-ts": "0.14.3",
|
|
149
|
-
"dedent": "1.7.
|
|
149
|
+
"dedent": "1.7.2",
|
|
150
150
|
"ts-repo-utils": "8.1.0"
|
|
151
151
|
},
|
|
152
152
|
"peerDependenciesMeta": {
|
|
@@ -160,12 +160,12 @@
|
|
|
160
160
|
"optional": true
|
|
161
161
|
}
|
|
162
162
|
},
|
|
163
|
-
"packageManager": "pnpm@10.
|
|
163
|
+
"packageManager": "pnpm@10.33.1",
|
|
164
164
|
"engines": {
|
|
165
|
-
"node": ">=
|
|
166
|
-
"pnpm": ">=
|
|
165
|
+
"node": ">=22.12.0",
|
|
166
|
+
"pnpm": ">=9.0.0"
|
|
167
167
|
},
|
|
168
168
|
"volta": {
|
|
169
|
-
"node": "25.
|
|
169
|
+
"node": "25.9.0"
|
|
170
170
|
}
|
|
171
171
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/* eslint-disable no-await-in-loop */
|
|
2
2
|
|
|
3
3
|
import dedent from 'dedent';
|
|
4
|
+
import * as fs from 'node:fs/promises';
|
|
5
|
+
import * as path from 'node:path';
|
|
4
6
|
import { Arr, Result, unknownToString } from 'ts-data-forge';
|
|
5
7
|
import {
|
|
6
8
|
getModifiedFiles,
|
|
@@ -26,7 +28,7 @@ export const runTransformerCLI = async (
|
|
|
26
28
|
options: TransformerCLIOptions,
|
|
27
29
|
transformers: readonly TsMorphTransformer[],
|
|
28
30
|
): Promise<Result<undefined, undefined>> => {
|
|
29
|
-
const echoIfNotSilent = options.silent ? () => {} :
|
|
31
|
+
const echoIfNotSilent = options.silent ? () => {} : console.log;
|
|
30
32
|
|
|
31
33
|
const errorIfNotSilent = options.silent ? () => {} : console.error;
|
|
32
34
|
|
|
@@ -239,7 +241,7 @@ const transformOneFile = async (
|
|
|
239
241
|
transformers: readonly TsMorphTransformer[],
|
|
240
242
|
silent: boolean,
|
|
241
243
|
): Promise<Result<'unchanged' | 'transformed', string>> => {
|
|
242
|
-
const echoIfNotSilent = silent ? () => {} :
|
|
244
|
+
const echoIfNotSilent = silent ? () => {} : console.log;
|
|
243
245
|
|
|
244
246
|
const errorIfNotSilent = silent ? () => {} : console.error;
|
|
245
247
|
|
|
@@ -248,6 +250,7 @@ const transformOneFile = async (
|
|
|
248
250
|
const isTsx = fileName.endsWith('.tsx') || fileName.endsWith('.jsx');
|
|
249
251
|
|
|
250
252
|
try {
|
|
253
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
251
254
|
const originalCode = await fs.readFile(filePath, 'utf8');
|
|
252
255
|
|
|
253
256
|
const transformedCode = transformSourceCode(
|
|
@@ -261,6 +264,7 @@ const transformOneFile = async (
|
|
|
261
264
|
|
|
262
265
|
return Result.ok('unchanged');
|
|
263
266
|
} else {
|
|
267
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
264
268
|
await fs.writeFile(filePath, transformedCode, 'utf8');
|
|
265
269
|
|
|
266
270
|
echoIfNotSilent(`✅ ${fileName} - transformed`);
|
|
@@ -3915,7 +3915,7 @@ describe(convertToReadonlyTransformer, () => {
|
|
|
3915
3915
|
},
|
|
3916
3916
|
}),
|
|
3917
3917
|
]);
|
|
3918
|
-
}).
|
|
3918
|
+
}).toThrow(
|
|
3919
3919
|
'Invalid DeepReadonly typeName "Readonly" passed to convertToReadonlyType',
|
|
3920
3920
|
);
|
|
3921
3921
|
});
|
|
@@ -3933,7 +3933,7 @@ describe(convertToReadonlyTransformer, () => {
|
|
|
3933
3933
|
`; // Invalid Array usage
|
|
3934
3934
|
|
|
3935
3935
|
transformSourceCode(source, false, [convertToReadonlyTransformer()]);
|
|
3936
|
-
}).
|
|
3936
|
+
}).toThrow('Unexpected number of type arguments');
|
|
3937
3937
|
});
|
|
3938
3938
|
});
|
|
3939
3939
|
});
|