@typeorm/codemod 1.0.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 +59 -0
- package/dist/cli/colors.d.ts +7 -0
- package/dist/cli/colors.js +12 -0
- package/dist/cli/colors.js.map +1 -0
- package/dist/cli/error.d.ts +1 -0
- package/dist/cli/error.js +11 -0
- package/dist/cli/error.js.map +1 -0
- package/dist/cli/list-transforms.d.ts +1 -0
- package/dist/cli/list-transforms.js +27 -0
- package/dist/cli/list-transforms.js.map +1 -0
- package/dist/cli/parse-args.d.ts +10 -0
- package/dist/cli/parse-args.js +52 -0
- package/dist/cli/parse-args.js.map +1 -0
- package/dist/cli/print-guide.d.ts +1 -0
- package/dist/cli/print-guide.js +15 -0
- package/dist/cli/print-guide.js.map +1 -0
- package/dist/cli/print-summary.d.ts +17 -0
- package/dist/cli/print-summary.js +70 -0
- package/dist/cli/print-summary.js.map +1 -0
- package/dist/cli/print-todos.d.ts +1 -0
- package/dist/cli/print-todos.js +13 -0
- package/dist/cli/print-todos.js.map +1 -0
- package/dist/cli/print-usage.d.ts +1 -0
- package/dist/cli/print-usage.js +31 -0
- package/dist/cli/print-usage.js.map +1 -0
- package/dist/cli/run-dependencies.d.ts +6 -0
- package/dist/cli/run-dependencies.js +45 -0
- package/dist/cli/run-dependencies.js.map +1 -0
- package/dist/cli/run-transforms.d.ts +21 -0
- package/dist/cli/run-transforms.js +119 -0
- package/dist/cli/run-transforms.js.map +1 -0
- package/dist/cli/run.d.ts +9 -0
- package/dist/cli/run.js +30 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/dependencies/config.d.ts +24 -0
- package/dist/dependencies/config.js +3 -0
- package/dist/dependencies/config.js.map +1 -0
- package/dist/dependencies/find-package-json.d.ts +5 -0
- package/dist/dependencies/find-package-json.js +34 -0
- package/dist/dependencies/find-package-json.js.map +1 -0
- package/dist/dependencies/index.d.ts +5 -0
- package/dist/dependencies/index.js +14 -0
- package/dist/dependencies/index.js.map +1 -0
- package/dist/dependencies/upgrade.d.ts +11 -0
- package/dist/dependencies/upgrade.js +128 -0
- package/dist/dependencies/upgrade.js.map +1 -0
- package/dist/dependencies/v1.d.ts +2 -0
- package/dist/dependencies/v1.js +32 -0
- package/dist/dependencies/v1.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/colors.d.ts +9 -0
- package/dist/lib/colors.js +14 -0
- package/dist/lib/colors.js.map +1 -0
- package/dist/lib/error.d.ts +1 -0
- package/dist/lib/error.js +11 -0
- package/dist/lib/error.js.map +1 -0
- package/dist/lib/format-time.d.ts +1 -0
- package/dist/lib/format-time.js +12 -0
- package/dist/lib/format-time.js.map +1 -0
- package/dist/lib/highlight.d.ts +1 -0
- package/dist/lib/highlight.js +7 -0
- package/dist/lib/highlight.js.map +1 -0
- package/dist/lib/spinner.d.ts +5 -0
- package/dist/lib/spinner.js +39 -0
- package/dist/lib/spinner.js.map +1 -0
- package/dist/transforms/ast-helpers.d.ts +50 -0
- package/dist/transforms/ast-helpers.js +153 -0
- package/dist/transforms/ast-helpers.js.map +1 -0
- package/dist/transforms/index.d.ts +7 -0
- package/dist/transforms/index.js +41 -0
- package/dist/transforms/index.js.map +1 -0
- package/dist/transforms/resolve.d.ts +1 -0
- package/dist/transforms/resolve.js +28 -0
- package/dist/transforms/resolve.js.map +1 -0
- package/dist/transforms/scan.d.ts +4 -0
- package/dist/transforms/scan.js +33 -0
- package/dist/transforms/scan.js.map +1 -0
- package/dist/transforms/stats.d.ts +11 -0
- package/dist/transforms/stats.js +42 -0
- package/dist/transforms/stats.js.map +1 -0
- package/dist/transforms/todo.d.ts +2 -0
- package/dist/transforms/todo.js +10 -0
- package/dist/transforms/todo.js.map +1 -0
- package/dist/transforms/transformer.d.ts +8 -0
- package/dist/transforms/transformer.js +19 -0
- package/dist/transforms/transformer.js.map +1 -0
- package/dist/transforms/v1/column-readonly.d.ts +6 -0
- package/dist/transforms/v1/column-readonly.js +37 -0
- package/dist/transforms/v1/column-readonly.js.map +1 -0
- package/dist/transforms/v1/column-unsigned-numeric.d.ts +6 -0
- package/dist/transforms/v1/column-unsigned-numeric.js +65 -0
- package/dist/transforms/v1/column-unsigned-numeric.js.map +1 -0
- package/dist/transforms/v1/column-width-zerofill.d.ts +6 -0
- package/dist/transforms/v1/column-width-zerofill.js +26 -0
- package/dist/transforms/v1/column-width-zerofill.js.map +1 -0
- package/dist/transforms/v1/connection-to-datasource.d.ts +6 -0
- package/dist/transforms/v1/connection-to-datasource.js +205 -0
- package/dist/transforms/v1/connection-to-datasource.js.map +1 -0
- package/dist/transforms/v1/datasource-mongodb.d.ts +7 -0
- package/dist/transforms/v1/datasource-mongodb.js +96 -0
- package/dist/transforms/v1/datasource-mongodb.js.map +1 -0
- package/dist/transforms/v1/datasource-mssql-domain.d.ts +7 -0
- package/dist/transforms/v1/datasource-mssql-domain.js +35 -0
- package/dist/transforms/v1/datasource-mssql-domain.js.map +1 -0
- package/dist/transforms/v1/datasource-mssql.d.ts +7 -0
- package/dist/transforms/v1/datasource-mssql.js +82 -0
- package/dist/transforms/v1/datasource-mssql.js.map +1 -0
- package/dist/transforms/v1/datasource-mysql-connector.d.ts +6 -0
- package/dist/transforms/v1/datasource-mysql-connector.js +25 -0
- package/dist/transforms/v1/datasource-mysql-connector.js.map +1 -0
- package/dist/transforms/v1/datasource-name.d.ts +6 -0
- package/dist/transforms/v1/datasource-name.js +46 -0
- package/dist/transforms/v1/datasource-name.js.map +1 -0
- package/dist/transforms/v1/datasource-sap.d.ts +6 -0
- package/dist/transforms/v1/datasource-sap.js +63 -0
- package/dist/transforms/v1/datasource-sap.js.map +1 -0
- package/dist/transforms/v1/datasource-sqlite-options.d.ts +6 -0
- package/dist/transforms/v1/datasource-sqlite-options.js +35 -0
- package/dist/transforms/v1/datasource-sqlite-options.js.map +1 -0
- package/dist/transforms/v1/datasource-sqlite-type.d.ts +6 -0
- package/dist/transforms/v1/datasource-sqlite-type.js +28 -0
- package/dist/transforms/v1/datasource-sqlite-type.js.map +1 -0
- package/dist/transforms/v1/find-options-lock-modes.d.ts +6 -0
- package/dist/transforms/v1/find-options-lock-modes.js +81 -0
- package/dist/transforms/v1/find-options-lock-modes.js.map +1 -0
- package/dist/transforms/v1/find-options-string-relations.d.ts +6 -0
- package/dist/transforms/v1/find-options-string-relations.js +69 -0
- package/dist/transforms/v1/find-options-string-relations.js.map +1 -0
- package/dist/transforms/v1/find-options-string-select.d.ts +6 -0
- package/dist/transforms/v1/find-options-string-select.js +36 -0
- package/dist/transforms/v1/find-options-string-select.js.map +1 -0
- package/dist/transforms/v1/global-functions.d.ts +7 -0
- package/dist/transforms/v1/global-functions.js +98 -0
- package/dist/transforms/v1/global-functions.js.map +1 -0
- package/dist/transforms/v1/index.d.ts +40 -0
- package/dist/transforms/v1/index.js +109 -0
- package/dist/transforms/v1/index.js.map +1 -0
- package/dist/transforms/v1/migrations-get-all.d.ts +7 -0
- package/dist/transforms/v1/migrations-get-all.js +39 -0
- package/dist/transforms/v1/migrations-get-all.js.map +1 -0
- package/dist/transforms/v1/mongodb-stats.d.ts +7 -0
- package/dist/transforms/v1/mongodb-stats.js +52 -0
- package/dist/transforms/v1/mongodb-stats.js.map +1 -0
- package/dist/transforms/v1/mongodb-types.d.ts +6 -0
- package/dist/transforms/v1/mongodb-types.js +84 -0
- package/dist/transforms/v1/mongodb-types.js.map +1 -0
- package/dist/transforms/v1/query-builder-native-parameters.d.ts +6 -0
- package/dist/transforms/v1/query-builder-native-parameters.js +20 -0
- package/dist/transforms/v1/query-builder-native-parameters.js.map +1 -0
- package/dist/transforms/v1/query-builder-on-conflict.d.ts +7 -0
- package/dist/transforms/v1/query-builder-on-conflict.js +56 -0
- package/dist/transforms/v1/query-builder-on-conflict.js.map +1 -0
- package/dist/transforms/v1/query-builder-or-update.d.ts +6 -0
- package/dist/transforms/v1/query-builder-or-update.js +56 -0
- package/dist/transforms/v1/query-builder-or-update.js.map +1 -0
- package/dist/transforms/v1/query-builder-print-sql.d.ts +7 -0
- package/dist/transforms/v1/query-builder-print-sql.js +49 -0
- package/dist/transforms/v1/query-builder-print-sql.js.map +1 -0
- package/dist/transforms/v1/query-builder-replace-property-names.d.ts +7 -0
- package/dist/transforms/v1/query-builder-replace-property-names.js +42 -0
- package/dist/transforms/v1/query-builder-replace-property-names.js.map +1 -0
- package/dist/transforms/v1/query-builder-where-expression.d.ts +6 -0
- package/dist/transforms/v1/query-builder-where-expression.js +39 -0
- package/dist/transforms/v1/query-builder-where-expression.js.map +1 -0
- package/dist/transforms/v1/query-runner-loaded-tables-views.d.ts +7 -0
- package/dist/transforms/v1/query-runner-loaded-tables-views.js +54 -0
- package/dist/transforms/v1/query-runner-loaded-tables-views.js.map +1 -0
- package/dist/transforms/v1/relation-count.d.ts +7 -0
- package/dist/transforms/v1/relation-count.js +41 -0
- package/dist/transforms/v1/relation-count.js.map +1 -0
- package/dist/transforms/v1/remove-abstract-repository.d.ts +5 -0
- package/dist/transforms/v1/remove-abstract-repository.js +93 -0
- package/dist/transforms/v1/remove-abstract-repository.js.map +1 -0
- package/dist/transforms/v1/remove-connector-package.d.ts +4 -0
- package/dist/transforms/v1/remove-connector-package.js +19 -0
- package/dist/transforms/v1/remove-connector-package.js.map +1 -0
- package/dist/transforms/v1/remove-datasource-name.d.ts +4 -0
- package/dist/transforms/v1/remove-datasource-name.js +56 -0
- package/dist/transforms/v1/remove-datasource-name.js.map +1 -0
- package/dist/transforms/v1/remove-mongodb-options.d.ts +5 -0
- package/dist/transforms/v1/remove-mongodb-options.js +86 -0
- package/dist/transforms/v1/remove-mongodb-options.js.map +1 -0
- package/dist/transforms/v1/remove-relation-count.d.ts +5 -0
- package/dist/transforms/v1/remove-relation-count.js +49 -0
- package/dist/transforms/v1/remove-relation-count.js.map +1 -0
- package/dist/transforms/v1/remove-replace-property-names.d.ts +5 -0
- package/dist/transforms/v1/remove-replace-property-names.js +35 -0
- package/dist/transforms/v1/remove-replace-property-names.js.map +1 -0
- package/dist/transforms/v1/remove-sap-options.d.ts +4 -0
- package/dist/transforms/v1/remove-sap-options.js +54 -0
- package/dist/transforms/v1/remove-sap-options.js.map +1 -0
- package/dist/transforms/v1/remove-unsigned-numeric.d.ts +4 -0
- package/dist/transforms/v1/remove-unsigned-numeric.js +76 -0
- package/dist/transforms/v1/remove-unsigned-numeric.js.map +1 -0
- package/dist/transforms/v1/remove-use-container.d.ts +5 -0
- package/dist/transforms/v1/remove-use-container.js +63 -0
- package/dist/transforms/v1/remove-use-container.js.map +1 -0
- package/dist/transforms/v1/remove-width-zerofill.d.ts +4 -0
- package/dist/transforms/v1/remove-width-zerofill.js +29 -0
- package/dist/transforms/v1/remove-width-zerofill.js.map +1 -0
- package/dist/transforms/v1/rename-connection-to-datasource.d.ts +4 -0
- package/dist/transforms/v1/rename-connection-to-datasource.js +111 -0
- package/dist/transforms/v1/rename-connection-to-datasource.js.map +1 -0
- package/dist/transforms/v1/rename-exist-to-exists.d.ts +4 -0
- package/dist/transforms/v1/rename-exist-to-exists.js +25 -0
- package/dist/transforms/v1/rename-exist-to-exists.js.map +1 -0
- package/dist/transforms/v1/rename-find-by-ids.d.ts +4 -0
- package/dist/transforms/v1/rename-find-by-ids.js +64 -0
- package/dist/transforms/v1/rename-find-by-ids.js.map +1 -0
- package/dist/transforms/v1/rename-get-all-migrations.d.ts +5 -0
- package/dist/transforms/v1/rename-get-all-migrations.js +32 -0
- package/dist/transforms/v1/rename-get-all-migrations.js.map +1 -0
- package/dist/transforms/v1/rename-loaded-tables-views.d.ts +5 -0
- package/dist/transforms/v1/rename-loaded-tables-views.js +48 -0
- package/dist/transforms/v1/rename-loaded-tables-views.js.map +1 -0
- package/dist/transforms/v1/rename-or-update-overload.d.ts +4 -0
- package/dist/transforms/v1/rename-or-update-overload.js +46 -0
- package/dist/transforms/v1/rename-or-update-overload.js.map +1 -0
- package/dist/transforms/v1/rename-print-sql-to-log-query.d.ts +4 -0
- package/dist/transforms/v1/rename-print-sql-to-log-query.js +25 -0
- package/dist/transforms/v1/rename-print-sql-to-log-query.js.map +1 -0
- package/dist/transforms/v1/replace-global-functions.d.ts +5 -0
- package/dist/transforms/v1/replace-global-functions.js +92 -0
- package/dist/transforms/v1/replace-global-functions.js.map +1 -0
- package/dist/transforms/v1/replace-lock-modes.d.ts +4 -0
- package/dist/transforms/v1/replace-lock-modes.js +75 -0
- package/dist/transforms/v1/replace-lock-modes.js.map +1 -0
- package/dist/transforms/v1/replace-mongodb-stats.d.ts +5 -0
- package/dist/transforms/v1/replace-mongodb-stats.js +54 -0
- package/dist/transforms/v1/replace-mongodb-stats.js.map +1 -0
- package/dist/transforms/v1/replace-mongodb-types.d.ts +4 -0
- package/dist/transforms/v1/replace-mongodb-types.js +72 -0
- package/dist/transforms/v1/replace-mongodb-types.js.map +1 -0
- package/dist/transforms/v1/replace-mssql-domain.d.ts +5 -0
- package/dist/transforms/v1/replace-mssql-domain.js +25 -0
- package/dist/transforms/v1/replace-mssql-domain.js.map +1 -0
- package/dist/transforms/v1/replace-on-conflict.d.ts +5 -0
- package/dist/transforms/v1/replace-on-conflict.js +49 -0
- package/dist/transforms/v1/replace-on-conflict.js.map +1 -0
- package/dist/transforms/v1/replace-readonly-column.d.ts +4 -0
- package/dist/transforms/v1/replace-readonly-column.js +28 -0
- package/dist/transforms/v1/replace-readonly-column.js.map +1 -0
- package/dist/transforms/v1/replace-set-native-parameters.d.ts +4 -0
- package/dist/transforms/v1/replace-set-native-parameters.js +25 -0
- package/dist/transforms/v1/replace-set-native-parameters.js.map +1 -0
- package/dist/transforms/v1/replace-sqlite-options.d.ts +4 -0
- package/dist/transforms/v1/replace-sqlite-options.js +29 -0
- package/dist/transforms/v1/replace-sqlite-options.js.map +1 -0
- package/dist/transforms/v1/replace-sqlite-type.d.ts +4 -0
- package/dist/transforms/v1/replace-sqlite-type.js +22 -0
- package/dist/transforms/v1/replace-sqlite-type.js.map +1 -0
- package/dist/transforms/v1/replace-where-expression-type.d.ts +4 -0
- package/dist/transforms/v1/replace-where-expression-type.js +41 -0
- package/dist/transforms/v1/replace-where-expression-type.js.map +1 -0
- package/dist/transforms/v1/repository-abstract.d.ts +7 -0
- package/dist/transforms/v1/repository-abstract.js +83 -0
- package/dist/transforms/v1/repository-abstract.js.map +1 -0
- package/dist/transforms/v1/repository-exist.d.ts +6 -0
- package/dist/transforms/v1/repository-exist.js +20 -0
- package/dist/transforms/v1/repository-exist.js.map +1 -0
- package/dist/transforms/v1/repository-find-by-ids.d.ts +6 -0
- package/dist/transforms/v1/repository-find-by-ids.js +74 -0
- package/dist/transforms/v1/repository-find-by-ids.js.map +1 -0
- package/dist/transforms/v1/repository-find-one-by-id.d.ts +6 -0
- package/dist/transforms/v1/repository-find-one-by-id.js +55 -0
- package/dist/transforms/v1/repository-find-one-by-id.js.map +1 -0
- package/dist/transforms/v1/upgrade-dependencies.d.ts +15 -0
- package/dist/transforms/v1/upgrade-dependencies.js +163 -0
- package/dist/transforms/v1/upgrade-dependencies.js.map +1 -0
- package/dist/transforms/v1/use-container.d.ts +7 -0
- package/dist/transforms/v1/use-container.js +54 -0
- package/dist/transforms/v1/use-container.js.map +1 -0
- package/package.json +50 -0
package/README.md
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# @typeorm/codemod
|
|
2
|
+
|
|
3
|
+
Automated code migration tool for TypeORM version upgrades.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Run all v1 transforms
|
|
9
|
+
npx @typeorm/codemod v1 src/
|
|
10
|
+
|
|
11
|
+
# Dry run (preview changes without writing)
|
|
12
|
+
npx @typeorm/codemod v1 --dry src/
|
|
13
|
+
|
|
14
|
+
# Run a specific transform
|
|
15
|
+
npx @typeorm/codemod v1 --transform connection-to-datasource src/
|
|
16
|
+
|
|
17
|
+
# Exclude files by glob pattern (repeatable)
|
|
18
|
+
npx @typeorm/codemod v1 --ignore '**/generated*' --ignore '**/e2e/**' src/
|
|
19
|
+
|
|
20
|
+
# Control parallelism
|
|
21
|
+
npx @typeorm/codemod v1 --workers 4 src/
|
|
22
|
+
|
|
23
|
+
# List available transforms
|
|
24
|
+
npx @typeorm/codemod v1 --list
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Options
|
|
28
|
+
|
|
29
|
+
| Option | Short | Description |
|
|
30
|
+
| -------------------- | ----- | --------------------------------------------------- |
|
|
31
|
+
| `--dry` | `-d` | Dry run (show changes without writing) |
|
|
32
|
+
| `--help` | `-h` | Show help |
|
|
33
|
+
| `--ignore <pattern>` | `-i` | Glob pattern to exclude files (repeatable) |
|
|
34
|
+
| `--list` | `-l` | List available transforms |
|
|
35
|
+
| `--transform <name>` | `-t` | Run a specific transform only |
|
|
36
|
+
| `--workers <num>` | `-w` | Number of worker processes (default: CPU cores - 1) |
|
|
37
|
+
|
|
38
|
+
## After running
|
|
39
|
+
|
|
40
|
+
Some transforms leave `TODO` comments in your code where manual changes are needed. After the codemod completes, it will list all files that require manual review.
|
|
41
|
+
|
|
42
|
+
### Formatting
|
|
43
|
+
|
|
44
|
+
The codemod uses an AST-based approach which may introduce minor formatting differences (e.g. extra parentheses, quote style changes). Run your project's formatter after the codemod to restore your code style:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx @typeorm/codemod v1 src/
|
|
48
|
+
npx prettier --write src/ # or: npx eslint --fix src/
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Scoping
|
|
52
|
+
|
|
53
|
+
Transforms that rename properties or methods (e.g. `.connection` to `.dataSource`) rely on type annotations to identify TypeORM instances. Code that uses TypeORM APIs without type annotations may not be transformed automatically — review `git diff` after running.
|
|
54
|
+
|
|
55
|
+
## Documentation
|
|
56
|
+
|
|
57
|
+
See the full migration guide for details on all breaking changes:
|
|
58
|
+
|
|
59
|
+
- [v1](https://typeorm.io/docs/guides/migration-v1)
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const fail: (message: string, beforeExit?: () => void) => never;
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const listTransforms: (version: string) => void;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listTransforms = void 0;
|
|
4
|
+
const colors_1 = require("../lib/colors");
|
|
5
|
+
const transforms_1 = require("../transforms");
|
|
6
|
+
const listTransforms = (version) => {
|
|
7
|
+
const info = transforms_1.versions[version];
|
|
8
|
+
if (!info) {
|
|
9
|
+
throw new Error(`No transforms found for version "${version}"`);
|
|
10
|
+
}
|
|
11
|
+
const entries = info.transforms;
|
|
12
|
+
const hasManual = entries.some((t) => t.manual);
|
|
13
|
+
const maxLen = Math.max(...entries.map((e) => e.name.length + (e.manual ? 4 : 0)));
|
|
14
|
+
console.log(`Available transforms for version ${colors_1.colors.blue(version)}:\n`);
|
|
15
|
+
for (const { name, description, manual } of entries) {
|
|
16
|
+
const marker = manual ? ` ${colors_1.colors.yellow("(*)")}` : "";
|
|
17
|
+
const rawLen = name.length + (manual ? 4 : 0);
|
|
18
|
+
const padding = " ".repeat(maxLen - rawLen);
|
|
19
|
+
const desc = description ? `${padding} - ${description}` : "";
|
|
20
|
+
console.log(` ${colors_1.colors.dim(name)}${marker}${desc}`);
|
|
21
|
+
}
|
|
22
|
+
if (hasManual) {
|
|
23
|
+
console.log(`\n ${colors_1.colors.yellow("Warning:")} transforms marked with ${colors_1.colors.yellow("(*)")} require manual review after running`);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
exports.listTransforms = listTransforms;
|
|
27
|
+
//# sourceMappingURL=list-transforms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-transforms.js","sourceRoot":"","sources":["../../src/cli/list-transforms.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,8CAAwC;AAEjC,MAAM,cAAc,GAAG,CAAC,OAAe,EAAQ,EAAE;IACpD,MAAM,IAAI,GAAG,qBAAQ,CAAC,OAAO,CAAC,CAAA;IAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,GAAG,CAAC,CAAA;IACnE,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAA;IAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAE/C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACnB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAA;IAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAE1E,KAAK,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,eAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,eAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CACP,OAAO,eAAM,CAAC,MAAM,CAAC,UAAU,CAAC,2BAA2B,eAAM,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CACxH,CAAA;IACL,CAAC;AACL,CAAC,CAAA;AA5BY,QAAA,cAAc,kBA4B1B"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseArgs = void 0;
|
|
4
|
+
const requireValue = (flag, value) => {
|
|
5
|
+
if (!value || value.startsWith("-")) {
|
|
6
|
+
console.error(`Error: ${flag} requires a value`);
|
|
7
|
+
process.exit(1);
|
|
8
|
+
}
|
|
9
|
+
return value;
|
|
10
|
+
};
|
|
11
|
+
const parseArgs = (args) => {
|
|
12
|
+
const options = {
|
|
13
|
+
version: "",
|
|
14
|
+
paths: [],
|
|
15
|
+
};
|
|
16
|
+
let i = 0;
|
|
17
|
+
while (i < args.length) {
|
|
18
|
+
const arg = args[i];
|
|
19
|
+
if (arg === "--dry" || arg === "-d") {
|
|
20
|
+
options.dry = true;
|
|
21
|
+
}
|
|
22
|
+
else if (arg === "--list" || arg === "-l") {
|
|
23
|
+
options.list = true;
|
|
24
|
+
}
|
|
25
|
+
else if (arg === "--transform" || arg === "-t") {
|
|
26
|
+
options.transform = requireValue(arg, args[++i]);
|
|
27
|
+
}
|
|
28
|
+
else if (arg === "--workers" || arg === "-w") {
|
|
29
|
+
const raw = requireValue(arg, args[++i]);
|
|
30
|
+
const value = Number.parseInt(raw, 10);
|
|
31
|
+
if (!Number.isInteger(value) || value <= 0) {
|
|
32
|
+
console.error(`Error: --workers must be a positive integer, got "${raw}"`);
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
options.workers = value;
|
|
36
|
+
}
|
|
37
|
+
else if (arg === "--ignore" || arg === "-i") {
|
|
38
|
+
options.ignore ??= [];
|
|
39
|
+
options.ignore.push(requireValue(arg, args[++i]));
|
|
40
|
+
}
|
|
41
|
+
else if (options.version) {
|
|
42
|
+
options.paths.push(arg);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
options.version = arg;
|
|
46
|
+
}
|
|
47
|
+
i++;
|
|
48
|
+
}
|
|
49
|
+
return options;
|
|
50
|
+
};
|
|
51
|
+
exports.parseArgs = parseArgs;
|
|
52
|
+
//# sourceMappingURL=parse-args.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-args.js","sourceRoot":"","sources":["../../src/cli/parse-args.ts"],"names":[],"mappings":";;;AAUA,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAyB,EAAU,EAAE;IACrE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,mBAAmB,CAAC,CAAA;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC,CAAA;AAEM,MAAM,SAAS,GAAG,CAAC,IAAc,EAAc,EAAE;IACpD,MAAM,OAAO,GAAe;QACxB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE;KACZ,CAAA;IAED,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAA;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACxC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,KAAK,CACT,qDAAqD,GAAG,GAAG,CAC9D,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;YACD,OAAO,CAAC,OAAO,GAAG,KAAK,CAAA;QAC3B,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAO,CAAC,MAAM,KAAK,EAAE,CAAA;YACrB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,OAAO,GAAG,GAAG,CAAA;QACzB,CAAC;QACD,CAAC,EAAE,CAAA;IACP,CAAC;IAED,OAAO,OAAO,CAAA;AAClB,CAAC,CAAA;AArCY,QAAA,SAAS,aAqCrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const printGuide: (version: string) => void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.printGuide = void 0;
|
|
4
|
+
const colors_1 = require("../lib/colors");
|
|
5
|
+
const highlight_1 = require("../lib/highlight");
|
|
6
|
+
const transforms_1 = require("../transforms");
|
|
7
|
+
const printGuide = (version) => {
|
|
8
|
+
console.log((0, highlight_1.highlight)(`\n${colors_1.colors.blue("Tip:")} run your project's formatter (e.g. \`prettier\`, \`eslint --fix\`) to clean up any style differences introduced by the codemod.`));
|
|
9
|
+
const guide = transforms_1.versions[version]?.migrationGuide;
|
|
10
|
+
if (guide) {
|
|
11
|
+
console.log(`\nSee the full migration guide for details: ${colors_1.colors.blue(guide)}`);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
exports.printGuide = printGuide;
|
|
15
|
+
//# sourceMappingURL=print-guide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"print-guide.js","sourceRoot":"","sources":["../../src/cli/print-guide.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,gDAA4C;AAC5C,8CAAwC;AAEjC,MAAM,UAAU,GAAG,CAAC,OAAe,EAAQ,EAAE;IAChD,OAAO,CAAC,GAAG,CACP,IAAA,qBAAS,EACL,KAAK,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,kIAAkI,CAC7J,CACJ,CAAA;IAED,MAAM,KAAK,GAAG,qBAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAA;IAC/C,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CACP,+CAA+C,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACtE,CAAA;IACL,CAAC;AACL,CAAC,CAAA;AAbY,QAAA,UAAU,cAatB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.printSummary = void 0;
|
|
4
|
+
const colors_1 = require("../lib/colors");
|
|
5
|
+
const format_time_1 = require("../lib/format-time");
|
|
6
|
+
const highlight_1 = require("../lib/highlight");
|
|
7
|
+
const print_todos_1 = require("./print-todos");
|
|
8
|
+
const printStatistics = (data) => {
|
|
9
|
+
console.log(`\n${colors_1.colors.bold("Statistics:")}`);
|
|
10
|
+
console.log(` Files processed: ${data.ok + data.error + data.skip + data.nochange}`);
|
|
11
|
+
console.log(` Files transformed: ${data.ok}`);
|
|
12
|
+
console.log(` Files skipped: ${data.skip + data.nochange}`);
|
|
13
|
+
console.log(` Parse errors: ${data.error}`);
|
|
14
|
+
console.log(` Time elapsed: ${(0, format_time_1.formatTime)(data.timeElapsed)}`);
|
|
15
|
+
};
|
|
16
|
+
const printApplied = (applied) => {
|
|
17
|
+
console.log(`\n${colors_1.colors.bold("Transforms applied:")}`);
|
|
18
|
+
const sorted = [...applied.entries()].sort(([, a], [, b]) => b - a);
|
|
19
|
+
for (const [name, count] of sorted) {
|
|
20
|
+
console.log(` ${colors_1.colors.dim(name.padEnd(45))} ${count} file${count === 1 ? "" : "s"}`);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const printParseErrors = (parseErrors) => {
|
|
24
|
+
console.log(`\n ${colors_1.colors.red("Parse errors:")}`);
|
|
25
|
+
const sorted = [...parseErrors].sort((a, b) => a.file.localeCompare(b.file));
|
|
26
|
+
for (const { file, message } of sorted) {
|
|
27
|
+
console.log(` ${colors_1.colors.dim(file)} ${message}`);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const groupLines = (lines) => {
|
|
31
|
+
const counts = new Map();
|
|
32
|
+
for (const line of lines) {
|
|
33
|
+
counts.set(line, (counts.get(line) ?? 0) + 1);
|
|
34
|
+
}
|
|
35
|
+
return [...counts.entries()];
|
|
36
|
+
};
|
|
37
|
+
const printGrouped = (lines, indent, formatter = highlight_1.highlight) => {
|
|
38
|
+
for (const [line, count] of groupLines(lines)) {
|
|
39
|
+
const suffix = count > 1 ? ` ${colors_1.colors.dim(`(${count} times)`)}` : "";
|
|
40
|
+
console.log(`${indent}${formatter(line)}${suffix}`);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const printDependencyChanges = (changes, warnings, errors) => {
|
|
44
|
+
console.log(`\n${colors_1.colors.bold("Dependency changes:")}`);
|
|
45
|
+
printGrouped(changes, " ");
|
|
46
|
+
if (errors.length > 0) {
|
|
47
|
+
console.log(`\n ${colors_1.colors.red("Errors:")}`);
|
|
48
|
+
printGrouped(errors, " ");
|
|
49
|
+
}
|
|
50
|
+
if (warnings.length > 0) {
|
|
51
|
+
console.log(`\n ${colors_1.colors.yellow("Warnings:")}`);
|
|
52
|
+
printGrouped(warnings, " ");
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const printSummary = (data) => {
|
|
56
|
+
printStatistics(data);
|
|
57
|
+
if (data.applied.size > 0)
|
|
58
|
+
printApplied(data.applied);
|
|
59
|
+
if (data.todos.size > 0)
|
|
60
|
+
(0, print_todos_1.printTodos)(data.todos);
|
|
61
|
+
if (data.parseErrors.length > 0)
|
|
62
|
+
printParseErrors(data.parseErrors);
|
|
63
|
+
if (data.depChanges.length > 0 ||
|
|
64
|
+
data.depWarnings.length > 0 ||
|
|
65
|
+
data.depErrors.length > 0) {
|
|
66
|
+
printDependencyChanges(data.depChanges, data.depWarnings, data.depErrors);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
exports.printSummary = printSummary;
|
|
70
|
+
//# sourceMappingURL=print-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"print-summary.js","sourceRoot":"","sources":["../../src/cli/print-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const printTodos: (allTodos: Map<string, string[]>) => void;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.printTodos = void 0;
|
|
4
|
+
const colors_1 = require("../lib/colors");
|
|
5
|
+
const printTodos = (allTodos) => {
|
|
6
|
+
console.log(`\n ${colors_1.colors.yellow("Files requiring manual review:")}`);
|
|
7
|
+
for (const [transform, files] of allTodos) {
|
|
8
|
+
console.log(` ${colors_1.colors.dim(transform)}:`);
|
|
9
|
+
files.forEach((f) => console.log(` ${f}`));
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
exports.printTodos = printTodos;
|
|
13
|
+
//# sourceMappingURL=print-todos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"print-todos.js","sourceRoot":"","sources":["../../src/cli/print-todos.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AAE/B,MAAM,UAAU,GAAG,CAAC,QAA+B,EAAQ,EAAE;IAChE,OAAO,CAAC,GAAG,CAAC,OAAO,eAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAA;IACrE,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,OAAO,eAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;IACnD,CAAC;AACL,CAAC,CAAA;AANY,QAAA,UAAU,cAMtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const printUsage: () => void;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.printUsage = void 0;
|
|
4
|
+
const colors_1 = require("../lib/colors");
|
|
5
|
+
const transforms_1 = require("../transforms");
|
|
6
|
+
const printUsage = () => {
|
|
7
|
+
const versionList = Object.entries(transforms_1.versions)
|
|
8
|
+
.map(([name, { description }]) => ` ${colors_1.colors.blue(name.padEnd(6))}${description}`)
|
|
9
|
+
.join("\n");
|
|
10
|
+
console.log(`${colors_1.colors.bold("Usage:")} @typeorm/codemod ${colors_1.colors.blue("<version>")} [options] <paths...>
|
|
11
|
+
|
|
12
|
+
${colors_1.colors.bold("Versions:")}
|
|
13
|
+
${versionList}
|
|
14
|
+
|
|
15
|
+
${colors_1.colors.bold("Options:")}
|
|
16
|
+
${colors_1.colors.blue("--dry, -d")} Dry run ${colors_1.colors.dim("(show changes without writing)")}
|
|
17
|
+
${colors_1.colors.blue("--help, -h")} Show this help
|
|
18
|
+
${colors_1.colors.blue("--ignore, -i")} <pattern> Glob pattern to exclude files ${colors_1.colors.dim("(repeatable)")}
|
|
19
|
+
${colors_1.colors.blue("--list, -l")} List available transforms
|
|
20
|
+
${colors_1.colors.blue("--transform, -t")} <name> Run a specific transform only
|
|
21
|
+
${colors_1.colors.blue("--workers, -w")} <num> Number of worker processes ${colors_1.colors.dim("(default: CPU cores - 1)")}
|
|
22
|
+
|
|
23
|
+
${colors_1.colors.bold("Examples:")}
|
|
24
|
+
${colors_1.colors.dim("@typeorm/codemod v1 src/")}
|
|
25
|
+
${colors_1.colors.dim("@typeorm/codemod v1 --dry src/")}
|
|
26
|
+
${colors_1.colors.dim("@typeorm/codemod v1 --ignore '**/generated*' src/")}
|
|
27
|
+
${colors_1.colors.dim("@typeorm/codemod v1 --transform connection-to-datasource src/")}
|
|
28
|
+
${colors_1.colors.dim("@typeorm/codemod v1 --list")}`);
|
|
29
|
+
};
|
|
30
|
+
exports.printUsage = printUsage;
|
|
31
|
+
//# sourceMappingURL=print-usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"print-usage.js","sourceRoot":"","sources":["../../src/cli/print-usage.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,8CAAwC;AAEjC,MAAM,UAAU,GAAG,GAAS,EAAE;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAQ,CAAC;SACvC,GAAG,CACA,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CACxB,KAAK,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,CACvD;SACA,IAAI,CAAC,IAAI,CAAC,CAAA;IAEf,OAAO,CAAC,GAAG,CAAC,GAAG,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC;;EAEnF,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC;EACxB,WAAW;;EAEX,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC;IACrB,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,eAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC;IAC9F,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IACzB,eAAM,CAAC,IAAI,CAAC,cAAc,CAAC,6CAA6C,eAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IAClG,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IACzB,eAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAC9B,eAAM,CAAC,IAAI,CAAC,eAAe,CAAC,yCAAyC,eAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC;;EAE7G,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC;IACtB,eAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACtC,eAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC;IAC5C,eAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC;IAC/D,eAAM,CAAC,GAAG,CAAC,+DAA+D,CAAC;IAC3E,eAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAA;AAC/C,CAAC,CAAA;AA3BY,QAAA,UAAU,cA2BtB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runDependencies = void 0;
|
|
4
|
+
const colors_1 = require("../lib/colors");
|
|
5
|
+
const spinner_1 = require("../lib/spinner");
|
|
6
|
+
const format_time_1 = require("../lib/format-time");
|
|
7
|
+
const dependencies_1 = require("../dependencies");
|
|
8
|
+
const runDependencies = (paths, version, dry) => {
|
|
9
|
+
const depConfig = (0, dependencies_1.getConfig)(version);
|
|
10
|
+
if (!depConfig)
|
|
11
|
+
return undefined;
|
|
12
|
+
const searchRoots = [...new Set([process.cwd(), ...paths])];
|
|
13
|
+
const packageJsonFiles = (0, dependencies_1.findPackageJsonFiles)(searchRoots);
|
|
14
|
+
if (packageJsonFiles.length === 0)
|
|
15
|
+
return undefined;
|
|
16
|
+
const depSpinner = (0, spinner_1.createSpinner)(`Upgrading dependencies in ${packageJsonFiles.length} package.json file${packageJsonFiles.length === 1 ? "" : "s"}...`);
|
|
17
|
+
const depStart = Date.now();
|
|
18
|
+
let depFilesChanged = 0;
|
|
19
|
+
const changes = [];
|
|
20
|
+
const warnings = [];
|
|
21
|
+
const errors = [];
|
|
22
|
+
for (const file of packageJsonFiles) {
|
|
23
|
+
const report = (0, dependencies_1.upgradeDependencies)(file, dry, depConfig);
|
|
24
|
+
if (report.changes.length > 0)
|
|
25
|
+
depFilesChanged++;
|
|
26
|
+
changes.push(...report.changes);
|
|
27
|
+
warnings.push(...report.warnings);
|
|
28
|
+
errors.push(...report.errors);
|
|
29
|
+
}
|
|
30
|
+
const depElapsed = (Date.now() - depStart) / 1000;
|
|
31
|
+
let depSummary;
|
|
32
|
+
if (packageJsonFiles.length === 1) {
|
|
33
|
+
depSummary =
|
|
34
|
+
depFilesChanged === 1
|
|
35
|
+
? "Updated one package.json file"
|
|
36
|
+
: "No package.json changes needed";
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
depSummary = `Updated ${depFilesChanged} out of ${packageJsonFiles.length} package.json files`;
|
|
40
|
+
}
|
|
41
|
+
depSpinner.stop(`${colors_1.colors.green("✔")} ${depSummary} (${(0, format_time_1.formatTime)(depElapsed)})`);
|
|
42
|
+
return { changes, warnings, errors };
|
|
43
|
+
};
|
|
44
|
+
exports.runDependencies = runDependencies;
|
|
45
|
+
//# sourceMappingURL=run-dependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-dependencies.js","sourceRoot":"","sources":["../../src/cli/run-dependencies.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,4CAA8C;AAC9C,oDAA+C;AAC/C,kDAIwB;AAQjB,MAAM,eAAe,GAAG,CAC3B,KAAe,EACf,OAAe,EACf,GAAY,EACgB,EAAE;IAC9B,MAAM,SAAS,GAAG,IAAA,wBAAS,EAAC,OAAO,CAAC,CAAA;IACpC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAA;IAEhC,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAC3D,MAAM,gBAAgB,GAAG,IAAA,mCAAoB,EAAC,WAAW,CAAC,CAAA;IAC1D,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAEnD,MAAM,UAAU,GAAG,IAAA,uBAAa,EAC5B,6BAA6B,gBAAgB,CAAC,MAAM,qBAAqB,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CACzH,CAAA;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC3B,IAAI,eAAe,GAAG,CAAC,CAAA;IACvB,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAA,kCAAmB,EAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;QACxD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,eAAe,EAAE,CAAA;QAChD,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/B,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAA;IACjD,IAAI,UAAkB,CAAA;IACtB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,UAAU;YACN,eAAe,KAAK,CAAC;gBACjB,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,gCAAgC,CAAA;IAC9C,CAAC;SAAM,CAAC;QACJ,UAAU,GAAG,WAAW,eAAe,WAAW,gBAAgB,CAAC,MAAM,qBAAqB,CAAA;IAClG,CAAC;IACD,UAAU,CAAC,IAAI,CACX,GAAG,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,UAAU,KAAK,IAAA,wBAAU,EAAC,UAAU,CAAC,GAAG,CACnE,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;AACxC,CAAC,CAAA;AA5CY,QAAA,eAAe,mBA4C3B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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>;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runTransforms = void 0;
|
|
4
|
+
const Runner_1 = require("jscodeshift/src/Runner");
|
|
5
|
+
const colors_1 = require("../lib/colors");
|
|
6
|
+
const spinner_1 = require("../lib/spinner");
|
|
7
|
+
const format_time_1 = require("../lib/format-time");
|
|
8
|
+
const stats_1 = require("../transforms/stats");
|
|
9
|
+
const runTransforms = async (options) => {
|
|
10
|
+
const { transforms, paths, dry, workers, ignore } = options;
|
|
11
|
+
const allTodos = new Map();
|
|
12
|
+
const allApplied = new Map();
|
|
13
|
+
const allParseErrors = [];
|
|
14
|
+
let totalOk = 0;
|
|
15
|
+
let totalError = 0;
|
|
16
|
+
let totalSkip = 0;
|
|
17
|
+
let totalNochange = 0;
|
|
18
|
+
let totalTime = 0;
|
|
19
|
+
for (const transform of transforms) {
|
|
20
|
+
let fileCount = 0;
|
|
21
|
+
let processed = 0;
|
|
22
|
+
let startTime = 0;
|
|
23
|
+
const spinner = (0, spinner_1.createSpinner)("Scanning files...");
|
|
24
|
+
const progressText = () => {
|
|
25
|
+
const elapsed = (Date.now() - startTime) / 1000;
|
|
26
|
+
let text = `Processing ${processed}/${fileCount} files... ${colors_1.colors.dim((0, format_time_1.formatTime)(elapsed))}`;
|
|
27
|
+
if (processed > 0 && processed < fileCount) {
|
|
28
|
+
const remaining = (elapsed / processed) * (fileCount - processed);
|
|
29
|
+
text += colors_1.colors.dim(` (ETA: ${(0, format_time_1.formatTime)(remaining)})`);
|
|
30
|
+
}
|
|
31
|
+
return text;
|
|
32
|
+
};
|
|
33
|
+
// Intercept stdout to capture jscodeshift progress
|
|
34
|
+
const parseErrors = [];
|
|
35
|
+
const originalWrite = process.stdout.write.bind(process.stdout);
|
|
36
|
+
process.stdout.write = ((chunk) => {
|
|
37
|
+
const str = typeof chunk === "string" ? chunk : chunk.toString();
|
|
38
|
+
// Capture file count from jscodeshift's "Processing N files..."
|
|
39
|
+
const countMatch = /Processing (\d+) files/.exec(str);
|
|
40
|
+
if (countMatch) {
|
|
41
|
+
fileCount = Number.parseInt(countMatch[1], 10);
|
|
42
|
+
startTime = Date.now();
|
|
43
|
+
spinner.update(`Processing 0/${fileCount} files...`);
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
// Track per-file completion and collect errors
|
|
47
|
+
if (str.includes(" ERR ")) {
|
|
48
|
+
processed++;
|
|
49
|
+
const errMatch = / ERR (.+?) Transformation error \((.+)\)/.exec(str);
|
|
50
|
+
if (errMatch) {
|
|
51
|
+
parseErrors.push({
|
|
52
|
+
file: errMatch[1],
|
|
53
|
+
message: errMatch[2],
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
else if (str.includes(" OKK ") ||
|
|
58
|
+
str.includes(" NOC ") ||
|
|
59
|
+
str.includes(" SKIP ")) {
|
|
60
|
+
processed++;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// Suppress other jscodeshift output (including stack traces)
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
spinner.update(progressText);
|
|
67
|
+
return true;
|
|
68
|
+
});
|
|
69
|
+
let result;
|
|
70
|
+
try {
|
|
71
|
+
result = await (0, Runner_1.run)(transform, paths, {
|
|
72
|
+
dry,
|
|
73
|
+
print: false,
|
|
74
|
+
verbose: 2,
|
|
75
|
+
extensions: "ts,tsx,js,jsx",
|
|
76
|
+
parser: "tsx",
|
|
77
|
+
...(workers !== undefined && { cpus: workers }),
|
|
78
|
+
...(ignore !== undefined && { ignorePattern: ignore }),
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
spinner.stop(`${colors_1.colors.red("✖")} Transform failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
83
|
+
throw err;
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
process.stdout.write = originalWrite;
|
|
87
|
+
}
|
|
88
|
+
const elapsed = Number.parseFloat(result.timeElapsed);
|
|
89
|
+
const total = result.ok + result.error + result.skip + result.nochange;
|
|
90
|
+
const errorSuffix = result.error > 0 ? `, ${result.error} errors` : "";
|
|
91
|
+
spinner.stop(`${colors_1.colors.green("✔")} Changed ${result.ok} out of ${total} files (${(0, format_time_1.formatTime)(elapsed)})${errorSuffix}`);
|
|
92
|
+
totalOk += result.ok;
|
|
93
|
+
totalError += result.error;
|
|
94
|
+
allParseErrors.push(...parseErrors);
|
|
95
|
+
totalSkip += result.skip;
|
|
96
|
+
totalNochange += result.nochange;
|
|
97
|
+
totalTime += Number.parseFloat(result.timeElapsed);
|
|
98
|
+
for (const [transform, files] of stats_1.stats.collect.todos(result.stats ?? {})) {
|
|
99
|
+
const existing = allTodos.get(transform) ?? [];
|
|
100
|
+
existing.push(...files);
|
|
101
|
+
allTodos.set(transform, existing);
|
|
102
|
+
}
|
|
103
|
+
for (const [name, count] of stats_1.stats.collect.applied(result.stats ?? {})) {
|
|
104
|
+
allApplied.set(name, (allApplied.get(name) ?? 0) + count);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
ok: totalOk,
|
|
109
|
+
error: totalError,
|
|
110
|
+
skip: totalSkip,
|
|
111
|
+
nochange: totalNochange,
|
|
112
|
+
timeElapsed: totalTime,
|
|
113
|
+
parseErrors: allParseErrors,
|
|
114
|
+
todos: allTodos,
|
|
115
|
+
applied: allApplied,
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
exports.runTransforms = runTransforms;
|
|
119
|
+
//# sourceMappingURL=run-transforms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-transforms.js","sourceRoot":"","sources":["../../src/cli/run-transforms.ts"],"names":[],"mappings":"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"}
|