@typeorm/codemod 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -53,7 +53,7 @@ npx prettier --write src/ # or: npx eslint --fix src/
53
53
 
54
54
  ### Scoping
55
55
 
56
- 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.
56
+ Transforms that rename properties or methods (e.g. `.connection` to `.dataSource`) identify TypeORM instances through type annotations. They also recognize untyped class fields whose initializer is a known accessor chain (e.g. `private manager = this.dataSource.manager`). Code with no typing signal at all may not be transformed automatically — review `git diff` after running.
57
57
 
58
58
  ## Documentation
59
59
 
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isRepositoryReceiver = exports.collectRepositoryBindings = exports.TYPEORM_DATASOURCE_TYPES = exports.TYPEORM_REPOSITORY_TYPES = exports.getTypeReferenceRootName = exports.renameMemberMethod = exports.renameReExportSpecifiers = exports.removeReExportSpecifiers = exports.removeImportSpecifiers = exports.removeObjectPropertiesWhere = exports.removeObjectProperties = exports.unwrapTsExpression = exports.isFindMethodCallArgument = exports.isObjectFromEntriesCall = exports.TYPEORM_FIND_OPTIONS_METHODS = exports.getObjectPropertyKeyName = exports.forEachDecoratorObjectArg = exports.expandLocalNamesForImports = exports.TYPEORM_COLUMN_DECORATORS = exports.forEachIdentifierParam = exports.getNamespaceLocalNames = exports.getLocalNamesForImport = exports.fileImportsFrom = exports.isIdentifier = exports.setStringValue = exports.getStringValue = void 0;
3
+ exports.isRepositoryReceiver = exports.collectRepositoryBindings = exports.TYPEORM_DATASOURCE_TYPES = exports.TYPEORM_REPOSITORY_TYPES = exports.getTypeReferenceRootName = exports.renameMemberMethod = exports.renameReExportSpecifiers = exports.removeReExportSpecifiers = exports.removeImportSpecifiers = exports.removeObjectPropertiesWhere = exports.removeObjectProperties = exports.unwrapTsExpression = exports.isFindMethodCallArgument = exports.isObjectFromEntriesCall = exports.TYPEORM_FIND_OPTIONS_METHODS = exports.forEachColumnMetadataOptionsArg = exports.getObjectPropertyKeyName = exports.forEachDecoratorObjectArg = exports.expandLocalNamesForImports = exports.TYPEORM_COLUMN_DECORATORS = exports.forEachIdentifierParam = exports.getNamespaceLocalNames = exports.getLocalNamesForImport = exports.fileImportsFrom = exports.isIdentifier = exports.setStringValue = exports.getStringValue = void 0;
4
4
  /**
5
5
  * Extracts a string value from a StringLiteral or Literal node.
6
6
  * Returns null if the node is not a string literal.
@@ -87,31 +87,69 @@ exports.fileImportsFrom = fileImportsFrom;
87
87
  * import { RelationCount as RC } from "typeorm" → { "RC" }
88
88
  * const { RelationCount } = require("typeorm") → { "RelationCount" }
89
89
  * const { RelationCount: RC } = require("typeorm")→ { "RC" }
90
+ *
91
+ * Matches both the exact module name and any sub-path — e.g. when moduleName
92
+ * is `"typeorm"`, imports from `"typeorm/metadata/ColumnMetadata"` are also
93
+ * recognised. TypeORM users reach internal types through deep imports, and
94
+ * the codemod must rewrite them regardless of import shape.
95
+ *
96
+ * CommonJS `require` destructures are collected from module scope only; an
97
+ * inside-function `require` would sit in an inner scope where the call-site
98
+ * shadow guards reject rewrites, so collecting it would silently mislead
99
+ * callers. See the inline comment on the CJS branch for details.
100
+ *
101
+ * @param opts.valueOnly When true, skip ESM type-only imports — both the
102
+ * declaration-level `import type { X }` and the per-specifier
103
+ * `import { type X }` form. Use this when the local is going to appear as
104
+ * a *value* in the rewritten code (e.g. callee of `new X(...)` or
105
+ * `X.method()`); a type-only import creates no runtime binding and must
106
+ * not influence value-level matching. CommonJS `require` destructures and
107
+ * TS `import = require` forms always produce value bindings so they are
108
+ * included regardless.
90
109
  */
