@craft-ng/dev-tools 0.5.1-beta.0 → 0.6.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +66 -0
  2. package/generators.json +26 -0
  3. package/package.json +18 -1
  4. package/src/bin/craft.d.ts +2 -0
  5. package/src/bin/craft.js +166 -0
  6. package/src/bin/craft.js.map +1 -0
  7. package/src/eslint-rules/craft-computed-name-match.cjs +8 -125
  8. package/src/eslint-rules/craft-method-name-match.cjs +8 -166
  9. package/src/eslint-rules/craft-name-match-utils.cjs +179 -0
  10. package/src/eslint-rules/craft-signal-source-name-match.cjs +8 -0
  11. package/src/eslint-rules/craft-source-name-match.cjs +8 -0
  12. package/src/eslint-rules/global-exception-registry-match.cjs +78 -13
  13. package/src/eslint-rules/index.cjs +8 -2
  14. package/src/eslint-rules/require-cascade-route-di-check.cjs +223 -0
  15. package/src/eslint-rules/require-primitive-generator-unwrap.cjs +267 -0
  16. package/src/generators/route/compat.d.ts +3 -0
  17. package/src/generators/route/compat.js +6 -0
  18. package/src/generators/route/compat.js.map +1 -0
  19. package/src/generators/route/generator.d.ts +31 -0
  20. package/src/generators/route/generator.js +434 -0
  21. package/src/generators/route/generator.js.map +1 -0
  22. package/src/generators/route/schema.json +50 -0
  23. package/src/generators/route/split-schema.json +19 -0
  24. package/src/index.d.ts +1 -0
  25. package/src/index.js +1 -0
  26. package/src/index.js.map +1 -1
  27. package/src/scripts/primitives/migrate-primitive-generators.d.ts +27 -0
  28. package/src/scripts/primitives/migrate-primitive-generators.js +315 -0
  29. package/src/scripts/primitives/migrate-primitive-generators.js.map +1 -0
  30. package/src/scripts/primitives/migrate-primitive-generators.ts +402 -0
  31. package/src/scripts/primitives/migrate-primitives.js +36 -4
  32. package/src/scripts/primitives/migrate-primitives.js.map +1 -1
  33. package/src/scripts/primitives/migrate-primitives.spec.ts +43 -0
  34. package/src/scripts/primitives/migrate-primitives.ts +62 -4
  35. package/src/scripts/primitives/migration-diagnostic.d.ts +1 -1
  36. package/src/scripts/primitives/migration-diagnostic.ts +1 -0
  37. package/src/scripts/routes/migrate-routes.js +4 -4
  38. package/src/scripts/routes/migrate-routes.js.map +1 -1
  39. package/src/scripts/routes/migrate-routes.ts +4 -6
  40. package/src/scripts/routes/route-command.d.ts +75 -0
  41. package/src/scripts/routes/route-command.js +1187 -0
  42. package/src/scripts/routes/route-command.js.map +1 -0
  43. package/src/scripts/routes/route-command.spec.ts +553 -0
  44. package/src/scripts/routes/route-command.ts +1790 -0
  45. package/src/scripts/services/migrate-services.js +45 -11
  46. package/src/scripts/services/migrate-services.js.map +1 -1
  47. package/src/scripts/services/migrate-services.spec.ts +46 -4
  48. package/src/scripts/services/migrate-services.ts +64 -13
  49. package/src/scripts/services/migration-diagnostic.d.ts +1 -1
  50. package/src/scripts/services/migration-diagnostic.ts +1 -0
  51. package/src/eslint-rules/require-track-on-dependent-primitives.cjs +0 -219
