@jesscss/core 2.0.0-alpha.1 → 2.0.0-alpha.4

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 (101) hide show
  1. package/lib/tree/any.d.ts +1 -1
  2. package/lib/tree/any.d.ts.map +1 -1
  3. package/lib/tree/any.js +5 -2
  4. package/lib/tree/any.js.map +1 -1
  5. package/lib/tree/bool.d.ts +1 -0
  6. package/lib/tree/bool.d.ts.map +1 -1
  7. package/lib/tree/bool.js +5 -1
  8. package/lib/tree/bool.js.map +1 -1
  9. package/lib/tree/color.d.ts.map +1 -1
  10. package/lib/tree/color.js +2 -2
  11. package/lib/tree/color.js.map +1 -1
  12. package/lib/tree/combinator.d.ts +1 -0
  13. package/lib/tree/combinator.d.ts.map +1 -1
  14. package/lib/tree/combinator.js +5 -1
  15. package/lib/tree/combinator.js.map +1 -1
  16. package/lib/tree/comment.d.ts.map +1 -1
  17. package/lib/tree/comment.js +2 -1
  18. package/lib/tree/comment.js.map +1 -1
  19. package/lib/tree/declaration-var.d.ts +0 -1
  20. package/lib/tree/declaration-var.d.ts.map +1 -1
  21. package/lib/tree/declaration-var.js +1 -1
  22. package/lib/tree/declaration-var.js.map +1 -1
  23. package/lib/tree/declaration.d.ts.map +1 -1
  24. package/lib/tree/declaration.js +5 -8
  25. package/lib/tree/declaration.js.map +1 -1
  26. package/lib/tree/dimension.d.ts +1 -0
  27. package/lib/tree/dimension.d.ts.map +1 -1
  28. package/lib/tree/dimension.js +5 -2
  29. package/lib/tree/dimension.js.map +1 -1
  30. package/lib/tree/expression.d.ts +1 -0
  31. package/lib/tree/expression.d.ts.map +1 -1
  32. package/lib/tree/expression.js +5 -1
  33. package/lib/tree/expression.js.map +1 -1
  34. package/lib/tree/extend-list.d.ts +2 -2
  35. package/lib/tree/extend-list.d.ts.map +1 -1
  36. package/lib/tree/extend-list.js +5 -2
  37. package/lib/tree/extend-list.js.map +1 -1
  38. package/lib/tree/extend.d.ts +2 -2
  39. package/lib/tree/extend.d.ts.map +1 -1
  40. package/lib/tree/extend.js +6 -2
  41. package/lib/tree/extend.js.map +1 -1
  42. package/lib/tree/import-style.d.ts.map +1 -1
  43. package/lib/tree/import-style.js +11 -1
  44. package/lib/tree/import-style.js.map +1 -1
  45. package/lib/tree/nil.d.ts +0 -1
  46. package/lib/tree/nil.d.ts.map +1 -1
  47. package/lib/tree/nil.js +2 -3
  48. package/lib/tree/nil.js.map +1 -1
  49. package/lib/tree/node-base.d.ts +2 -0
  50. package/lib/tree/node-base.d.ts.map +1 -1
  51. package/lib/tree/node-base.js +46 -0
  52. package/lib/tree/node-base.js.map +1 -1
  53. package/lib/tree/paren.d.ts +2 -1
  54. package/lib/tree/paren.d.ts.map +1 -1
  55. package/lib/tree/paren.js +7 -1
  56. package/lib/tree/paren.js.map +1 -1
  57. package/lib/tree/quoted.d.ts +2 -1
  58. package/lib/tree/quoted.d.ts.map +1 -1
  59. package/lib/tree/quoted.js +10 -1
  60. package/lib/tree/quoted.js.map +1 -1
  61. package/lib/tree/reference.d.ts.map +1 -1
  62. package/lib/tree/reference.js.map +1 -1
  63. package/lib/tree/rules.d.ts +7 -0
  64. package/lib/tree/rules.d.ts.map +1 -1
  65. package/lib/tree/rules.js +147 -81
  66. package/lib/tree/rules.js.map +1 -1
  67. package/lib/tree/ruleset.d.ts +1 -0
  68. package/lib/tree/ruleset.d.ts.map +1 -1
  69. package/lib/tree/ruleset.js +27 -5
  70. package/lib/tree/ruleset.js.map +1 -1
  71. package/lib/tree/selector-basic.d.ts +1 -0
  72. package/lib/tree/selector-basic.d.ts.map +1 -1
  73. package/lib/tree/selector-basic.js +5 -1
  74. package/lib/tree/selector-basic.js.map +1 -1
  75. package/lib/tree/selector-list.d.ts.map +1 -1
  76. package/lib/tree/selector-list.js +3 -13
  77. package/lib/tree/selector-list.js.map +1 -1
  78. package/lib/tree/selector-pseudo.d.ts.map +1 -1
  79. package/lib/tree/selector-pseudo.js +13 -0
  80. package/lib/tree/selector-pseudo.js.map +1 -1
  81. package/lib/tree/sequence.d.ts.map +1 -1
  82. package/lib/tree/sequence.js +4 -1
  83. package/lib/tree/sequence.js.map +1 -1
  84. package/lib/tree/util/extend-roots.d.ts.map +1 -1
  85. package/lib/tree/util/extend-roots.js +25 -7
  86. package/lib/tree/util/extend-roots.js.map +1 -1
  87. package/lib/tree/util/extend-walk.d.ts +53 -0
  88. package/lib/tree/util/extend-walk.d.ts.map +1 -0
  89. package/lib/tree/util/extend-walk.js +881 -0
  90. package/lib/tree/util/extend-walk.js.map +1 -0
  91. package/lib/tree/util/extend.d.ts.map +1 -1
  92. package/lib/tree/util/extend.js +160 -11
  93. package/lib/tree/util/extend.js.map +1 -1
  94. package/lib/tree/util/registry-utils.d.ts.map +1 -1
  95. package/lib/tree/util/registry-utils.js +13 -41
  96. package/lib/tree/util/registry-utils.js.map +1 -1
  97. package/lib/tree/util/selector-match-core.d.ts +13 -0
  98. package/lib/tree/util/selector-match-core.d.ts.map +1 -1
  99. package/lib/tree/util/selector-match-core.js +55 -30
  100. package/lib/tree/util/selector-match-core.js.map +1 -1
  101. package/package.json +3 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-walk.js","sourceRoot":"","sources":["../../../src/tree/util/extend-walk.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../../src/tree/util/extend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../../src/tree/util/extend.ts"],"names":[],"mappings":"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"}