91
- const getLocalNamesForImport = (root, j, moduleName, importedName) => {
110
+ const getLocalNamesForImport = (root, j, moduleName, importedName, opts = {}) => {
92
111
  const localNames = new Set();
93
- // ESM: `import { X [as Y] } from "moduleName"`
94
- root.find(j.ImportDeclaration, {
95
- source: { value: moduleName },
96
- }).forEach((importPath) => {
112
+ const { valueOnly = false } = opts;
113
+ const prefix = `${moduleName}/`;
114
+ const matchesModule = (source) => typeof source === "string" &&
115
+ (source === moduleName || source.startsWith(prefix));
116
+ // ESM: `import { X [as Y] } from "moduleName[/subpath]"`
117
+ root.find(j.ImportDeclaration).forEach((importPath) => {
118
+ if (!matchesModule(importPath.node.source.value))
119
+ return;
120
+ const declKind = importPath.node.importKind;
121
+ if (valueOnly && declKind === "type")
122
+ return;
97
123
  for (const spec of importPath.node.specifiers ?? []) {
98
124
  if (spec.type !== "ImportSpecifier" ||
99
125
  spec.imported.type !== "Identifier" ||
100
126
  spec.imported.name !== importedName) {
101
127
  continue;
102
128
  }
129
+ const specKind = spec.importKind;
130
+ if (valueOnly && specKind === "type")
131
+ continue;
103
132
  const local = spec.local ?? spec.imported;
104
133
  if (local.type === "Identifier") {
105
134
  localNames.add(local.name);
106
135
  }
107
136
  }
108
137
  });
109
- // CommonJS: `const { X [: Y] } = require("moduleName")`
138
+ // CommonJS: `const { X [: Y] } = require("moduleName[/subpath]")`
139
+ // Only top-level requires are collected. An inside-function require
140
+ // creates a binding at non-module scope, and the call-site scope guard
141
+ // in `forEachColumnMetadataOptionsArg` rejects callees whose declaration
142
+ // lives in any inner scope (shadow guard). Collecting inner-scope
143
+ // requires here would make the collector and the guard disagree — the
144
+ // name would be in `classLocalNames` but the rewrite would never fire.
145
+ // Users with inside-function requires can hoist them to module scope.
110
146
  root.find(j.CallExpression, {
111
147
  callee: { type: "Identifier", name: "require" },
112
148
  }).forEach((callPath) => {
113
149
  const [arg] = callPath.node.arguments;
114
- if (!arg || (0, exports.getStringValue)(arg) !== moduleName)
150
+ if (!arg || !matchesModule((0, exports.getStringValue)(arg)))
151
+ return;
152
+ if (callPath.scope?.isGlobal !== true)
115
153
  return;
116
154
  const parent = callPath.parent.node;
117
155
  if (parent.type !== "VariableDeclarator")
@@ -155,13 +193,31 @@ exports.getLocalNamesForImport = getLocalNamesForImport;
155
193
  *
156
194
  * Useful when a transform needs to recognise `typeorm.Foo` member-expression
157
195
  * references alongside named `Foo` imports handled by `getLocalNamesForImport`.
196
+ *
197
+ * CJS namespace `require` bindings are collected from module scope only,
198
+ * matching the module-scope guard that `getLocalNamesForImport` applies for
199
+ * destructured requires — same reasoning, see the CJS branch comment there.
200
+ *
201
+ * @param opts.valueOnly When true, skip ESM type-only namespace imports
202
+ * (`import type * as ns from "..."`). Use this when the local name is
203
+ * going to appear as a *value* in the rewritten code (e.g. callee of
204
+ * `new ns.X(...)`); a type-only import creates no runtime binding. CJS
205
+ * `require` and TS `import = require` forms are always value bindings and
206
+ * remain included regardless.
158
207
  */
159
- const getNamespaceLocalNames = (root, j, moduleName) => {
208
+ const getNamespaceLocalNames = (root, j, moduleName, opts = {}) => {
160
209
  const localNames = new Set();
161
- // ESM: `import * as ns from "moduleName"`
162
- root.find(j.ImportDeclaration, {
163
- source: { value: moduleName },
164
- }).forEach((importPath) => {
210
+ const { valueOnly = false } = opts;
211
+ const prefix = `${moduleName}/`;
212
+ const matchesModule = (source) => typeof source === "string" &&
213
+ (source === moduleName || source.startsWith(prefix));
214
+ // ESM: `import * as ns from "moduleName[/subpath]"`
215
+ root.find(j.ImportDeclaration).forEach((importPath) => {
216
+ if (!matchesModule(importPath.node.source.value))
217
+ return;
218
+ const declKind = importPath.node.importKind;
219
+ if (valueOnly && declKind === "type")
220
+ return;
165
221
  for (const spec of importPath.node.specifiers ?? []) {
166
222
  if (spec.type === "ImportNamespaceSpecifier" &&
167
223
  spec.local?.type === "Identifier") {
@@ -169,23 +225,27 @@ const getNamespaceLocalNames = (root, j, moduleName) => {
169
225
  }
170
226
  }
171
227
  });
172
- // TypeScript: `import ns = require("moduleName")`
228
+ // TypeScript: `import ns = require("moduleName[/subpath]")`
173
229
  root.find(j.TSImportEqualsDeclaration).forEach((importPath) => {
174
230
  const ref = importPath.node.moduleReference;
175
231
  if (ref.type !== "TSExternalModuleReference")
176
232
  return;
177
- if ((0, exports.getStringValue)(ref.expression) !== moduleName)
233
+ if (!matchesModule((0, exports.getStringValue)(ref.expression)))
178
234
  return;
179
235
  if (importPath.node.id?.type === "Identifier") {
180
236
  localNames.add(importPath.node.id.name);
181
237
  }
182
238
  });
183
- // CommonJS: `const ns = require("moduleName")`
239
+ // CommonJS: `const ns = require("moduleName[/subpath]")`
240
+ // Top-level only — see the note in `getLocalNamesForImport` for why the
241
+ // collector and the call-site scope guard must agree on module scope.
184
242
  root.find(j.CallExpression, {
185
243
  callee: { type: "Identifier", name: "require" },
186
244
  }).forEach((callPath) => {
187
245
  const [arg] = callPath.node.arguments;
188
- if (!arg || (0, exports.getStringValue)(arg) !== moduleName)
246
+ if (!arg || !matchesModule((0, exports.getStringValue)(arg)))
247
+ return;
248
+ if (callPath.scope?.isGlobal !== true)
189
249
  return;
190
250
  const parent = callPath.parent.node;
191
251
  if (parent.type !== "VariableDeclarator" ||
@@ -239,11 +299,16 @@ exports.TYPEORM_COLUMN_DECORATORS = new Set([
239
299
  * the file — covers ESM aliases (`import { Column as C }`) and CJS aliases
240
300
  * (`const { Column: C } = require(...)`). Returns a union set suitable for
241
301
  * alias-aware identifier matching.
302
+ *
303
+ * @param opts.valueOnly Forwarded to `getLocalNamesForImport` — see there
304
+ * for semantics. Use when the expanded names will be matched against
305
+ * value-level usages (callees, method receivers) rather than type
306
+ * annotations.
242
307
  */
243
- const expandLocalNamesForImports = (root, j, moduleName, importedNames) => {
308
+ const expandLocalNamesForImports = (root, j, moduleName, importedNames, opts = {}) => {
244
309
  const expanded = new Set();
245
310
  for (const name of importedNames) {
246
- for (const local of (0, exports.getLocalNamesForImport)(root, j, moduleName, name)) {
311
+ for (const local of (0, exports.getLocalNamesForImport)(root, j, moduleName, name, opts)) {
247
312
  expanded.add(local);
248
313
  }
249
314
  }
@@ -284,27 +349,131 @@ const forEachDecoratorObjectArg = (root, j, callback, decoratorNames) => {
284
349
  exports.forEachDecoratorObjectArg = forEachDecoratorObjectArg;
285
350
  /**
286
351
  * Returns the key name for an `ObjectProperty` / `Property` node. Handles
287
- * both identifier keys (`name`) and string-literal keys (`"name"`); returns
288
- * null for computed, numeric, or otherwise non-string keys, and for node
289
- * types that don't carry a key at all (spread elements, etc.).
352
+ * both identifier keys (`name`) and string-literal keys (`"name"`), including
353
+ * the computed-string form (`['name']: …`) whose runtime key is still
354
+ * statically knowable. Returns null for dynamic computed keys (`[someVar]`,
355
+ * `[expr]`), numeric keys, and for node types that don't carry a key at all
356
+ * (spread elements, etc.).
290
357
  */
291
358
  const getObjectPropertyKeyName = (prop) => {
292
359
  if (prop.type !== "Property" && prop.type !== "ObjectProperty")
293
360
  return null;
361
+ // Computed keys whose expression is a string literal (`['foo']`) are
362
+ // equivalent at runtime to the plain-identifier form (`foo`), so match
363
+ // them. Dynamic computed keys (`[variable]`, `[fn()]`) stay opaque.
364
+ if (prop.computed)
365
+ return (0, exports.getStringValue)(prop.key);
294
366
  if (prop.key.type === "Identifier")
295
367
  return prop.key.name;
296
368
  return (0, exports.getStringValue)(prop.key);
297
369
  };
298
370
  exports.getObjectPropertyKeyName = getObjectPropertyKeyName;
371
+ /**
372
+ * Walks `new ColumnMetadata({ args: { options: {...} } })` constructor calls
373
+ * and invokes `callback` with the inner `options` ObjectExpression. Mirrors
374
+ * `forEachDecoratorObjectArg` but for the ColumnMetadata class constructor:
375
+ * its `args.options` object is typed `ColumnOptions`, so transforms that
376
+ * rewrite `ColumnOptions` fields (`readonly` → `update`, `width`/`zerofill`
377
+ * removal) must also cover this path. Rare in user code but shows up in
378
+ * multi-tenant / metadata-manipulation patterns.
379
+ *
380
+ * Recognised import / binding shapes, all via
381
+ * `expandLocalNamesForImports` / `getNamespaceLocalNames`:
382
+ *
383
+ * import { ColumnMetadata } from "typeorm"
384
+ * import { ColumnMetadata as CM } from "typeorm"
385
+ * import { ColumnMetadata } from "typeorm/metadata/ColumnMetadata" // sub-path
386
+ * import * as typeorm from "typeorm" // namespace
387
+ * import typeorm = require("typeorm") // TS import-equals
388
+ * const { ColumnMetadata } = require("typeorm") // CJS destructure
389
+ * const typeorm = require("typeorm") // CJS namespace
390
+ *
391
+ * Type-only imports (declaration-level `import type { X }` and per-specifier
392
+ * `import { type X }`, same for `import type * as`) are filtered via
393
+ * `valueOnly: true` — `new X(...)` needs a runtime binding, and a type-only
394
+ * import creates none.
395
+ *
396
+ * Name-level matches are further gated by a scope check: the callee
397
+ * identifier must resolve to the module-level import binding and not a
398
+ * shadowing declaration in an inner scope (function parameter, nested
399
+ * `const`/`let`/`var`, class declaration, catch binding).
400
+ */
401
+ const forEachColumnMetadataOptionsArg = (root, j, target, callback) => {
402
+ const classLocalNames = (0, exports.expandLocalNamesForImports)(root, j, target.moduleName, new Set([target.className]), { valueOnly: true });
403
+ const namespaceLocalNames = (0, exports.getNamespaceLocalNames)(root, j, target.moduleName, { valueOnly: true });
404
+ if (classLocalNames.size === 0 && namespaceLocalNames.size === 0)
405
+ return;
406
+ const resolvesToModuleScope = (path, name) => {
407
+ let scope = path.scope;
408
+ while (scope) {
409
+ if (scope.isGlobal === true || !scope.parent)
410
+ return true;
411
+ if (scope.declares(name))
412
+ return false;
413
+ scope = scope.parent;
414
+ }
415
+ return true;
416
+ };
417
+ const matchesCallee = (callee, path) => {
418
+ if (callee.type === "Identifier") {
419
+ if (!classLocalNames.has(callee.name))
420
+ return false;
421
+ return resolvesToModuleScope(path, callee.name);
422
+ }
423
+ if ((callee.type === "MemberExpression" ||
424
+ callee.type === "OptionalMemberExpression") &&
425
+ callee.computed !== true) {
426
+ const obj = callee.object;
427
+ const prop = callee.property;
428
+ if ((0, exports.isIdentifier)(obj) &&
429
+ (0, exports.isIdentifier)(prop) &&
430
+ prop.name === target.className) {
431
+ if (!namespaceLocalNames.has(obj.name))
432
+ return false;
433
+ return resolvesToModuleScope(path, obj.name);
434
+ }
435
+ }
436
+ return false;
437
+ };
438
+ // Returns the property value as an ObjectExpression if the property with
439
+ // the given key exists and its value is an ObjectExpression (after peeling
440
+ // TS wrappers like `as` / `satisfies` / `!` / parens). Uses `findLast` so
441
+ // duplicate keys match JS object-literal semantics (last occurrence wins).
442
+ const findObjectPropertyValue = (obj, keyName) => {
443
+ const prop = obj.properties.findLast((p) => (0, exports.getObjectPropertyKeyName)(p) === keyName);
444
+ if (!prop ||
445
+ (prop.type !== "Property" && prop.type !== "ObjectProperty")) {
446
+ return null;
447
+ }
448
+ const value = (0, exports.unwrapTsExpression)(prop.value);
449
+ return value.type === "ObjectExpression" ? value : null;
450
+ };
451
+ root.find(j.NewExpression).forEach((path) => {
452
+ if (!matchesCallee(path.node.callee, path))
453
+ return;
454
+ const [firstArg] = path.node.arguments;
455
+ const arg = firstArg ? (0, exports.unwrapTsExpression)(firstArg) : undefined;
456
+ if (arg?.type !== "ObjectExpression")
457
+ return;
458
+ const argsValue = findObjectPropertyValue(arg, "args");
459
+ if (!argsValue)
460
+ return;
461
+ const optionsValue = findObjectPropertyValue(argsValue, "options");
462
+ if (!optionsValue)
463
+ return;
464
+ callback(optionsValue, path);
465
+ });
466
+ };
467
+ exports.forEachColumnMetadataOptionsArg = forEachColumnMetadataOptionsArg;
299
468
  /**
300
469
  * TypeORM `Repository` / `EntityManager` methods that accept a FindOptions
301
470
  * object (with `select`/`relations`/`where`/…). Used to scope the
302
471
  * `select: [...]` / `relations: [...]` → object-form transforms to
303
472
  * arguments passed into these methods. Deliberately excludes the
304
473
  * `*By` variants (`findBy`, `findOneBy`, `findOneByOrFail`,
305
- * `findAndCountBy`, `countBy`) — those accept a plain WHERE object, so
306
- * rewriting a top-level `select` or `relations` key there would mangle
307
- * matches against entity fields of those names.
474
+ * `findAndCountBy`, `countBy`, `existsBy`) — those accept a plain WHERE
475
+ * object, so rewriting a top-level `select` or `relations` key there would
476
+ * mangle matches against entity fields of those names.
308
477
  *
309
478
  * The method-name check (rather than a file-level typeorm import gate)
310
479
  * lets the transforms fire in NestJS-style service files that only pull
@@ -316,6 +485,7 @@ exports.TYPEORM_FIND_OPTIONS_METHODS = new Set([
316
485
  "findOne",
317
486
  "findOneOrFail",
318
487
  "count",
488
+ "exists",
319
489
  ]);
320
490
  /**
321
491
  * Returns true when `node` is a call of shape `Object.fromEntries(...)`.
@@ -1 +1 @@
1
- {"version":3,"file":"ast-helpers.js","sourceRoot":"","sources":["../../src/transforms/ast-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-helpers.js","sourceRoot":"","sources":["../../src/transforms/ast-helpers.ts"],"names":[],"mappings":"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"}
@@ -12,20 +12,33 @@ const columnReadonly = (file, api) => {
12
12
  const j = api.jscodeshift;
13
13
  const root = j(file.source);
14
14
  let hasChanges = false;
15
- const decoratorLocalNames = (0, ast_helpers_1.expandLocalNamesForImports)(root, j, "typeorm", ast_helpers_1.TYPEORM_COLUMN_DECORATORS);
16
- (0, ast_helpers_1.forEachDecoratorObjectArg)(root, j, (obj) => {
15
+ const rewriteReadonlyInObject = (obj) => {
17
16
  for (const prop of obj.properties) {
18
- if (prop.type !== "ObjectProperty")
17
+ // `getObjectPropertyKeyName` returns null for dynamic computed
18
+ // keys (`{[readonlyVar]: …}`), but recognises constant computed
19
+ // string literals (`{['readonly']: …}`) as statically knowable.
20
+ if ((0, ast_helpers_1.getObjectPropertyKeyName)(prop) !== "readonly")
19
21
  continue;
20
- const keyName = prop.key.type === "Identifier"
21
- ? prop.key.name
22
- : (0, ast_helpers_1.getStringValue)(prop.key);
23
- if (keyName !== "readonly")
22
+ if (prop.type !== "ObjectProperty" && prop.type !== "Property") {
24
23
  continue;
24
+ }
25
25
  // readonly: true → update: false
26
26
  // readonly: false → update: true
27
27
  // readonly: <expr> → update: !<expr>
28
28
  prop.key = j.identifier("update");
29
+ // The identifier replacement doesn't need brackets, so drop the
30
+ // computed flag in case the input was `['readonly']: …`.
31
+ prop.computed = false;
32
+ // Shorthand (`{ readonly }`) folds key and value into one
33
+ // Identifier node. After replacing the key we also replace the
34
+ // value — with the negated boolean / stripped `!` / wrapped
35
+ // negation — so the node is no longer shorthand. Clear the flag
36
+ // so the printer doesn't emit `{ update }` with `value === key`
37
+ // mismatch. Other codemods in this repo follow the same pattern.
38
+ if (prop.shorthand) {
39
+ ;
40
+ prop.shorthand = false;
41
+ }
29
42
  if (prop.value.type === "BooleanLiteral" ||
30
43
  (prop.value.type === "Literal" &&
31
44
  typeof prop.value.value === "boolean")) {
@@ -43,7 +56,14 @@ const columnReadonly = (file, api) => {
43
56
  }
44
57
  hasChanges = true;
45
58
  }
46
- }, decoratorLocalNames);
59
+ };
60
+ const decoratorLocalNames = (0, ast_helpers_1.expandLocalNamesForImports)(root, j, "typeorm", ast_helpers_1.TYPEORM_COLUMN_DECORATORS, { valueOnly: true });
61
+ (0, ast_helpers_1.forEachDecoratorObjectArg)(root, j, rewriteReadonlyInObject, decoratorLocalNames);
62
+ // Also rewrite `new ColumnMetadata({ args: { options: { readonly, … } } })`.
63
+ // `ColumnMetadataArgs.options` is typed `ColumnOptions`, so the same
64
+ // `readonly` → `update` rename applies. Covers both direct and namespace-
65
+ // qualified imports; type-only imports are skipped by the helper.
66
+ (0, ast_helpers_1.forEachColumnMetadataOptionsArg)(root, j, { moduleName: "typeorm", className: "ColumnMetadata" }, rewriteReadonlyInObject);
47
67
  return hasChanges ? root.toSource() : undefined;
48
68
  };
49
69
  exports.columnReadonly = columnReadonly;
@@ -1 +1 @@
1
- {"version":3,"file":"column-readonly.js","sourceRoot":"","sources":["../../../src/transforms/v1/column-readonly.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,gDAKuB;AAEV,QAAA,IAAI,GAAG,mBAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;AAC1D,QAAA,WAAW,GAAG,gDAAgD,CAAA;AAEpE,MAAM,cAAc,GAAG,CAAC,IAAc,EAAE,GAAQ,EAAE,EAAE;IACvD,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAA;IACzB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3B,IAAI,UAAU,GAAG,KAAK,CAAA;IAEtB,MAAM,mBAAmB,GAAG,IAAA,wCAA0B,EAClD,IAAI,EACJ,CAAC,EACD,SAAS,EACT,uCAAyB,CAC5B,CAAA;IACD,IAAA,uCAAyB,EACrB,IAAI,EACJ,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;QACJ,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB;gBAAE,SAAQ;YAE5C,MAAM,OAAO,GACT,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY;gBAC1B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;gBACf,CAAC,CAAC,IAAA,4BAAc,EAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,OAAO,KAAK,UAAU;gBAAE,SAAQ;YAEpC,mCAAmC;YACnC,kCAAkC;YAClC,qCAAqC;YACrC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;YACjC,IACI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB;gBACpC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;oBAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,EAC5C,CAAC;gBACC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;YACxC,CAAC;iBAAM,IACH,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB;gBACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,GAAG,EAC7B,CAAC;gBACC,yDAAyD;gBACzD,oCAAoC;gBACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACJ,8DAA8D;gBAC9D,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,eAAe,CAC1B,GAAG,EACH,IAAI,CAAC,KAAoC,EACzC,IAAI,CACP,CAAA;YACL,CAAC;YACD,UAAU,GAAG,IAAI,CAAA;QACrB,CAAC;IACL,CAAC,EACD,mBAAmB,CACtB,CAAA;IAED,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACnD,CAAC,CAAA;AAxDY,QAAA,cAAc,kBAwD1B;AAEY,QAAA,EAAE,GAAG,sBAAc,CAAA;AAChC,kBAAe,UAAE,CAAA"}
1
+ {"version":3,"file":"column-readonly.js","sourceRoot":"","sources":["../../../src/transforms/v1/column-readonly.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,18 @@ const columnWidthZerofill = (file, api) => {
13
13
  const j = api.jscodeshift;
14
14
  const root = j(file.source);
15
15
  let hasChanges = false;
16
- const decoratorLocalNames = (0, ast_helpers_1.expandLocalNamesForImports)(root, j, "typeorm", ast_helpers_1.TYPEORM_COLUMN_DECORATORS);
17
- (0, ast_helpers_1.forEachDecoratorObjectArg)(root, j, (obj) => {
16
+ const stripWidthAndZerofill = (obj) => {
18
17
  if ((0, ast_helpers_1.removeObjectProperties)(obj, propsToRemove)) {
19
18
  hasChanges = true;
20
19
  }
21
- }, decoratorLocalNames);
20
+ };
21
+ const decoratorLocalNames = (0, ast_helpers_1.expandLocalNamesForImports)(root, j, "typeorm", ast_helpers_1.TYPEORM_COLUMN_DECORATORS, { valueOnly: true });
22
+ (0, ast_helpers_1.forEachDecoratorObjectArg)(root, j, stripWidthAndZerofill, decoratorLocalNames);
23
+ // Also strip from `new ColumnMetadata({ args: { options: { width, zerofill, … } } })`.
24
+ // `ColumnMetadataArgs.options` is typed `ColumnOptions`, which no longer
25
+ // has `width` or `zerofill` in v1. Covers both direct and namespace-
26
+ // qualified imports; type-only imports are skipped by the helper.
27
+ (0, ast_helpers_1.forEachColumnMetadataOptionsArg)(root, j, { moduleName: "typeorm", className: "ColumnMetadata" }, stripWidthAndZerofill);
22
28
  return hasChanges ? root.toSource() : undefined;
23
29
  };
24
30
  exports.columnWidthZerofill = columnWidthZerofill;
@@ -1 +1 @@
1
- {"version":3,"file":"column-width-zerofill.js","sourceRoot":"","sources":["../../../src/transforms/v1/column-width-zerofill.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,gDAKuB;AAEV,QAAA,IAAI,GAAG,mBAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;AAC1D,QAAA,WAAW,GACpB,sDAAsD,CAAA;AAE1D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;AAE7C,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;IAEtB,MAAM,mBAAmB,GAAG,IAAA,wCAA0B,EAClD,IAAI,EACJ,CAAC,EACD,SAAS,EACT,uCAAyB,CAC5B,CAAA;IACD,IAAA,uCAAyB,EACrB,IAAI,EACJ,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;QACJ,IAAI,IAAA,oCAAsB,EAAC,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC;YAC7C,UAAU,GAAG,IAAI,CAAA;QACrB,CAAC;IACL,CAAC,EACD,mBAAmB,CACtB,CAAA;IAED,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACnD,CAAC,CAAA;AAvBY,QAAA,mBAAmB,uBAuB/B;AAEY,QAAA,EAAE,GAAG,2BAAmB,CAAA;AACrC,kBAAe,UAAE,CAAA"}
1
+ {"version":3,"file":"column-width-zerofill.js","sourceRoot":"","sources":["../../../src/transforms/v1/column-width-zerofill.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,gDAMuB;AAEV,QAAA,IAAI,GAAG,mBAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;AAC1D,QAAA,WAAW,GACpB,sDAAsD,CAAA;AAE1D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;AAE7C,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;IAEtB,MAAM,qBAAqB,GAAG,CAAC,GAAqB,EAAQ,EAAE;QAC1D,IAAI,IAAA,oCAAsB,EAAC,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC;YAC7C,UAAU,GAAG,IAAI,CAAA;QACrB,CAAC;IACL,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,IAAA,wCAA0B,EAClD,IAAI,EACJ,CAAC,EACD,SAAS,EACT,uCAAyB,EACzB,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CAAA;IACD,IAAA,uCAAyB,EACrB,IAAI,EACJ,CAAC,EACD,qBAAqB,EACrB,mBAAmB,CACtB,CAAA;IAED,uFAAuF;IACvF,yEAAyE;IACzE,qEAAqE;IACrE,kEAAkE;IAClE,IAAA,6CAA+B,EAC3B,IAAI,EACJ,CAAC,EACD,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,EACtD,qBAAqB,CACxB,CAAA;IAED,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACnD,CAAC,CAAA;AArCY,QAAA,mBAAmB,uBAqC/B;AAEY,QAAA,EAAE,GAAG,2BAAmB,CAAA;AACrC,kBAAe,UAAE,CAAA"}