@@ -0,0 +1,402 @@
1
+ import { relative, dirname, resolve } from 'node:path';
2
+ import {
3
+ ArrowFunction,
4
+ CallExpression,
5
+ Identifier,
6
+ Node,
7
+ Project,
8
+ QuoteKind,
9
+ SourceFile,
10
+ SyntaxKind,
11
+ } from 'ts-morph';
12
+
13
+ /**
14
+ * Migrates call-sites of the generator-returning craft primitives (`state`,
15
+ * `query`, `mutation`, `asyncProcess`, `queryParam`):
16
+ *
17
+ * 1. `yield* track(X)` → `yield* X` (track import purged when unused).
18
+ * 2. Already-consumed invocations (`yield*`, `craftUse(...)`) are left alone.
19
+ * 3. Inside a generator function → prefix with `yield* ` (parenthesised when
20
+ * the parent is a spread / member access / template position).
21
+ * 4. Direct expression-body return of a `craftService` factory or of a
22
+ * `queryParams:` arrow stays as-is (the runtime drives the generator).
23
+ * 5. Anywhere else → wrap with `craftUse(...)` (import added).
24
+ * 6. A `craftService` factory / `queryParams:` arrow returning an object
25
+ * literal containing primitive creations is first converted to a
26
+ * `function*` so rule 3 applies.
27
+ */
28
+
29
+ export const ALL_PRIMITIVES = [
30
+ 'state',
31
+ 'query',
32
+ 'mutation',
33
+ 'asyncProcess',
34
+ 'queryParam',
35
+ ] as const;
36
+
37
+ export type PrimitiveName = (typeof ALL_PRIMITIVES)[number];
38
+
39
+ export type MigratePrimitiveGeneratorsOptions = {
40
+ paths: readonly string[];
41
+ primitives?: readonly PrimitiveName[];
42
+ write?: boolean;
43
+ log?: (message: string) => void;
44
+ };
45
+
46
+ export type MigratePrimitiveGeneratorsResult = {
47
+ changedFiles: string[];
48
+ };
49
+
50
+ const FACTORY_HOST_CALLEES = new Set(['craftService', 'toCraftService']);
51
+
52
+ export async function migratePrimitiveGenerators({
53
+ paths,
54
+ primitives = ALL_PRIMITIVES,
55
+ write = true,
56
+ log = console.log,
57
+ }: MigratePrimitiveGeneratorsOptions): Promise<MigratePrimitiveGeneratorsResult> {
58
+ const project = new Project({
59
+ skipAddingFilesFromTsConfig: true,
60
+ manipulationSettings: { quoteKind: QuoteKind.Single },
61
+ });
62
+ project.addSourceFilesAtPaths(paths as string[]);
63
+
64
+ const changedFiles: string[] = [];
65
+ for (const sourceFile of project.getSourceFiles()) {
66
+ if (migrateFile(sourceFile, new Set(primitives))) {
67
+ changedFiles.push(relative(process.cwd(), sourceFile.getFilePath()));
68
+ }
69
+ }
70
+
71
+ if (write) {
72
+ await project.save();
73
+ }
74
+
75
+ log(
76
+ `${write ? 'Migrated' : 'Would migrate'} ${changedFiles.length} file(s).`,
77
+ );
78
+ for (const file of changedFiles) log(` ${file}`);
79
+
80
+ return { changedFiles };
81
+ }
82
+
83
+ function migrateFile(
84
+ sourceFile: SourceFile,
85
+ primitives: Set<string>,
86
+ ): boolean {
87
+ const localNames = collectImportedLocalNames(sourceFile, primitives);
88
+ if (localNames.size === 0) return false;
89
+
90
+ let changed = false;
91
+
92
+ changed = unwrapTrackCalls(sourceFile) || changed;
93
+ changed = convertObjectLiteralFactories(sourceFile, localNames) || changed;
94
+
95
+ // Bottom-up so an edit never invalidates a not-yet-processed call above it.
96
+ const calls = findPrimitiveCreationCalls(sourceFile, localNames).sort(
97
+ (a, b) => b.getStart() - a.getStart(),
98
+ );
99
+
100
+ let needsCraftUseImport = false;
101
+ for (const call of calls) {
102
+ if (isAlreadyConsumed(call) || isDirectFactoryReturn(call)) continue;
103
+
104
+ if (isInsideGeneratorFunction(call)) {
105
+ const text = call.getText();
106
+ call.replaceWithText(
107
+ needsYieldParens(call) ? `(yield* ${text})` : `yield* ${text}`,
108
+ );
109
+ changed = true;
110
+ continue;
111
+ }
112
+
113
+ call.replaceWithText(`craftUse(${call.getText()})`);
114
+ needsCraftUseImport = true;
115
+ changed = true;
116
+ }
117
+
118
+ if (needsCraftUseImport) {
119
+ ensureCraftUseImport(sourceFile);
120
+ }
121
+
122
+ return changed;
123
+ }
124
+
125
+ function collectImportedLocalNames(
126
+ sourceFile: SourceFile,
127
+ primitives: Set<string>,
128
+ ): Map<string, string> {
129
+ const localNames = new Map<string, string>();
130
+ for (const importDeclaration of sourceFile.getImportDeclarations()) {
131
+ for (const specifier of importDeclaration.getNamedImports()) {
132
+ const original = specifier.getName();
133
+ if (primitives.has(original)) {
134
+ localNames.set(specifier.getAliasNode()?.getText() ?? original, original);
135
+ }
136
+ }
137
+ }
138
+ return localNames;
139
+ }
140
+
141
+ function findPrimitiveCreationCalls(
142
+ sourceFile: SourceFile,
143
+ localNames: Map<string, string>,
144
+ ): CallExpression[] {
145
+ return sourceFile
146
+ .getDescendantsOfKind(SyntaxKind.CallExpression)
147
+ .filter((call) => {
148
+ const callee = call.getExpression();
149
+ if (!Node.isIdentifier(callee)) return false;
150
+ if (!localNames.has(callee.getText())) return false;
151
+ // A creation call always takes a config; destructured readers such as
152
+ // `({ state }) => state().page` are argument-less.
153
+ if (call.getArguments().length === 0) return false;
154
+ return !isShadowed(callee);
155
+ });
156
+ }
157
+
158
+ function isShadowed(identifier: Identifier): boolean {
159
+ const name = identifier.getText();
160
+ let node: Node | undefined = identifier.getParent();
161
+ while (node) {
162
+ if (
163
+ Node.isFunctionDeclaration(node) ||
164
+ Node.isFunctionExpression(node) ||
165
+ Node.isArrowFunction(node) ||
166
+ Node.isMethodDeclaration(node)
167
+ ) {
168
+ for (const parameter of node.getParameters()) {
169
+ const bindsName = parameter
170
+ .getDescendants()
171
+ .concat(parameter.getNameNode())
172
+ .some(
173
+ (descendant) =>
174
+ (Node.isIdentifier(descendant) &&
175
+ descendant.getText() === name &&
176
+ (Node.isBindingElement(descendant.getParent()) ||
177
+ Node.isParameterDeclaration(descendant.getParent())) &&
178
+ (descendant.getParent() as any).getNameNode?.() === descendant),
179
+ );
180
+ if (bindsName) return true;
181
+ }
182
+ }
183
+ node = node.getParent();
184
+ }
185
+ return false;
186
+ }
187
+
188
+ function isAlreadyConsumed(call: CallExpression): boolean {
189
+ const parent = skipParens(call.getParent());
190
+ if (Node.isYieldExpression(parent)) return true;
191
+ if (
192
+ Node.isCallExpression(parent) &&
193
+ parent.getExpression().getText() === 'craftUse' &&
194
+ parent.getArguments()[0] === skipParensDown(call)
195
+ ) {
196
+ return true;
197
+ }
198
+ return false;
199
+ }
200
+
201
+ function isDirectFactoryReturn(call: CallExpression): boolean {
202
+ const arrow = skipParens(call.getParent());
203
+ if (!Node.isArrowFunction(arrow)) return false;
204
+ if (skipParensDown(arrow.getBody()) !== call) return false;
205
+ return isFactoryHostArrow(arrow);
206
+ }
207
+
208
+ function isFactoryHostArrow(arrow: ArrowFunction): boolean {
209
+ const parent = arrow.getParent();
210
+ if (Node.isCallExpression(parent)) {
211
+ const callee = parent.getExpression();
212
+ if (Node.isIdentifier(callee) && FACTORY_HOST_CALLEES.has(callee.getText())) {
213
+ return parent.getArguments().includes(arrow);
214
+ }
215
+ }
216
+ if (Node.isPropertyAssignment(parent)) {
217
+ return parent.getName() === 'queryParams';
218
+ }
219
+ return false;
220
+ }
221
+
222
+ function isInsideGeneratorFunction(call: CallExpression): boolean {
223
+ let node: Node | undefined = call.getParent();
224
+ while (node) {
225
+ if (Node.isArrowFunction(node)) return false;
226
+ if (
227
+ Node.isFunctionDeclaration(node) ||
228
+ Node.isFunctionExpression(node) ||
229
+ Node.isMethodDeclaration(node)
230
+ ) {
231
+ return node.isGenerator();
232
+ }
233
+ node = node.getParent();
234
+ }
235
+ return false;
236
+ }
237
+
238
+ function needsYieldParens(call: CallExpression): boolean {
239
+ const parent = call.getParent();
240
+ return (
241
+ Node.isSpreadElement(parent) ||
242
+ Node.isSpreadAssignment(parent) ||
243
+ Node.isPropertyAccessExpression(parent) ||
244
+ Node.isElementAccessExpression(parent) ||
245
+ Node.isTemplateSpan(parent) ||
246
+ Node.isBinaryExpression(parent) ||
247
+ Node.isConditionalExpression(parent) ||
248
+ (Node.isCallExpression(parent) && parent.getExpression() === call)
249
+ );
250
+ }
251
+
252
+ function unwrapTrackCalls(sourceFile: SourceFile): boolean {
253
+ const trackImport = sourceFile
254
+ .getImportDeclarations()
255
+ .flatMap((declaration) => declaration.getNamedImports())
256
+ .find((specifier) => specifier.getName() === 'track');
257
+ if (!trackImport) return false;
258
+
259
+ const localName = trackImport.getAliasNode()?.getText() ?? 'track';
260
+ const trackCalls = sourceFile
261
+ .getDescendantsOfKind(SyntaxKind.CallExpression)
262
+ .filter((call) => {
263
+ const callee = call.getExpression();
264
+ return (
265
+ Node.isIdentifier(callee) &&
266
+ callee.getText() === localName &&
267
+ call.getArguments().length === 1
268
+ );
269
+ })
270
+ .sort((a, b) => b.getStart() - a.getStart());
271
+
272
+ if (trackCalls.length === 0) return false;
273
+
274
+ for (const call of trackCalls) {
275
+ call.replaceWithText(call.getArguments()[0].getText());
276
+ }
277
+
278
+ const remaining = sourceFile
279
+ .getDescendantsOfKind(SyntaxKind.Identifier)
280
+ .filter(
281
+ (identifier) =>
282
+ identifier.getText() === localName &&
283
+ !Node.isImportSpecifier(identifier.getParent()),
284
+ );
285
+ if (remaining.length === 0) {
286
+ trackImport.remove();
287
+ }
288
+
289
+ return true;
290
+ }
291
+
292
+ function convertObjectLiteralFactories(
293
+ sourceFile: SourceFile,
294
+ localNames: Map<string, string>,
295
+ ): boolean {
296
+ const arrows = sourceFile
297
+ .getDescendantsOfKind(SyntaxKind.ArrowFunction)
298
+ .filter((arrow) => {
299
+ if (!isFactoryHostArrow(arrow)) return false;
300
+ const body = skipParensDown(arrow.getBody());
301
+ if (!Node.isObjectLiteralExpression(body)) return false;
302
+ return findPrimitiveCreationCalls(sourceFile, localNames).some((call) =>
303
+ body.getDescendants().includes(call),
304
+ );
305
+ })
306
+ .sort((a, b) => b.getStart() - a.getStart());
307
+
308
+ for (const arrow of arrows) {
309
+ const body = skipParensDown(arrow.getBody());
310
+ const parameters = arrow
311
+ .getParameters()
312
+ .map((parameter) => parameter.getText())
313
+ .join(', ');
314
+ arrow.replaceWithText(
315
+ `function* (${parameters}) {\n return ${body.getText()};\n}`,
316
+ );
317
+ }
318
+
319
+ return arrows.length > 0;
320
+ }
321
+
322
+ function ensureCraftUseImport(sourceFile: SourceFile): void {
323
+ const alreadyImported = sourceFile
324
+ .getImportDeclarations()
325
+ .some((declaration) =>
326
+ declaration
327
+ .getNamedImports()
328
+ .some((specifier) => specifier.getName() === 'craftUse'),
329
+ );
330
+ if (alreadyImported) return;
331
+
332
+ const filePath = sourceFile.getFilePath();
333
+ const coreSrc = resolve('libs/core/src');
334
+ const isInsideCore = resolve(filePath).startsWith(coreSrc + '/');
335
+
336
+ if (isInsideCore) {
337
+ let specifier = relative(
338
+ dirname(filePath),
339
+ resolve('libs/core/src/lib/craft-use'),
340
+ );
341
+ if (!specifier.startsWith('.')) specifier = `./${specifier}`;
342
+ sourceFile.addImportDeclaration({
343
+ moduleSpecifier: specifier,
344
+ namedImports: ['craftUse'],
345
+ });
346
+ return;
347
+ }
348
+
349
+ const coreImport = sourceFile
350
+ .getImportDeclarations()
351
+ .find((declaration) => declaration.getModuleSpecifierValue() === '@craft-ng/core');
352
+ if (coreImport) {
353
+ coreImport.addNamedImport('craftUse');
354
+ return;
355
+ }
356
+
357
+ sourceFile.addImportDeclaration({
358
+ moduleSpecifier: '@craft-ng/core',
359
+ namedImports: ['craftUse'],
360
+ });
361
+ }
362
+
363
+ function skipParens(node: Node | undefined): Node | undefined {
364
+ while (node && Node.isParenthesizedExpression(node)) {
365
+ node = node.getParent();
366
+ }
367
+ return node;
368
+ }
369
+
370
+ function skipParensDown(node: Node): Node {
371
+ while (Node.isParenthesizedExpression(node)) {
372
+ node = node.getExpression();
373
+ }
374
+ return node;
375
+ }
376
+
377
+ const isCli = process.argv[1]?.includes('migrate-primitive-generators');
378
+ if (isCli) {
379
+ const args = process.argv.slice(2);
380
+ const readListArg = (name: string): string[] | undefined => {
381
+ const index = args.indexOf(`--${name}`);
382
+ if (index === -1) return undefined;
383
+ return args[index + 1]?.split(',').filter(Boolean);
384
+ };
385
+
386
+ const paths = readListArg('paths');
387
+ if (!paths || paths.length === 0) {
388
+ console.error(
389
+ 'Usage: migrate-primitive-generators --paths <glob,...> [--primitives state,query,...] [--dry]',
390
+ );
391
+ process.exit(1);
392
+ }
393
+
394
+ void migratePrimitiveGenerators({
395
+ paths,
396
+ primitives: readListArg('primitives') as PrimitiveName[] | undefined,
397
+ write: !args.includes('--dry'),
398
+ }).catch((error) => {
399
+ console.error(error);
400
+ process.exit(1);
401
+ });
402
+ }
@@ -35,10 +35,17 @@ export function runPrimitivesMigration() {
35
35
  const changedSignals = migrateSignalsToState(sourceFile);
36
36
  const changedResources = migrateSingleEmissionRxResources(sourceFile, diagnostics);
37
37
  const changedWorkflows = annotateImperativeWorkflows(sourceFile, diagnostics);
38
+ const changedFormTreeInserts = annotateFormTreeInsertExtractions(sourceFile, diagnostics);
38
39
  diagnoseSignalForms(sourceFile, diagnostics);
39
- if (changedSignals || changedResources || changedWorkflows)
40
+ if (changedSignals ||
41
+ changedResources ||
42
+ changedWorkflows ||
43
+ changedFormTreeInserts)
40
44
  touched.add(sourceFile);
41
- if (changedSignals || changedResources || changedWorkflows)
45
+ if (changedSignals ||
46
+ changedResources ||
47
+ changedWorkflows ||
48
+ changedFormTreeInserts)
42
49
  getFileReport(files, sourceFile.getFilePath()).changed = true;
43
50
  }
