@typeorm/codemod 1.0.0 → 1.0.1
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 +12 -10
- package/dist/cli/print-guide.js +2 -2
- package/dist/cli/print-summary.js +3 -2
- package/dist/cli/print-summary.js.map +1 -1
- package/dist/cli/print-usage.js +1 -1
- package/dist/cli/print-usage.js.map +1 -1
- package/dist/cli/run-transforms.js +16 -2
- package/dist/cli/run-transforms.js.map +1 -1
- package/dist/dependencies/v1.js +22 -9
- package/dist/dependencies/v1.js.map +1 -1
- package/dist/transforms/ast-helpers.js +150 -14
- package/dist/transforms/ast-helpers.js.map +1 -1
- package/dist/transforms/todo.js +25 -2
- package/dist/transforms/todo.js.map +1 -1
- package/dist/transforms/v1/column-readonly.js +28 -13
- package/dist/transforms/v1/column-readonly.js.map +1 -1
- package/dist/transforms/v1/column-unsigned-numeric.js +6 -8
- package/dist/transforms/v1/column-unsigned-numeric.js.map +1 -1
- package/dist/transforms/v1/column-width-zerofill.js +2 -1
- package/dist/transforms/v1/column-width-zerofill.js.map +1 -1
- package/dist/transforms/v1/connection-manager.js +82 -0
- package/dist/transforms/v1/connection-manager.js.map +1 -0
- package/dist/transforms/v1/connection-options-reader.js +198 -0
- package/dist/transforms/v1/connection-options-reader.js.map +1 -0
- package/dist/transforms/v1/connection-to-datasource.js +285 -56
- package/dist/transforms/v1/connection-to-datasource.js.map +1 -1
- package/dist/transforms/v1/datasource-mongodb.js +40 -28
- package/dist/transforms/v1/datasource-mongodb.js.map +1 -1
- package/dist/transforms/v1/datasource-mssql.js +1 -3
- package/dist/transforms/v1/datasource-mssql.js.map +1 -1
- package/dist/transforms/v1/datasource-mysql-connector.js +3 -0
- package/dist/transforms/v1/datasource-mysql-connector.js.map +1 -1
- package/dist/transforms/v1/datasource-name.js +2 -0
- package/dist/transforms/v1/datasource-name.js.map +1 -1
- package/dist/transforms/v1/datasource-sap.js +21 -8
- package/dist/transforms/v1/datasource-sap.js.map +1 -1
- package/dist/transforms/v1/datasource-sqlite-options.js +48 -13
- package/dist/transforms/v1/datasource-sqlite-options.js.map +1 -1
- package/dist/transforms/v1/datasource-sqlite-type.js +28 -7
- package/dist/transforms/v1/datasource-sqlite-type.js.map +1 -1
- package/dist/transforms/v1/file-logger.js +182 -0
- package/dist/transforms/v1/file-logger.js.map +1 -0
- package/dist/transforms/v1/find-options-join.js +84 -0
- package/dist/transforms/v1/find-options-join.js.map +1 -0
- package/dist/transforms/v1/find-options-lock-modes.js +26 -21
- package/dist/transforms/v1/find-options-lock-modes.js.map +1 -1
- package/dist/transforms/v1/find-options-string-relations.js +2 -0
- package/dist/transforms/v1/find-options-string-relations.js.map +1 -1
- package/dist/transforms/v1/find-options-string-select.js +2 -0
- package/dist/transforms/v1/find-options-string-select.js.map +1 -1
- package/dist/transforms/v1/global-functions.js +92 -64
- package/dist/transforms/v1/global-functions.js.map +1 -1
- package/dist/transforms/v1/index.js +10 -2
- package/dist/transforms/v1/index.js.map +1 -1
- package/dist/transforms/v1/migrations-get-all.js +25 -9
- package/dist/transforms/v1/migrations-get-all.js.map +1 -1
- package/dist/transforms/v1/mongodb-stats.js +3 -0
- package/dist/transforms/v1/mongodb-stats.js.map +1 -1
- package/dist/transforms/v1/query-builder-native-parameters.js +2 -0
- package/dist/transforms/v1/query-builder-native-parameters.js.map +1 -1
- package/dist/transforms/v1/query-builder-on-conflict.js +2 -1
- package/dist/transforms/v1/query-builder-on-conflict.js.map +1 -1
- package/dist/transforms/v1/query-builder-or-update.js +8 -4
- package/dist/transforms/v1/query-builder-or-update.js.map +1 -1
- package/dist/transforms/v1/query-builder-print-sql.js +3 -0
- package/dist/transforms/v1/query-builder-print-sql.js.map +1 -1
- package/dist/transforms/v1/query-builder-replace-property-names.js +3 -0
- package/dist/transforms/v1/query-builder-replace-property-names.js.map +1 -1
- package/dist/transforms/v1/query-runner-loaded-tables-views.js +1 -5
- package/dist/transforms/v1/query-runner-loaded-tables-views.js.map +1 -1
- package/dist/transforms/v1/relation-count.js +75 -12
- package/dist/transforms/v1/relation-count.js.map +1 -1
- package/dist/transforms/v1/repository-abstract.js +2 -5
- package/dist/transforms/v1/repository-abstract.js.map +1 -1
- package/dist/transforms/v1/repository-exist.js +2 -0
- package/dist/transforms/v1/repository-exist.js.map +1 -1
- package/dist/transforms/v1/repository-find-by-ids.js +0 -3
- package/dist/transforms/v1/repository-find-by-ids.js.map +1 -1
- package/dist/transforms/v1/repository-find-one-by-id.js +3 -0
- package/dist/transforms/v1/repository-find-one-by-id.js.map +1 -1
- package/dist/transforms/v1/use-container.js +5 -3
- package/dist/transforms/v1/use-container.js.map +1 -1
- package/package.json +3 -1
- package/dist/cli/colors.d.ts +0 -7
- package/dist/cli/colors.js +0 -12
- package/dist/cli/colors.js.map +0 -1
- package/dist/cli/error.d.ts +0 -1
- package/dist/cli/error.js +0 -11
- package/dist/cli/error.js.map +0 -1
- package/dist/cli/list-transforms.d.ts +0 -1
- package/dist/cli/parse-args.d.ts +0 -10
- package/dist/cli/print-guide.d.ts +0 -1
- package/dist/cli/print-summary.d.ts +0 -17
- package/dist/cli/print-todos.d.ts +0 -1
- package/dist/cli/print-usage.d.ts +0 -1
- package/dist/cli/run-dependencies.d.ts +0 -6
- package/dist/cli/run-transforms.d.ts +0 -21
- package/dist/cli/run.d.ts +0 -9
- package/dist/dependencies/config.d.ts +0 -24
- package/dist/dependencies/find-package-json.d.ts +0 -5
- package/dist/dependencies/index.d.ts +0 -5
- package/dist/dependencies/upgrade.d.ts +0 -11
- package/dist/dependencies/v1.d.ts +0 -2
- package/dist/index.d.ts +0 -2
- package/dist/lib/colors.d.ts +0 -9
- package/dist/lib/error.d.ts +0 -1
- package/dist/lib/format-time.d.ts +0 -1
- package/dist/lib/highlight.d.ts +0 -1
- package/dist/lib/spinner.d.ts +0 -5
- package/dist/transforms/ast-helpers.d.ts +0 -50
- package/dist/transforms/index.d.ts +0 -7
- package/dist/transforms/resolve.d.ts +0 -1
- package/dist/transforms/scan.d.ts +0 -4
- package/dist/transforms/scan.js +0 -33
- package/dist/transforms/scan.js.map +0 -1
- package/dist/transforms/stats.d.ts +0 -11
- package/dist/transforms/todo.d.ts +0 -2
- package/dist/transforms/transformer.d.ts +0 -8
- package/dist/transforms/v1/column-readonly.d.ts +0 -6
- package/dist/transforms/v1/column-unsigned-numeric.d.ts +0 -6
- package/dist/transforms/v1/column-width-zerofill.d.ts +0 -6
- package/dist/transforms/v1/connection-to-datasource.d.ts +0 -6
- package/dist/transforms/v1/datasource-mongodb.d.ts +0 -7
- package/dist/transforms/v1/datasource-mssql-domain.d.ts +0 -7
- package/dist/transforms/v1/datasource-mssql-domain.js +0 -35
- package/dist/transforms/v1/datasource-mssql-domain.js.map +0 -1
- package/dist/transforms/v1/datasource-mssql.d.ts +0 -7
- package/dist/transforms/v1/datasource-mysql-connector.d.ts +0 -6
- package/dist/transforms/v1/datasource-name.d.ts +0 -6
- package/dist/transforms/v1/datasource-sap.d.ts +0 -6
- package/dist/transforms/v1/datasource-sqlite-options.d.ts +0 -6
- package/dist/transforms/v1/datasource-sqlite-type.d.ts +0 -6
- package/dist/transforms/v1/find-options-lock-modes.d.ts +0 -6
- package/dist/transforms/v1/find-options-string-relations.d.ts +0 -6
- package/dist/transforms/v1/find-options-string-select.d.ts +0 -6
- package/dist/transforms/v1/global-functions.d.ts +0 -7
- package/dist/transforms/v1/index.d.ts +0 -40
- package/dist/transforms/v1/migrations-get-all.d.ts +0 -7
- package/dist/transforms/v1/mongodb-stats.d.ts +0 -7
- package/dist/transforms/v1/mongodb-types.d.ts +0 -6
- package/dist/transforms/v1/query-builder-native-parameters.d.ts +0 -6
- package/dist/transforms/v1/query-builder-on-conflict.d.ts +0 -7
- package/dist/transforms/v1/query-builder-or-update.d.ts +0 -6
- package/dist/transforms/v1/query-builder-print-sql.d.ts +0 -7
- package/dist/transforms/v1/query-builder-replace-property-names.d.ts +0 -7
- package/dist/transforms/v1/query-builder-where-expression.d.ts +0 -6
- package/dist/transforms/v1/query-runner-loaded-tables-views.d.ts +0 -7
- package/dist/transforms/v1/relation-count.d.ts +0 -7
- package/dist/transforms/v1/remove-abstract-repository.d.ts +0 -5
- package/dist/transforms/v1/remove-abstract-repository.js +0 -93
- package/dist/transforms/v1/remove-abstract-repository.js.map +0 -1
- package/dist/transforms/v1/remove-connector-package.d.ts +0 -4
- package/dist/transforms/v1/remove-connector-package.js +0 -19
- package/dist/transforms/v1/remove-connector-package.js.map +0 -1
- package/dist/transforms/v1/remove-datasource-name.d.ts +0 -4
- package/dist/transforms/v1/remove-datasource-name.js +0 -56
- package/dist/transforms/v1/remove-datasource-name.js.map +0 -1
- package/dist/transforms/v1/remove-mongodb-options.d.ts +0 -5
- package/dist/transforms/v1/remove-mongodb-options.js +0 -86
- package/dist/transforms/v1/remove-mongodb-options.js.map +0 -1
- package/dist/transforms/v1/remove-relation-count.d.ts +0 -5
- package/dist/transforms/v1/remove-relation-count.js +0 -49
- package/dist/transforms/v1/remove-relation-count.js.map +0 -1
- package/dist/transforms/v1/remove-replace-property-names.d.ts +0 -5
- package/dist/transforms/v1/remove-replace-property-names.js +0 -35
- package/dist/transforms/v1/remove-replace-property-names.js.map +0 -1
- package/dist/transforms/v1/remove-sap-options.d.ts +0 -4
- package/dist/transforms/v1/remove-sap-options.js +0 -54
- package/dist/transforms/v1/remove-sap-options.js.map +0 -1
- package/dist/transforms/v1/remove-unsigned-numeric.d.ts +0 -4
- package/dist/transforms/v1/remove-unsigned-numeric.js +0 -76
- package/dist/transforms/v1/remove-unsigned-numeric.js.map +0 -1
- package/dist/transforms/v1/remove-use-container.d.ts +0 -5
- package/dist/transforms/v1/remove-use-container.js +0 -63
- package/dist/transforms/v1/remove-use-container.js.map +0 -1
- package/dist/transforms/v1/remove-width-zerofill.d.ts +0 -4
- package/dist/transforms/v1/remove-width-zerofill.js +0 -29
- package/dist/transforms/v1/remove-width-zerofill.js.map +0 -1
- package/dist/transforms/v1/rename-connection-to-datasource.d.ts +0 -4
- package/dist/transforms/v1/rename-connection-to-datasource.js +0 -111
- package/dist/transforms/v1/rename-connection-to-datasource.js.map +0 -1
- package/dist/transforms/v1/rename-exist-to-exists.d.ts +0 -4
- package/dist/transforms/v1/rename-exist-to-exists.js +0 -25
- package/dist/transforms/v1/rename-exist-to-exists.js.map +0 -1
- package/dist/transforms/v1/rename-find-by-ids.d.ts +0 -4
- package/dist/transforms/v1/rename-find-by-ids.js +0 -64
- package/dist/transforms/v1/rename-find-by-ids.js.map +0 -1
- package/dist/transforms/v1/rename-get-all-migrations.d.ts +0 -5
- package/dist/transforms/v1/rename-get-all-migrations.js +0 -32
- package/dist/transforms/v1/rename-get-all-migrations.js.map +0 -1
- package/dist/transforms/v1/rename-loaded-tables-views.d.ts +0 -5
- package/dist/transforms/v1/rename-loaded-tables-views.js +0 -48
- package/dist/transforms/v1/rename-loaded-tables-views.js.map +0 -1
- package/dist/transforms/v1/rename-or-update-overload.d.ts +0 -4
- package/dist/transforms/v1/rename-or-update-overload.js +0 -46
- package/dist/transforms/v1/rename-or-update-overload.js.map +0 -1
- package/dist/transforms/v1/rename-print-sql-to-log-query.d.ts +0 -4
- package/dist/transforms/v1/rename-print-sql-to-log-query.js +0 -25
- package/dist/transforms/v1/rename-print-sql-to-log-query.js.map +0 -1
- package/dist/transforms/v1/replace-global-functions.d.ts +0 -5
- package/dist/transforms/v1/replace-global-functions.js +0 -92
- package/dist/transforms/v1/replace-global-functions.js.map +0 -1
- package/dist/transforms/v1/replace-lock-modes.d.ts +0 -4
- package/dist/transforms/v1/replace-lock-modes.js +0 -75
- package/dist/transforms/v1/replace-lock-modes.js.map +0 -1
- package/dist/transforms/v1/replace-mongodb-stats.d.ts +0 -5
- package/dist/transforms/v1/replace-mongodb-stats.js +0 -54
- package/dist/transforms/v1/replace-mongodb-stats.js.map +0 -1
- package/dist/transforms/v1/replace-mongodb-types.d.ts +0 -4
- package/dist/transforms/v1/replace-mongodb-types.js +0 -72
- package/dist/transforms/v1/replace-mongodb-types.js.map +0 -1
- package/dist/transforms/v1/replace-mssql-domain.d.ts +0 -5
- package/dist/transforms/v1/replace-mssql-domain.js +0 -25
- package/dist/transforms/v1/replace-mssql-domain.js.map +0 -1
- package/dist/transforms/v1/replace-on-conflict.d.ts +0 -5
- package/dist/transforms/v1/replace-on-conflict.js +0 -49
- package/dist/transforms/v1/replace-on-conflict.js.map +0 -1
- package/dist/transforms/v1/replace-readonly-column.d.ts +0 -4
- package/dist/transforms/v1/replace-readonly-column.js +0 -28
- package/dist/transforms/v1/replace-readonly-column.js.map +0 -1
- package/dist/transforms/v1/replace-set-native-parameters.d.ts +0 -4
- package/dist/transforms/v1/replace-set-native-parameters.js +0 -25
- package/dist/transforms/v1/replace-set-native-parameters.js.map +0 -1
- package/dist/transforms/v1/replace-sqlite-options.d.ts +0 -4
- package/dist/transforms/v1/replace-sqlite-options.js +0 -29
- package/dist/transforms/v1/replace-sqlite-options.js.map +0 -1
- package/dist/transforms/v1/replace-sqlite-type.d.ts +0 -4
- package/dist/transforms/v1/replace-sqlite-type.js +0 -22
- package/dist/transforms/v1/replace-sqlite-type.js.map +0 -1
- package/dist/transforms/v1/replace-where-expression-type.d.ts +0 -4
- package/dist/transforms/v1/replace-where-expression-type.js +0 -41
- package/dist/transforms/v1/replace-where-expression-type.js.map +0 -1
- package/dist/transforms/v1/repository-abstract.d.ts +0 -7
- package/dist/transforms/v1/repository-exist.d.ts +0 -6
- package/dist/transforms/v1/repository-find-by-ids.d.ts +0 -6
- package/dist/transforms/v1/repository-find-one-by-id.d.ts +0 -6
- package/dist/transforms/v1/upgrade-dependencies.d.ts +0 -15
- package/dist/transforms/v1/upgrade-dependencies.js +0 -163
- package/dist/transforms/v1/upgrade-dependencies.js.map +0 -1
- package/dist/transforms/v1/use-container.d.ts +0 -7
|
@@ -9,25 +9,88 @@ const ast_helpers_1 = require("../ast-helpers");
|
|
|
9
9
|
const todo_1 = require("../todo");
|
|
10
10
|
const stats_1 = require("../stats");
|
|
11
11
|
exports.name = node_path_1.default.basename(__filename, node_path_1.default.extname(__filename));
|
|
12
|
-
exports.description = "flag removed `@RelationCount` decorator for manual migration";
|
|
12
|
+
exports.description = "flag removed `@RelationCount` decorator and `loadRelationCountAndMap()` for manual migration";
|
|
13
13
|
exports.manual = true;
|
|
14
|
+
const MIGRATION_HINT = "use `@VirtualColumn` with a sub-query instead";
|
|
15
|
+
// Node types on which a leading line-comment survives jscodeshift/recast
|
|
16
|
+
// printing — walking up to one of these keeps the comment visible above
|
|
17
|
+
// the enclosing statement or declaration.
|
|
18
|
+
const isTodoHost = (type) => type.endsWith("Statement") ||
|
|
19
|
+
type === "VariableDeclaration" ||
|
|
20
|
+
type === "ExportDefaultDeclaration" ||
|
|
21
|
+
type === "ExportNamedDeclaration" ||
|
|
22
|
+
type === "ClassProperty" ||
|
|
23
|
+
type === "PropertyDefinition";
|
|
14
24
|
const relationCount = (file, api) => {
|
|
15
25
|
const j = api.jscodeshift;
|
|
16
26
|
const root = j(file.source);
|
|
27
|
+
// No `fileImportsFrom` guard at the top: `.loadRelationCountAndMap()` call
|
|
28
|
+
// sites can appear in files that only receive a `QueryBuilder` via a helper
|
|
29
|
+
// and never import from "typeorm" directly. The decorator and import-
|
|
30
|
+
// removal blocks below self-gate via `getLocalNamesForImport` /
|
|
31
|
+
// `removeImportSpecifiers`, which are no-ops when typeorm is absent.
|
|
17
32
|
let hasChanges = false;
|
|
18
33
|
let hasTodos = false;
|
|
19
|
-
//
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
34
|
+
// Collect local names bound to `RelationCount` from typeorm — including aliases:
|
|
35
|
+
// import { RelationCount } from "typeorm" → "RelationCount"
|
|
36
|
+
// import { RelationCount as RC } from "typeorm" → "RC"
|
|
37
|
+
const localNames = (0, ast_helpers_1.getLocalNamesForImport)(root, j, "typeorm", "RelationCount");
|
|
38
|
+
if (localNames.size > 0) {
|
|
39
|
+
// Decorators live on `ClassProperty.decorators` but jscodeshift's
|
|
40
|
+
// default visitor does not descend into that array, so
|
|
41
|
+
// `root.find(j.Decorator)` is a no-op with the `tsx` parser. Walk the
|
|
42
|
+
// class properties explicitly instead and attach the comment to the
|
|
43
|
+
// property itself (decorator-attached comments are dropped by recast).
|
|
44
|
+
const message = `\`@RelationCount\` was removed — ${MIGRATION_HINT}`;
|
|
45
|
+
root.find(j.ClassProperty).forEach((propertyPath) => {
|
|
46
|
+
const node = propertyPath.node;
|
|
47
|
+
const matches = node.decorators?.some((decorator) => {
|
|
48
|
+
const expr = decorator.expression;
|
|
49
|
+
return (expr.type === "CallExpression" &&
|
|
50
|
+
expr.callee.type === "Identifier" &&
|
|
51
|
+
localNames.has(expr.callee.name));
|
|
52
|
+
});
|
|
53
|
+
if (!matches)
|
|
54
|
+
return;
|
|
55
|
+
if ((0, todo_1.hasTodoComment)(node, message))
|
|
56
|
+
return;
|
|
57
|
+
(0, todo_1.addTodoComment)(node, message, j);
|
|
58
|
+
hasChanges = true;
|
|
59
|
+
hasTodos = true;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
// Find .loadRelationCountAndMap() call sites — attach the comment above the enclosing statement.
|
|
63
|
+
// Multiple chained calls on one statement resolve to the same host, so the
|
|
64
|
+
// `hasTodoComment` guard keeps the transform idempotent.
|
|
65
|
+
const callMessage = `\`loadRelationCountAndMap()\` was removed — ${MIGRATION_HINT}`;
|
|
66
|
+
// Match both dot access (`qb.loadRelationCountAndMap()`) and computed
|
|
67
|
+
// access (`qb["loadRelationCountAndMap"]()`). Use a post-filter rather
|
|
68
|
+
// than a find-pattern so the computed-key branch is visited too.
|
|
69
|
+
root.find(j.CallExpression).forEach((callPath) => {
|
|
70
|
+
const callee = callPath.node.callee;
|
|
71
|
+
if (callee.type !== "MemberExpression")
|
|
72
|
+
return;
|
|
73
|
+
const prop = callee.property;
|
|
74
|
+
const matches = (prop.type === "Identifier" &&
|
|
75
|
+
prop.name === "loadRelationCountAndMap") ||
|
|
76
|
+
(callee.computed &&
|
|
77
|
+
(0, ast_helpers_1.getStringValue)(prop) === "loadRelationCountAndMap");
|
|
78
|
+
if (!matches)
|
|
79
|
+
return;
|
|
80
|
+
let current = callPath.parent;
|
|
81
|
+
while (current) {
|
|
82
|
+
const node = current.node;
|
|
83
|
+
if (isTodoHost(node.type)) {
|
|
84
|
+
if (!(0, todo_1.hasTodoComment)(node, callMessage)) {
|
|
85
|
+
(0, todo_1.addTodoComment)(node, callMessage, j);
|
|
86
|
+
hasChanges = true;
|
|
87
|
+
hasTodos = true;
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
current = current.parent;
|
|
92
|
+
}
|
|
29
93
|
});
|
|
30
|
-
// Remove RelationCount import from typeorm
|
|
31
94
|
if ((0, ast_helpers_1.removeImportSpecifiers)(root, j, "typeorm", new Set(["RelationCount"]))) {
|
|
32
95
|
hasChanges = true;
|
|
33
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-count.js","sourceRoot":"","sources":["../../../src/transforms/v1/relation-count.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,
|
|
1
|
+
{"version":3,"file":"relation-count.js","sourceRoot":"","sources":["../../../src/transforms/v1/relation-count.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,9 +14,10 @@ exports.manual = true;
|
|
|
14
14
|
const repositoryAbstract = (file, api) => {
|
|
15
15
|
const j = api.jscodeshift;
|
|
16
16
|
const root = j(file.source);
|
|
17
|
+
if (!(0, ast_helpers_1.fileImportsFrom)(root, j, "typeorm"))
|
|
18
|
+
return undefined;
|
|
17
19
|
let hasChanges = false;
|
|
18
20
|
let hasTodos = false;
|
|
19
|
-
// Find @EntityRepository decorators and add TODO
|
|
20
21
|
root.find(j.Decorator, {
|
|
21
22
|
expression: {
|
|
22
23
|
type: "CallExpression",
|
|
@@ -27,7 +28,6 @@ const repositoryAbstract = (file, api) => {
|
|
|
27
28
|
hasChanges = true;
|
|
28
29
|
hasTodos = true;
|
|
29
30
|
});
|
|
30
|
-
// Find classes extending AbstractRepository and add TODO
|
|
31
31
|
root.find(j.ClassDeclaration).forEach((path) => {
|
|
32
32
|
const superClass = path.node.superClass;
|
|
33
33
|
if (!superClass)
|
|
@@ -46,7 +46,6 @@ const repositoryAbstract = (file, api) => {
|
|
|
46
46
|
hasChanges = true;
|
|
47
47
|
hasTodos = true;
|
|
48
48
|
});
|
|
49
|
-
// Find getCustomRepository() calls and add TODO
|
|
50
49
|
const addGetCustomRepoTodo = (path) => {
|
|
51
50
|
const message = "`getCustomRepository()` was removed — use a custom service class with `dataSource.getRepository()`";
|
|
52
51
|
const parentNode = path.parent.node;
|
|
@@ -65,11 +64,9 @@ const repositoryAbstract = (file, api) => {
|
|
|
65
64
|
property: { type: "Identifier", name: "getCustomRepository" },
|
|
66
65
|
},
|
|
67
66
|
}).forEach(addGetCustomRepoTodo);
|
|
68
|
-
// Also find standalone getCustomRepository() calls
|
|
69
67
|
root.find(j.CallExpression, {
|
|
70
68
|
callee: { type: "Identifier", name: "getCustomRepository" },
|
|
71
69
|
}).forEach(addGetCustomRepoTodo);
|
|
72
|
-
// Remove imports
|
|
73
70
|
if ((0, ast_helpers_1.removeImportSpecifiers)(root, j, "typeorm", new Set(["EntityRepository", "AbstractRepository"]))) {
|
|
74
71
|
hasChanges = true;
|
|
75
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository-abstract.js","sourceRoot":"","sources":["../../../src/transforms/v1/repository-abstract.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,
|
|
1
|
+
{"version":3,"file":"repository-abstract.js","sourceRoot":"","sources":["../../../src/transforms/v1/repository-abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ exports.description = "rename `Repository.exist()` to `exists()`";
|
|
|
11
11
|
const repositoryExist = (file, api) => {
|
|
12
12
|
const j = api.jscodeshift;
|
|
13
13
|
const root = j(file.source);
|
|
14
|
+
if (!(0, ast_helpers_1.fileImportsFrom)(root, j, "typeorm"))
|
|
15
|
+
return undefined;
|
|
14
16
|
const hasChanges = (0, ast_helpers_1.renameMemberMethod)(root, j, "exist", "exists");
|
|
15
17
|
return hasChanges ? root.toSource() : undefined;
|
|
16
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository-exist.js","sourceRoot":"","sources":["../../../src/transforms/v1/repository-exist.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,
|
|
1
|
+
{"version":3,"file":"repository-exist.js","sourceRoot":"","sources":["../../../src/transforms/v1/repository-exist.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,gDAAoE;AAEvD,QAAA,IAAI,GAAG,mBAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;AAC1D,QAAA,WAAW,GAAG,2CAA2C,CAAA;AAE/D,MAAM,eAAe,GAAG,CAAC,IAAc,EAAE,GAAQ,EAAE,EAAE;IACxD,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAA;IACzB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAE3B,IAAI,CAAC,IAAA,6BAAe,EAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC;QAAE,OAAO,SAAS,CAAA;IAE1D,MAAM,UAAU,GAAG,IAAA,gCAAkB,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAEjE,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACnD,CAAC,CAAA;AATY,QAAA,eAAe,mBAS3B;AAEY,QAAA,EAAE,GAAG,uBAAe,CAAA;AACjC,kBAAe,UAAE,CAAA"}
|
|
@@ -37,7 +37,6 @@ const repositoryFindByIds = (file, api) => {
|
|
|
37
37
|
hasChanges = true;
|
|
38
38
|
needsInImport = true;
|
|
39
39
|
});
|
|
40
|
-
// Add In import if needed
|
|
41
40
|
if (needsInImport) {
|
|
42
41
|
const typeormImports = root.find(j.ImportDeclaration, {
|
|
43
42
|
source: { value: "typeorm" },
|
|
@@ -54,13 +53,11 @@ const repositoryFindByIds = (file, api) => {
|
|
|
54
53
|
});
|
|
55
54
|
if (!hasInImport) {
|
|
56
55
|
if (typeormImports.length > 0) {
|
|
57
|
-
// Add to existing typeorm import
|
|
58
56
|
typeormImports.at(0).forEach((path) => {
|
|
59
57
|
path.node.specifiers?.push(j.importSpecifier(j.identifier("In")));
|
|
60
58
|
});
|
|
61
59
|
}
|
|
62
60
|
else {
|
|
63
|
-
// Create new import
|
|
64
61
|
const newImport = j.importDeclaration([j.importSpecifier(j.identifier("In"))], j.literal("typeorm"));
|
|
65
62
|
root.find(j.ImportDeclaration).at(-1).insertAfter(newImport);
|
|
66
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository-find-by-ids.js","sourceRoot":"","sources":["../../../src/transforms/v1/repository-find-by-ids.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,gDAAgD;AAEnC,QAAA,IAAI,GAAG,mBAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;AAC1D,QAAA,WAAW,GACpB,yDAAyD,CAAA;AAEtD,MAAM,mBAAmB,GAAG,CAAC,IAAc,EAAE,GAAQ,EAAE,EAAE;IAC5D,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAA;IACzB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3B,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,IAAI,aAAa,GAAG,KAAK,CAAA;IAEzB,IAAI,CAAC,IAAA,6BAAe,EAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE;QACxB,MAAM,EAAE;YACJ,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAClC;KACJ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAChB,IACI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;YAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAClC,CAAC;YACC,OAAM;QACV,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAErC,wDAAwD;QACxD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG;YAClB,CAAC,CAAC,gBAAgB,CAAC;gBACf,CAAC,CAAC,QAAQ,CACN,MAAM,EACN,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAClB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CACjD;aACJ,CAAC;SACL,CAAA;QAED,UAAU,GAAG,IAAI,CAAA;QACjB,aAAa,GAAG,IAAI,CAAA;IACxB,CAAC,CAAC,CAAA;IAEF,
|
|
1
|
+
{"version":3,"file":"repository-find-by-ids.js","sourceRoot":"","sources":["../../../src/transforms/v1/repository-find-by-ids.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.fn = exports.repositoryFindOneById = exports.description = exports.name = void 0;
|
|
7
7
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const ast_helpers_1 = require("../ast-helpers");
|
|
8
9
|
exports.name = node_path_1.default.basename(__filename, node_path_1.default.extname(__filename));
|
|
9
10
|
exports.description = "replace `findOneById()` with `findOneBy()` using `{ id: value }`";
|
|
10
11
|
const repositoryFindOneById = (file, api) => {
|
|
11
12
|
const j = api.jscodeshift;
|
|
12
13
|
const root = j(file.source);
|
|
14
|
+
if (!(0, ast_helpers_1.fileImportsFrom)(root, j, "typeorm"))
|
|
15
|
+
return undefined;
|
|
13
16
|
let hasChanges = false;
|
|
14
17
|
root.find(j.CallExpression, {
|
|
15
18
|
callee: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository-find-one-by-id.js","sourceRoot":"","sources":["../../../src/transforms/v1/repository-find-one-by-id.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;
|
|
1
|
+
{"version":3,"file":"repository-find-one-by-id.js","sourceRoot":"","sources":["../../../src/transforms/v1/repository-find-one-by-id.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,gDAAgD;AAEnC,QAAA,IAAI,GAAG,mBAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;AAC1D,QAAA,WAAW,GACpB,kEAAkE,CAAA;AAE/D,MAAM,qBAAqB,GAAG,CAAC,IAAc,EAAE,GAAQ,EAAE,EAAE;IAC9D,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAA;IACzB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAE3B,IAAI,CAAC,IAAA,6BAAe,EAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC;QAAE,OAAO,SAAS,CAAA;IAE1D,IAAI,UAAU,GAAG,KAAK,CAAA;IAEtB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE;QACxB,MAAM,EAAE;YACJ,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;SACpC;KACJ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAChB,IACI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;YAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAChC,CAAC;YACC,OAAM;QACV,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;QAEhC,aAAa;QACb,2CAA2C;QAC3C,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QAErD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACnB,0EAA0E;YAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAe,CAAA;YACnC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG;gBAClB,IAAI,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,gBAAgB,CAAC;oBACf,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;iBAChD,CAAC;aACL,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,gEAAgE;YAChE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAe,CAAA;YACnC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG;gBAClB,CAAC,CAAC,gBAAgB,CAAC;oBACf,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;iBAChD,CAAC;aACL,CAAA;QACL,CAAC;QAED,UAAU,GAAG,IAAI,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACnD,CAAC,CAAA;AAnDY,QAAA,qBAAqB,yBAmDjC;AAEY,QAAA,EAAE,GAAG,6BAAqB,CAAA;AACvC,kBAAe,UAAE,CAAA"}
|
|
@@ -14,10 +14,14 @@ exports.manual = true;
|
|
|
14
14
|
const useContainer = (file, api) => {
|
|
15
15
|
const j = api.jscodeshift;
|
|
16
16
|
const root = j(file.source);
|
|
17
|
+
// `useContainer` is also exported by typedi/tsyringe, so gate the
|
|
18
|
+
// transform to files that actually import from typeorm and avoid
|
|
19
|
+
// rewriting unrelated DI container calls.
|
|
20
|
+
if (!(0, ast_helpers_1.fileImportsFrom)(root, j, "typeorm"))
|
|
21
|
+
return undefined;
|
|
17
22
|
let hasChanges = false;
|
|
18
23
|
let hasTodos = false;
|
|
19
24
|
const removedFunctions = new Set(["useContainer", "getFromContainer"]);
|
|
20
|
-
// Replace calls with a TODO comment
|
|
21
25
|
for (const funcName of removedFunctions) {
|
|
22
26
|
root.find(j.ExpressionStatement, {
|
|
23
27
|
expression: {
|
|
@@ -25,7 +29,6 @@ const useContainer = (file, api) => {
|
|
|
25
29
|
callee: { type: "Identifier", name: funcName },
|
|
26
30
|
},
|
|
27
31
|
}).forEach((path) => {
|
|
28
|
-
// Replace with a comment
|
|
29
32
|
const replacement = j.emptyStatement();
|
|
30
33
|
(0, todo_1.addTodoComment)(replacement, `${funcName}() was removed — the container system is no longer supported`, j);
|
|
31
34
|
j(path).replaceWith(replacement);
|
|
@@ -33,7 +36,6 @@ const useContainer = (file, api) => {
|
|
|
33
36
|
hasTodos = true;
|
|
34
37
|
});
|
|
35
38
|
}
|
|
36
|
-
// Remove imports from typeorm
|
|
37
39
|
const removedImports = new Set([
|
|
38
40
|
"useContainer",
|
|
39
41
|
"getFromContainer",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-container.js","sourceRoot":"","sources":["../../../src/transforms/v1/use-container.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,
|
|
1
|
+
{"version":3,"file":"use-container.js","sourceRoot":"","sources":["../../../src/transforms/v1/use-container.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,gDAAwE;AACxE,kCAAwC;AACxC,oCAAgC;AAEnB,QAAA,IAAI,GAAG,mBAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;AAC1D,QAAA,WAAW,GACpB,wDAAwD,CAAA;AAC/C,QAAA,MAAM,GAAG,IAAI,CAAA;AAEnB,MAAM,YAAY,GAAG,CAAC,IAAc,EAAE,GAAQ,EAAE,EAAE;IACrD,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAA;IACzB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAE3B,kEAAkE;IAClE,iEAAiE;IACjE,0CAA0C;IAC1C,IAAI,CAAC,IAAA,6BAAe,EAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC;QAAE,OAAO,SAAS,CAAA;IAE1D,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,IAAI,QAAQ,GAAG,KAAK,CAAA;IAEpB,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAEtE,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,EAAE;YAC7B,UAAU,EAAE;gBACR,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;aACjD;SACJ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,EAAE,CAAA;YACtC,IAAA,qBAAc,EACV,WAAW,EACX,GAAG,QAAQ,8DAA8D,EACzE,CAAC,CACJ,CAAA;YACD,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;YAChC,UAAU,GAAG,IAAI,CAAA;YACjB,QAAQ,GAAG,IAAI,CAAA;QACnB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;QAC3B,cAAc;QACd,kBAAkB;QAClB,oBAAoB;QACpB,eAAe;QACf,qBAAqB;KACxB,CAAC,CAAA;IAEF,IAAI,IAAA,oCAAsB,EAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;QAC7D,UAAU,GAAG,IAAI,CAAA;IACrB,CAAC;IAED,IAAI,QAAQ;QAAE,aAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,YAAI,EAAE,IAAI,CAAC,CAAA;IAE/C,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACnD,CAAC,CAAA;AAhDY,QAAA,YAAY,gBAgDxB;AAEY,QAAA,EAAE,GAAG,oBAAY,CAAA;AAC9B,kBAAe,UAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typeorm/codemod",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Codemods for migrating between TypeORM versions",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/typeorm/typeorm.git",
|
|
8
8
|
"directory": "packages/codemod"
|
|
9
9
|
},
|
|
10
|
+
"homepage": "https://typeorm.io",
|
|
10
11
|
"license": "MIT",
|
|
11
12
|
"bin": {
|
|
12
13
|
"typeorm-codemod": "./dist/index.js"
|
|
@@ -27,6 +28,7 @@
|
|
|
27
28
|
"@types/node": "^20.19.33",
|
|
28
29
|
"@types/semver": "^7.7.0",
|
|
29
30
|
"@types/sinon": "^21.0.0",
|
|
31
|
+
"c8": "^11.0.0",
|
|
30
32
|
"chai": "^4.5.0",
|
|
31
33
|
"eslint": "^10.0.0",
|
|
32
34
|
"eslint-plugin-chai-friendly": "^1.1.0",
|
package/dist/cli/colors.d.ts
DELETED
package/dist/cli/colors.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.colors = void 0;
|
|
4
|
-
const wrap = (code) => (s) => `\x1b[${code}m${s}\x1b[0m`;
|
|
5
|
-
exports.colors = {
|
|
6
|
-
bold: wrap("1"),
|
|
7
|
-
dim: wrap("2"),
|
|
8
|
-
red: wrap("31"),
|
|
9
|
-
yellow: wrap("33"),
|
|
10
|
-
blue: wrap("94"),
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=colors.js.map
|
package/dist/cli/colors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/cli/colors.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAA;AAE3D,QAAA,MAAM,GAAG;IAClB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;IACf,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;IACd,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;IACf,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;CACnB,CAAA"}
|
package/dist/cli/error.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const fail: (message: string, beforeExit?: () => void) => never;
|
package/dist/cli/error.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fail = void 0;
|
|
4
|
-
const colors_1 = require("./colors");
|
|
5
|
-
const fail = (message, beforeExit) => {
|
|
6
|
-
console.error(colors_1.colors.red(`Error: ${message}\n`));
|
|
7
|
-
beforeExit?.();
|
|
8
|
-
process.exit(1);
|
|
9
|
-
};
|
|
10
|
-
exports.fail = fail;
|
|
11
|
-
//# sourceMappingURL=error.js.map
|
package/dist/cli/error.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/cli/error.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAE1B,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,UAAuB,EAAS,EAAE;IACpE,OAAO,CAAC,KAAK,CAAC,eAAM,CAAC,GAAG,CAAC,UAAU,OAAO,IAAI,CAAC,CAAC,CAAA;IAChD,UAAU,EAAE,EAAE,CAAA;IACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAA;AAJY,QAAA,IAAI,QAIhB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const listTransforms: (version: string) => void;
|
package/dist/cli/parse-args.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const printGuide: (version: string) => void;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export interface SummaryData {
|
|
2
|
-
ok: number;
|
|
3
|
-
error: number;
|
|
4
|
-
skip: number;
|
|
5
|
-
nochange: number;
|
|
6
|
-
timeElapsed: number;
|
|
7
|
-
parseErrors: {
|
|
8
|
-
file: string;
|
|
9
|
-
message: string;
|
|
10
|
-
}[];
|
|
11
|
-
todos: Map<string, string[]>;
|
|
12
|
-
applied: Map<string, number>;
|
|
13
|
-
depChanges: string[];
|
|
14
|
-
depWarnings: string[];
|
|
15
|
-
depErrors: string[];
|
|
16
|
-
}
|
|
17
|
-
export declare const printSummary: (data: SummaryData) => void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const printTodos: (allTodos: Map<string, string[]>) => void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const printUsage: () => void;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export interface TransformResult {
|
|
2
|
-
ok: number;
|
|
3
|
-
error: number;
|
|
4
|
-
skip: number;
|
|
5
|
-
nochange: number;
|
|
6
|
-
timeElapsed: number;
|
|
7
|
-
parseErrors: {
|
|
8
|
-
file: string;
|
|
9
|
-
message: string;
|
|
10
|
-
}[];
|
|
11
|
-
todos: Map<string, string[]>;
|
|
12
|
-
applied: Map<string, number>;
|
|
13
|
-
}
|
|
14
|
-
export interface RunTransformsOptions {
|
|
15
|
-
transforms: string[];
|
|
16
|
-
paths: string[];
|
|
17
|
-
dry: boolean;
|
|
18
|
-
workers?: number;
|
|
19
|
-
ignore?: string[];
|
|
20
|
-
}
|
|
21
|
-
export declare const runTransforms: (options: RunTransformsOptions) => Promise<TransformResult>;
|
package/dist/cli/run.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export interface DependencyConfig {
|
|
2
|
-
/** Packages to replace (old → new package name + version). */
|
|
3
|
-
replacements: Record<string, {
|
|
4
|
-
replacement: string;
|
|
5
|
-
version: string;
|
|
6
|
-
}>;
|
|
7
|
-
/** Packages to upgrade (minVersion triggers upgrade, version is the target). */
|
|
8
|
-
upgrades: Record<string, {
|
|
9
|
-
minVersion: string;
|
|
10
|
-
version: string;
|
|
11
|
-
}>;
|
|
12
|
-
/** Packages that are incompatible (package name → error message). */
|
|
13
|
-
incompatible: Record<string, string>;
|
|
14
|
-
/** Packages that trigger a soft warning (package name → warning message). */
|
|
15
|
-
warnings: Record<string, string>;
|
|
16
|
-
/** Minimum required Node.js version. */
|
|
17
|
-
minNodeVersion: string;
|
|
18
|
-
}
|
|
19
|
-
export interface DependencyReport {
|
|
20
|
-
file: string;
|
|
21
|
-
changes: string[];
|
|
22
|
-
warnings: string[];
|
|
23
|
-
errors: string[];
|
|
24
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { DependencyConfig } from "./config";
|
|
2
|
-
export type { DependencyConfig, DependencyReport } from "./config";
|
|
3
|
-
export { findPackageJsonFiles } from "./find-package-json";
|
|
4
|
-
export { upgradeDependencies } from "./upgrade";
|
|
5
|
-
export declare const getConfig: (version: string) => DependencyConfig | undefined;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { DependencyConfig, DependencyReport } from "./config";
|
|
2
|
-
export interface PackageJson {
|
|
3
|
-
engines?: {
|
|
4
|
-
node?: string;
|
|
5
|
-
};
|
|
6
|
-
dependencies?: Record<string, string>;
|
|
7
|
-
devDependencies?: Record<string, string>;
|
|
8
|
-
peerDependencies?: Record<string, string>;
|
|
9
|
-
optionalDependencies?: Record<string, string>;
|
|
10
|
-
}
|
|
11
|
-
export declare const upgradeDependencies: (filePath: string, dry: boolean, config: DependencyConfig) => DependencyReport;
|
package/dist/index.d.ts
DELETED
package/dist/lib/colors.d.ts
DELETED
package/dist/lib/error.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const fail: (message: string, beforeExit?: () => void) => never;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const formatTime: (seconds: number) => string;
|
package/dist/lib/highlight.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const highlight: (text: string) => string;
|
package/dist/lib/spinner.d.ts
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import type { ASTNode, ASTPath, Collection, Identifier, JSCodeshift, ObjectExpression } from "jscodeshift";
|
|
2
|
-
/**
|
|
3
|
-
* Extracts a string value from a StringLiteral or Literal node.
|
|
4
|
-
* Returns null if the node is not a string literal.
|
|
5
|
-
*/
|
|
6
|
-
export declare const getStringValue: (node: ASTNode) => string | null;
|
|
7
|
-
/**
|
|
8
|
-
* Sets the string value on a StringLiteral or Literal node.
|
|
9
|
-
*/
|
|
10
|
-
export declare const setStringValue: (node: ASTNode, value: string) => void;
|
|
11
|
-
/**
|
|
12
|
-
* Type guard that narrows an AST node to an Identifier.
|
|
13
|
-
*/
|
|
14
|
-
export declare const isIdentifier: (node: {
|
|
15
|
-
type: string;
|
|
16
|
-
}) => node is Identifier;
|
|
17
|
-
/**
|
|
18
|
-
* Checks whether the file contains an import from the given module.
|
|
19
|
-
*/
|
|
20
|
-
export declare const fileImportsFrom: (root: Collection, j: JSCodeshift, moduleName: string) => boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Calls `callback` for each Identifier parameter found in function-like
|
|
23
|
-
* nodes (functions, methods, arrows) and TSParameterProperty nodes.
|
|
24
|
-
*/
|
|
25
|
-
export declare const forEachIdentifierParam: (root: Collection, j: JSCodeshift, callback: (id: Identifier) => void) => void;
|
|
26
|
-
/**
|
|
27
|
-
* Traverses ClassProperty decorators and calls `callback` for each
|
|
28
|
-
* ObjectExpression argument found in decorator call expressions.
|
|
29
|
-
*
|
|
30
|
-
* This avoids duplicating the decorator-traversal boilerplate across
|
|
31
|
-
* multiple transforms.
|
|
32
|
-
*/
|
|
33
|
-
export declare const forEachDecoratorObjectArg: (root: Collection, j: JSCodeshift, callback: (objectExpression: ObjectExpression, path: ASTPath) => void) => void;
|
|
34
|
-
/**
|
|
35
|
-
* Removes properties matching the given key names from an ObjectExpression.
|
|
36
|
-
* Returns true if any properties were removed.
|
|
37
|
-
*/
|
|
38
|
-
export declare const removeObjectProperties: (obj: ObjectExpression, propertyNames: Set<string>) => boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Finds imports from a module, removes the specified named import specifiers,
|
|
41
|
-
* and removes the entire import declaration if no specifiers remain.
|
|
42
|
-
* Returns true if any specifiers were removed.
|
|
43
|
-
*/
|
|
44
|
-
export declare const removeImportSpecifiers: (root: Collection, j: JSCodeshift, moduleName: string, specifierNames: Set<string>) => boolean;
|
|
45
|
-
/**
|
|
46
|
-
* Finds CallExpression nodes with a MemberExpression callee where the
|
|
47
|
-
* property matches `oldName`, and renames the property to `newName`.
|
|
48
|
-
* Returns true if any were renamed.
|
|
49
|
-
*/
|
|
50
|
-
export declare const renameMemberMethod: (root: Collection, j: JSCodeshift, oldName: string, newName: string) => boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const resolveTransforms: (version: string, transform?: string) => string[];
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export declare const getTransformDir: (version: string) => string;
|
|
2
|
-
export declare const getTransformNames: (version: string) => string[];
|
|
3
|
-
export declare const getTransformPath: (version: string, name: string) => string | null;
|
|
4
|
-
export declare const getCompositeTransformPath: (version: string) => string;
|