@payload-auth-link/migrate 0.3.0 → 0.4.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.
Files changed (69) hide show
  1. package/README.md +6 -3
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +149 -101
  4. package/dist/cli.js.map +1 -1
  5. package/dist/codemods.d.ts +19 -8
  6. package/dist/codemods.d.ts.map +1 -1
  7. package/dist/codemods.js +440 -21
  8. package/dist/codemods.js.map +1 -1
  9. package/dist/doctor/database.d.ts +5 -1
  10. package/dist/doctor/database.d.ts.map +1 -1
  11. package/dist/doctor/database.js +98 -34
  12. package/dist/doctor/database.js.map +1 -1
  13. package/dist/doctor/plugins.d.ts +15 -0
  14. package/dist/doctor/plugins.d.ts.map +1 -1
  15. package/dist/doctor/plugins.js +43 -0
  16. package/dist/doctor/plugins.js.map +1 -1
  17. package/dist/doctor/run-doctor.d.ts +11 -0
  18. package/dist/doctor/run-doctor.d.ts.map +1 -1
  19. package/dist/doctor/run-doctor.js +66 -20
  20. package/dist/doctor/run-doctor.js.map +1 -1
  21. package/dist/doctor/source-scan.d.ts +5 -0
  22. package/dist/doctor/source-scan.d.ts.map +1 -1
  23. package/dist/doctor/source-scan.js +9 -0
  24. package/dist/doctor/source-scan.js.map +1 -1
  25. package/dist/doctor/types.d.ts +12 -0
  26. package/dist/doctor/types.d.ts.map +1 -1
  27. package/dist/exporters.d.ts +7 -0
  28. package/dist/exporters.d.ts.map +1 -1
  29. package/dist/exporters.js +36 -1
  30. package/dist/exporters.js.map +1 -1
  31. package/dist/importer/apply.d.ts +5 -0
  32. package/dist/importer/apply.d.ts.map +1 -1
  33. package/dist/importer/apply.js +61 -33
  34. package/dist/importer/apply.js.map +1 -1
  35. package/dist/importer/lifecycle.d.ts +15 -6
  36. package/dist/importer/lifecycle.d.ts.map +1 -1
  37. package/dist/importer/lifecycle.js +131 -39
  38. package/dist/importer/lifecycle.js.map +1 -1
  39. package/dist/importer/run-import.d.ts +8 -2
  40. package/dist/importer/run-import.d.ts.map +1 -1
  41. package/dist/importer/run-import.js +73 -21
  42. package/dist/importer/run-import.js.map +1 -1
  43. package/dist/importer/source.d.ts +47 -4
  44. package/dist/importer/source.d.ts.map +1 -1
  45. package/dist/importer/source.js +159 -27
  46. package/dist/importer/source.js.map +1 -1
  47. package/dist/importer/types.d.ts +33 -0
  48. package/dist/importer/types.d.ts.map +1 -1
  49. package/dist/importer/types.js +48 -0
  50. package/dist/importer/types.js.map +1 -1
  51. package/dist/index.d.ts +5 -3
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +5 -3
  54. package/dist/index.js.map +1 -1
  55. package/package.json +8 -11
  56. package/src/cli.ts +153 -100
  57. package/src/codemods.ts +540 -36
  58. package/src/doctor/database.ts +129 -46
  59. package/src/doctor/plugins.ts +51 -0
  60. package/src/doctor/run-doctor.ts +90 -25
  61. package/src/doctor/source-scan.ts +10 -0
  62. package/src/doctor/types.ts +9 -0
  63. package/src/exporters.ts +46 -1
  64. package/src/importer/apply.ts +78 -32
  65. package/src/importer/lifecycle.ts +163 -43
  66. package/src/importer/run-import.ts +107 -22
  67. package/src/importer/source.ts +214 -30
  68. package/src/importer/types.ts +86 -0
  69. package/src/index.ts +25 -2