44
51
  for (const file of touched)
@@ -133,6 +140,31 @@ function findImperativeStateDeclaration(call) {
133
140
  }
134
141
  const REACTIVE_WORKFLOW_COMMENT = '// CRAFT_REACTIVE_WORKFLOW_RECOMMENDED: workflow impératif détecté...';
135
142
  const FIRST_VALUE_FROM_REVIEW_COMMENT = '// CRAFT_FIRST_VALUE_FROM_REVIEW: firstValueFrom bridges an Observable temporarily; prefer a Promise-native Craft API when possible.';
143
+ const FORM_TREE_INSERT_EXTRACTION_REVIEW_COMMENT = '// CRAFT_FORM_TREE_INSERT_EXTRACTION_REVIEW: makeFormTreeInsert sert surtout à extraire et découper une logique de formulaire; si cet insert n’est utilisé qu’ici, envisager de le placer directement dans insertForm.';
144
+ function annotateFormTreeInsertExtractions(sourceFile, diagnostics) {
145
+ const statements = new Set();
146
+ for (const call of sourceFile.getDescendantsOfKind(SyntaxKind.CallExpression)) {
147
+ if (call.getExpression().getText() !== 'makeFormTreeInsert')
148
+ continue;
149
+ const statement = call.getFirstAncestor((ancestor) => Node.isVariableStatement(ancestor));
150
+ if (statement)
151
+ statements.add(statement);
152
+ }
153
+ let changed = false;
154
+ for (const statement of [...statements].sort((left, right) => right.getStart() - left.getStart())) {
155
+ if (statement.wasForgotten() ||
156
+ statement
157
+ .getFullText()
158
+ .includes('CRAFT_FORM_TREE_INSERT_EXTRACTION_REVIEW'))
159
+ continue;
160
+ statement.replaceWithText(`${FORM_TREE_INSERT_EXTRACTION_REVIEW_COMMENT}\n${statement.getText()}`);
161
+ changed = true;
162
+ }
163
+ if (changed) {
164
+ diagnose(diagnostics, 'FORM_TREE_INSERT_EXTRACTION_REQUIRES_REVIEW', sourceFile, '`makeFormTreeInsert(...)` est utile pour extraire une logique de formulaire; si l’insert n’a qu’un seul usage local, envisager de l’imbriquer directement dans `insertForm(...)`.');
165
+ }
166
+ return changed;
167
+ }
136
168
  function migrateSingleEmissionRxResources(sourceFile, diagnostics) {
137
169
  var _a, _b;
138
170
  const rxInterop = sourceFile.getImportDeclaration('@angular/core/rxjs-interop');
@@ -270,11 +302,11 @@ function diagnoseSignalForms(sourceFile, diagnostics) {
270
302
  for (const call of sourceFile.getDescendantsOfKind(SyntaxKind.CallExpression)) {
271
303
  if (!isValidateAsyncRxResourceCall(call))
272
304
  continue;
273
- diagnose(diagnostics, 'ASYNC_VALIDATOR_REQUIRES_QUERY', sourceFile, '`validateAsync(...)` basé sur `rxResource(...)` doit devenir une `query(...)` locale déclenchée par la valeur du champ, puis `cAsyncValidate(queryRef, ...)`. Dans un craftService, créer la query avec `yield* track(query(...))`.');
305
+ diagnose(diagnostics, 'ASYNC_VALIDATOR_REQUIRES_QUERY', sourceFile, '`validateAsync(...)` basé sur `rxResource(...)` doit devenir une `query(...)` locale déclenchée par la valeur du champ, puis `cAsyncValidate(queryRef, ...)`. Dans un craftService, créer la query avec `yield* query(...)` ; dans un champ de composant, `craftUse(query(...))`.');
274
306
  }
275
307
  }
276
308
  if ((_a = sourceFile.getImportDeclaration('@angular/core/rxjs-interop')) === null || _a === void 0 ? void 0 : _a.getNamedImports().some((item) => item.getName() === 'rxResource')) {
277
- diagnose(diagnostics, 'RX_RESOURCE_REQUIRES_QUERY', sourceFile, '`rxResource(...)` doit être remplacé par `query(...)` ou `mutation(...)` selon l’intention; dans un validateur async, préférer `query(...) + cAsyncValidate(...)`. Dans un craftService, englober toute primitive dépendante avec `yield* track(...)`.');
309
+ diagnose(diagnostics, 'RX_RESOURCE_REQUIRES_QUERY', sourceFile, '`rxResource(...)` doit être remplacé par `query(...)` ou `mutation(...)` selon l’intention; dans un validateur async, préférer `query(...) + cAsyncValidate(...)`. Dans un craftService, consommer toute primitive avec `yield*` ; dans un champ de composant, `craftUse(...)`.');
278
310
  }
279
311
  }
