ts-codemod-lib 1.4.1 → 1.4.2

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.
@@ -10,7 +10,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
10
10
 
11
11
  const cmdDef = cmd.command({
12
12
  name: 'append-as-const',
13
- version: '1.4.1',
13
+ version: '1.4.2',
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
 
11
11
  const cmdDef = cmd.command({
12
12
  name: 'convert-interface-to-type',
13
- version: '1.4.1',
13
+ version: '1.4.2',
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
 
11
11
  const cmdDef = cmd.command({
12
12
  name: 'convert-to-readonly',
13
- version: '1.4.1',
13
+ version: '1.4.2',
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
 
11
11
  const cmdDef = cmd.command({
12
12
  name: 'replace-any-with-unknown',
13
- version: '1.4.1',
13
+ version: '1.4.2',
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
 
11
11
  const cmdDef = cmd.command({
12
12
  name: 'replace-record-with-unknown-record',
13
- version: '1.4.1',
13
+ version: '1.4.2',
14
14
  args: {
15
15
  baseDir: cmd.positional({
16
16
  type: cmd.string,
@@ -30,22 +30,24 @@ const appendAsConstTransformer = (options) => {
30
30
  return transformer;
31
31
  };
32
32
  const transformNode = (node, context, options) => {
33
+ options.debugPrint(node.getKindName(), node.getText());
34
+ if (node.isKind(tsm.SyntaxKind.LiteralType) ||
35
+ node.isKind(tsm.SyntaxKind.TypeLiteral) ||
36
+ node.isKind(tsm.SyntaxKind.TypeReference) ||
37
+ node.isKind(tsm.SyntaxKind.UnionType) ||
38
+ node.isKind(tsm.SyntaxKind.TypeAliasDeclaration) ||
39
+ node.isKind(tsm.SyntaxKind.ImportDeclaration) ||
40
+ isDirective(node)) {
41
+ return; // skip type annotations, import declarations, and directives
42
+ }
33
43
  if (hasDisableNextLineComment(node, TRANSFORMER_NAME)) {
34
44
  options.debugPrint('skipped by disable-next-line comment');
35
45
  return;
36
46
  }
37
- options.debugPrint(node.getKindName(), node.getText());
38
47
  if (options.applyLevel === 'avoidInFunctionArgs' &&
39
48
  tsm.Node.isCallExpression(node)) {
40
49
  return;
41
50
  }
42
- if (node.isKind(tsm.SyntaxKind.LiteralType) ||
43
- node.isKind(tsm.SyntaxKind.TypeLiteral) ||
44
- node.isKind(tsm.SyntaxKind.TypeReference) ||
45
- node.isKind(tsm.SyntaxKind.UnionType) ||
46
- node.isKind(tsm.SyntaxKind.TypeAliasDeclaration)) {
47
- return; // skip type annotations
48
- }
49
51
  if (node.isKind(tsm.SyntaxKind.NoSubstitutionTemplateLiteral) || // `abc`
50
52
  node.isKind(tsm.SyntaxKind.NumericLiteral) || // 123
51
53
  node.isKind(tsm.SyntaxKind.BigIntLiteral) || // 123n
@@ -60,11 +62,6 @@ const transformNode = (node, context, options) => {
60
62
  return;
61
63
  }
62
64
  if (node.isKind(tsm.SyntaxKind.TemplateExpression)) {
63
- options.debugPrint(node.getKindName(), node.getText());
64
- options.debugPrint(node
65
- .getChildren()
66
- .map((c) => c.getText())
67
- .join(''));
68
65
  options.replaceNode(node, `${node.getText()} as const`);
69
66
  return;
70
67
  }
@@ -107,7 +104,6 @@ const transformNode = (node, context, options) => {
107
104
  }
108
105
  // `as const` node
109
106
  if (isAsConstNode(node)) {
110
- options.debugPrint(node.getKindName(), node.getText());
111
107
  if (context.isDirectUnderConstInitializer) {
112
108
  // In const variable declarations, remove `as const` first and then re-append it later if needed
113
109
  transformNode(node.getExpression(), {
@@ -170,7 +166,6 @@ const transformNode = (node, context, options) => {
170
166
  return;
171
167
  }
172
168
  if (tsm.Node.isArrayLiteralExpression(node)) {
173
- // options.debugPrint(node.getKindName(), node.getText());
174
169
  for (const el of node.getElements()) {
175
170
  transformNode(el, {
176
171
  isUnderConstContext: true, // [...] as const
@@ -267,6 +262,22 @@ nameNode, options) => {
267
262
  return false;
268
263
  }).value));
269
264
  };
265
+ const isDirective = (node) => {
266
+ if (!tsm.Node.isStringLiteral(node))
267
+ return false;
268
+ const parent = node.getParent();
269
+ // 1. 親が ExpressionStatement であることを確認
270
+ if (tsm.Node.isExpressionStatement(parent)) {
271
+ // 2. その ExpressionStatement の子がこの StringLiteral だけである
272
+ // かつ、ソースファイルやブロックの先頭付近にある
273
+ const expression = parent.getExpression();
274
+ if (expression === node) {
275
+ // "use strict" や "use client" などの文字列そのものが文(Statement)になっている
276
+ return true;
277
+ }
278
+ }
279
+ return false;
280
+ };
270
281
 
271
282
  export { appendAsConstTransformer };
272
283
  //# sourceMappingURL=append-as-const.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"append-as-const.mjs","sources":["../../../src/functions/ast-transformers/append-as-const.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"append-as-const.mjs","sources":["../../../src/functions/ast-transformers/append-as-const.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": "1.4.1",
3
+ "version": "1.4.2",
4
4
  "private": false,
5
5
  "keywords": [
6
6
  "typescript",
@@ -101,26 +101,26 @@
101
101
  "@semantic-release/github": "12.0.2",
102
102
  "@semantic-release/npm": "13.1.3",
103
103
  "@semantic-release/release-notes-generator": "14.1.0",
104
- "@types/node": "25.0.10",
105
- "@vitest/browser-playwright": "4.0.17",
106
- "@vitest/coverage-v8": "4.0.17",
107
- "@vitest/ui": "4.0.17",
104
+ "@types/node": "25.2.0",
105
+ "@vitest/browser-playwright": "4.0.18",
106
+ "@vitest/coverage-v8": "4.0.18",
107
+ "@vitest/ui": "4.0.18",
108
108
  "conventional-changelog-conventionalcommits": "9.1.0",
109
109
  "cspell": "9.6.2",
110
110
  "eslint": "9.39.2",
111
- "eslint-config-typed": "4.6.0",
112
- "github-settings-as-code": "1.1.0",
111
+ "eslint-config-typed": "4.6.1",
112
+ "github-settings-as-code": "1.1.2",
113
113
  "jiti": "2.6.1",
114
114
  "markdownlint": "0.40.0",
115
115
  "markdownlint-cli2": "0.20.0",
116
116
  "npm-run-all2": "8.0.4",
117
- "playwright": "1.58.0",
118
- "prettier": "3.8.0",
117
+ "playwright": "1.58.1",
118
+ "prettier": "3.8.1",
119
119
  "prettier-plugin-organize-imports": "4.3.0",
120
120
  "prettier-plugin-packagejson": "3.0.0",
121
- "rollup": "4.57.0",
121
+ "rollup": "4.57.1",
122
122
  "semantic-release": "25.0.2",
123
- "ts-data-forge": "6.3.0",
123
+ "ts-data-forge": "6.4.0",
124
124
  "ts-repo-utils": "8.1.0",
125
125
  "ts-type-forge": "2.3.1",
126
126
  "tslib": "2.8.1",
@@ -129,7 +129,7 @@
129
129
  "typedoc-github-theme": "0.3.1",
130
130
  "typescript": "5.9.3",
131
131
  "vite": "7.3.1",
132
- "vitest": "4.0.17"
132
+ "vitest": "4.0.18"
133
133
  },
134
134
  "packageManager": "pnpm@10.27.0",
135
135
  "engines": {
@@ -8,7 +8,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
8
8
 
9
9
  const cmdDef = cmd.command({
10
10
  name: 'append-as-const',
11
- version: '1.4.1',
11
+ version: '1.4.2',
12
12
  args: {
13
13
  baseDir: cmd.positional({
14
14
  type: cmd.string,
@@ -8,7 +8,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
8
8
 
9
9
  const cmdDef = cmd.command({
10
10
  name: 'convert-interface-to-type',
11
- version: '1.4.1',
11
+ version: '1.4.2',
12
12
  args: {
13
13
  baseDir: cmd.positional({
14
14
  type: cmd.string,
@@ -8,7 +8,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
8
8
 
9
9
  const cmdDef = cmd.command({
10
10
  name: 'convert-to-readonly',
11
- version: '1.4.1',
11
+ version: '1.4.2',
12
12
  args: {
13
13
  baseDir: cmd.positional({
14
14
  type: cmd.string,
@@ -8,7 +8,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
8
8
 
9
9
  const cmdDef = cmd.command({
10
10
  name: 'replace-any-with-unknown',
11
- version: '1.4.1',
11
+ version: '1.4.2',
12
12
  args: {
13
13
  baseDir: cmd.positional({
14
14
  type: cmd.string,
@@ -8,7 +8,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
8
8
 
9
9
  const cmdDef = cmd.command({
10
10
  name: 'replace-record-with-unknown-record',
11
- version: '1.4.1',
11
+ version: '1.4.2',
12
12
  args: {
13
13
  baseDir: cmd.positional({
14
14
  type: cmd.string,
@@ -84,14 +84,26 @@ const transformNode = (
84
84
  context: AsConstContext,
85
85
  options: AppendAsConstTransformerOptionsInternal,
86
86
  ): void => {
87
+ options.debugPrint(node.getKindName(), node.getText());
88
+
89
+ if (
90
+ node.isKind(tsm.SyntaxKind.LiteralType) ||
91
+ node.isKind(tsm.SyntaxKind.TypeLiteral) ||
92
+ node.isKind(tsm.SyntaxKind.TypeReference) ||
93
+ node.isKind(tsm.SyntaxKind.UnionType) ||
94
+ node.isKind(tsm.SyntaxKind.TypeAliasDeclaration) ||
95
+ node.isKind(tsm.SyntaxKind.ImportDeclaration) ||
96
+ isDirective(node)
97
+ ) {
98
+ return; // skip type annotations, import declarations, and directives
99
+ }
100
+
87
101
  if (hasDisableNextLineComment(node, TRANSFORMER_NAME)) {
88
102
  options.debugPrint('skipped by disable-next-line comment');
89
103
 
90
104
  return;
91
105
  }
92
106
 
93
- options.debugPrint(node.getKindName(), node.getText());
94
-
95
107
  if (
96
108
  options.applyLevel === 'avoidInFunctionArgs' &&
97
109
  tsm.Node.isCallExpression(node)
@@ -99,16 +111,6 @@ const transformNode = (
99
111
  return;
100
112
  }
101
113
 
102
- if (
103
- node.isKind(tsm.SyntaxKind.LiteralType) ||
104
- node.isKind(tsm.SyntaxKind.TypeLiteral) ||
105
- node.isKind(tsm.SyntaxKind.TypeReference) ||
106
- node.isKind(tsm.SyntaxKind.UnionType) ||
107
- node.isKind(tsm.SyntaxKind.TypeAliasDeclaration)
108
- ) {
109
- return; // skip type annotations
110
- }
111
-
112
114
  if (
113
115
  node.isKind(tsm.SyntaxKind.NoSubstitutionTemplateLiteral) || // `abc`
114
116
  node.isKind(tsm.SyntaxKind.NumericLiteral) || // 123
@@ -127,15 +129,6 @@ const transformNode = (
127
129
  }
128
130
 
129
131
  if (node.isKind(tsm.SyntaxKind.TemplateExpression)) {
130
- options.debugPrint(node.getKindName(), node.getText());
131
-
132
- options.debugPrint(
133
- node
134
- .getChildren()
135
- .map((c) => c.getText())
136
- .join(''),
137
- );
138
-
139
132
  options.replaceNode(node, `${node.getText()} as const`);
140
133
 
141
134
  return;
@@ -196,8 +189,6 @@ const transformNode = (
196
189
 
197
190
  // `as const` node
198
191
  if (isAsConstNode(node)) {
199
- options.debugPrint(node.getKindName(), node.getText());
200
-
201
192
  if (context.isDirectUnderConstInitializer) {
202
193
  // In const variable declarations, remove `as const` first and then re-append it later if needed
203
194
 
@@ -305,8 +296,6 @@ const transformNode = (
305
296
  }
306
297
 
307
298
  if (tsm.Node.isArrayLiteralExpression(node)) {
308
- // options.debugPrint(node.getKindName(), node.getText());
309
-
310
299
  for (const el of node.getElements()) {
311
300
  transformNode(
312
301
  el,
@@ -477,3 +466,23 @@ const checkIfPropertyNameShouldBeIgnored = (
477
466
  }).value)
478
467
  );
479
468
  };
469
+
470
+ const isDirective = (node: tsm.Node): boolean => {
471
+ if (!tsm.Node.isStringLiteral(node)) return false;
472
+
473
+ const parent = node.getParent();
474
+
475
+ // 1. 親が ExpressionStatement であることを確認
476
+ if (tsm.Node.isExpressionStatement(parent)) {
477
+ // 2. その ExpressionStatement の子がこの StringLiteral だけである
478
+ // かつ、ソースファイルやブロックの先頭付近にある
479
+ const expression = parent.getExpression();
480
+
481
+ if (expression === node) {
482
+ // "use strict" や "use client" などの文字列そのものが文(Statement)になっている
483
+ return true;
484
+ }
485
+ }
486
+
487
+ return false;
488
+ };
@@ -1,5 +1,4 @@
1
1
  /* eslint-disable no-template-curly-in-string */
2
- /* eslint-disable import-x/namespace */
3
2
  /* eslint-disable tree-shakable/import-star */
4
3
  /* eslint-disable vitest/expect-expect */
5
4
  import dedent from 'dedent';
@@ -690,6 +689,27 @@ describe(appendAsConstTransformer, () => {
690
689
  source: 'const obj = { set value(v) { } };',
691
690
  expected: 'const obj = { set value(v) { } } as const;',
692
691
  },
692
+ {
693
+ name: 'import statements (should be skipped)',
694
+ source: ' import * as ts from "typescript"; import("./module")',
695
+ expected: ' import * as ts from "typescript"; import("./module")',
696
+ },
697
+ {
698
+ name: 'directives (should be skipped)',
699
+ source: '"use strict";',
700
+ expected: '"use strict";',
701
+ debug: true,
702
+ },
703
+ {
704
+ name: 'object key',
705
+ source: 'const a = { "key": 1 };',
706
+ expected: 'const a = { "key": 1 } as const;',
707
+ },
708
+ {
709
+ name: 'computed key',
710
+ source: 'const a = { ["key"]: 1 };',
711
+ expected: 'const a = { ["key"]: 1 } as const;',
712
+ },
693
713
  ])('$name', testFn);
694
714
  });
695
715
  });
@@ -1,4 +1,3 @@
1
- /* eslint-disable import-x/namespace */
2
1
  /* eslint-disable tree-shakable/import-star */
3
2
  /* eslint-disable vitest/expect-expect */
4
3
  import dedent from 'dedent';
@@ -1,4 +1,3 @@
1
- /* eslint-disable import-x/namespace */
2
1
  /* eslint-disable tree-shakable/import-star */
3
2
  /* eslint-disable vitest/expect-expect */
4
3
  import dedent from 'dedent';
@@ -1,5 +1,4 @@
1
1
  /* eslint-disable tree-shakable/import-star */
2
- /* eslint-disable import-x/namespace */
3
2
  /* eslint-disable vitest/expect-expect */
4
3
  import dedent from 'dedent';
5
4
  import * as prettierPluginEstree from 'prettier/plugins/estree';