package/README.md CHANGED
@@ -47,6 +47,9 @@ Bun's module loader, which tolerates the directory imports
47
47
  payload-auth's dist uses.
48
48
 
49
49
  Peers: `payload` ^3.83.0 || 4.0.0-beta.0 (the import commands boot the
50
- app's own Payload instance; the doctor itself only reads),
51
- `better-auth` >=1.7.6 <1.8.0, and `@payload-auth-link/next` ^0.3.1
52
- (optional — only the codemod's emitted route handlers need it).
50
+ app's own Payload instance; the doctor itself only reads) and
51
+ `@payload-auth-link/next` ^0.3.2 (optional — only the codemod's
52
+ emitted route handlers need it). `better-auth` is NOT a peer since
53
+ 0.4.0: installing the kit must never touch the app's own better-auth
54
+ dependency (the #71 rehearsal finding), and the doctor falls back to
55
+ static analysis when the app sits outside the validated band.
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAuLA,KAAK,OAAO,GAAG;IACb,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC,CAAA;AAED,iBAAe,IAAI,CACjB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,GAAE,OAAwB,EAC7B,GAAG,GAAE,OAAwB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAiLjB;AAiBD,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAuMA,KAAK,OAAO,GAAG;IACb,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC,CAAA;AAED,iBAAe,IAAI,CACjB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,GAAE,OAAwB,EAC7B,GAAG,GAAE,OAAwB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAmNjB;AAoBD,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,CAAA"}
package/dist/cli.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bun
2
2
  /**
3
- * The `@payload-auth-link/migrate` CLI (issues #49–#59). Today: the
4
- * read-only `doctor` (#52). The importer and exporters ride the same
5
- * entrypoint as they land (#50, #58).
3
+ * The `@payload-auth-link/migrate` CLI (issues #49–#59): the
4
+ * read-only `doctor` (#52), the importer lifecycle (#50), the
5
+ * codemods (#53), and the JSONL exporter (#58).
6
6
  *
7
7
  * Exit codes: 0 clean, 1 blockers, 2 warnings only, 3 usage errors.
8
8
  * Never logs credential material — connection strings print only in
@@ -50,19 +50,29 @@ function usage() {
50
50
 
51
51
  Commands:
52
52
  doctor --config ./src/payload.config.ts [--src ./src] [--json] [--database-url URL]
53
+ [--source-map '{"accounts":"user_accounts","sessions":"user_sessions"}']
53
54
  export --database-url URL [--out file.jsonl]
55
+ [--tables users,accounts | '["users","accounts"]']
54
56
  (lossless JSONL of every auth table — the off-ramp, #58)
55
57
  codemod --src ./src [--write]
56
58
  from-payload-auth --config ./src/payload.config.ts [--apply] [--sessions=carry|drop]
57
59
  [--manifest ./payload-auth-link-migration.json] [--database-url URL] [--json]
60
+ [--source-map '{"accounts":"user_accounts","sessions":"user_sessions"}']
58
61
  verify --config ./src/payload.config.ts [--database-url URL] [--json]
62
+ [--source-map '{"accounts":"user_accounts","sessions":"user_sessions"}']
59
63
  rollback --config ./src/payload.config.ts [--manifest ...]
60
64
  finalize [--manifest ...]
61
65
 
62
- doctor is read-only: it loads the config, inspects the users
63
- collection and Better Auth plugins, scans sources for call sites
64
- that must migrate, and (with a database URL) reports row counts,
65
- unverified users, and orphans.
66
+ --source-map renames source models to your layout's tables (custom
67
+ slugs like user_accounts/user_sessions); a null value records a
68
+ model as not installed. Without it, a missing source table aborts
69
+ the run — nothing is silently read as empty.
70
+
71
+ doctor is read-only: it loads the config (an unloadable config is a
72
+ blocker, not a crash), inspects the users collection and Better
73
+ Auth plugins, scans sources for call sites that must migrate, and
74
+ (with a database URL) reports row counts, unverified users, and
75
+ orphans.
66
76
 
67
77
  from-payload-auth is a DRY RUN by default: it prints planned row
68
78
  counts per model, collisions, and anything unmappable. --apply
@@ -72,9 +82,9 @@ Commands:
72
82
  rollback undoes exactly the manifest; finalize marks it read-only
73
83
  so the legacy tables may be dropped later, in their own migration.
74
84
 
75
- codemod rewrites the four named payload-auth call-site patterns
76
- (getPayloadAuth, getSession, toNextJsHandler, importMap entries) and
77
- reports what needs a human. Dry run by default; --write rewrites.
85
+ codemod rewrites the three named payload-auth call-site patterns
86
+ (getPayloadAuth, payload.betterAuth.api.getSession, toNextJsHandler)
87
+ and reports what needs a human. Dry run by default; --write rewrites.
78
88
 
79
89
  Exit codes: 0 clean, 1 blockers/mismatch, 2 warnings only, 3 usage errors.
80
90
  `;
@@ -91,7 +101,9 @@ function formatReport(report) {
91
101
  lines.push(' none declared');
92
102
  }
93
103
  for (const finding of report.plugins) {
94
- lines.push(` - ${finding.id}: ${finding.status} — ${finding.detail}`);
104
+ lines.push(` - ${finding.id}: ${finding.status} — ${finding.detail}${finding.files !== undefined && finding.files.length > 0
105
+ ? ` (files: ${finding.files.join(', ')})`
106
+ : ''}`);
95
107
  }
96
108
  lines.push('');
97
109
  lines.push('== users collection ==');
@@ -184,14 +196,127 @@ async function main(argv, out = process.stdout, err = process.stderr) {
184
196
  return 3;
185
197
  }
186
198
  if (importCommands.includes(command)) {
199
+ const databaseUrl = typeof flags.get('database-url') === 'string'
200
+ ? flags.get('database-url')
201
+ : (process.env.DATABASE_URL ?? '');
202
+ // export --database-url URL [--out file.jsonl]
203
+ // (no --config: it reads the source database directly, #58)
204
+ if (command === 'export') {
205
+ if (databaseUrl === '') {
206
+ err.write('export requires --database-url or DATABASE_URL\n');
207
+ return 3;
208
+ }
209
+ const tablesFlag = flags.get('tables');
210
+ let tables;
211
+ if (typeof tablesFlag === 'string') {
212
+ try {
213
+ const { parseExportTables } = await import('./exporters.js');
214
+ tables = parseExportTables(tablesFlag);
215
+ }
216
+ catch (error) {
217
+ err.write(`${error instanceof Error ? error.message : String(error)}\n`);
218
+ return 3;
219
+ }
220
+ }
221
+ const { exportToJsonl } = await import('./exporters.js');
222
+ const result = await exportToJsonl({
223
+ connectionString: databaseUrl,
224
+ format: 'jsonl',
225
+ ...(tables === undefined ? {} : { tables }),
226
+ log: (message) => out.write(`${message}\n`),
227
+ });
228
+ // A requested table that doesn't exist is an error, not a gap
229
+ // (issue #68): nothing is silently omitted.
230
+ if (tables !== undefined && result.missing.length > 0) {
231
+ for (const table of result.missing) {
232
+ err.write(`export: table '${table}' does not exist on the source\n`);
233
+ }
234
+ err.write('nothing silently omitted; fix --tables or drop it\n');
235
+ return 1;
236
+ }
237
+ if (typeof flags.get('out') === 'string') {
238
+ writeFileSync(flags.get('out'), result.jsonl);
239
+ out.write(`wrote ${result.totalRows} row(s) to ${String(flags.get('out'))}\n`);
240
+ }
241
+ else {
242
+ out.write(result.jsonl);
243
+ }
244
+ return 0;
245
+ }
246
+ // codemod --src ./src [--write]
247
+ // (no --config: a pure source rewrite, #53)
248
+ if (command === 'codemod') {
249
+ const srcFlag = flags.get('src');
250
+ if (typeof srcFlag !== 'string' || srcFlag === '') {
251
+ err.write('codemod requires --src <directory>\n');
252
+ return 3;
253
+ }
254
+ const srcDir = new URL(srcFlag, `file://${process.cwd()}/`).pathname;
255
+ const write = flags.get('write') === true;
256
+ const changed = [];
257
+ const manual = [];
258
+ const walk = (dir) => {
259
+ let entries;
260
+ try {
261
+ entries = readdirSync(dir);
262
+ }
263
+ catch {
264
+ return;
265
+ }
266
+ for (const entry of entries) {
267
+ if (['node_modules', 'dist', '.next'].includes(entry) || entry.startsWith('.')) {
268
+ continue;
269
+ }
270
+ const full = join(dir, entry);
271
+ let stats;
272
+ try {
273
+ stats = statSync(full);
274
+ }
275
+ catch {
276
+ continue;
277
+ }
278
+ if (stats.isDirectory()) {
279
+ walk(full);
280
+ }
281
+ else if (['.ts', '.tsx', '.js', '.jsx', '.mts', '.mjs'].includes(extname(entry))) {
282
+ const before = readFileSync(full, 'utf8');
283
+ const result = applyCodemods(relative(srcDir, full), before);
284
+ if (result.changed) {
285
+ if (write) {
286
+ writeFileSync(full, result.after);
287
+ }
288
+ changed.push(relative(srcDir, full));
289
+ }
290
+ for (const site of result.manual) {
291
+ manual.push(`${relative(srcDir, full)}: ${site}`);
292
+ }
293
+ }
294
+ }
295
+ };
296
+ walk(srcDir);
297
+ out.write(`${changed.length} file(s) ${write ? 'rewritten' : 'would be rewritten (dry run; pass --write)'}:\n` +
298
+ changed.map((f) => ` ${f}`).join('\n') +
299
+ (manual.length > 0
300
+ ? `\nmanual follow-up:\n${manual.map((m) => ` ${m}`).join('\n')}`
301
+ : '') +
302
+ '\n');
303
+ return 0;
304
+ }
305
+ // finalize [--manifest ...]
306
+ // (no --config: manifest-only; no Payload instance is loaded)
307
+ if (command === 'finalize') {
308
+ await runFinalize(typeof flags.get('manifest') === 'string'
309
+ ? { manifestPath: flags.get('manifest') }
310
+ : {});
311
+ return 0;
312
+ }
313
+ // The remaining commands (from-payload-auth, verify, rollback) all
314
+ // load a Payload instance, so they need the config.
187
315
  const configFlag = flags.get('config');
188
316
  if (typeof configFlag !== 'string' || configFlag === '') {
189
317
  err.write(`${command} requires --config <path to payload.config.ts>\n`);
190
318
  return 3;
191
319
  }
192
- const databaseUrl = typeof flags.get('database-url') === 'string'
193
- ? flags.get('database-url')
194
- : (process.env.DATABASE_URL ?? '');
195
320
  if ((command === 'from-payload-auth' || command === 'verify') && databaseUrl === '') {
196
321
  err.write(`${command} requires --database-url or DATABASE_URL\n`);
197
322
  return 3;
@@ -209,6 +334,9 @@ async function main(argv, out = process.stdout, err = process.stderr) {
209
334
  ...(typeof flags.get('slugs') === 'string'
210
335
  ? { slugsJson: flags.get('slugs') }
211
336
  : {}),
337
+ ...(typeof flags.get('source-map') === 'string'
338
+ ? { sourceMapJson: flags.get('source-map') }
339
+ : {}),
212
340
  json: flags.get('json') === true,
213
341
  };
214
342
  if (command === 'from-payload-auth') {
@@ -227,92 +355,6 @@ async function main(argv, out = process.stdout, err = process.stderr) {
227
355
  await runRollback(importOptions);
228
356
  return 0;
229
357
  }
230
- if (command === 'finalize') {
231
- await runFinalize(importOptions);
232
- return 0;
233
- }
234
- // export --database-url URL [--out file.jsonl]
235
- if (command === 'export') {
236
- if (databaseUrl === '') {
237
- err.write('export requires --database-url or DATABASE_URL\n');
238
- return 3;
239
- }
240
- const { exportToJsonl } = await import('./exporters.js');
241
- const result = await exportToJsonl({
242
- connectionString: databaseUrl,
243
- format: 'jsonl',
244
- log: (message) => out.write(`${message}\n`),
245
- });
246
- if (typeof flags.get('out') === 'string') {
247
- writeFileSync(flags.get('out'), result.jsonl);
248
- out.write(`wrote ${result.totalRows} row(s) to ${String(flags.get('out'))}\n`);
249
- }
250
- else {
251
- out.write(result.jsonl);
252
- }
253
- return 0;
254
- }
255
- // codemod --src ./src [--write]
256
- const srcFlagC = flags.get('src');
257
- if (typeof srcFlagC !== 'string' || srcFlagC === '') {
258
- err.write('codemod requires --src <directory>\n');
259
- return 3;
260
- }
261
- const srcDir = new URL(srcFlagC, `file://${process.cwd()}/`).pathname;
262
- const write = flags.get('write') === true;
263
- const changed = [];
264
- const manual = [];
265
- const walk = (dir) => {
266
- let entries;
267
- try {
268
- entries = readdirSync(dir);
269
- }
270
- catch {
271
- return;
272
- }
273
- for (const entry of entries) {
274
- if (['node_modules', 'dist', '.next'].includes(entry) || entry.startsWith('.')) {
275
- continue;
276
- }
277
- const full = join(dir, entry);
278
- let stats;
279
- try {
280
- stats = statSync(full);
281
- }
282
- catch {
283
- continue;
284
- }
285
- if (stats.isDirectory()) {
286
- walk(full);
287
- }
288
- else if (['.ts', '.tsx', '.js', '.jsx', '.mts', '.mjs'].includes(extname(entry))) {
289
- const before = readFileSync(full, 'utf8');
290
- const result = applyCodemods(relative(srcDir, full), before);
291
- if (result.changed) {
292
- if (write) {
293
- writeFileSync(full, before);
294
- }
295
- changed.push(relative(srcDir, full));
296
- }
297
- for (const site of result.manual) {
298
- manual.push(`${relative(srcDir, full)}: ${site}`);
299
- }
300
- }
301
- }
302
- };
303
- // Two passes: report first, then rewrite on --write (the rules are
304
- // deterministic, so the report and the rewrite always agree).
305
- walk(srcDir);
306
- if (write && changed.length > 0) {
307
- walk(srcDir);
308
- }
309
- out.write(`${changed.length} file(s) ${write ? 'rewritten' : 'would be rewritten (dry run; pass --write)'}:\n` +
310
- changed.map((f) => ` ${f}`).join('\n') +
311
- (manual.length > 0
312
- ? `\nmanual follow-up:\n${manual.map((m) => ` ${m}`).join('\n')}`
313
- : '') +
314
- '\n');
315
- return 0;
316
358
  }
317
359
  const configPath = flags.get('config');
318
360
  if (typeof configPath !== 'string' || configPath === '') {
@@ -328,6 +370,9 @@ async function main(argv, out = process.stdout, err = process.stderr) {
328
370
  ? { srcDir: new URL(srcFlag, `file://${process.cwd()}/`).pathname }
329
371
  : {}),
330
372
  ...(typeof dbFlag === 'string' ? { databaseUrl: dbFlag } : {}),
373
+ ...(typeof flags.get('source-map') === 'string'
374
+ ? { sourceMapJson: flags.get('source-map') }
375
+ : {}),
331
376
  });
332
377
  if (flags.get('json') === true) {
333
378
  out.write(`${JSON.stringify(report, null, 2)}\n`);
@@ -350,7 +395,10 @@ if (invokedDirectly) {
350
395
  process.exitCode = code;
351
396
  })
352
397
  .catch((error) => {
353
- process.stderr.write(`doctor failed: ${error instanceof Error ? error.message : String(error)}\n`);
398
+ // Name the command that failed (issue #71) — 'doctor failed:' was
399
+ // wrong for every other subcommand.
400
+ const { command } = parseArgs(process.argv.slice(2));
401
+ process.stderr.write(`${command ?? 'cli'} failed: ${error instanceof Error ? error.message : String(error)}\n`);
354
402
  process.exitCode = 1;
355
403
  });
356
404
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,15 @@
1
1
  /**
2
- * Codemods (issue #53): rule-based rewrites for the call sites a
3
- * payload-auth app must migrate. Deliberately textual and scoped —
4
- * each rule matches an exact, idiomatic payload-auth pattern and
5
- * leaves anything it cannot fully rewrite untouched (reported in the
6
- * result), because a half-rewritten call site is worse than an
7
- * explicit one.
2
+ * Codemods (issues #53, #70): rule-based rewrites for the call sites a
3
+ * payload-auth app must migrate, matched on the TypeScript AST and
4
+ * applied as text splices over the original ranges (no printer —
5
+ * formatting survives).
6
+ *
7
+ * Each rule rewrites only what it can FULLY rewrite and reports the
8
+ * rest as manual sites ({@link findManualSites}); a half-rewritten
9
+ * call site is worse than an explicit one. In particular, a file with
10
+ * ANY unrewritable `getPayloadAuth` reference keeps its whole
11
+ * `get-payload-auth` state untouched, so the output never references a
12
+ * symbol no import provides.
8
13
  */
9
14
  export type CodemodRule = {
10
15
  readonly id: string;
@@ -19,11 +24,17 @@ export type CodemodFileResult = {
19
24
  readonly applied: readonly string[];
20
25
  /** Matches the rules could not fully rewrite (reported, never touched). */
21
26
  readonly manual: readonly string[];
27
+ /** The rewritten content — equal to the input when nothing changed. */
28
+ readonly after: string;
22
29
  };
23
30
  export declare const codemodRules: readonly CodemodRule[];
24
31
  /**
25
- * Report call sites the rules cannot fully rewrite — each one needs a
26
- * human decision (which session API call, which route handler shape).
32
+ * Report call sites the rules cannot fully rewrite (issue #70.4):
33
+ * EVERY remaining `getPayloadAuth` reference (calls, type references,
34
+ * the import itself), every surviving `payload.betterAuth` accessor
35
+ * (including `.betterAuth.api.<method>` and `$context`), and every
36
+ * `internalAdapter`. Nothing is silently ignored — the doctor counts
37
+ * these references, so the codemod must account for them.
27
38
  */
28
39
  export declare function findManualSites(content: string): readonly string[];
29
40
  /** Apply every rule to one file; reports what fired and what needs a human. */
@@ -1 +1 @@
1
- {"version":3,"file":"codemods.d.ts","sourceRoot":"","sources":["../src/codemods.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAA;CAC5C,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,SAAS,WAAW,EAqC9C,CAAA;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CASlE;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAY9E"}
1
+ {"version":3,"file":"codemods.d.ts","sourceRoot":"","sources":["../src/codemods.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAA;CAC5C,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAkcD,eAAO,MAAM,YAAY,EAAE,SAAS,WAAW,EAkB9C,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAuElE;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAY9E"}