280
312
  function isValidateAsyncRxResourceCall(call) {
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-primitives.js","sourceRoot":"","sources":["../../../../../../libs/dev-tools/src/scripts/primitives/migrate-primitives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate-primitives.js","sourceRoot":"","sources":["../../../../../../libs/dev-tools/src/scripts/primitives/migrate-primitives.ts"],"names":[],"mappings":"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"}
@@ -276,4 +276,47 @@ describe('primitives migration', () => {
276
276
  expect(result.exitCode).toBe(1);
277
277
  expect(result.remainingSignalForms).toBe(1);
278
278
  });
279
+
280
+ it('suggests inlining a local makeFormTreeInsert into insertForm', async () => {
281
+ const root = await fixture({
282
+ 'tsconfig.json': '{}',
283
+ 'checkout.ts': `
284
+ import { formTreeNeed, insertForm, insertSelectFormTree, makeFormTreeInsert, state } from '@craft-ng/core';
285
+ type CheckoutForm = { coupon: { code: string } };
286
+ const { insertCouponTree } = makeFormTreeInsert(
287
+ 'Coupon',
288
+ formTreeNeed<CheckoutForm['coupon']>(),
289
+ () => ({}),
290
+ );
291
+ export const checkout = state(
292
+ { coupon: { code: '' } },
293
+ insertForm(insertSelectFormTree('coupon', insertCouponTree())),
294
+ );
295
+ `,
296
+ });
297
+
298
+ const first = await runPrimitivesMigration({
299
+ rootDir: root,
300
+ write: true,
301
+ eslint: false,
302
+ log: () => undefined,
303
+ });
304
+ await runPrimitivesMigration({
305
+ rootDir: root,
306
+ write: true,
307
+ eslint: false,
308
+ log: () => undefined,
309
+ });
310
+
311
+ const output = await readFile(join(root, 'checkout.ts'), 'utf8');
312
+ expect(first.diagnostics.map((diagnostic) => diagnostic.code)).toContain(
313
+ 'FORM_TREE_INSERT_EXTRACTION_REQUIRES_REVIEW',
314
+ );
315
+ expect(output).toContain(
316
+ '// CRAFT_FORM_TREE_INSERT_EXTRACTION_REVIEW: makeFormTreeInsert sert surtout à extraire et découper une logique de formulaire; si cet insert n’est utilisé qu’ici, envisager de le placer directement dans insertForm.',
317
+ );
318
+ expect(
319
+ output.match(/CRAFT_FORM_TREE_INSERT_EXTRACTION_REVIEW/g),
320
+ ).toHaveLength(1);
321
+ });
279
322
  });
