@salesforce/ui-bundle-template-cli 11.25.0 → 11.26.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-merger.d.ts","sourceRoot":"","sources":["../../src/utils/route-merger.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAiD,MAAM,UAAU,CAAC;AAkBlF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuGG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"route-merger.d.ts","sourceRoot":"","sources":["../../src/utils/route-merger.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAiD,MAAM,UAAU,CAAC;AAkBlF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuGG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CA6D9F"}
|
|
@@ -146,10 +146,12 @@ export function mergeRoutes(featurePath, targetPath, project) {
|
|
|
146
146
|
const featureRoutes = parseRoutesFromAST(featureArray);
|
|
147
147
|
// Deep merge the routes
|
|
148
148
|
const mergedRoutes = deepMergeRoutes(targetRoutes, featureRoutes);
|
|
149
|
+
// Keep catch-all routes ('*' / '**') last so feature routes aren't shadowed.
|
|
150
|
+
sortWildcardRoutesLast(mergedRoutes);
|
|
149
151
|
// Convert back to code and update the target
|
|
150
152
|
const mergedCode = generateRoutesCode(mergedRoutes);
|
|
151
153
|
targetArray.replaceWithText(mergedCode);
|
|
152
|
-
//
|
|
154
|
+
// Prune imports orphaned by the merge (React default + Angular named).
|
|
153
155
|
removeUnusedRouteImports(targetFile, mergedRoutes);
|
|
154
156
|
return targetFile.getText();
|
|
155
157
|
}
|
|
@@ -289,6 +291,27 @@ function deepMergeRoutes(targetRoutes, featureRoutes) {
|
|
|
289
291
|
}
|
|
290
292
|
return result;
|
|
291
293
|
}
|
|
294
|
+
/** Move catch-all routes ('*' / '**') last so a wildcard never shadows a merged-in sibling (order-sensitive routers like Angular). No-op for react-router. */
|
|
295
|
+
function sortWildcardRoutesLast(routes) {
|
|
296
|
+
const isWildcard = (route) => {
|
|
297
|
+
if (typeof route.path !== "string")
|
|
298
|
+
return false;
|
|
299
|
+
const path = normalizePath(route.path);
|
|
300
|
+
return path === "*" || path === "**";
|
|
301
|
+
};
|
|
302
|
+
const nonWildcard = routes.filter((route) => !isWildcard(route));
|
|
303
|
+
const wildcard = routes.filter(isWildcard);
|
|
304
|
+
if (wildcard.length > 0) {
|
|
305
|
+
routes.length = 0;
|
|
306
|
+
routes.push(...nonWildcard, ...wildcard);
|
|
307
|
+
}
|
|
308
|
+
// Recurse into nested children arrays.
|
|
309
|
+
for (const route of routes) {
|
|
310
|
+
if (route.children && Array.isArray(route.children)) {
|
|
311
|
+
sortWildcardRoutesLast(route.children);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
292
315
|
/**
|
|
293
316
|
* Generate TypeScript code from RouteObject[]
|
|
294
317
|
*/
|
|
@@ -320,18 +343,21 @@ function generateRouteCode(route, indentLevel) {
|
|
|
320
343
|
}
|
|
321
344
|
return `${indent}{\n${props.map((p) => `${indent} ${p}`).join(",\n")}\n${indent}}`;
|
|
322
345
|
}
|
|
323
|
-
/** Collect
|
|
346
|
+
/** Collect every identifier referenced by the routes — React `element: <Home />`, Angular `component:`/guards — by scanning all non-structural props. Over-collecting only keeps an import, never wrongly drops one. */
|
|
324
347
|
function collectUsedComponentNames(routes) {
|
|
325
348
|
const used = new Set();
|
|
349
|
+
const IDENTIFIER = /\b[A-Za-z_$][A-Za-z0-9_$]*/g;
|
|
326
350
|
function walk(r) {
|
|
327
351
|
for (const route of r) {
|
|
328
|
-
const
|
|
329
|
-
|
|
330
|
-
|
|
352
|
+
for (const [key, value] of Object.entries(route)) {
|
|
353
|
+
if (key === "children" || key === "path" || key === "index")
|
|
354
|
+
continue;
|
|
355
|
+
if (typeof value !== "string")
|
|
356
|
+
continue;
|
|
357
|
+
const matches = value.match(IDENTIFIER);
|
|
331
358
|
if (matches) {
|
|
332
|
-
for (const m of matches)
|
|
333
|
-
used.add(m
|
|
334
|
-
}
|
|
359
|
+
for (const m of matches)
|
|
360
|
+
used.add(m);
|
|
335
361
|
}
|
|
336
362
|
}
|
|
337
363
|
if (route.children && Array.isArray(route.children)) {
|
|
@@ -342,17 +368,30 @@ function collectUsedComponentNames(routes) {
|
|
|
342
368
|
walk(routes);
|
|
343
369
|
return used;
|
|
344
370
|
}
|
|
345
|
-
/**
|
|
371
|
+
/** Drop local imports (relative or `@/`-alias) orphaned by the merge — named specifiers and defaults alike; bare package imports are left alone. */
|
|
346
372
|
function removeUnusedRouteImports(targetFile, mergedRoutes) {
|
|
347
373
|
const used = collectUsedComponentNames(mergedRoutes);
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
374
|
+
const isUsed = (name) => used.has(name);
|
|
375
|
+
const isLocalSpecifier = (spec) => spec.startsWith(".") || spec.startsWith("@/");
|
|
376
|
+
// Snapshot — removing a declaration mutates the live list.
|
|
377
|
+
for (const imp of [...targetFile.getImportDeclarations()]) {
|
|
378
|
+
if (!isLocalSpecifier(imp.getModuleSpecifierValue()))
|
|
379
|
+
continue;
|
|
380
|
+
for (const named of imp.getNamedImports()) {
|
|
381
|
+
if (!isUsed(named.getNameNode().getText())) {
|
|
382
|
+
named.remove();
|
|
354
383
|
}
|
|
355
384
|
}
|
|
385
|
+
const defaultImport = imp.getDefaultImport();
|
|
386
|
+
const defaultUnused = defaultImport ? !isUsed(defaultImport.getText()) : true;
|
|
387
|
+
const hasNamed = imp.getNamedImports().length > 0;
|
|
388
|
+
const hasNamespace = !!imp.getNamespaceImport();
|
|
389
|
+
if (!hasNamed && !hasNamespace && defaultUnused) {
|
|
390
|
+
imp.remove();
|
|
391
|
+
}
|
|
392
|
+
else if (defaultImport && defaultUnused) {
|
|
393
|
+
imp.removeDefaultImport();
|
|
394
|
+
}
|
|
356
395
|
}
|
|
357
396
|
}
|
|
358
397
|
//# sourceMappingURL=route-merger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-merger.js","sourceRoot":"","sources":["../../src/utils/route-merger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAmB,IAAI,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAgBnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuGG;AACH,MAAM,UAAU,WAAW,CAAC,WAAmB,EAAE,UAAkB,EAAE,OAAiB;IACrF,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,OAAO,IAAI,IAAI,OAAO,EAAE,CAAC;QAEtC,MAAM,UAAU,GAAG,OAAO;YACzB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACtF,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAEtD,MAAM,WAAW,GAAG,OAAO;YAC1B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACxF,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAEvD,mDAAmD;QACnD,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACvE,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEzE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;YAClE,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;YACnE,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,mDAAmD;QACnD,2EAA2E;QAC3E,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAEtC,8FAA8F;QAC9F,MAAM,WAAW,GAAG,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAElE,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC5E,CAAC;QAED,gCAAgC;QAChC,MAAM,YAAY,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAEvD,wBAAwB;QACxB,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAElE,6CAA6C;QAC7C,MAAM,UAAU,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACpD,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAExC,
|
|
1
|
+
{"version":3,"file":"route-merger.js","sourceRoot":"","sources":["../../src/utils/route-merger.ts"],"names":[],"mappings":"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"}
|