@@ -118,6 +118,7 @@ import { findExtendableLocations } from './extend-helpers.js';
118
118
  import { normalizeSelectorForExtend } from './find-extendable-locations.js';
119
119
  import { F_EXTENDED, F_EXTEND_TARGET, F_IMPLICIT_AMPERSAND, F_VISIBLE } from '../node.js';
120
120
  import { selectorCompare } from './selector-compare.js';
121
+ import { canUseWalkAndConsume, walkAndExtend, extendWithNeedsConflictValidation } from './extend-walk.js';
121
122
  const { isArray } = Array;
122
123
  let extendOrderMap = null;
123
124
  /** Fallback for clones: selectors inside :is() may be clones, so WeakMap lookup fails. Key by valueOf() string. */
@@ -129,6 +130,43 @@ export function setExtendOrderMap(map, orderByValueOf) {
129
130
  function isSelectorNode(value) {
130
131
  return !!value && typeof value === 'object' && value.isSelector === true;
131
132
  }
133
+ /**
134
+ * Walk-and-consume eligibility check for extendSelector dispatch.
135
+ * Returns true only when the walk path is known to produce correct results.
136
+ *
137
+ * Currently very conservative: only handles the simplest cases where
138
+ * walk-and-consume is verified to produce identical output to the legacy path.
139
+ */
140
+ function canUseWalkAndConsumeForExtend(target, find) {
141
+ // Walk-and-consume doesn't handle extendOrderMap (dead code, but guard anyway)
142
+ if (extendOrderMap) {
143
+ return false;
144
+ }
145
+ // ComplexSelector find is supported by the walk for diagnostics (wouldExtendChange)
146
+ // but not yet for the actual extend application — the downstream createProcessedSelector
147
+ // chain produces subtly different output. Restrict to Simple/Compound find for now.
148
+ if (!isNode(find, 'SimpleSelector') && !isNode(find, 'CompoundSelector')) {
149
+ return false;
150
+ }
151
+ if (!canUseWalkAndConsume(target, find)) {
152
+ return false;
153
+ }
154
+ return true;
155
+ }
156
+ /**
157
+ * Bridge: attempt walk-and-consume, return null to fall through to legacy path.
158
+ * Returns the extended selector, or null if walk couldn't handle it.
159
+ */
160
+ function walkAndExtendForExtendSelector(target, find, extendWith, partial) {
161
+ const result = walkAndExtend(target, find, extendWith, partial);
162
+ // walkAndExtend returns the original target when no match is found.
163
+ // The legacy path throws ExtendError('NOT_FOUND') in that case.
164
+ // Return null to let the legacy path handle it (including the throw).
165
+ if (result === target) {
166
+ return null;
167
+ }
168
+ return result;
169
+ }
132
170
  /**
133
171
  * Error type constants for extend operations
134
172
  */
@@ -150,6 +188,9 @@ export class ExtendError extends Error {
150
188
  }
151
189
  }