@@ -88,10 +88,24 @@ export async function runPrimitivesMigration(
88
88
  sourceFile,
89
89
  diagnostics,
90
90
  );
91
+ const changedFormTreeInserts = annotateFormTreeInsertExtractions(
92
+ sourceFile,
93
+ diagnostics,
94
+ );
91
95
  diagnoseSignalForms(sourceFile, diagnostics);
92
- if (changedSignals || changedResources || changedWorkflows)
96
+ if (
97
+ changedSignals ||
98
+ changedResources ||
99
+ changedWorkflows ||
100
+ changedFormTreeInserts
101
+ )
93
102
  touched.add(sourceFile);
94
- if (changedSignals || changedResources || changedWorkflows)
103
+ if (
104
+ changedSignals ||
105
+ changedResources ||
106
+ changedWorkflows ||
107
+ changedFormTreeInserts
108
+ )
95
109
  getFileReport(files, sourceFile.getFilePath()).changed = true;
96
110
  }
97
111
 
@@ -210,6 +224,50 @@ const REACTIVE_WORKFLOW_COMMENT =
210
224
  '// CRAFT_REACTIVE_WORKFLOW_RECOMMENDED: workflow impératif détecté...';
211
225
  const FIRST_VALUE_FROM_REVIEW_COMMENT =
