@jesscss/core 2.0.0-alpha.1
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.
- package/LICENSE +21 -0
- package/README.md +9 -0
- package/lib/context.d.ts +352 -0
- package/lib/context.d.ts.map +1 -0
- package/lib/context.js +636 -0
- package/lib/context.js.map +1 -0
- package/lib/conversions.d.ts +73 -0
- package/lib/conversions.d.ts.map +1 -0
- package/lib/conversions.js +253 -0
- package/lib/conversions.js.map +1 -0
- package/lib/debug-log.d.ts +2 -0
- package/lib/debug-log.d.ts.map +1 -0
- package/lib/debug-log.js +27 -0
- package/lib/debug-log.js.map +1 -0
- package/lib/define-function.d.ts +587 -0
- package/lib/define-function.d.ts.map +1 -0
- package/lib/define-function.js +726 -0
- package/lib/define-function.js.map +1 -0
- package/lib/deprecation.d.ts +34 -0
- package/lib/deprecation.d.ts.map +1 -0
- package/lib/deprecation.js +57 -0
- package/lib/deprecation.js.map +1 -0
- package/lib/index.d.ts +22 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +23 -0
- package/lib/index.js.map +1 -0
- package/lib/jess-error.d.ts +343 -0
- package/lib/jess-error.d.ts.map +1 -0
- package/lib/jess-error.js +508 -0
- package/lib/jess-error.js.map +1 -0
- package/lib/logger/deprecation-processing.d.ts +41 -0
- package/lib/logger/deprecation-processing.d.ts.map +1 -0
- package/lib/logger/deprecation-processing.js +81 -0
- package/lib/logger/deprecation-processing.js.map +1 -0
- package/lib/logger.d.ts +10 -0
- package/lib/logger.d.ts.map +1 -0
- package/lib/logger.js +20 -0
- package/lib/logger.js.map +1 -0
- package/lib/plugin.d.ts +94 -0
- package/lib/plugin.d.ts.map +1 -0
- package/lib/plugin.js +174 -0
- package/lib/plugin.js.map +1 -0
- package/lib/tree/ampersand.d.ts +94 -0
- package/lib/tree/ampersand.d.ts.map +1 -0
- package/lib/tree/ampersand.js +269 -0
- package/lib/tree/ampersand.js.map +1 -0
- package/lib/tree/any.d.ts +58 -0
- package/lib/tree/any.d.ts.map +1 -0
- package/lib/tree/any.js +101 -0
- package/lib/tree/any.js.map +1 -0
- package/lib/tree/at-rule.d.ts +53 -0
- package/lib/tree/at-rule.d.ts.map +1 -0
- package/lib/tree/at-rule.js +503 -0
- package/lib/tree/at-rule.js.map +1 -0
- package/lib/tree/block.d.ts +22 -0
- package/lib/tree/block.d.ts.map +1 -0
- package/lib/tree/block.js +24 -0
- package/lib/tree/block.js.map +1 -0
- package/lib/tree/bool.d.ts +17 -0
- package/lib/tree/bool.d.ts.map +1 -0
- package/lib/tree/bool.js +24 -0
- package/lib/tree/bool.js.map +1 -0
- package/lib/tree/call.d.ts +66 -0
- package/lib/tree/call.d.ts.map +1 -0
- package/lib/tree/call.js +306 -0
- package/lib/tree/call.js.map +1 -0
- package/lib/tree/collection.d.ts +30 -0
- package/lib/tree/collection.d.ts.map +1 -0
- package/lib/tree/collection.js +37 -0
- package/lib/tree/collection.js.map +1 -0
- package/lib/tree/color.d.ts +101 -0
- package/lib/tree/color.d.ts.map +1 -0
- package/lib/tree/color.js +513 -0
- package/lib/tree/color.js.map +1 -0
- package/lib/tree/combinator.d.ts +12 -0
- package/lib/tree/combinator.d.ts.map +1 -0
- package/lib/tree/combinator.js +8 -0
- package/lib/tree/combinator.js.map +1 -0
- package/lib/tree/comment.d.ts +20 -0
- package/lib/tree/comment.d.ts.map +1 -0
- package/lib/tree/comment.js +18 -0
- package/lib/tree/comment.js.map +1 -0
- package/lib/tree/condition.d.ts +31 -0
- package/lib/tree/condition.d.ts.map +1 -0
- package/lib/tree/condition.js +103 -0
- package/lib/tree/condition.js.map +1 -0
- package/lib/tree/control.d.ts +104 -0
- package/lib/tree/control.d.ts.map +1 -0
- package/lib/tree/control.js +430 -0
- package/lib/tree/control.js.map +1 -0
- package/lib/tree/declaration-custom.d.ts +18 -0
- package/lib/tree/declaration-custom.d.ts.map +1 -0
- package/lib/tree/declaration-custom.js +24 -0
- package/lib/tree/declaration-custom.js.map +1 -0
- package/lib/tree/declaration-var.d.ts +36 -0
- package/lib/tree/declaration-var.d.ts.map +1 -0
- package/lib/tree/declaration-var.js +63 -0
- package/lib/tree/declaration-var.js.map +1 -0
- package/lib/tree/declaration.d.ts +78 -0
- package/lib/tree/declaration.d.ts.map +1 -0
- package/lib/tree/declaration.js +289 -0
- package/lib/tree/declaration.js.map +1 -0
- package/lib/tree/default-guard.d.ts +15 -0
- package/lib/tree/default-guard.d.ts.map +1 -0
- package/lib/tree/default-guard.js +19 -0
- package/lib/tree/default-guard.js.map +1 -0
- package/lib/tree/dimension.d.ts +33 -0
- package/lib/tree/dimension.d.ts.map +1 -0
- package/lib/tree/dimension.js +291 -0
- package/lib/tree/dimension.js.map +1 -0
- package/lib/tree/expression.d.ts +24 -0
- package/lib/tree/expression.d.ts.map +1 -0
- package/lib/tree/expression.js +28 -0
- package/lib/tree/expression.js.map +1 -0
- package/lib/tree/extend-list.d.ts +23 -0
- package/lib/tree/extend-list.d.ts.map +1 -0
- package/lib/tree/extend-list.js +20 -0
- package/lib/tree/extend-list.js.map +1 -0
- package/lib/tree/extend.d.ts +47 -0
- package/lib/tree/extend.d.ts.map +1 -0
- package/lib/tree/extend.js +292 -0
- package/lib/tree/extend.js.map +1 -0
- package/lib/tree/function.d.ts +48 -0
- package/lib/tree/function.d.ts.map +1 -0
- package/lib/tree/function.js +74 -0
- package/lib/tree/function.js.map +1 -0
- package/lib/tree/import-js.d.ts +35 -0
- package/lib/tree/import-js.d.ts.map +1 -0
- package/lib/tree/import-js.js +45 -0
- package/lib/tree/import-js.js.map +1 -0
- package/lib/tree/import-style.d.ts +156 -0
- package/lib/tree/import-style.d.ts.map +1 -0
- package/lib/tree/import-style.js +556 -0
- package/lib/tree/import-style.js.map +1 -0
- package/lib/tree/index.d.ts +71 -0
- package/lib/tree/index.d.ts.map +1 -0
- package/lib/tree/index.js +95 -0
- package/lib/tree/index.js.map +1 -0
- package/lib/tree/interpolated-reference.d.ts +24 -0
- package/lib/tree/interpolated-reference.d.ts.map +1 -0
- package/lib/tree/interpolated-reference.js +37 -0
- package/lib/tree/interpolated-reference.js.map +1 -0
- package/lib/tree/interpolated.d.ts +62 -0
- package/lib/tree/interpolated.d.ts.map +1 -0
- package/lib/tree/interpolated.js +204 -0
- package/lib/tree/interpolated.js.map +1 -0
- package/lib/tree/js-array.d.ts +10 -0
- package/lib/tree/js-array.d.ts.map +1 -0
- package/lib/tree/js-array.js +10 -0
- package/lib/tree/js-array.js.map +1 -0
- package/lib/tree/js-expr.d.ts +23 -0
- package/lib/tree/js-expr.d.ts.map +1 -0
- package/lib/tree/js-expr.js +28 -0
- package/lib/tree/js-expr.js.map +1 -0
- package/lib/tree/js-function.d.ts +20 -0
- package/lib/tree/js-function.d.ts.map +1 -0
- package/lib/tree/js-function.js +16 -0
- package/lib/tree/js-function.js.map +1 -0
- package/lib/tree/js-object.d.ts +10 -0
- package/lib/tree/js-object.d.ts.map +1 -0
- package/lib/tree/js-object.js +10 -0
- package/lib/tree/js-object.js.map +1 -0
- package/lib/tree/list.d.ts +38 -0
- package/lib/tree/list.d.ts.map +1 -0
- package/lib/tree/list.js +83 -0
- package/lib/tree/list.js.map +1 -0
- package/lib/tree/log.d.ts +29 -0
- package/lib/tree/log.d.ts.map +1 -0
- package/lib/tree/log.js +56 -0
- package/lib/tree/log.js.map +1 -0
- package/lib/tree/mixin.d.ts +87 -0
- package/lib/tree/mixin.d.ts.map +1 -0
- package/lib/tree/mixin.js +112 -0
- package/lib/tree/mixin.js.map +1 -0
- package/lib/tree/negative.d.ts +17 -0
- package/lib/tree/negative.d.ts.map +1 -0
- package/lib/tree/negative.js +22 -0
- package/lib/tree/negative.js.map +1 -0
- package/lib/tree/nil.d.ts +31 -0
- package/lib/tree/nil.d.ts.map +1 -0
- package/lib/tree/nil.js +36 -0
- package/lib/tree/nil.js.map +1 -0
- package/lib/tree/node-base.d.ts +359 -0
- package/lib/tree/node-base.d.ts.map +1 -0
- package/lib/tree/node-base.js +884 -0
- package/lib/tree/node-base.js.map +1 -0
- package/lib/tree/node.d.ts +10 -0
- package/lib/tree/node.d.ts.map +1 -0
- package/lib/tree/node.js +45 -0
- package/lib/tree/node.js.map +1 -0
- package/lib/tree/number.d.ts +21 -0
- package/lib/tree/number.d.ts.map +1 -0
- package/lib/tree/number.js +27 -0
- package/lib/tree/number.js.map +1 -0
- package/lib/tree/operation.d.ts +26 -0
- package/lib/tree/operation.d.ts.map +1 -0
- package/lib/tree/operation.js +103 -0
- package/lib/tree/operation.js.map +1 -0
- package/lib/tree/paren.d.ts +18 -0
- package/lib/tree/paren.d.ts.map +1 -0
- package/lib/tree/paren.js +86 -0
- package/lib/tree/paren.js.map +1 -0
- package/lib/tree/query-condition.d.ts +17 -0
- package/lib/tree/query-condition.d.ts.map +1 -0
- package/lib/tree/query-condition.js +39 -0
- package/lib/tree/query-condition.js.map +1 -0
- package/lib/tree/quoted.d.ts +27 -0
- package/lib/tree/quoted.d.ts.map +1 -0
- package/lib/tree/quoted.js +66 -0
- package/lib/tree/quoted.js.map +1 -0
- package/lib/tree/range.d.ts +33 -0
- package/lib/tree/range.d.ts.map +1 -0
- package/lib/tree/range.js +47 -0
- package/lib/tree/range.js.map +1 -0
- package/lib/tree/reference.d.ts +76 -0
- package/lib/tree/reference.d.ts.map +1 -0
- package/lib/tree/reference.js +521 -0
- package/lib/tree/reference.js.map +1 -0
- package/lib/tree/rest.d.ts +15 -0
- package/lib/tree/rest.d.ts.map +1 -0
- package/lib/tree/rest.js +32 -0
- package/lib/tree/rest.js.map +1 -0
- package/lib/tree/rules-raw.d.ts +17 -0
- package/lib/tree/rules-raw.d.ts.map +1 -0
- package/lib/tree/rules-raw.js +37 -0
- package/lib/tree/rules-raw.js.map +1 -0
- package/lib/tree/rules.d.ts +255 -0
- package/lib/tree/rules.d.ts.map +1 -0
- package/lib/tree/rules.js +2293 -0
- package/lib/tree/rules.js.map +1 -0
- package/lib/tree/ruleset.d.ts +91 -0
- package/lib/tree/ruleset.d.ts.map +1 -0
- package/lib/tree/ruleset.js +506 -0
- package/lib/tree/ruleset.js.map +1 -0
- package/lib/tree/selector-attr.d.ts +31 -0
- package/lib/tree/selector-attr.d.ts.map +1 -0
- package/lib/tree/selector-attr.js +99 -0
- package/lib/tree/selector-attr.js.map +1 -0
- package/lib/tree/selector-basic.d.ts +23 -0
- package/lib/tree/selector-basic.d.ts.map +1 -0
- package/lib/tree/selector-basic.js +34 -0
- package/lib/tree/selector-basic.js.map +1 -0
- package/lib/tree/selector-capture.d.ts +23 -0
- package/lib/tree/selector-capture.d.ts.map +1 -0
- package/lib/tree/selector-capture.js +34 -0
- package/lib/tree/selector-capture.js.map +1 -0
- package/lib/tree/selector-complex.d.ts +40 -0
- package/lib/tree/selector-complex.d.ts.map +1 -0
- package/lib/tree/selector-complex.js +143 -0
- package/lib/tree/selector-complex.js.map +1 -0
- package/lib/tree/selector-compound.d.ts +16 -0
- package/lib/tree/selector-compound.d.ts.map +1 -0
- package/lib/tree/selector-compound.js +114 -0
- package/lib/tree/selector-compound.js.map +1 -0
- package/lib/tree/selector-interpolated.d.ts +23 -0
- package/lib/tree/selector-interpolated.d.ts.map +1 -0
- package/lib/tree/selector-interpolated.js +27 -0
- package/lib/tree/selector-interpolated.js.map +1 -0
- package/lib/tree/selector-list.d.ts +17 -0
- package/lib/tree/selector-list.d.ts.map +1 -0
- package/lib/tree/selector-list.js +184 -0
- package/lib/tree/selector-list.js.map +1 -0
- package/lib/tree/selector-pseudo.d.ts +42 -0
- package/lib/tree/selector-pseudo.d.ts.map +1 -0
- package/lib/tree/selector-pseudo.js +191 -0
- package/lib/tree/selector-pseudo.js.map +1 -0
- package/lib/tree/selector-simple.d.ts +5 -0
- package/lib/tree/selector-simple.d.ts.map +1 -0
- package/lib/tree/selector-simple.js +6 -0
- package/lib/tree/selector-simple.js.map +1 -0
- package/lib/tree/selector.d.ts +43 -0
- package/lib/tree/selector.d.ts.map +1 -0
- package/lib/tree/selector.js +56 -0
- package/lib/tree/selector.js.map +1 -0
- package/lib/tree/sequence.d.ts +43 -0
- package/lib/tree/sequence.d.ts.map +1 -0
- package/lib/tree/sequence.js +148 -0
- package/lib/tree/sequence.js.map +1 -0
- package/lib/tree/tree.d.ts +87 -0
- package/lib/tree/tree.d.ts.map +1 -0
- package/lib/tree/tree.js +2 -0
- package/lib/tree/tree.js.map +1 -0
- package/lib/tree/url.d.ts +18 -0
- package/lib/tree/url.d.ts.map +1 -0
- package/lib/tree/url.js +35 -0
- package/lib/tree/url.js.map +1 -0
- package/lib/tree/util/__tests__/debug-log.d.ts +1 -0
- package/lib/tree/util/__tests__/debug-log.d.ts.map +1 -0
- package/lib/tree/util/__tests__/debug-log.js +36 -0
- package/lib/tree/util/__tests__/debug-log.js.map +1 -0
- package/lib/tree/util/calculate.d.ts +3 -0
- package/lib/tree/util/calculate.d.ts.map +1 -0
- package/lib/tree/util/calculate.js +10 -0
- package/lib/tree/util/calculate.js.map +1 -0
- package/lib/tree/util/cast.d.ts +10 -0
- package/lib/tree/util/cast.d.ts.map +1 -0
- package/lib/tree/util/cast.js +87 -0
- package/lib/tree/util/cast.js.map +1 -0
- package/lib/tree/util/cloning.d.ts +4 -0
- package/lib/tree/util/cloning.d.ts.map +1 -0
- package/lib/tree/util/cloning.js +8 -0
- package/lib/tree/util/cloning.js.map +1 -0
- package/lib/tree/util/collections.d.ts +57 -0
- package/lib/tree/util/collections.d.ts.map +1 -0
- package/lib/tree/util/collections.js +136 -0
- package/lib/tree/util/collections.js.map +1 -0
- package/lib/tree/util/compare.d.ts +11 -0
- package/lib/tree/util/compare.d.ts.map +1 -0
- package/lib/tree/util/compare.js +89 -0
- package/lib/tree/util/compare.js.map +1 -0
- package/lib/tree/util/extend-helpers.d.ts +2 -0
- package/lib/tree/util/extend-helpers.d.ts.map +1 -0
- package/lib/tree/util/extend-helpers.js +2 -0
- package/lib/tree/util/extend-helpers.js.map +1 -0
- package/lib/tree/util/extend-roots.d.ts +37 -0
- package/lib/tree/util/extend-roots.d.ts.map +1 -0
- package/lib/tree/util/extend-roots.js +682 -0
- package/lib/tree/util/extend-roots.js.map +1 -0
- package/lib/tree/util/extend-roots.old.d.ts +132 -0
- package/lib/tree/util/extend-roots.old.d.ts.map +1 -0
- package/lib/tree/util/extend-roots.old.js +2272 -0
- package/lib/tree/util/extend-roots.old.js.map +1 -0
- package/lib/tree/util/extend-trace-debug.d.ts +13 -0
- package/lib/tree/util/extend-trace-debug.d.ts.map +1 -0
- package/lib/tree/util/extend-trace-debug.js +34 -0
- package/lib/tree/util/extend-trace-debug.js.map +1 -0
- package/lib/tree/util/extend.d.ts +218 -0
- package/lib/tree/util/extend.d.ts.map +1 -0
- package/lib/tree/util/extend.js +3033 -0
- package/lib/tree/util/extend.js.map +1 -0
- package/lib/tree/util/find-extendable-locations.d.ts +2 -0
- package/lib/tree/util/find-extendable-locations.d.ts.map +1 -0
- package/lib/tree/util/find-extendable-locations.js +2 -0
- package/lib/tree/util/find-extendable-locations.js.map +1 -0
- package/lib/tree/util/format.d.ts +20 -0
- package/lib/tree/util/format.d.ts.map +1 -0
- package/lib/tree/util/format.js +67 -0
- package/lib/tree/util/format.js.map +1 -0
- package/lib/tree/util/is-node.d.ts +13 -0
- package/lib/tree/util/is-node.d.ts.map +1 -0
- package/lib/tree/util/is-node.js +43 -0
- package/lib/tree/util/is-node.js.map +1 -0
- package/lib/tree/util/print.d.ts +80 -0
- package/lib/tree/util/print.d.ts.map +1 -0
- package/lib/tree/util/print.js +205 -0
- package/lib/tree/util/print.js.map +1 -0
- package/lib/tree/util/process-leading-is.d.ts +25 -0
- package/lib/tree/util/process-leading-is.d.ts.map +1 -0
- package/lib/tree/util/process-leading-is.js +364 -0
- package/lib/tree/util/process-leading-is.js.map +1 -0
- package/lib/tree/util/recursion-helper.d.ts +15 -0
- package/lib/tree/util/recursion-helper.d.ts.map +1 -0
- package/lib/tree/util/recursion-helper.js +43 -0
- package/lib/tree/util/recursion-helper.js.map +1 -0
- package/lib/tree/util/regex.d.ts +4 -0
- package/lib/tree/util/regex.d.ts.map +1 -0
- package/lib/tree/util/regex.js +4 -0
- package/lib/tree/util/regex.js.map +1 -0
- package/lib/tree/util/registry-utils.d.ts +192 -0
- package/lib/tree/util/registry-utils.d.ts.map +1 -0
- package/lib/tree/util/registry-utils.js +1242 -0
- package/lib/tree/util/registry-utils.js.map +1 -0
- package/lib/tree/util/ruleset-trace.d.ts +4 -0
- package/lib/tree/util/ruleset-trace.d.ts.map +1 -0
- package/lib/tree/util/ruleset-trace.js +14 -0
- package/lib/tree/util/ruleset-trace.js.map +1 -0
- package/lib/tree/util/selector-compare.d.ts +2 -0
- package/lib/tree/util/selector-compare.d.ts.map +1 -0
- package/lib/tree/util/selector-compare.js +2 -0
- package/lib/tree/util/selector-compare.js.map +1 -0
- package/lib/tree/util/selector-match-core.d.ts +171 -0
- package/lib/tree/util/selector-match-core.d.ts.map +1 -0
- package/lib/tree/util/selector-match-core.js +1578 -0
- package/lib/tree/util/selector-match-core.js.map +1 -0
- package/lib/tree/util/selector-utils.d.ts +30 -0
- package/lib/tree/util/selector-utils.d.ts.map +1 -0
- package/lib/tree/util/selector-utils.js +100 -0
- package/lib/tree/util/selector-utils.js.map +1 -0
- package/lib/tree/util/serialize-helper.d.ts +13 -0
- package/lib/tree/util/serialize-helper.d.ts.map +1 -0
- package/lib/tree/util/serialize-helper.js +387 -0
- package/lib/tree/util/serialize-helper.js.map +1 -0
- package/lib/tree/util/serialize-types.d.ts +9 -0
- package/lib/tree/util/serialize-types.d.ts.map +1 -0
- package/lib/tree/util/serialize-types.js +216 -0
- package/lib/tree/util/serialize-types.js.map +1 -0
- package/lib/tree/util/should-operate.d.ts +23 -0
- package/lib/tree/util/should-operate.d.ts.map +1 -0
- package/lib/tree/util/should-operate.js +46 -0
- package/lib/tree/util/should-operate.js.map +1 -0
- package/lib/tree/util/sourcemap.d.ts +7 -0
- package/lib/tree/util/sourcemap.d.ts.map +1 -0
- package/lib/tree/util/sourcemap.js +25 -0
- package/lib/tree/util/sourcemap.js.map +1 -0
- package/lib/types/config.d.ts +205 -0
- package/lib/types/config.d.ts.map +1 -0
- package/lib/types/config.js +2 -0
- package/lib/types/config.js.map +1 -0
- package/lib/types/index.d.ts +15 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +3 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/modes.d.ts +24 -0
- package/lib/types/modes.d.ts.map +1 -0
- package/lib/types/modes.js +2 -0
- package/lib/types/modes.js.map +1 -0
- package/lib/types.d.ts +61 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +2 -0
- package/lib/types.js.map +1 -0
- package/lib/use-webpack-resolver.d.ts +9 -0
- package/lib/use-webpack-resolver.d.ts.map +1 -0
- package/lib/use-webpack-resolver.js +41 -0
- package/lib/use-webpack-resolver.js.map +1 -0
- package/lib/visitor/index.d.ts +136 -0
- package/lib/visitor/index.d.ts.map +1 -0
- package/lib/visitor/index.js +135 -0
- package/lib/visitor/index.js.map +1 -0
- package/lib/visitor/less-visitor.d.ts +7 -0
- package/lib/visitor/less-visitor.d.ts.map +1 -0
- package/lib/visitor/less-visitor.js +7 -0
- package/lib/visitor/less-visitor.js.map +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extend-roots.old.js","sourceRoot":"","sources":["../../../src/tree/util/extend-roots.old.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extend debugging: gate and runId for syncLog tracing.
|
|
3
|
+
* Enable when DEBUG_EXTEND_TRACE=1, when compiling a file whose path includes 'extend-chaining',
|
|
4
|
+
* or when runId is 'constructed' (core test builds AST in code, no file path).
|
|
5
|
+
*/
|
|
6
|
+
import type { Context } from '../../context.js';
|
|
7
|
+
export declare function shouldTraceExtend(ctx: Context | undefined): boolean;
|
|
8
|
+
/** Trace when we're in the .md extend path (and collapseNesting when we want to limit to that path). */
|
|
9
|
+
export declare function shouldTraceExtendMd(ctx: Context | undefined, targetValueOf: string): boolean;
|
|
10
|
+
export declare function getExtendTraceRunId(ctx: Context | undefined): string;
|
|
11
|
+
/** Whether we're in the parsed (jess/file) run vs constructed (core test) run. */
|
|
12
|
+
export declare function isConstructedRun(ctx: Context | undefined): boolean;
|
|
13
|
+
//# sourceMappingURL=extend-trace-debug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extend-trace-debug.d.ts","sourceRoot":"","sources":["../../../src/tree/util/extend-trace-debug.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAOnE;AAED,wGAAwG;AACxG,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAG5F;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CASpE;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAElE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export function shouldTraceExtend(ctx) {
|
|
2
|
+
if (!ctx)
|
|
3
|
+
return false;
|
|
4
|
+
if (process.env.DEBUG_EXTEND_TRACE === '1')
|
|
5
|
+
return true;
|
|
6
|
+
const runId = getExtendTraceRunId(ctx);
|
|
7
|
+
if (runId === 'constructed')
|
|
8
|
+
return true;
|
|
9
|
+
if (runId.includes('extend-chaining'))
|
|
10
|
+
return true;
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
/** Trace when we're in the .md extend path (and collapseNesting when we want to limit to that path). */
|
|
14
|
+
export function shouldTraceExtendMd(ctx, targetValueOf) {
|
|
15
|
+
if (targetValueOf !== '.md')
|
|
16
|
+
return false;
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
export function getExtendTraceRunId(ctx) {
|
|
20
|
+
if (!ctx)
|
|
21
|
+
return 'unknown';
|
|
22
|
+
const file = ctx.treeContext?.file;
|
|
23
|
+
const pathStr = typeof file?.fullPath === 'string'
|
|
24
|
+
? file.fullPath
|
|
25
|
+
: typeof file?.path === 'string'
|
|
26
|
+
? file.path
|
|
27
|
+
: '';
|
|
28
|
+
return pathStr || 'constructed';
|
|
29
|
+
}
|
|
30
|
+
/** Whether we're in the parsed (jess/file) run vs constructed (core test) run. */
|
|
31
|
+
export function isConstructedRun(ctx) {
|
|
32
|
+
return getExtendTraceRunId(ctx) === 'constructed';
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=extend-trace-debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extend-trace-debug.js","sourceRoot":"","sources":["../../../src/tree/util/extend-trace-debug.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,iBAAiB,CAAC,GAAwB;IACxD,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACxD,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,mBAAmB,CAAC,GAAwB,EAAE,aAAqB;IACjF,IAAI,aAAa,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAwB;IAC1D,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,OAAQ,IAA8B,EAAE,QAAQ,KAAK,QAAQ;QAC3E,CAAC,CAAE,IAA6B,CAAC,QAAQ;QACzC,CAAC,CAAC,OAAQ,IAA0B,EAAE,IAAI,KAAK,QAAQ;YACrD,CAAC,CAAE,IAAyB,CAAC,IAAI;YACjC,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,OAAO,IAAI,aAAa,CAAC;AAClC,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,gBAAgB,CAAC,GAAwB;IACvD,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EXTEND UTILITY - REQUIREMENTS AND FEATURE SET
|
|
3
|
+
* ==============================================
|
|
4
|
+
*
|
|
5
|
+
* This module implements the core extend functionality for Jess, allowing selectors to
|
|
6
|
+
* "extend" other selectors, adding them to selector lists or wrapping them in :is() pseudo-classes.
|
|
7
|
+
*
|
|
8
|
+
* ## Core Concept
|
|
9
|
+
*
|
|
10
|
+
* Extend allows a selector to "inherit" styles from another selector by adding the extending
|
|
11
|
+
* selector to the target selector's selector list, or by creating :is() wrappers when appropriate.
|
|
12
|
+
*
|
|
13
|
+
* Example: `.child:extend(.parent)` means "add .child to .parent's selector list"
|
|
14
|
+
* Result: `.parent, .child { ... }`
|
|
15
|
+
*
|
|
16
|
+
* ## Two Modes: Partial vs Full
|
|
17
|
+
*
|
|
18
|
+
* ### Partial Mode (partial: true)
|
|
19
|
+
* - Used when the `!all` flag is NOT specified
|
|
20
|
+
* - Creates :is() wrappers for component-level matches
|
|
21
|
+
* - Example: `.a>.b:extend(.b !all)` → `.a>:is(.b,.c)` (if .b extended with .c)
|
|
22
|
+
*
|
|
23
|
+
* ### Full Mode (partial: false)
|
|
24
|
+
* - Used when the `!all` flag IS specified
|
|
25
|
+
* - Creates selector lists for root-level matches
|
|
26
|
+
* - Creates :is() wrappers for component matches in compound selectors (to preserve other components)
|
|
27
|
+
* - Example: `.btn:hover:extend(.btn !all)` → `:is(.btn,.primary):hover` (if .btn extended with .primary)
|
|
28
|
+
* - **CRITICAL**: Rejects ALL partial matches - if a match is only PARTIAL (e.g., `.i` matching within `.i.j`),
|
|
29
|
+
* the selector is returned unchanged, regardless of context (SelectorList, :is(), compound, complex, etc.)
|
|
30
|
+
* - The partial match is determined at the level of the matched selector itself (e.g., `.i` is partial within `.i.j`)
|
|
31
|
+
* - Outer context (SelectorList, :is(), components after) is irrelevant for determining if a match is partial
|
|
32
|
+
* - **Exception**: Even if a match is a FULL match of an item within `:is()`, if there are components AFTER the `:is()`,
|
|
33
|
+
* it becomes a partial match of the entire selector and is rejected
|
|
34
|
+
* - Example: `:is(.i).j` matching `.i` (full match of item in :is()) is partial because `.j` comes after the `:is()`
|
|
35
|
+
*
|
|
36
|
+
* ## When to Create :is() Wrappers vs Selector Lists
|
|
37
|
+
*
|
|
38
|
+
* ### Create Selector List (.a, .b) when:
|
|
39
|
+
* 1. Root-level full match (entire selector matches): `.a:extend(.a !all)` → `.a, .b`
|
|
40
|
+
* - This applies regardless of selector type (simple, compound, complex, etc.)
|
|
41
|
+
* - Example: `.a.b:extend(.a.b !all)` → `.a.b, .c` (not because it's compound, but because entire selector matches)
|
|
42
|
+
* 2. Partial match where extendWith is a complex selector and matches a segment:
|
|
43
|
+
* - Example: `.a.b > .c.d {}` with `.g:extend(.b > .c !all)` → `.a.b > .c.d, .g {}`
|
|
44
|
+
* - Reasoning: In compounds, order doesn't matter. The matched segment is replaced entirely.
|
|
45
|
+
* - Example: `.a > .b.c > .d {}` with `.e:extend(.a > .c !all)` → `:is(.a > .b.c, .e) > .d {}`
|
|
46
|
+
*
|
|
47
|
+
* ### Create :is() Wrapper (:is(.a, .b)) when:
|
|
48
|
+
* 1. Component match in compound selector (FULL mode): `.btn:hover:extend(.btn !all)` → `:is(.btn,.primary):hover`
|
|
49
|
+
* - REASON: Must preserve other components (like :hover) that aren't being extended
|
|
50
|
+
* 2. Component match in compound selector (PARTIAL mode): `.a.b:extend(.b)` → `.a:is(.b,.c)`
|
|
51
|
+
* 3. Component match in complex selector (FULL mode): `.aa .dd:extend(.aa !all)` → `:is(.aa,.cc) .dd`
|
|
52
|
+
* - REASON: Anything that's "part of" a selector gets wrapped in :is()
|
|
53
|
+
* 4. Component match in complex selector (PARTIAL mode): `.a>.b:extend(.b)` → `.a>:is(.b,.c)`
|
|
54
|
+
*
|
|
55
|
+
* ## Partial match: what gets wrapped
|
|
56
|
+
*
|
|
57
|
+
* - **Match within one compound**: Wrap only the matched part. E.g. `.a.b` in `.a.c.b` + extend .q → `:is(.a.b, .q).c`
|
|
58
|
+
* - **Match spans a combinator**: Wrap the FULL segment from first to last matched compound. E.g. `.a.b > .x` in
|
|
59
|
+
* `div + .a.c.b > .y.x` + extend .q → `div + :is(.a.c.b > .y.x, .q)`. See EXTEND_RULES.md §3a.
|
|
60
|
+
* Do NOT decide by target type or path length (target can be :is(complex), SelectorList, etc.). Use what the
|
|
61
|
+
* match PRODUCES (e.g. includes combinators?) and keySet/equivalency.
|
|
62
|
+
*
|
|
63
|
+
* 5. Full match of entire selector within :is() argument: `:is(.a,.b):extend(.a !all)` → `:is(.a,.b,.c)`
|
|
64
|
+
* - REASON: When matching an entire selector within a SelectorList (the :is() argument),
|
|
65
|
+
* we just add to that list, same as root-level matches. No special handling needed.
|
|
66
|
+
* - The recursive extend applies the same logic: full match = add to list, component match = wrap in :is()
|
|
67
|
+
*
|
|
68
|
+
* ## Critical Distinction: Component Matches in Compound Selectors
|
|
69
|
+
*
|
|
70
|
+
* **IMPORTANT**: Even in FULL mode, component matches within compound selectors create :is() wrappers,
|
|
71
|
+
* NOT selector lists. This is because:
|
|
72
|
+
* - `.btn:hover` extending with `.primary` should become `:is(.btn,.primary):hover`
|
|
73
|
+
* - NOT `.btn:hover,.primary:hover` (which would be wrong - `.primary:hover` doesn't exist in original)
|
|
74
|
+
*
|
|
75
|
+
* The other components of the compound selector (like `:hover`) must be preserved, which requires
|
|
76
|
+
* wrapping in :is() rather than creating a selector list.
|
|
77
|
+
*
|
|
78
|
+
* ## Special Cases
|
|
79
|
+
*
|
|
80
|
+
* ### Boundary Crossing
|
|
81
|
+
* - When a match crosses an :is() boundary (e.g., `:is(.a, .b).c` matching `.b.c`), the selector
|
|
82
|
+
* must be flattened first: `:is(.a, .b).c` → `:is(.a.c, .b.c)`
|
|
83
|
+
* - Then, if extending the flattened result, apply normal extend rules:
|
|
84
|
+
* - Example: `:is(.a, .x).c > :is(.b > .y).d {}` with `.e:extend(.a.c) {}`
|
|
85
|
+
* - Step 1: Flatten boundary crossing → `:is(.a.c, .x.c) > :is(.b > .y).d {}`
|
|
86
|
+
* - Step 2: Extend `.a.c` with `.e` (full match in SelectorList) → `:is(.a.c, .x.c, .e) > :is(.b > .y).d {}`
|
|
87
|
+
* - REASON: `.a.c` is a full match in the SelectorList, so we add `.e` to the list (same as root-level)
|
|
88
|
+
*
|
|
89
|
+
* ### Self-Referencing Extends
|
|
90
|
+
* - `.a:extend(.a)` should be ignored (handled by shouldSkipRuleset in extend-roots.ts)
|
|
91
|
+
*
|
|
92
|
+
* ### Pseudo-Selector Arguments
|
|
93
|
+
* - Matches inside :is(), :where(), :not(), :has() arguments are extended recursively
|
|
94
|
+
* - Only :is() allows boundary crossing
|
|
95
|
+
*
|
|
96
|
+
* ## Multiple Component Matches
|
|
97
|
+
*
|
|
98
|
+
* When multiple components in a compound selector match, each component is wrapped separately
|
|
99
|
+
* in its own :is() wrapper:
|
|
100
|
+
* - Example: `.a.b.c` with `.a` extended by `.x` and `.b` extended by `.y`
|
|
101
|
+
* - Result: `:is(.a, .x):is(.b, .y).c`
|
|
102
|
+
* - Each match is independent and gets its own :is() wrapper
|
|
103
|
+
*
|
|
104
|
+
* For a concise "rules of extend" checklist, see `EXTEND_RULES.md`.
|
|
105
|
+
* For "where are the tests / where to add coverage", see `__tests__/EXTEND_TEST_INDEX.md`.
|
|
106
|
+
*
|
|
107
|
+
* CORE PRINCIPLE: All extend matching (finding + full-match decision) is by selector equivalency
|
|
108
|
+
* only — never by exact AST or exact serialization. See EXTEND_RULES.md §0.
|
|
109
|
+
*/
|
|
110
|
+
import type { Rules } from '../rules.js';
|
|
111
|
+
import { type Selector } from '../selector.js';
|
|
112
|
+
import { type ExtendLocation } from './extend-helpers.js';
|
|
113
|
+
export declare function setExtendOrderMap(map: WeakMap<Selector, number> | null, orderByValueOf?: Map<string, number> | null): void;
|
|
114
|
+
/**
|
|
115
|
+
* Error types for extend operations
|
|
116
|
+
*/
|
|
117
|
+
export type ExtendErrorType = 'NOT_FOUND' | 'ELEMENT_CONFLICT' | 'ID_CONFLICT' | 'AMPERSAND_BOUNDARY' | 'PARTIAL_MATCH';
|
|
118
|
+
/**
|
|
119
|
+
* Error type constants for extend operations
|
|
120
|
+
*/
|
|
121
|
+
export declare const ExtendErrorType: {
|
|
122
|
+
readonly NOT_FOUND: "NOT_FOUND";
|
|
123
|
+
readonly ELEMENT_CONFLICT: "ELEMENT_CONFLICT";
|
|
124
|
+
readonly ID_CONFLICT: "ID_CONFLICT";
|
|
125
|
+
readonly AMPERSAND_BOUNDARY: "AMPERSAND_BOUNDARY";
|
|
126
|
+
readonly PARTIAL_MATCH: "PARTIAL_MATCH";
|
|
127
|
+
};
|
|
128
|
+
export declare class ExtendError extends Error {
|
|
129
|
+
type: ExtendErrorType;
|
|
130
|
+
context?: {
|
|
131
|
+
target?: Selector;
|
|
132
|
+
find?: Selector;
|
|
133
|
+
extendWith?: Selector;
|
|
134
|
+
conflictingSelectors?: Selector[];
|
|
135
|
+
} | undefined;
|
|
136
|
+
constructor(type: ExtendErrorType, message: string, context?: {
|
|
137
|
+
target?: Selector;
|
|
138
|
+
find?: Selector;
|
|
139
|
+
extendWith?: Selector;
|
|
140
|
+
conflictingSelectors?: Selector[];
|
|
141
|
+
} | undefined);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Result structure for extend operations
|
|
145
|
+
*/
|
|
146
|
+
export interface ExtendResult {
|
|
147
|
+
value: Selector;
|
|
148
|
+
error?: ExtendError;
|
|
149
|
+
}
|
|
150
|
+
export interface ExtendInstruction {
|
|
151
|
+
target: Selector;
|
|
152
|
+
extendWith: Selector;
|
|
153
|
+
partial: boolean;
|
|
154
|
+
extendRoot?: Rules;
|
|
155
|
+
}
|
|
156
|
+
export declare function applyExtendsToSelector(initialSelector: Selector, extendsList: ExtendInstruction[]): Selector;
|
|
157
|
+
/**
|
|
158
|
+
* Processes selectors in a single pass by:
|
|
159
|
+
* 1. Flattening generated :is() wrappers
|
|
160
|
+
* 2. Deduplicating selectors
|
|
161
|
+
* 3. Discarding or flattening ampersands.
|
|
162
|
+
*/
|
|
163
|
+
export declare function createProcessedSelector(selectors: Selector | Selector[], root?: boolean): Selector | Selector[];
|
|
164
|
+
/**
|
|
165
|
+
* Wrapper function that provides error information for extend operations.
|
|
166
|
+
* Returns a result object with the extended selector and optional error information.
|
|
167
|
+
*
|
|
168
|
+
* @param target - The selector to extend
|
|
169
|
+
* @param find - The target selector to find matches for
|
|
170
|
+
* @param extendWith - The selector to extend with
|
|
171
|
+
* @param partial - Whether to use partial matching (true) or full matching (false)
|
|
172
|
+
* @param skipAmpersandCheck - Whether to skip ampersand boundary checking (used in recursive calls)
|
|
173
|
+
* @returns ExtendResult with the extended selector and optional error information
|
|
174
|
+
*/
|
|
175
|
+
export declare function tryExtendSelector(target: Selector, find: Selector, extendWith: Selector, partial: boolean, skipAmpersandCheck?: boolean): ExtendResult;
|
|
176
|
+
/**
|
|
177
|
+
* Extends a selector by finding matches for a target selector and adding the extension.
|
|
178
|
+
* Throws ExtendError if the extension cannot be performed.
|
|
179
|
+
*
|
|
180
|
+
* @param target - The selector to extend
|
|
181
|
+
* @param find - The target selector to find matches for
|
|
182
|
+
* @param extendWith - The selector to extend with
|
|
183
|
+
* @param partial - Whether to use partial matching (true) or full matching (false)
|
|
184
|
+
* @param skipAmpersandCheck - Whether to skip ampersand boundary checking (used in recursive calls)
|
|
185
|
+
* @param hasMoreAfterIs - Internal
|
|
186
|
+
* @returns The extended selector
|
|
187
|
+
* @throws ExtendError if extension fails
|
|
188
|
+
*/
|
|
189
|
+
export declare function extendSelector(target: Selector, find: Selector, extendWith: Selector, partial: boolean, skipAmpersandCheck?: boolean, hasMoreAfterIs?: boolean): Selector;
|
|
190
|
+
/**
|
|
191
|
+
* Finds extends that should be processed next on a newly transformed selector.
|
|
192
|
+
* This is part of the iterative extend process: when a selector is transformed
|
|
193
|
+
* (e.g., .foo -> .foo, .ext3), we check if any selector in the result matches
|
|
194
|
+
* other extend targets. If so, those extends should be processed on the new
|
|
195
|
+
* selector, and we continue iterating until no more transforms occur or all
|
|
196
|
+
* extends are exhausted.
|
|
197
|
+
*
|
|
198
|
+
* Example: .ext3 extends .foo -> .foo, .ext3. We then check if .foo (in the
|
|
199
|
+
* result) matches .ext4:extend(.foo), and if so, process that extend on
|
|
200
|
+
* .foo, .ext3 to get .foo, .ext3, .ext4. This continues until exhausted.
|
|
201
|
+
*
|
|
202
|
+
* @param extendedSelector - The selector after transformation (e.g., .foo, .ext3)
|
|
203
|
+
* @param allExtends - Array of all extends: [target, selectorWithExtend, partial, extendRoot, extendNode]
|
|
204
|
+
* @param currentTarget - The target of the extend that just completed
|
|
205
|
+
* @param currentSelectorWithExtend - The selector that just extended
|
|
206
|
+
* @returns Array of extends to process next: [target, selectorWithExtend, partial, extendRoot, extendNode]
|
|
207
|
+
* where target is the extendedSelector (the newly transformed selector to continue extending)
|
|
208
|
+
*/
|
|
209
|
+
export declare function findChainedExtends(extendedSelector: Selector, allExtends: Array<[Selector, Selector, boolean, any, any]>, currentTarget: Selector, currentSelectorWithExtend: Selector, originalSelector: Selector): Array<[Selector, Selector, boolean, any, any]>;
|
|
210
|
+
/**
|
|
211
|
+
* Applies an extension at a specific location within a selector tree
|
|
212
|
+
* @param selector - The original selector
|
|
213
|
+
* @param location - The location where to apply the extension
|
|
214
|
+
* @param extendWith - The selector to extend with
|
|
215
|
+
* @returns The modified selector with extension applied
|
|
216
|
+
*/
|
|
217
|
+
export declare function applyExtensionAtLocation(selector: Selector, location: ExtendLocation, extendWith: Selector): Selector;
|
|
218
|
+
//# sourceMappingURL=extend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../../src/tree/util/extend.ts"],"names":[],"mappings":"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"}
|