@drskillissue/ganko 0.2.61 → 0.2.71

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.
@@ -67,9 +67,29 @@ function canonicalPath(path) {
67
67
  return canonical;
68
68
  }
69
69
  var LOG_LEVELS = ["trace", "debug", "info", "warning", "error", "critical", "off"];
70
+ var Level = {
71
+ Trace: 0,
72
+ Debug: 1,
73
+ Info: 2,
74
+ Warning: 3,
75
+ Error: 4,
76
+ Critical: 5,
77
+ Off: 6
78
+ };
79
+ var LOG_LEVEL_ORDER = {
80
+ trace: Level.Trace,
81
+ debug: Level.Debug,
82
+ info: Level.Info,
83
+ warning: Level.Warning,
84
+ error: Level.Error,
85
+ critical: Level.Critical,
86
+ off: Level.Off
87
+ };
70
88
  var noopLogger = {
71
- enabled: false,
72
89
  level: "off",
90
+ isLevelEnabled() {
91
+ return false;
92
+ },
73
93
  trace() {
74
94
  },
75
95
  debug() {
@@ -3995,6 +4015,7 @@ function getStaticStringFromJSXValue(node) {
3995
4015
  const expression = node.expression;
3996
4016
  if (!expression) return null;
3997
4017
  if (ts7.isStringLiteral(expression)) return expression.text;
4018
+ if (ts7.isNumericLiteral(expression)) return expression.text;
3998
4019
  if (ts7.isNoSubstitutionTemplateLiteral(expression)) return expression.text;
3999
4020
  if (ts7.isTemplateExpression(expression) && expression.templateSpans.length === 0) {
4000
4021
  return expression.head.text;
@@ -4893,6 +4914,9 @@ function typeIncludesString(graph, node) {
4893
4914
  function typeIsArray(graph, node) {
4894
4915
  return graph.typeResolver.isArrayType(node);
4895
4916
  }
4917
+ function typeIsStrictArray(graph, node) {
4918
+ return graph.typeResolver.isStrictArrayType(node);
4919
+ }
4896
4920
  function getArrayElementKind(graph, node) {
4897
4921
  return graph.typeResolver.getArrayElementKind(node);
4898
4922
  }
@@ -15167,6 +15191,7 @@ var preferSetLookupInLoop = defineSolidRule({
15167
15191
  options: options77,
15168
15192
  check(graph, emit) {
15169
15193
  const reported = /* @__PURE__ */ new Set();
15194
+ const graphHasTypes = hasTypeInfo(graph);
15170
15195
  for (const method of LINEAR_SEARCH_METHODS) {
15171
15196
  const calls = getCallsByMethodName(graph, method);
15172
15197
  for (let i = 0, len = calls.length; i < len; i++) {
@@ -15184,6 +15209,7 @@ var preferSetLookupInLoop = defineSolidRule({
15184
15209
  const loop = getEnclosingLoop(call.node);
15185
15210
  if (!loop) continue;
15186
15211
  if (!isDeclaredOutsideLoop2(loop, variable)) continue;
15212
+ if (graphHasTypes && !typeIsStrictArray(graph, callee.expression)) continue;
15187
15213
  if (isStringLikeReceiver(graph, callee.expression, variable)) continue;
15188
15214
  const key = `${loop.pos}:var:${variable.id}`;
15189
15215
  if (reported.has(key)) continue;
@@ -18271,6 +18297,35 @@ var TypeResolver = class {
18271
18297
  return false;
18272
18298
  }
18273
18299
  }
18300
+ /**
18301
+ * Strict array check: only matches Array<T>, T[], ReadonlyArray<T>, and tuples.
18302
+ * Does NOT match typed arrays (Uint8Array, Buffer, etc.) or other types with
18303
+ * a numeric index signature.
18304
+ */
18305
+ isStrictArrayType(node) {
18306
+ try {
18307
+ const tsType = this.checker.getTypeAtLocation(node);
18308
+ return this.checkIsStrictArrayType(tsType);
18309
+ } catch {
18310
+ return false;
18311
+ }
18312
+ }
18313
+ checkIsStrictArrayType(tsType) {
18314
+ if (tsType.flags & 524288) {
18315
+ const objFlags = getObjectFlags(tsType);
18316
+ if (objFlags & 8) return true;
18317
+ if (objFlags & 4) {
18318
+ const name = tsType.getSymbol()?.getName();
18319
+ if (name === "Array" || name === "ReadonlyArray") return true;
18320
+ }
18321
+ }
18322
+ if (tsType.isUnion()) {
18323
+ for (const t of tsType.types) {
18324
+ if (this.checkIsStrictArrayType(t)) return true;
18325
+ }
18326
+ }
18327
+ return false;
18328
+ }
18274
18329
  checkIsArrayType(tsType) {
18275
18330
  if (tsType.flags & 524288) {
18276
18331
  const objFlags = getObjectFlags(tsType);
@@ -18322,7 +18377,7 @@ var TypeResolver = class {
18322
18377
  if (exprTsType.flags & ts101.TypeFlags.Any) return false;
18323
18378
  if (targetTsType.flags & ts101.TypeFlags.Any) return false;
18324
18379
  const result = this.checker.isTypeAssignableTo(exprTsType, targetTsType);
18325
- if (this.logger.enabled) {
18380
+ if (this.logger.isLevelEnabled(Level.Debug)) {
18326
18381
  const exprStr = this.checker.typeToString(exprTsType);
18327
18382
  const targetStr = this.checker.typeToString(targetTsType);
18328
18383
  this.logger.debug(`isUnnecessaryCast: expr="${exprStr.slice(0, 120)}" target="${targetStr.slice(0, 120)}" assignable=${result} exprFlags=${exprTsType.flags} targetFlags=${targetTsType.flags}`);
@@ -31201,7 +31256,7 @@ function publishLayoutPerfStatsForTest(stats) {
31201
31256
  }
31202
31257
  function maybeLogLayoutPerf(stats, log) {
31203
31258
  if (process.env["SOLID_LINT_LAYOUT_PROFILE"] !== "1") return;
31204
- if (!log || !log.enabled) return;
31259
+ if (!log || !log.isLevelEnabled(Level.Debug)) return;
31205
31260
  const view = snapshotLayoutPerfStats(stats);
31206
31261
  log.debug(
31207
31262
  `[layout] elements=${view.elementsScanned} candidates=${view.selectorCandidatesChecked} compiledSelectors=${view.compiledSelectorCount} unsupportedSelectors=${view.selectorsRejectedUnsupported} conditionalSelectors=${view.selectorsGuardedConditional} ancestryChecks=${view.ancestryChecks} edges=${view.matchEdgesCreated} collected=${view.casesCollected} cases=${view.casesScored} rejectLowEvidence=${view.casesRejectedLowEvidence} rejectThreshold=${view.casesRejectedThreshold} rejectUndecidable=${view.casesRejectedUndecidable} rejectIdentifiability=${view.casesRejectedIdentifiability} undecidableInterval=${view.undecidableInterval} conditionalSignalRatio=${Math.round(view.conditionalSignalRatio * 1e3) / 1e3} conditionalSignals=${view.conditionalSignals} totalSignals=${view.totalSignals} cohortUnimodalFalse=${view.cohortUnimodalFalse} factorCoverageMean=${Math.round(view.factorCoverageMean * 1e3) / 1e3} posteriorWidthP95=${Math.round(view.posteriorWidthP95 * 1e3) / 1e3} uncertaintyEscalations=${view.uncertaintyEscalations} snapshots=${view.signalSnapshotsBuilt} snapshotHits=${view.signalSnapshotCacheHits} measurementIndexHits=${view.measurementIndexHits} contexts=${view.contextsClassified} diagnostics=${view.diagnosticsEmitted} selectorIndexMs=${Math.round(view.selectorIndexMs * 100) / 100} selectorMatchMs=${Math.round(view.selectorMatchMs * 100) / 100} cascadeBuildMs=${Math.round(view.cascadeBuildMs * 100) / 100} caseBuildMs=${Math.round(view.caseBuildMs * 100) / 100} scoringMs=${Math.round(view.scoringMs * 100) / 100} elapsedMs=${Math.round(view.elapsedMs * 100) / 100}`
@@ -31249,17 +31304,17 @@ function createLayoutComponentHostResolver(solids, moduleResolver, logger = noop
31249
31304
  if (cached !== void 0) return cached;
31250
31305
  const binding = resolveTagBinding(normalizedFile, tag);
31251
31306
  if (binding === null) {
31252
- if (logger.enabled) logger.trace(`[component-host] resolveHost(${tag}): binding=null`);
31307
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[component-host] resolveHost(${tag}): binding=null`);
31253
31308
  hostByTagCache.set(cacheKey, null);
31254
31309
  return null;
31255
31310
  }
31256
31311
  if (binding.kind === "component") {
31257
- if (logger.enabled) logger.trace(`[component-host] resolveHost(${tag}): component, tagName=${binding.host.tagName}, attrs=[${[...binding.host.staticAttributes.keys()]}]`);
31312
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[component-host] resolveHost(${tag}): component, tagName=${binding.host.descriptor.tagName}, attrs=[${[...binding.host.descriptor.staticAttributes.keys()]}]`);
31258
31313
  hostByTagCache.set(cacheKey, binding.host);
31259
31314
  return binding.host;
31260
31315
  }
31261
31316
  const host = binding.base ? binding.base.host : null;
31262
- if (logger.enabled) logger.trace(`[component-host] resolveHost(${tag}): namespace, base=${host?.tagName ?? "null"}`);
31317
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[component-host] resolveHost(${tag}): namespace, base=${host?.descriptor.tagName ?? "null"}`);
31263
31318
  hostByTagCache.set(cacheKey, host);
31264
31319
  return host;
31265
31320
  },
@@ -31272,26 +31327,26 @@ function createLayoutComponentHostResolver(solids, moduleResolver, logger = noop
31272
31327
  }
31273
31328
  };
31274
31329
  function resolveComponentHostEntry(entry) {
31275
- if (entry.resolution === "resolved") return entry.descriptor;
31276
- if (logger.enabled) logger.trace(`[component-host] resolveComponentHostEntry: deferred innerTag=${entry.innerTag}, file=${entry.filePath}, attrs=[${[...entry.staticAttributes.keys()]}]`);
31330
+ if (entry.resolution === "resolved") {
31331
+ return { descriptor: entry.descriptor, hostElementRef: entry.hostElementRef };
31332
+ }
31333
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[component-host] resolveComponentHostEntry: deferred innerTag=${entry.innerTag}, file=${entry.filePath}, attrs=[${[...entry.staticAttributes.keys()]}]`);
31277
31334
  const innerBinding = resolveLocalIdentifierBinding(entry.filePath, entry.innerTag);
31278
- if (logger.enabled) logger.trace(`[component-host] innerBinding=${innerBinding === null ? "null" : innerBinding.kind}`);
31335
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[component-host] innerBinding=${innerBinding === null ? "null" : innerBinding.kind}`);
31279
31336
  const innerHost = extractHostFromBinding(innerBinding);
31280
- if (logger.enabled) logger.trace(`[component-host] innerHost=${innerHost === null ? "null" : `tagName=${innerHost.tagName}, attrs=[${[...innerHost.staticAttributes.keys()]}]`}`);
31281
- let tagName = innerHost !== null ? innerHost.tagName : null;
31337
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[component-host] innerHost=${innerHost === null ? "null" : `tagName=${innerHost.descriptor.tagName}, attrs=[${[...innerHost.descriptor.staticAttributes.keys()]}]`}`);
31338
+ let tagName = innerHost !== null ? innerHost.descriptor.tagName : null;
31282
31339
  if (tagName === null) {
31283
31340
  tagName = resolveTagNameFromPolymorphicProp(entry.staticAttributes);
31284
- if (logger.enabled) logger.trace(`[component-host] polymorphic fallback: tagName=${tagName}`);
31341
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[component-host] polymorphic fallback: tagName=${tagName}`);
31285
31342
  }
31286
- const staticAttributes = innerHost !== null ? mergeStaticAttributes(entry.staticAttributes, innerHost.staticAttributes) : entry.staticAttributes;
31287
- const staticClassTokens = innerHost !== null ? mergeStaticClassTokens(entry.staticClassTokens, innerHost.staticClassTokens) : entry.staticClassTokens;
31288
- const forwardsChildren = entry.forwardsChildren || innerHost !== null && innerHost.forwardsChildren;
31289
- if (logger.enabled) logger.trace(`[component-host] resolved: tagName=${tagName}, attrs=[${[...staticAttributes.keys()]}], classes=[${staticClassTokens}]`);
31343
+ const staticAttributes = innerHost !== null ? mergeStaticAttributes(entry.staticAttributes, innerHost.descriptor.staticAttributes) : entry.staticAttributes;
31344
+ const staticClassTokens = innerHost !== null ? mergeStaticClassTokens(entry.staticClassTokens, innerHost.descriptor.staticClassTokens) : entry.staticClassTokens;
31345
+ const forwardsChildren = entry.forwardsChildren || innerHost !== null && innerHost.descriptor.forwardsChildren;
31346
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[component-host] resolved: tagName=${tagName}, attrs=[${[...staticAttributes.keys()]}], classes=[${staticClassTokens}]`);
31290
31347
  return {
31291
- tagName,
31292
- staticAttributes,
31293
- staticClassTokens,
31294
- forwardsChildren
31348
+ descriptor: { tagName, staticAttributes, staticClassTokens, forwardsChildren },
31349
+ hostElementRef: innerHost?.hostElementRef ?? null
31295
31350
  };
31296
31351
  }
31297
31352
  function extractHostFromBinding(binding) {
@@ -31332,10 +31387,7 @@ function createLayoutComponentHostResolver(solids, moduleResolver, logger = noop
31332
31387
  if (hostEntry) {
31333
31388
  const resolved = resolveComponentHostEntry(hostEntry);
31334
31389
  if (resolved !== null) {
31335
- const binding = {
31336
- kind: "component",
31337
- host: resolved
31338
- };
31390
+ const binding = { kind: "component", host: resolved };
31339
31391
  localBindingCache.set(key, binding);
31340
31392
  resolvingLocal.delete(key);
31341
31393
  return binding;
@@ -31396,7 +31448,7 @@ function createLayoutComponentHostResolver(solids, moduleResolver, logger = noop
31396
31448
  const baseExpression = toExpressionArgument(firstArg);
31397
31449
  if (baseExpression === null) return null;
31398
31450
  const baseBinding = resolveBindingFromExpression(filePath, baseExpression);
31399
- if (logger.enabled) logger.trace(`[component-host] Object.assign base: ${baseBinding === null ? "null" : baseBinding.kind}${baseBinding?.kind === "component" ? `, tagName=${baseBinding.host.tagName}` : ""}`);
31451
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[component-host] Object.assign base: ${baseBinding === null ? "null" : baseBinding.kind}${baseBinding?.kind === "component" ? `, tagName=${baseBinding.host.descriptor.tagName}` : ""}`);
31400
31452
  let baseComponent = null;
31401
31453
  const members = /* @__PURE__ */ new Map();
31402
31454
  if (baseBinding && baseBinding.kind === "component") {
@@ -31422,7 +31474,7 @@ function createLayoutComponentHostResolver(solids, moduleResolver, logger = noop
31422
31474
  if (!ts123.isObjectLiteralExpression(argument)) continue;
31423
31475
  appendObjectExpressionMembers(filePath, argument, members);
31424
31476
  }
31425
- if (logger.enabled) logger.trace(`[component-host] Object.assign result: base=${baseComponent === null ? "null" : `tagName=${baseComponent.host.tagName}`}, members=[${[...members.keys()]}]`);
31477
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[component-host] Object.assign result: base=${baseComponent === null ? "null" : `tagName=${baseComponent.host.descriptor.tagName}`}, members=[${[...members.keys()]}]`);
31426
31478
  if (baseComponent === null && members.size === 0) return null;
31427
31479
  return {
31428
31480
  kind: "namespace",
@@ -31464,7 +31516,7 @@ function createLayoutComponentHostResolver(solids, moduleResolver, logger = noop
31464
31516
  }
31465
31517
  function resolveBindingFromImport(filePath, importBinding) {
31466
31518
  const resolvedModule = moduleResolver.resolveSolid(filePath, importBinding.source) ?? resolveAndIndexExternalModule(filePath, importBinding.source);
31467
- if (logger.enabled) logger.trace(`[component-host] resolveBindingFromImport: source=${importBinding.source}, kind=${importBinding.kind}, resolvedModule=${resolvedModule}`);
31519
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[component-host] resolveBindingFromImport: source=${importBinding.source}, kind=${importBinding.kind}, resolvedModule=${resolvedModule}`);
31468
31520
  if (resolvedModule === null) return null;
31469
31521
  const normalized = resolve4(resolvedModule);
31470
31522
  if (importBinding.kind === "namespace") {
@@ -31473,7 +31525,7 @@ function createLayoutComponentHostResolver(solids, moduleResolver, logger = noop
31473
31525
  const exportName = importBinding.kind === "default" ? "default" : importBinding.importedName;
31474
31526
  if (exportName === null) return null;
31475
31527
  const result = resolveExportBinding(normalized, exportName);
31476
- if (logger.enabled) logger.trace(`[component-host] export ${exportName}: ${result === null ? "null" : result.kind}`);
31528
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[component-host] export ${exportName}: ${result === null ? "null" : result.kind}`);
31477
31529
  return result;
31478
31530
  }
31479
31531
  function resolveAndIndexExternalModule(importerFile, importSource) {
@@ -31667,6 +31719,7 @@ function collectComponentHosts(graph) {
31667
31719
  }
31668
31720
  function resolveComponentHostEntryForFunction(graph, fn) {
31669
31721
  let entry = null;
31722
+ let hostElementRefAgreed = true;
31670
31723
  const bodyEntry = resolveHostEntryFromFunctionBody(graph, fn);
31671
31724
  if (bodyEntry !== null) {
31672
31725
  entry = bodyEntry;
@@ -31682,9 +31735,17 @@ function resolveComponentHostEntryForFunction(graph, fn) {
31682
31735
  entry = returnEntry;
31683
31736
  continue;
31684
31737
  }
31685
- if (areComponentHostEntriesEqual(entry, returnEntry)) continue;
31738
+ if (areComponentHostEntriesEqual(entry, returnEntry)) {
31739
+ if (hostElementRefAgreed && entry.resolution === "resolved" && returnEntry.resolution === "resolved" && entry.hostElementRef !== returnEntry.hostElementRef) {
31740
+ hostElementRefAgreed = false;
31741
+ }
31742
+ continue;
31743
+ }
31686
31744
  return null;
31687
31745
  }
31746
+ if (!hostElementRefAgreed && entry !== null && entry.resolution === "resolved") {
31747
+ return { resolution: "resolved", descriptor: entry.descriptor, hostElementRef: null };
31748
+ }
31688
31749
  return entry;
31689
31750
  }
31690
31751
  function resolveHostEntryFromFunctionBody(graph, fn) {
@@ -31712,7 +31773,8 @@ function resolveHostEntryFromJSXElement(graph, node) {
31712
31773
  staticAttributes: collectStaticAttributes(element),
31713
31774
  staticClassTokens: getStaticClassTokensForElementEntity(graph, element),
31714
31775
  forwardsChildren: detectChildrenForwarding(element)
31715
- }
31776
+ },
31777
+ hostElementRef: { solid: graph, element }
31716
31778
  };
31717
31779
  }
31718
31780
  if (isContextProviderTag(element.tag)) {
@@ -32881,7 +32943,7 @@ function matchesChain(matcher, node, index, perf, fileRootElements, logger) {
32881
32943
  ancestor = ancestor.parentElementNode;
32882
32944
  }
32883
32945
  if (fileRootElements !== null) {
32884
- if (logger.enabled) {
32946
+ if (logger.isLevelEnabled(Level.Trace)) {
32885
32947
  const compoundDesc = describeCompound(targetCompound);
32886
32948
  logger.trace(`[selector-match] fallback: node=${node.key} tag=${node.tagName} checking ${fileRootElements.length} roots for compound=${compoundDesc}`);
32887
32949
  }
@@ -32892,11 +32954,11 @@ function matchesChain(matcher, node, index, perf, fileRootElements, logger) {
32892
32954
  if (root.solidFile !== node.solidFile) continue;
32893
32955
  perf.ancestryChecks++;
32894
32956
  const compoundResult = matchesCompound(root, targetCompound);
32895
- if (logger.enabled && compoundResult === "no-match") {
32957
+ if (logger.isLevelEnabled(Level.Trace) && compoundResult === "no-match") {
32896
32958
  logger.trace(`[selector-match] fallback MISS: root=${root.key} tag=${root.tagName} attrs=[${[...root.attributes.entries()].map(([k, v]) => `${k}=${v}`).join(",")}]`);
32897
32959
  }
32898
32960
  if (compoundResult !== "no-match") {
32899
- if (logger.enabled) {
32961
+ if (logger.isLevelEnabled(Level.Debug)) {
32900
32962
  const compoundDesc = describeCompound(targetCompound);
32901
32963
  logger.debug(`[selector-match] fallback HIT: node=${node.key} tag=${node.tagName} matched root=${root.key} tag=${root.tagName} compound=${compoundDesc} isFinal=${isFinal}`);
32902
32964
  }
@@ -34019,6 +34081,9 @@ function readBaselineOffsetFacts(graph, node) {
34019
34081
  function readElementRef(graph, node) {
34020
34082
  return readElementRefById(graph, node.solidFile, node.elementId);
34021
34083
  }
34084
+ function readHostElementRef(graph, node) {
34085
+ return graph.hostElementRefsByNode.get(node) ?? null;
34086
+ }
34022
34087
  function readElementRefById(graph, solidFile, elementId) {
34023
34088
  const refs = graph.elementRefsBySolidFileAndId.get(solidFile);
34024
34089
  if (!refs) return null;
@@ -36717,7 +36782,7 @@ function appendMatchingEdgesFromSelectorIds(ctx, selectorIds, node, applies, app
36717
36782
  };
36718
36783
  applies.push(edge);
36719
36784
  ctx.perf.matchEdgesCreated++;
36720
- if (ctx.logger.enabled) {
36785
+ if (ctx.logger.isLevelEnabled(Level.Trace)) {
36721
36786
  ctx.logger.trace(
36722
36787
  `[cascade] edge node=${node.key} selector=${selector.id} match=${matchResult} conditional=${edge.conditionalMatch} selector-raw=${selector.raw.slice(0, 80)}`
36723
36788
  );
@@ -37160,7 +37225,7 @@ function getTextualContentState(element, memo, compositionMetaByElementId, logge
37160
37225
  if (!child) continue;
37161
37226
  if (child.kind === "expression") {
37162
37227
  if (isStructuralExpression(child.node)) {
37163
- if (logger.enabled) logger.trace(`[textual-content] element=${element.tagName ?? element.tag}#${element.id} \u2192 unknown (structural expression child)`);
37228
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[textual-content] element=${element.tagName ?? element.tag}#${element.id} \u2192 unknown (structural expression child)`);
37164
37229
  memo.set(element.id, 2 /* Unknown */);
37165
37230
  return 2 /* Unknown */;
37166
37231
  }
@@ -37182,11 +37247,11 @@ function getTextualContentState(element, memo, compositionMetaByElementId, logge
37182
37247
  if (!child.isDomElement) {
37183
37248
  const childMeta = compositionMetaByElementId.get(child.id);
37184
37249
  if (childMeta !== void 0 && isControlTag(childMeta.tagName)) {
37185
- if (logger.enabled) logger.trace(`[textual-content] element=${element.tagName ?? element.tag}#${element.id}: non-DOM child ${child.tag}#${child.id} resolves to control tag=${childMeta.tagName}, skipping`);
37250
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[textual-content] element=${element.tagName ?? element.tag}#${element.id}: non-DOM child ${child.tag}#${child.id} resolves to control tag=${childMeta.tagName}, skipping`);
37186
37251
  continue;
37187
37252
  }
37188
37253
  if (childState !== 1 /* No */) {
37189
- if (logger.enabled) logger.trace(`[textual-content] element=${element.tagName ?? element.tag}#${element.id}: non-DOM child ${child.tag ?? child.id}#${child.id} has state=${childState} \u2192 childHasUnknown`);
37254
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[textual-content] element=${element.tagName ?? element.tag}#${element.id}: non-DOM child ${child.tag ?? child.id}#${child.id} has state=${childState} \u2192 childHasUnknown`);
37190
37255
  childHasUnknown = true;
37191
37256
  }
37192
37257
  continue;
@@ -37199,12 +37264,12 @@ function getTextualContentState(element, memo, compositionMetaByElementId, logge
37199
37264
  if (childState === 3 /* DynamicText */) childHasDynamicText = true;
37200
37265
  }
37201
37266
  if (childHasUnknown) {
37202
- if (logger.enabled) logger.trace(`[textual-content] element=${element.tagName ?? element.tag}#${element.id} \u2192 unknown (child has unknown)`);
37267
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[textual-content] element=${element.tagName ?? element.tag}#${element.id} \u2192 unknown (child has unknown)`);
37203
37268
  memo.set(element.id, 2 /* Unknown */);
37204
37269
  return 2 /* Unknown */;
37205
37270
  }
37206
37271
  if (hasTextOnlyExpression || childHasDynamicText) {
37207
- if (logger.enabled) logger.trace(`[textual-content] element=${element.tagName ?? element.tag}#${element.id} \u2192 dynamic-text`);
37272
+ if (logger.isLevelEnabled(Level.Trace)) logger.trace(`[textual-content] element=${element.tagName ?? element.tag}#${element.id} \u2192 dynamic-text`);
37208
37273
  memo.set(element.id, 3 /* DynamicText */);
37209
37274
  return 3 /* DynamicText */;
37210
37275
  }
@@ -37226,15 +37291,16 @@ function collectLayoutElementRecordsForSolid(solid, selectorRequirements, inline
37226
37291
  const meta = compositionMetaByElementId.get(element.id);
37227
37292
  if (!meta || !meta.participates) continue;
37228
37293
  const localClassTokens = selectorRequirements.needsClassTokens ? getStaticClassTokensForElementEntity(solid, element) : EMPTY_STRING_LIST3;
37229
- const classTokens = mergeClassTokens(localClassTokens, meta.hostDescriptor?.staticClassTokens);
37294
+ const classTokens = mergeClassTokens(localClassTokens, meta.resolvedHost?.descriptor.staticClassTokens);
37230
37295
  const classTokenSet = classTokens.length === 0 ? EMPTY_CLASS_TOKEN_SET : createClassTokenSet(classTokens);
37231
37296
  const inlineStyleKeys = getStaticStyleKeysForElement(solid, element.id);
37232
37297
  const localAttributes = selectorRequirements.needsAttributes ? collectStaticAttributes(element) : EMPTY_ATTRIBUTES2;
37233
- const attributes = mergeAttributes(localAttributes, meta.hostDescriptor?.staticAttributes);
37298
+ const attributes = mergeAttributes(localAttributes, meta.resolvedHost?.descriptor.staticAttributes);
37234
37299
  const selectorDispatchKeys = buildSelectorDispatchKeys(attributes, classTokens);
37235
37300
  const inlineStyleValues = inlineStyleValuesByElementId.get(element.id) ?? EMPTY_INLINE_STYLE_VALUES;
37236
37301
  const textualContent = getTextualContentState(element, textContentMemo, compositionMetaByElementId, logger);
37237
37302
  const parentElementId = resolveComposedParentElementId(element, compositionMetaByElementId);
37303
+ const hostElementRef = meta.resolvedHost?.hostElementRef ?? null;
37238
37304
  out.push({
37239
37305
  element,
37240
37306
  key: toLayoutElementKey(solid.file, element.id),
@@ -37247,7 +37313,8 @@ function collectLayoutElementRecordsForSolid(solid, selectorRequirements, inline
37247
37313
  selectorDispatchKeys,
37248
37314
  inlineStyleValues,
37249
37315
  textualContent,
37250
- parentElementId
37316
+ parentElementId,
37317
+ hostElementRef
37251
37318
  });
37252
37319
  }
37253
37320
  return out;
@@ -37257,7 +37324,7 @@ function collectCompositionMetaByElementId(solid, componentHostResolver) {
37257
37324
  for (let i = 0; i < solid.jsxElements.length; i++) {
37258
37325
  const element = solid.jsxElements[i];
37259
37326
  if (!element) continue;
37260
- const hostDescriptor = resolveHostDescriptorForElement(
37327
+ const resolvedHost = resolveHostForElement(
37261
37328
  componentHostResolver,
37262
37329
  solid.file,
37263
37330
  element
@@ -37266,30 +37333,30 @@ function collectCompositionMetaByElementId(solid, componentHostResolver) {
37266
37333
  componentHostResolver,
37267
37334
  solid.file,
37268
37335
  element,
37269
- hostDescriptor
37336
+ resolvedHost
37270
37337
  );
37271
37338
  const participates = element.tag !== null && !isTransparentPrimitive;
37272
- const tag = resolveEffectiveTag(element, hostDescriptor);
37339
+ const tag = resolveEffectiveTag(element, resolvedHost?.descriptor ?? null);
37273
37340
  const tagName = tag ? tag.toLowerCase() : null;
37274
37341
  out.set(element.id, {
37275
37342
  element,
37276
37343
  participates,
37277
37344
  tag,
37278
37345
  tagName,
37279
- hostDescriptor
37346
+ resolvedHost
37280
37347
  });
37281
37348
  }
37282
37349
  return out;
37283
37350
  }
37284
- function resolveHostDescriptorForElement(componentHostResolver, solidFile, element) {
37351
+ function resolveHostForElement(componentHostResolver, solidFile, element) {
37285
37352
  if (element.tag === null) return null;
37286
37353
  if (element.isDomElement) return null;
37287
37354
  return componentHostResolver.resolveHost(solidFile, element.tag);
37288
37355
  }
37289
- function resolveTransparentPrimitiveStatus(componentHostResolver, solidFile, element, hostDescriptor) {
37356
+ function resolveTransparentPrimitiveStatus(componentHostResolver, solidFile, element, resolvedHost) {
37290
37357
  if (element.tag === null) return false;
37291
37358
  if (element.isDomElement) return false;
37292
- if (hostDescriptor !== null) return false;
37359
+ if (resolvedHost !== null) return false;
37293
37360
  return componentHostResolver.isTransparentPrimitive(solidFile, element.tag);
37294
37361
  }
37295
37362
  function resolveEffectiveTag(element, hostDescriptor) {
@@ -37407,6 +37474,7 @@ function buildLayoutGraph(solids, css, logger = noopLogger) {
37407
37474
  const childrenByParentNodeMutable = /* @__PURE__ */ new Map();
37408
37475
  const elementBySolidFileAndIdMutable = /* @__PURE__ */ new Map();
37409
37476
  const elementRefsBySolidFileAndIdMutable = /* @__PURE__ */ new Map();
37477
+ const hostElementRefsByNodeMutable = /* @__PURE__ */ new Map();
37410
37478
  const appliesByElementNodeMutable = /* @__PURE__ */ new Map();
37411
37479
  const selectorsById = /* @__PURE__ */ new Map();
37412
37480
  const monitoredDeclarationsBySelectorId = /* @__PURE__ */ new Map();
@@ -37443,7 +37511,7 @@ function buildLayoutGraph(solids, css, logger = noopLogger) {
37443
37511
  const moduleResolver = createLayoutModuleResolver(solids, css);
37444
37512
  const componentHostResolver = createLayoutComponentHostResolver(solids, moduleResolver, logger);
37445
37513
  const cssScopeBySolidFile = collectCSSScopeBySolidFile(solids, css, moduleResolver);
37446
- if (logger.enabled) {
37514
+ if (logger.isLevelEnabled(Level.Trace)) {
37447
37515
  for (const [solidFile, scopePaths] of cssScopeBySolidFile) {
37448
37516
  if (scopePaths.length > 0) {
37449
37517
  let names = "";
@@ -37538,6 +37606,9 @@ function buildLayoutGraph(solids, css, logger = noopLogger) {
37538
37606
  isControl: isControlTag(record.tagName),
37539
37607
  isReplaced: isReplacedTag(record.tagName)
37540
37608
  };
37609
+ if (record.hostElementRef !== null) {
37610
+ hostElementRefsByNodeMutable.set(node, record.hostElementRef);
37611
+ }
37541
37612
  elements.push(node);
37542
37613
  elementById.set(record.element.id, node);
37543
37614
  nodeByElementId.set(record.element.id, node);
@@ -37559,7 +37630,7 @@ function buildLayoutGraph(solids, css, logger = noopLogger) {
37559
37630
  }
37560
37631
  }
37561
37632
  }
37562
- if (logger.enabled) {
37633
+ if (logger.isLevelEnabled(Level.Debug)) {
37563
37634
  for (const [file, roots] of rootElementsByFile) {
37564
37635
  const descs = roots.map((r) => `${r.key}(tag=${r.tagName}, attrs=[${[...r.attributes.entries()].map(([k, v]) => `${k}=${v}`).join(",")}])`);
37565
37636
  logger.debug(`[build] rootElementsByFile file=${file} count=${roots.length}: ${descs.join(", ")}`);
@@ -37602,7 +37673,7 @@ function buildLayoutGraph(solids, css, logger = noopLogger) {
37602
37673
  appliesByNode.set(node, edges);
37603
37674
  }
37604
37675
  perf.cascadeBuildMs = performance.now() - cascadeStartedAt;
37605
- if (logger.enabled) {
37676
+ if (logger.isLevelEnabled(Level.Trace)) {
37606
37677
  for (let i = 0; i < elements.length; i++) {
37607
37678
  const node = elements[i];
37608
37679
  if (!node) continue;
@@ -37658,6 +37729,7 @@ function buildLayoutGraph(solids, css, logger = noopLogger) {
37658
37729
  childrenByParentNode: childrenByParentNodeMutable,
37659
37730
  elementBySolidFileAndId: elementBySolidFileAndIdMutable,
37660
37731
  elementRefsBySolidFileAndId: elementRefsBySolidFileAndIdMutable,
37732
+ hostElementRefsByNode: hostElementRefsByNodeMutable,
37661
37733
  appliesByNode,
37662
37734
  selectorCandidatesByNode,
37663
37735
  selectorsById,
@@ -38058,7 +38130,7 @@ function computeFlowParticipationFact(snapshot) {
38058
38130
  }
38059
38131
  function buildContextIndex(childrenByParentNode, snapshotByElementNode, perf, logger) {
38060
38132
  const out = /* @__PURE__ */ new Map();
38061
- const trace = logger.enabled;
38133
+ const trace = logger.isLevelEnabled(Level.Trace);
38062
38134
  for (const [parent, children] of childrenByParentNode) {
38063
38135
  if (children.length < 2) continue;
38064
38136
  const snapshot = snapshotByElementNode.get(parent);
@@ -38928,7 +39000,7 @@ function runLayoutDetector(context, detector) {
38928
39000
  result.evidence.posteriorLower,
38929
39001
  result.evidence.posteriorUpper
38930
39002
  );
38931
- if (log.enabled) {
39003
+ if (log.isLevelEnabled(Level.Debug)) {
38932
39004
  log.debug(
38933
39005
  `[${detector.id}] accept case=${i} severity=${result.evidence.severity.toFixed(2)} confidence=${result.evidence.confidence.toFixed(2)} posterior=[${result.evidence.posteriorLower.toFixed(3)},${result.evidence.posteriorUpper.toFixed(3)}] evidenceMass=${result.evidence.evidenceMass.toFixed(3)} context=${result.evidence.contextKind} offset=${result.evidence.estimatedOffsetPx?.toFixed(2) ?? "null"} topFactors=[${result.evidence.topFactors.join(",")}] causes=[${result.evidence.causes.join("; ")}]`
38934
39006
  );
@@ -38937,7 +39009,7 @@ function runLayoutDetector(context, detector) {
38937
39009
  continue;
38938
39010
  }
38939
39011
  recordPolicyMetrics(context, result.evidenceMass, result.posteriorLower, result.posteriorUpper);
38940
- if (log.enabled) {
39012
+ if (log.isLevelEnabled(Level.Debug)) {
38941
39013
  log.debug(
38942
39014
  `[${detector.id}] reject case=${i} reason=${result.reason} detail=${result.detail ?? "none"} posterior=[${result.posteriorLower.toFixed(3)},${result.posteriorUpper.toFixed(3)}] evidenceMass=${result.evidenceMass.toFixed(3)}`
38943
39015
  );
@@ -39558,13 +39630,39 @@ var INLINE_TOUCH_TARGET_KEYS = /* @__PURE__ */ new Set([
39558
39630
  "height",
39559
39631
  "min-height",
39560
39632
  "width",
39561
- "min-width",
39562
- "padding-left",
39563
- "padding-right",
39564
- "padding-inline",
39565
- "padding-inline-start",
39566
- "padding-inline-end"
39633
+ "min-width"
39567
39634
  ]);
39635
+ var INTERACTIVE_HTML_TAGS = /* @__PURE__ */ new Set(["button", "a", "input", "select", "textarea", "label", "summary"]);
39636
+ var INTERACTIVE_ARIA_ROLES = /* @__PURE__ */ new Set([
39637
+ "button",
39638
+ "link",
39639
+ "checkbox",
39640
+ "radio",
39641
+ "combobox",
39642
+ "listbox",
39643
+ "menuitem",
39644
+ "menuitemcheckbox",
39645
+ "menuitemradio",
39646
+ "option",
39647
+ "switch",
39648
+ "tab"
39649
+ ]);
39650
+ function isInteractiveElement(solid, element, hostElementRef) {
39651
+ if (element.tagName !== null && INTERACTIVE_HTML_TAGS.has(element.tagName)) return true;
39652
+ const roleAttr = getJSXAttributeEntity(solid, element, "role");
39653
+ if (roleAttr !== null && roleAttr.valueNode !== null) {
39654
+ const role = getStaticStringFromJSXValue(roleAttr.valueNode);
39655
+ if (role !== null && INTERACTIVE_ARIA_ROLES.has(role)) return true;
39656
+ }
39657
+ if (hostElementRef !== null && hostElementRef.element.tagName !== null) {
39658
+ if (INTERACTIVE_HTML_TAGS.has(hostElementRef.element.tagName)) return true;
39659
+ }
39660
+ return false;
39661
+ }
39662
+ function readNodeHostElementRef(layout, solid, element) {
39663
+ const node = layout.elementBySolidFileAndId.get(solid.file)?.get(element.id) ?? null;
39664
+ return node !== null ? readHostElementRef(layout, node) : null;
39665
+ }
39568
39666
  var jsxStylePolicy = defineCrossRule({
39569
39667
  id: "jsx-style-policy",
39570
39668
  severity: "warn",
@@ -39575,11 +39673,11 @@ var jsxStylePolicy = defineCrossRule({
39575
39673
  category: "css-jsx"
39576
39674
  },
39577
39675
  check(context, emit) {
39578
- const { solids } = context;
39676
+ const { solids, layout } = context;
39579
39677
  const policy = getActivePolicy();
39580
39678
  if (policy === null) return;
39581
39679
  const name = getActivePolicyName() ?? "";
39582
- forEachStylePropertyAcross(solids, (solid, p) => {
39680
+ forEachStylePropertyAcross(solids, (solid, p, element) => {
39583
39681
  if (!ts133.isPropertyAssignment(p)) return;
39584
39682
  const key = objectKeyName(p.name);
39585
39683
  if (!key) return;
@@ -39627,6 +39725,8 @@ var jsxStylePolicy = defineCrossRule({
39627
39725
  return;
39628
39726
  }
39629
39727
  if (INLINE_TOUCH_TARGET_KEYS.has(normalizedKey)) {
39728
+ const hostRef = readNodeHostElementRef(layout, solid, element);
39729
+ if (!isInteractiveElement(solid, element, hostRef)) return;
39630
39730
  const strVal = getStaticStringValue(p.initializer);
39631
39731
  if (!strVal) return;
39632
39732
  const px = parsePxValue(strVal);
@@ -39705,7 +39805,7 @@ var siblingAlignmentDetector = {
39705
39805
  id: "sibling-alignment-outlier",
39706
39806
  collect: collectAlignmentCases,
39707
39807
  evaluate(input, context) {
39708
- if (context.logger.enabled) {
39808
+ if (context.logger.isLevelEnabled(Level.Trace)) {
39709
39809
  const ctx = input.context;
39710
39810
  context.logger.trace(
39711
39811
  `[sibling-alignment] evaluate subject=${input.subject.elementKey} tag=${input.subject.tag} parent=${ctx.parentElementKey} parentTag=${ctx.parentTag} context.kind=${ctx.kind} certainty=${ctx.certainty} display=${ctx.parentDisplay} alignItems=${ctx.parentAlignItems} crossAxisIsBlockAxis=${ctx.crossAxisIsBlockAxis} crossAxisCertainty=${ctx.crossAxisIsBlockAxisCertainty} baseline=${ctx.baselineRelevance}`
@@ -39754,7 +39854,7 @@ var cssLayoutSiblingAlignmentOutlier = defineCrossRule({
39754
39854
  const log = context.logger;
39755
39855
  const detections = runLayoutDetector(context, siblingAlignmentDetector);
39756
39856
  const uniqueDetections = dedupeDetectionsBySubject(detections);
39757
- if (log.enabled) {
39857
+ if (log.isLevelEnabled(Level.Debug)) {
39758
39858
  log.debug(
39759
39859
  `[sibling-alignment] raw=${detections.length} deduped=${uniqueDetections.length}`
39760
39860
  );
@@ -39768,7 +39868,7 @@ var cssLayoutSiblingAlignmentOutlier = defineCrossRule({
39768
39868
  const subjectId = detection.caseData.subject.elementId;
39769
39869
  const logPrefix = `[sibling-alignment] <${subjectTag}> in <${parentTag}> (${subjectFile}#${subjectId})`;
39770
39870
  if (detection.evidence.confidence < MIN_CONFIDENCE_THRESHOLD) {
39771
- if (log.enabled) {
39871
+ if (log.isLevelEnabled(Level.Debug)) {
39772
39872
  log.debug(
39773
39873
  `${logPrefix} SKIP: confidence=${detection.evidence.confidence.toFixed(2)} < threshold=${MIN_CONFIDENCE_THRESHOLD}`
39774
39874
  );
@@ -39777,7 +39877,7 @@ var cssLayoutSiblingAlignmentOutlier = defineCrossRule({
39777
39877
  }
39778
39878
  const estimatedOffset = detection.evidence.estimatedOffsetPx;
39779
39879
  if (estimatedOffset !== null && Math.abs(estimatedOffset) < MIN_OFFSET_PX_THRESHOLD && !hasNonOffsetPrimaryEvidence(detection.evidence.topFactors)) {
39780
- if (log.enabled) {
39880
+ if (log.isLevelEnabled(Level.Debug)) {
39781
39881
  log.debug(
39782
39882
  `${logPrefix} SKIP: offset=${estimatedOffset.toFixed(2)}px < ${MIN_OFFSET_PX_THRESHOLD}px (no non-offset primary evidence, topFactors=[${detection.evidence.topFactors.join(",")}])`
39783
39883
  );
@@ -39789,7 +39889,7 @@ var cssLayoutSiblingAlignmentOutlier = defineCrossRule({
39789
39889
  detection.caseData.cohort.parentElementKey,
39790
39890
  detection.caseData.subject.solidFile
39791
39891
  )) {
39792
- if (log.enabled) {
39892
+ if (log.isLevelEnabled(Level.Debug)) {
39793
39893
  log.debug(`${logPrefix} SKIP: out-of-flow ancestor`);
39794
39894
  }
39795
39895
  continue;
@@ -39800,7 +39900,7 @@ var cssLayoutSiblingAlignmentOutlier = defineCrossRule({
39800
39900
  detection.caseData.subject.elementId
39801
39901
  );
39802
39902
  if (!subjectRef) {
39803
- if (log.enabled) {
39903
+ if (log.isLevelEnabled(Level.Debug)) {
39804
39904
  log.debug(`${logPrefix} SKIP: no node ref`);
39805
39905
  }
39806
39906
  continue;
@@ -39816,7 +39916,7 @@ var cssLayoutSiblingAlignmentOutlier = defineCrossRule({
39816
39916
  const primaryFix = detection.evidence.primaryFix;
39817
39917
  const firstChar = primaryFix.length > 0 ? primaryFix[0] : void 0;
39818
39918
  const fix = firstChar !== void 0 ? ` ${firstChar.toUpperCase()}${primaryFix.slice(1)}.` : "";
39819
- if (log.enabled) {
39919
+ if (log.isLevelEnabled(Level.Debug)) {
39820
39920
  log.debug(
39821
39921
  `${logPrefix} EMIT: severity=${severity} confidence=${confidence} offset=${offset?.toFixed(2) ?? "null"} posterior=[${detection.evidence.posteriorLower.toFixed(3)},${detection.evidence.posteriorUpper.toFixed(3)}] evidenceMass=${detection.evidence.evidenceMass.toFixed(3)} topFactors=[${detection.evidence.topFactors.join(",")}] causes=[${causes}]`
39822
39922
  );
@@ -40225,7 +40325,8 @@ var cssLayoutUnsizedReplacedElement = defineCrossRule({
40225
40325
  const ref = readNodeRef(context.layout, node);
40226
40326
  if (!ref) continue;
40227
40327
  const reservedSpace = readReservedSpaceFact(context.layout, node);
40228
- if (hasReservedSize(ref.solid, node.attributes, ref.element, reservedSpace)) continue;
40328
+ const hostRef = readHostElementRef(context.layout, node);
40329
+ if (hasReservedSize(ref.solid, node.attributes, ref.element, reservedSpace, hostRef)) continue;
40229
40330
  emit(
40230
40331
  createDiagnostic(
40231
40332
  ref.solid.file,
@@ -40240,15 +40341,17 @@ var cssLayoutUnsizedReplacedElement = defineCrossRule({
40240
40341
  }
40241
40342
  }
40242
40343
  });
40243
- function hasReservedSize(solid, attributes, element, reservedSpaceFact) {
40344
+ function hasReservedSize(solid, attributes, element, reservedSpaceFact, hostElementRef) {
40244
40345
  if (reservedSpaceFact.hasReservedSpace) return true;
40245
40346
  const attrWidth = parsePositiveLength(attributes.get("width"));
40246
40347
  const attrHeight = parsePositiveLength(attributes.get("height"));
40247
40348
  const jsxAttrWidth = readPositiveJsxAttribute(solid, element, "width");
40248
40349
  const jsxAttrHeight = readPositiveJsxAttribute(solid, element, "height");
40249
- if (attrWidth && attrHeight || jsxAttrWidth && jsxAttrHeight) return true;
40250
- const hasAnyWidth = attrWidth || jsxAttrWidth || reservedSpaceFact.hasUsableInlineDimension;
40251
- const hasAnyHeight = attrHeight || jsxAttrHeight || reservedSpaceFact.hasUsableBlockDimension || reservedSpaceFact.hasContainIntrinsicSize;
40350
+ const hostJsxWidth = hostElementRef !== null ? readPositiveJsxAttribute(hostElementRef.solid, hostElementRef.element, "width") : false;
40351
+ const hostJsxHeight = hostElementRef !== null ? readPositiveJsxAttribute(hostElementRef.solid, hostElementRef.element, "height") : false;
40352
+ if (attrWidth && attrHeight || jsxAttrWidth && jsxAttrHeight || hostJsxWidth && hostJsxHeight) return true;
40353
+ const hasAnyWidth = attrWidth || jsxAttrWidth || hostJsxWidth || reservedSpaceFact.hasUsableInlineDimension;
40354
+ const hasAnyHeight = attrHeight || jsxAttrHeight || hostJsxHeight || reservedSpaceFact.hasUsableBlockDimension || reservedSpaceFact.hasContainIntrinsicSize;
40252
40355
  if (reservedSpaceFact.hasUsableAspectRatio && (hasAnyWidth || hasAnyHeight)) return true;
40253
40356
  if (reservedSpaceFact.hasContainIntrinsicSize && (hasAnyWidth || hasAnyHeight)) return true;
40254
40357
  return false;
@@ -41264,6 +41367,7 @@ export {
41264
41367
  classifyFile,
41265
41368
  extensionsToGlobs,
41266
41369
  canonicalPath,
41370
+ Level,
41267
41371
  noopLogger,
41268
41372
  SolidGraph,
41269
41373
  runPhases,
@@ -41284,4 +41388,4 @@ export {
41284
41388
  rules3,
41285
41389
  runCrossFileRules
41286
41390
  };
41287
- //# sourceMappingURL=chunk-BK7TC7DN.js.map
41391
+ //# sourceMappingURL=chunk-SVX3WRFV.js.map