212
226
  '// CRAFT_FIRST_VALUE_FROM_REVIEW: firstValueFrom bridges an Observable temporarily; prefer a Promise-native Craft API when possible.';
227
+ const FORM_TREE_INSERT_EXTRACTION_REVIEW_COMMENT =
228
+ '// CRAFT_FORM_TREE_INSERT_EXTRACTION_REVIEW: makeFormTreeInsert sert surtout à extraire et découper une logique de formulaire; si cet insert n’est utilisé qu’ici, envisager de le placer directement dans insertForm.';
229
+
230
+ function annotateFormTreeInsertExtractions(
231
+ sourceFile: SourceFile,
232
+ diagnostics: PrimitiveMigrationDiagnostic[],
233
+ ): boolean {
234
+ const statements = new Set<Node>();
235
+ for (const call of sourceFile.getDescendantsOfKind(
236
+ SyntaxKind.CallExpression,
237
+ )) {
238
+ if (call.getExpression().getText() !== 'makeFormTreeInsert') continue;
239
+ const statement = call.getFirstAncestor((ancestor) =>
240
+ Node.isVariableStatement(ancestor),
241
+ );
242
+ if (statement) statements.add(statement);
243
+ }
244
+
245
+ let changed = false;
246
+ for (const statement of [...statements].sort(
247
+ (left, right) => right.getStart() - left.getStart(),
248
+ )) {
249
+ if (
250
+ statement.wasForgotten() ||
251
+ statement
252
+ .getFullText()
253
+ .includes('CRAFT_FORM_TREE_INSERT_EXTRACTION_REVIEW')
254
+ )
255
+ continue;
256
+ statement.replaceWithText(
257
+ `${FORM_TREE_INSERT_EXTRACTION_REVIEW_COMMENT}\n${statement.getText()}`,
258
+ );
259
+ changed = true;
260
+ }
261
+ if (changed) {
262
+ diagnose(
263
+ diagnostics,
264
+ 'FORM_TREE_INSERT_EXTRACTION_REQUIRES_REVIEW',
265
+ sourceFile,
266
+ '`makeFormTreeInsert(...)` est utile pour extraire une logique de formulaire; si l’insert n’a qu’un seul usage local, envisager de l’imbriquer directement dans `insertForm(...)`.',
267
+ );
268
+ }
269
+ return changed;
270
+ }
213
271
 