152
190
  export function applyExtendsToSelector(initialSelector, extendsList) {
191
+ if (extendsList.length === 0) {
192
+ return initialSelector;
193
+ }
153
194
  let selector = initialSelector;
154
195
  const instructions = extendsList.slice();
155
196
  let changed = true;
@@ -161,6 +202,34 @@ export function applyExtendsToSelector(initialSelector, extendsList) {
161
202
  continue;
162
203
  }
163
204
  const { target, extendWith, partial } = instruction;
205
+ // Batch all same-target non-partial instructions to avoid O(N²) growing-list
206
+ // scans. Common in Bootstrap-style code where many selectors extend the same base.
207
+ if (!partial && i + 1 < instructions.length) {
208
+ const targetVal = target.valueOf();
209
+ const batchExtendWiths = [extendWith];
210
+ const batchIndices = [i];
211
+ for (let j = i + 1; j < instructions.length; j++) {
212
+ const next = instructions[j];
213
+ if (!next.partial && next.target.valueOf() === targetVal) {
214
+ batchExtendWiths.push(next.extendWith);
215
+ batchIndices.push(j);
216
+ }
217
+ }
218
+ if (batchExtendWiths.length > 1) {
219
+ const batched = applyBatchedExtend(selector, target, batchExtendWiths);
220
+ if (batched !== null && batched.valueOf() !== selector.valueOf()) {
221
+ selector = batched;
222
+ for (let k = batchIndices.length - 1; k >= 0; k--) {
223
+ instructions.splice(batchIndices[k], 1);
224
+ }
225
+ changed = true;
226
+ break;
227
+ }
228
+ // No match — skip over all instructions in this batch group
229
+ i = batchIndices[batchIndices.length - 1];
230
+ continue;
231
+ }
232
+ }
164
233
  const result = tryExtendSelector(selector, target, extendWith, partial);
165
234
  if (result && !result.error) {
166
235
  const beforeValue = selector.valueOf();
@@ -176,6 +245,69 @@ export function applyExtendsToSelector(initialSelector, extendsList) {
176
245
  }
177
246
  return selector;
178
247
  }
248
+ /**
249
+ * Fast-path for applying multiple non-partial extensions of the SAME target in one pass.
250
+ *
251
+ * For a SelectorList target with a SimpleSelector find, this avoids the O(N²) pattern
252
+ * where each sequential tryExtendSelector call scans a growing SelectorList.
253
+ *
254
+ * Returns null if the target is not found (no change), or the new selector if extensions
255
+ * were applied.
256
+ *
257
+ * Falls back to sequential application for complex cases (ComplexSelector find, partial
258
+ * extends, non-SelectorList targets).
259
+ */
260
+ function applyBatchedExtend(selector, find, extendWithList) {
261
+ // Fast path: non-partial SelectorList with a SimpleSelector find.
262
+ // One scan to find all matching items, then append all extendWiths at once.
263
+ if (isNode(selector, 'SelectorList') && isNode(find, 'SimpleSelector')) {
264
+ const searchResult = findExtendableLocations(selector, find);
265
+ if (!searchResult.hasMatches) {
266
+ return null;
267
+ }
268
+ const originalItems = [];
269
+ const newItems = [];
270
+ let anyWholeMatch = false;
271
+ for (const item of selector.value) {
272
+ const sItem = item;
273
+ const itemCompare = selectorCompare(sItem, find);
274
+ if (!itemCompare.hasWholeMatch) {
275
+ originalItems.push(sItem);
276
+ continue;
277
+ }
278
+ anyWholeMatch = true;
279
+ const c = sItem.clone(true);
280
+ c.addFlag(F_EXTENDED);
281
+ originalItems.push(c);
282
+ const itemVal = sItem.valueOf();
283
+ for (const extendWith of extendWithList) {
284
+ if (extendWith.valueOf() !== itemVal) {
285
+ const ext = extendWith.clone(true);
286
+ ext.addFlag(F_EXTENDED);
287
+ newItems.push(ext);
288
+ }
289
+ }
290
+ }
291
+ if (!anyWholeMatch || newItems.length === 0) {
292
+ return null;
293
+ }
294
+ const processed = createProcessedSelector([...originalItems, ...newItems], true);
295
+ const processedArray = isArray(processed) ? processed : [processed];
296
+ return SelectorList.create(processedArray).inherit(selector);
297
+ }
298
+ // Generic fallback: apply each extendWith sequentially.
299
+ // This still avoids the per-restart-from-zero overhead by not using the while-loop restart.
300
+ let result = selector;
301
+ let anyChanged = false;
302
+ for (const extendWith of extendWithList) {
303
+ const single = tryExtendSelector(result, find, extendWith, false);
304
+ if (!single.error && single.value.valueOf() !== result.valueOf()) {
305
+ result = single.value;
306
+ anyChanged = true;
307
+ }
308
+ }
309
+ return anyChanged ? result : null;
310
+ }
179
311
  /**
180
312
  * Helper to create successful extend results
181
313
  */
@@ -357,6 +489,7 @@ export function createProcessedSelector(selectors, root) {
357
489
  if (extendOrderMap && flattened.length >= 2 && extendOrderByValueOf) {
358
490
  const orderMap = extendOrderMap;
359
491
  const orderByValue = extendOrderByValueOf;
492
+ const NO_ORDER = 999999;
360
493
  const orderFor = (s) => {
361
494
  const fromMap = orderMap.get(s);
362
495
  if (fromMap !== undefined) {
@@ -370,25 +503,29 @@ export function createProcessedSelector(selectors, root) {
370
503
  order = orderByValue.get(lastPart);
371
504
  }
372
505
  }
373
- return order ?? 999999;
506
+ return order ?? NO_ORDER;
374
507
  };
375
- const withOrder = flattened.filter(s => orderFor(s) !== 999999);
376
- if (withOrder.length >= 2) {
377
- const NO_ORDER = 999999;
378
- flattened.sort((a, b) => {
379
- const oa = orderFor(a);
380
- const ob = orderFor(b);
381
- if (oa === NO_ORDER && ob === NO_ORDER) {
508
+ // Pre-compute order keys once — calling orderFor inside the comparator causes
509
+ // repeated valueOf()/split() on every comparison step (O(N log N) × valueOf cost).
510
+ const withKeys = flattened.map(s => ({ s, o: orderFor(s) }));
511
+ const hasOrder = withKeys.filter(x => x.o !== NO_ORDER);
512
+ if (hasOrder.length >= 2) {
513
+ withKeys.sort((a, b) => {
514
+ if (a.o === NO_ORDER && b.o === NO_ORDER) {
382
515
  return 0;
383
516
  }
384
- if (oa === NO_ORDER) {
517
+ if (a.o === NO_ORDER) {
385
518
  return -1;
386
519
  }
387
- if (ob === NO_ORDER) {
520
+ if (b.o === NO_ORDER) {
388
521
  return 1;
389
522
  }
390
- return oa - ob;
523
+ return a.o - b.o;
391
524
  });
525
+ flattened.length = 0;
526
+ for (const x of withKeys) {
527
+ flattened.push(x.s);
528
+ }
392
529
  }
393
530
  }
394
531
  el.value = flattened;
@@ -906,6 +1043,18 @@ export function extendSelector(target, find, extendWith, partial, skipAmpersandC
906
1043
  if (partial && find.valueOf() === extendWith.valueOf()) {
907
1044
  return target;
908
1045
  }
1046
+ // Walk-and-consume fast path for simple cases (Phase 1).
1047
+ // Only for SimpleSelector find with no ampersands and no extra flags.
1048
+ // Also skip when extendWith contains element/ID selectors that need conflict validation.
1049
+ if (!skipAmpersandCheck && !hasMoreAfterIs
1050
+ && canUseWalkAndConsumeForExtend(target, find)
1051
+ && !(partial && extendWithNeedsConflictValidation(extendWith))) {
1052
+ const walkResult = walkAndExtendForExtendSelector(target, find, extendWith, partial);
1053
+ if (walkResult !== null) {
1054
+ return walkResult;
1055
+ }
1056
+ // Walk path returned null → fall through to legacy path
1057
+ }
909
1058
  // Use the unified ExtendLocation API for all selector matching.
910
1059
  //
911
1060
  // IMPORTANT: normalize :is(...) equivalences for matching. In Less output we often materialize