214
272
  function migrateSingleEmissionRxResources(
215
273
  sourceFile: SourceFile,
@@ -423,7 +481,7 @@ function diagnoseSignalForms(
423
481
  diagnostics,
424
482
  'ASYNC_VALIDATOR_REQUIRES_QUERY',
425
483
  sourceFile,
426
- '`validateAsync(...)` basé sur `rxResource(...)` doit devenir une `query(...)` locale déclenchée par la valeur du champ, puis `cAsyncValidate(queryRef, ...)`. Dans un craftService, créer la query avec `yield* track(query(...))`.',
484
+ '`validateAsync(...)` basé sur `rxResource(...)` doit devenir une `query(...)` locale déclenchée par la valeur du champ, puis `cAsyncValidate(queryRef, ...)`. Dans un craftService, créer la query avec `yield* query(...)` ; dans un champ de composant, `craftUse(query(...))`.',
427
485
  );
428
486
  }
429
487
  }
@@ -432,7 +490,7 @@ function diagnoseSignalForms(
432
490
  diagnostics,
433
491
  'RX_RESOURCE_REQUIRES_QUERY',
434
492
  sourceFile,
435
- '`rxResource(...)` doit être remplacé par `query(...)` ou `mutation(...)` selon l’intention; dans un validateur async, préférer `query(...) + cAsyncValidate(...)`. Dans un craftService, englober toute primitive dépendante avec `yield* track(...)`.',
493
+ '`rxResource(...)` doit être remplacé par `query(...)` ou `mutation(...)` selon l’intention; dans un validateur async, préférer `query(...) + cAsyncValidate(...)`. Dans un craftService, consommer toute primitive avec `yield*` ; dans un champ de composant, `craftUse(...)`.',
436
494
  );
437
495
  }
438
496
  }