@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,556 @@
|
|
|
1
|
+
import { Node, F_MAY_ASYNC, F_NON_STATIC, F_VISIBLE, defineType } from './node.js';
|
|
2
|
+
import { Rules } from './rules.js';
|
|
3
|
+
import { isThenable } from '@jesscss/awaitable-pipe';
|
|
4
|
+
import { isNode } from './util/is-node.js';
|
|
5
|
+
import { AtRule } from './at-rule.js';
|
|
6
|
+
import { Any } from './any.js';
|
|
7
|
+
/**
|
|
8
|
+
* This is a generic class for:
|
|
9
|
+
* - Sass+ `@use` (for stylesheets)
|
|
10
|
+
* - Jess `@-compose` and Less `@compose`
|
|
11
|
+
* - Less, Sass+, and Jess `@import` / `@-import` that are indicated
|
|
12
|
+
* to be processed by the engine
|
|
13
|
+
*
|
|
14
|
+
* @see https://sass-lang.com/documentation/at-rules/import/
|
|
15
|
+
*/
|
|
16
|
+
export class StyleImport extends Node {
|
|
17
|
+
type = 'StyleImport';
|
|
18
|
+
shortType = 'style';
|
|
19
|
+
constructor(value, options, location, treeContext) {
|
|
20
|
+
super(value, options, location, treeContext);
|
|
21
|
+
// Style imports are always non-static and may be async
|
|
22
|
+
this.addFlags(F_MAY_ASYNC, F_NON_STATIC);
|
|
23
|
+
}
|
|
24
|
+
getFinalRules(evaluatedRules) {
|
|
25
|
+
let { importOptions, type } = this.options;
|
|
26
|
+
const reference = importOptions.reference;
|
|
27
|
+
const isForward = importOptions.forward === true;
|
|
28
|
+
// For compose type, default is protected (not mutable). For import type, default is mutable.
|
|
29
|
+
// mutable: false on @import explicitly makes it protected.
|
|
30
|
+
const isProtected = type === 'compose'
|
|
31
|
+
? !importOptions.mutable // compose: protected unless mutable: true
|
|
32
|
+
: importOptions.mutable === false; // import: mutable unless explicitly mutable: false
|
|
33
|
+
let Ruleset = 'public';
|
|
34
|
+
let Declaration = 'public';
|
|
35
|
+
let Mixin = 'public';
|
|
36
|
+
let VarDeclaration = 'public';
|
|
37
|
+
if (isProtected) {
|
|
38
|
+
Ruleset = 'private';
|
|
39
|
+
}
|
|
40
|
+
else if (reference) {
|
|
41
|
+
/**
|
|
42
|
+
* Not sure if this is true.
|
|
43
|
+
* They won't be output, but that's not the same as being optional,
|
|
44
|
+
* UNLESS we're extending the word 'optional' to mean "not output".
|
|
45
|
+
*
|
|
46
|
+
* I think what we mean here by "optional" it "not ouptut unless extended".
|
|
47
|
+
* Our test for reference therefore should mimic Less behavior.
|
|
48
|
+
*/
|
|
49
|
+
Ruleset = 'optional';
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Create a rules wrapper so we can set visibility.
|
|
53
|
+
* The inner rules may be static, but the import may
|
|
54
|
+
* have different import settings.
|
|
55
|
+
*
|
|
56
|
+
* For compose type:
|
|
57
|
+
* - Variables and mixins are visible to the direct parent (the file that imports them)
|
|
58
|
+
* - If 'export' flag is set, variables and mixins are also forwarded to downstream stylesheets
|
|
59
|
+
* - The 'local' flag means: visible to direct parent, but not re-exported to parent's parent
|
|
60
|
+
*/
|
|
61
|
+
const isReferenceMode = ((type === 'import' && (importOptions?._dedupe === true || reference))
|
|
62
|
+
|| (type === 'compose' && reference));
|
|
63
|
+
// De-duped imports mutate node options during markReferenceMode; use deep clone so
|
|
64
|
+
// repeated imports do not retroactively mutate previously emitted import trees.
|
|
65
|
+
// Keep explicit reference imports on shallow clone to preserve existing extend wiring.
|
|
66
|
+
const useDeepClone = Boolean(type === 'import'
|
|
67
|
+
&& (importOptions.multiple === true || importOptions._dedupe === true));
|
|
68
|
+
let out = (useDeepClone ? evaluatedRules.clone(true) : evaluatedRules.clone());
|
|
69
|
+
// Import type: variables are visible and re-exported (not local)
|
|
70
|
+
// Compose type: variables are visible to parent but not transitive by default (`local: true`)
|
|
71
|
+
// Forward: not visible locally but *is* transitive (`local: false`)
|
|
72
|
+
const isLocal = type === 'compose' && !isForward;
|
|
73
|
+
out.options = {
|
|
74
|
+
rulesVisibility: { Ruleset, Declaration, Mixin, VarDeclaration },
|
|
75
|
+
local: isLocal,
|
|
76
|
+
forward: isForward,
|
|
77
|
+
referenceMode: isReferenceMode,
|
|
78
|
+
readonly: importOptions.readonly ?? (type === 'compose' ? true : false)
|
|
79
|
+
};
|
|
80
|
+
if (isReferenceMode) {
|
|
81
|
+
const markReferenceMode = (node) => {
|
|
82
|
+
const nodeOptions = node.options;
|
|
83
|
+
nodeOptions.referenceMode = true;
|
|
84
|
+
const maybeRulesValue = node.value;
|
|
85
|
+
const rules = maybeRulesValue?.rules;
|
|
86
|
+
if (rules && isNode(rules, 'Rules')) {
|
|
87
|
+
markReferenceMode(rules);
|
|
88
|
+
}
|
|
89
|
+
const children = node.value;
|
|
90
|
+
if (Array.isArray(children)) {
|
|
91
|
+
for (const child of children) {
|
|
92
|
+
if (isNode(child, ['Rules', 'Ruleset', 'AtRule'])) {
|
|
93
|
+
markReferenceMode(child);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
markReferenceMode(out);
|
|
99
|
+
}
|
|
100
|
+
// Forwarded modules should never render output at this scope.
|
|
101
|
+
if (isForward) {
|
|
102
|
+
out.removeFlag(F_VISIBLE);
|
|
103
|
+
}
|
|
104
|
+
// Set sourceNode so variable lookups know they can cross import boundaries
|
|
105
|
+
out.sourceNode = this;
|
|
106
|
+
this.adopt(out);
|
|
107
|
+
return out;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Defer import-path interpolation to evalNode so unresolved vars can be retried
|
|
111
|
+
* after later imports/assignments in the same Rules scope have evaluated.
|
|
112
|
+
*/
|
|
113
|
+
preEval(_context) {
|
|
114
|
+
return this;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* @note
|
|
118
|
+
* When imports are evaluated, they should be deeply cloned. The reason is that
|
|
119
|
+
* they can be used in multiple places, and can be evaluated differently
|
|
120
|
+
* each time, so they are more like a function call.
|
|
121
|
+
*
|
|
122
|
+
* @todo
|
|
123
|
+
* How do extends work then?
|
|
124
|
+
*/
|
|
125
|
+
evalNode(context) {
|
|
126
|
+
let node = this;
|
|
127
|
+
const { path, with: withValues } = node.value;
|
|
128
|
+
const { options } = node;
|
|
129
|
+
options.importOptions ??= {};
|
|
130
|
+
const { type, importOptions } = options;
|
|
131
|
+
const maybePath = path.eval(context);
|
|
132
|
+
let originalDepth = context.depth;
|
|
133
|
+
context.depth = this.depth;
|
|
134
|
+
/**
|
|
135
|
+
* @todo - Add options
|
|
136
|
+
*
|
|
137
|
+
* Note that the Less plugin should trigger a unique default behavior
|
|
138
|
+
* for `@import` which is that it is de-duplicated by default. Meaning
|
|
139
|
+
* that it won't render rulesets twice per compilation. I think that
|
|
140
|
+
* means that it's just kind of ignored without an explicit `multiple`
|
|
141
|
+
* option. Since all vars are global per compilation, it should just
|
|
142
|
+
* work.
|
|
143
|
+
*/
|
|
144
|
+
const finalize = async (finalPath) => {
|
|
145
|
+
const previousTreeContext = context.treeContext;
|
|
146
|
+
// Inherit "reference branch" semantics lexically for nested imports unless
|
|
147
|
+
// `multiple` explicitly opts into fresh output.
|
|
148
|
+
const inheritedReferenceMode = context.inReferenceImportScope;
|
|
149
|
+
const previousExplicitReference = importOptions.reference;
|
|
150
|
+
let pushedImportScope = false;
|
|
151
|
+
if (inheritedReferenceMode && !importOptions.multiple) {
|
|
152
|
+
importOptions.reference = true;
|
|
153
|
+
}
|
|
154
|
+
if (node.treeContext) {
|
|
155
|
+
context.treeContext = node.treeContext;
|
|
156
|
+
}
|
|
157
|
+
if (importOptions.multiple || importOptions.reference) {
|
|
158
|
+
// Scope push/pop is intentionally paired in this method's try/finally.
|
|
159
|
+
// This keeps branch semantics local to this import evaluation path.
|
|
160
|
+
context.pushImportScope({
|
|
161
|
+
multiple: importOptions.multiple === true,
|
|
162
|
+
reference: importOptions.reference === true
|
|
163
|
+
});
|
|
164
|
+
pushedImportScope = true;
|
|
165
|
+
}
|
|
166
|
+
try {
|
|
167
|
+
const isInlineImport = importOptions.inline === true;
|
|
168
|
+
let rules;
|
|
169
|
+
let resolvedPath;
|
|
170
|
+
if (isInlineImport) {
|
|
171
|
+
const resolved = await context.resolveImportPath(finalPath);
|
|
172
|
+
resolvedPath = resolved.resolvedPath;
|
|
173
|
+
const sourceGetter = context.plugins.find(plugin => plugin.getSource);
|
|
174
|
+
if (!sourceGetter) {
|
|
175
|
+
throw new Error('No source getter found');
|
|
176
|
+
}
|
|
177
|
+
const source = await sourceGetter.getSource(resolvedPath);
|
|
178
|
+
const sourceNode = new Any(source, { role: 'any' });
|
|
179
|
+
rules = this.wrapInlineSourceWithPostlude(sourceNode, importOptions.postlude);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
try {
|
|
183
|
+
({ node: rules, resolvedPath } = await context.getTree(finalPath, importOptions));
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
if (importOptions.optional) {
|
|
187
|
+
return Rules.create([]);
|
|
188
|
+
}
|
|
189
|
+
if (importOptions.reference && (error?.phase === 'parse' || String(error?.code ?? '').startsWith('parse/'))) {
|
|
190
|
+
return Rules.create([]);
|
|
191
|
+
}
|
|
192
|
+
throw error;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
// Set sourceNode immediately after getting the Rules, before any evaluation
|
|
196
|
+
// This ensures that when preEval clones the Rules, the cloned Rules will have sourceNode set
|
|
197
|
+
// and registerNode can detect this is an imported Rules
|
|
198
|
+
rules.sourceNode = node;
|
|
199
|
+
let evaldRules = context.evaldTrees.get(resolvedPath);
|
|
200
|
+
// Compose caching semantics:
|
|
201
|
+
// - The first time a module is composed, we evaluate and cache the evaluated Rules.
|
|
202
|
+
// - Subsequent compose imports reuse the cached evaluated Rules (so re-imports don't re-run evaluation).
|
|
203
|
+
// - Subsequent compose imports default to "reference" mode unless `multiple: true` is set,
|
|
204
|
+
// so rulesets / at-rules are not output again.
|
|
205
|
+
if (type === 'compose' && evaldRules) {
|
|
206
|
+
if (withValues) {
|
|
207
|
+
// Sass-style: once configured, cannot be configured again.
|
|
208
|
+
// (We keep parsing show/hide/prefix metadata elsewhere; this is for with/set configs.)
|
|
209
|
+
throw new Error('Cannot configure a stylesheet more than once.');
|
|
210
|
+
}
|
|
211
|
+
// Reuse cached evaluated rules tree.
|
|
212
|
+
rules = evaldRules;
|
|
213
|
+
// Default: de-dupe output for compose re-imports unless explicitly multiple.
|
|
214
|
+
if (!importOptions.multiple) {
|
|
215
|
+
importOptions.reference = true;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
const inMultipleImportBranch = context.inMultipleImportScope;
|
|
219
|
+
if (type === 'import' && importOptions.once !== false && !importOptions.multiple && !inMultipleImportBranch && evaldRules) {
|
|
220
|
+
rules = evaldRules;
|
|
221
|
+
importOptions._dedupe = true;
|
|
222
|
+
}
|
|
223
|
+
if (withValues) {
|
|
224
|
+
// Once configured, cannot be configured again (handled above for compose+cache).
|
|
225
|
+
if (withValues.type === 'set' && evaldRules) {
|
|
226
|
+
throw new Error('Cannot configure a stylesheet more than once.');
|
|
227
|
+
}
|
|
228
|
+
// Clone the imported rules BEFORE evaluation so registries are populated on the clone
|
|
229
|
+
let modifiedRules = rules.clone(true);
|
|
230
|
+
// withValues.node might be a Reference, so evaluate it first to get Rules
|
|
231
|
+
let withRulesNode = withValues.node;
|
|
232
|
+
if (isNode(withRulesNode, 'Reference')) {
|
|
233
|
+
// Evaluate the reference to get the actual Rules
|
|
234
|
+
const evaluated = await withRulesNode.eval(context);
|
|
235
|
+
if (!isNode(evaluated, 'Collection')) {
|
|
236
|
+
throw new Error('with/set node must evaluate to a Collection');
|
|
237
|
+
}
|
|
238
|
+
withRulesNode = evaluated;
|
|
239
|
+
}
|
|
240
|
+
// withRules don't need to be cloned because they are used once
|
|
241
|
+
let withRules = withRulesNode;
|
|
242
|
+
// Build the declaration registry for efficient lookups
|
|
243
|
+
// This avoids O(n*m) complexity when we have many injected variables
|
|
244
|
+
// First, register all nodes in modifiedRules so they're in the registry
|
|
245
|
+
for (const node of modifiedRules.value) {
|
|
246
|
+
modifiedRules.registerNode(node);
|
|
247
|
+
}
|
|
248
|
+
const declarationRegistry = modifiedRules.getRegistry('declaration');
|
|
249
|
+
declarationRegistry.indexPendingItems();
|
|
250
|
+
// Separate injected variables into two groups:
|
|
251
|
+
// 1. Variables that replace existing ones (found in imported rules)
|
|
252
|
+
// 2. Variables that are new (not found in imported rules)
|
|
253
|
+
const newVariables = [];
|
|
254
|
+
// For each injected variable, find and replace the first matching declaration
|
|
255
|
+
// in the imported rules, OR if not found, add it to newVariables to inject at the top.
|
|
256
|
+
// This ensures the injected value "overrides" the original.
|
|
257
|
+
// Works correctly for both scope lookup ($var) and linear lookup ($^var):
|
|
258
|
+
// - For linear lookup: injected vars come first, so they're found first
|
|
259
|
+
// - For scope lookup: original is replaced, so injected value wins
|
|
260
|
+
for (const injectedNode of withRules.value) {
|
|
261
|
+
if (isNode(injectedNode, 'VarDeclaration')) {
|
|
262
|
+
const varName = injectedNode.value.name?.toString();
|
|
263
|
+
if (varName) {
|
|
264
|
+
// Use the registry for efficient lookup instead of linear search
|
|
265
|
+
const declarations = declarationRegistry.index.get(varName);
|
|
266
|
+
if (declarations) {
|
|
267
|
+
// Find the first VarDeclaration in the set (sorted by index)
|
|
268
|
+
const existingDecl = Array.from(declarations).find(decl => isNode(decl, 'VarDeclaration'));
|
|
269
|
+
if (existingDecl) {
|
|
270
|
+
// Remove the old declaration from the registry
|
|
271
|
+
declarations.delete(existingDecl);
|
|
272
|
+
// Find its index in the array and replace it
|
|
273
|
+
const index = modifiedRules.value.indexOf(existingDecl);
|
|
274
|
+
if (index !== -1) {
|
|
275
|
+
// Adopt the new node and replace in array
|
|
276
|
+
modifiedRules.adopt(injectedNode);
|
|
277
|
+
modifiedRules.value[index] = injectedNode;
|
|
278
|
+
// Add the new declaration to the registry
|
|
279
|
+
declarations.add(injectedNode);
|
|
280
|
+
// Register the new node so it's properly indexed
|
|
281
|
+
modifiedRules.registerNode(injectedNode);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
// Not found, add to newVariables to inject at the top
|
|
286
|
+
newVariables.push(injectedNode);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
// Not found in registry, add to newVariables to inject at the top
|
|
291
|
+
newVariables.push(injectedNode);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
// Non-variable nodes (if any) are kept as-is
|
|
296
|
+
newVariables.push(injectedNode);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
// Non-VarDeclaration nodes are kept as-is
|
|
301
|
+
newVariables.push(injectedNode);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
// Create the final rules structure:
|
|
305
|
+
// [new injected variables (not found in imported), ...all nodes from modified imported rules (with replacements)]
|
|
306
|
+
// Injected variables that aren't found should be at the TOP so they're found first
|
|
307
|
+
// for linear lookup ($^var)
|
|
308
|
+
// We flatten the structure so all variables are in the same Rules scope
|
|
309
|
+
const finalRules = Rules.create([]);
|
|
310
|
+
// First, add new injected variables that weren't found in imported rules (at the top)
|
|
311
|
+
for (const newNode of newVariables) {
|
|
312
|
+
finalRules.adopt(newNode);
|
|
313
|
+
finalRules.value.push(newNode);
|
|
314
|
+
}
|
|
315
|
+
// Then, add all nodes from the modified imported rules (flattened, with replacements)
|
|
316
|
+
for (const node of modifiedRules.value) {
|
|
317
|
+
finalRules.adopt(node);
|
|
318
|
+
finalRules.value.push(node);
|
|
319
|
+
}
|
|
320
|
+
rules = finalRules;
|
|
321
|
+
}
|
|
322
|
+
// For compose type, register and push extend root BEFORE evaluation
|
|
323
|
+
// so extends inside the import use the correct root
|
|
324
|
+
const parentExtendRoot = context.extendRoots.getCurrentExtendRoot();
|
|
325
|
+
let pushedExtendRoot = false;
|
|
326
|
+
if (type === 'compose') {
|
|
327
|
+
// Register the Rules as an extend root (use rules before cloning/evaluation)
|
|
328
|
+
// We'll update the registration after evaluation if the Rules changes
|
|
329
|
+
// For compose type, default is protected (not mutable)
|
|
330
|
+
const isComposeProtected = !importOptions.mutable;
|
|
331
|
+
context.extendRoots.registerRoot(rules, parentExtendRoot, {
|
|
332
|
+
isProtected: isComposeProtected,
|
|
333
|
+
isCompose: true,
|
|
334
|
+
namespace: node.options.namespace
|
|
335
|
+
});
|
|
336
|
+
context.extendRoots.pushExtendRoot(rules);
|
|
337
|
+
pushedExtendRoot = true;
|
|
338
|
+
}
|
|
339
|
+
/** Freshly evaluate the rules in these circumstances
|
|
340
|
+
* - `with` (or `set`) values are present
|
|
341
|
+
* - the rules have not been evaluated yet
|
|
342
|
+
* - the import type is `import`
|
|
343
|
+
*/
|
|
344
|
+
let evaluatedInImplicitReferenceMode = false;
|
|
345
|
+
if (withValues || !evaldRules || type === 'import') {
|
|
346
|
+
const preserveOriginalNodes = context.preserveOriginalNodes;
|
|
347
|
+
context.preserveOriginalNodes = true;
|
|
348
|
+
let pushedImplicitReferenceEvalScope = false;
|
|
349
|
+
const isImplicitReferenceModeForEval = (type === 'import'
|
|
350
|
+
&& importOptions.reference !== true
|
|
351
|
+
&& importOptions._dedupe === true
|
|
352
|
+
&& !importOptions.multiple);
|
|
353
|
+
if (isImplicitReferenceModeForEval) {
|
|
354
|
+
evaluatedInImplicitReferenceMode = true;
|
|
355
|
+
// Dedupe re-imports behave like an implicit reference traversal:
|
|
356
|
+
// evaluate for symbol availability, but avoid outward extend side effects.
|
|
357
|
+
context.pushImportScope({ reference: true });
|
|
358
|
+
pushedImplicitReferenceEvalScope = true;
|
|
359
|
+
}
|
|
360
|
+
// For protected imports (mutable: false), push the rules to extend root stack
|
|
361
|
+
// so rulesets register in the import's registry, not the parent's
|
|
362
|
+
const isImportProtected = type === 'import' && importOptions.mutable === false;
|
|
363
|
+
const shouldUseLocalExtendRoot = isImportProtected || isImplicitReferenceModeForEval;
|
|
364
|
+
if (isImplicitReferenceModeForEval) {
|
|
365
|
+
// Link local in-eval root so external extends can still target deduped imports.
|
|
366
|
+
context.extendRoots.registerRoot(rules, parentExtendRoot, {
|
|
367
|
+
isProtected: isImportProtected,
|
|
368
|
+
namespace: node.options.namespace
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
if (shouldUseLocalExtendRoot) {
|
|
372
|
+
context.extendRoots.pushExtendRoot(rules);
|
|
373
|
+
}
|
|
374
|
+
try {
|
|
375
|
+
// Call preEval first to get the cloned Rules (if cloning occurs)
|
|
376
|
+
// sourceNode is already set above, so the cloned Rules will have it
|
|
377
|
+
rules = await rules.preEval(context);
|
|
378
|
+
if (type === 'import') {
|
|
379
|
+
/** Needed at evaluation time for older import type */
|
|
380
|
+
node.adopt(rules);
|
|
381
|
+
}
|
|
382
|
+
rules = await rules.eval(context);
|
|
383
|
+
}
|
|
384
|
+
finally {
|
|
385
|
+
context.preserveOriginalNodes = preserveOriginalNodes;
|
|
386
|
+
if (pushedImplicitReferenceEvalScope) {
|
|
387
|
+
context.popImportScope();
|
|
388
|
+
}
|
|
389
|
+
if (shouldUseLocalExtendRoot) {
|
|
390
|
+
context.extendRoots.popExtendRoot();
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
// Cache compose modules (and configured modules) after first evaluation.
|
|
394
|
+
if (type === 'compose'
|
|
395
|
+
|| withValues?.type === 'set'
|
|
396
|
+
|| (type === 'import' && importOptions.once !== false)) {
|
|
397
|
+
context.evaldTrees.set(resolvedPath, rules);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
else {
|
|
401
|
+
// Clone the unevaluated rules BEFORE evaluation so registries are populated on the clone
|
|
402
|
+
// This ensures registration happens post-clone, not on the cached evaldRules
|
|
403
|
+
// sourceNode is already set above, so the cloned Rules will have it
|
|
404
|
+
rules = rules.clone(true);
|
|
405
|
+
let preserveOriginalNodes = context.preserveOriginalNodes;
|
|
406
|
+
context.preserveOriginalNodes = true;
|
|
407
|
+
// Note: For compose type, we don't set rules.parent = node
|
|
408
|
+
// (only import type needs this for older import behavior)
|
|
409
|
+
rules = await rules.eval(context);
|
|
410
|
+
context.preserveOriginalNodes = preserveOriginalNodes;
|
|
411
|
+
}
|
|
412
|
+
// Pop extend root if we pushed one
|
|
413
|
+
if (pushedExtendRoot) {
|
|
414
|
+
context.extendRoots.popExtendRoot();
|
|
415
|
+
}
|
|
416
|
+
if (evaluatedInImplicitReferenceMode) {
|
|
417
|
+
rules.options.referenceMode = false;
|
|
418
|
+
}
|
|
419
|
+
let finalRules = node.getFinalRules(rules);
|
|
420
|
+
if (evaluatedInImplicitReferenceMode) {
|
|
421
|
+
finalRules.options.referenceMode = false;
|
|
422
|
+
}
|
|
423
|
+
if (importOptions.postlude && !isInlineImport) {
|
|
424
|
+
finalRules = this.wrapEvaluatedRulesWithPostlude(finalRules, importOptions.postlude);
|
|
425
|
+
}
|
|
426
|
+
// For import type, register the final Rules as a child root of the parent
|
|
427
|
+
// so extends from the parent can find rulesets in the imported Rules
|
|
428
|
+
// Do this AFTER getFinalRules because it returns a cloned Rules
|
|
429
|
+
if (type === 'import') {
|
|
430
|
+
const currentParentExtendRoot = context.extendRoots.getCurrentExtendRoot();
|
|
431
|
+
// Import type is mutable by default (unless explicitly mutable: false)
|
|
432
|
+
const isImportProtected = importOptions.mutable === false;
|
|
433
|
+
const isImplicitReferenceModeForRegistration = (importOptions._dedupe === true
|
|
434
|
+
&& importOptions.reference !== true
|
|
435
|
+
&& !importOptions.multiple);
|
|
436
|
+
const shouldReRegisterLocalRootRulesets = isImportProtected || isImplicitReferenceModeForRegistration;
|
|
437
|
+
context.extendRoots.registerRoot(finalRules, currentParentExtendRoot, {
|
|
438
|
+
isProtected: isImportProtected,
|
|
439
|
+
namespace: node.options.namespace
|
|
440
|
+
});
|
|
441
|
+
// For imports that evaluated under a local extend root (protected import or implicit _dedupe
|
|
442
|
+
// reference traversal), rulesets were registered in the pre-finalized Rules root. Since
|
|
443
|
+
// getFinalRules can clone, re-register all descendant rulesets under finalRules.
|
|
444
|
+
// during preEval (when we pushed rules to the stack). Since getFinalRules clones,
|
|
445
|
+
// we need to re-register rulesets in finalRules' registry.
|
|
446
|
+
if (shouldReRegisterLocalRootRulesets) {
|
|
447
|
+
const finalRulesRegistry = finalRules.getRegistry('ruleset');
|
|
448
|
+
for (const maybeRuleset of finalRules.nodes()) {
|
|
449
|
+
if (isNode(maybeRuleset, 'Ruleset')) {
|
|
450
|
+
finalRulesRegistry.add(maybeRuleset);
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
// Don't push to stack - import type uses parent's root for extends inside the import
|
|
455
|
+
// But we register it so extends from parent can find rulesets in the imported Rules
|
|
456
|
+
}
|
|
457
|
+
return finalRules;
|
|
458
|
+
}
|
|
459
|
+
finally {
|
|
460
|
+
context.treeContext = previousTreeContext;
|
|
461
|
+
if (pushedImportScope) {
|
|
462
|
+
context.popImportScope();
|
|
463
|
+
}
|
|
464
|
+
importOptions.reference = previousExplicitReference;
|
|
465
|
+
}
|
|
466
|
+
};
|
|
467
|
+
if (isThenable(maybePath)) {
|
|
468
|
+
return maybePath.then(async (p) => {
|
|
469
|
+
const finalPath = p.valueOf();
|
|
470
|
+
context.depth = originalDepth;
|
|
471
|
+
return finalize(finalPath);
|
|
472
|
+
});
|
|
473
|
+
}
|
|
474
|
+
const finalPath = maybePath.valueOf();
|
|
475
|
+
context.depth = originalDepth;
|
|
476
|
+
return finalize(finalPath);
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Applies CSS import postlude wrappers around inline source content.
|
|
480
|
+
* Falls back to `@media <postlude>` for plain query nodes.
|
|
481
|
+
*/
|
|
482
|
+
wrapInlineSourceWithPostlude(sourceNode, postlude) {
|
|
483
|
+
if (!postlude) {
|
|
484
|
+
return Rules.create([sourceNode]);
|
|
485
|
+
}
|
|
486
|
+
let wrapped = sourceNode;
|
|
487
|
+
const postludeNodes = isNode(postlude, ['Sequence', 'List']) ? postlude.value : [postlude];
|
|
488
|
+
for (let i = postludeNodes.length - 1; i >= 0; i--) {
|
|
489
|
+
const current = postludeNodes[i];
|
|
490
|
+
const body = Rules.create([wrapped]);
|
|
491
|
+
if (isNode(current, 'Call')) {
|
|
492
|
+
const callName = String(current.value.name).toLowerCase();
|
|
493
|
+
if (callName === 'media' || callName === 'supports' || callName === 'layer') {
|
|
494
|
+
const args = current.value.args?.value ?? [];
|
|
495
|
+
const prelude = args.length <= 1 ? args[0] : current.value.args;
|
|
496
|
+
if (prelude) {
|
|
497
|
+
wrapped = new AtRule({
|
|
498
|
+
name: new Any(`@${callName}`, { role: 'atkeyword' }),
|
|
499
|
+
prelude,
|
|
500
|
+
rules: body
|
|
501
|
+
});
|
|
502
|
+
continue;
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
wrapped = new AtRule({
|
|
507
|
+
name: new Any('@media', { role: 'atkeyword' }),
|
|
508
|
+
prelude: current,
|
|
509
|
+
rules: body
|
|
510
|
+
});
|
|
511
|
+
}
|
|
512
|
+
return Rules.create([wrapped]);
|
|
513
|
+
}
|
|
514
|
+
/**
|
|
515
|
+
* Applies CSS import postlude wrappers around evaluated stylesheet rules.
|
|
516
|
+
* Used for Less-style imports with media/layer/supports postludes.
|
|
517
|
+
*/
|
|
518
|
+
wrapEvaluatedRulesWithPostlude(rules, postlude) {
|
|
519
|
+
if (!postlude) {
|
|
520
|
+
return rules;
|
|
521
|
+
}
|
|
522
|
+
const postludeNodes = isNode(postlude, ['Sequence', 'List']) ? postlude.value : [postlude];
|
|
523
|
+
let wrappedRules = rules;
|
|
524
|
+
for (let i = postludeNodes.length - 1; i >= 0; i--) {
|
|
525
|
+
const current = postludeNodes[i];
|
|
526
|
+
if (isNode(current, 'Call')) {
|
|
527
|
+
const callName = String(current.value.name).toLowerCase();
|
|
528
|
+
if (callName === 'media' || callName === 'supports' || callName === 'layer') {
|
|
529
|
+
const args = current.value.args?.value ?? [];
|
|
530
|
+
const prelude = args.length <= 1 ? args[0] : current.value.args;
|
|
531
|
+
if (prelude) {
|
|
532
|
+
const wrappedAtRule = new AtRule({
|
|
533
|
+
name: new Any(`@${callName}`, { role: 'atkeyword' }),
|
|
534
|
+
prelude,
|
|
535
|
+
rules: wrappedRules
|
|
536
|
+
});
|
|
537
|
+
wrappedRules = Rules.create([wrappedAtRule]);
|
|
538
|
+
continue;
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
const mediaAtRule = new AtRule({
|
|
543
|
+
name: new Any('@media', { role: 'atkeyword' }),
|
|
544
|
+
prelude: current,
|
|
545
|
+
rules: wrappedRules
|
|
546
|
+
});
|
|
547
|
+
wrappedRules = Rules.create([mediaAtRule]);
|
|
548
|
+
}
|
|
549
|
+
return wrappedRules;
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
defineType(StyleImport, 'StyleImport', 'style');
|
|
553
|
+
export const style = (...args) => {
|
|
554
|
+
return new StyleImport(...args);
|
|
555
|
+
};
|
|
556
|
+
//# sourceMappingURL=import-style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-style.js","sourceRoot":"","sources":["../../src/tree/import-style.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @note
|
|
3
|
+
* These nodes are actually taking the role of two ASTs,
|
|
4
|
+
* because there are nodes that will be used to produce a module,
|
|
5
|
+
* and that module will create AST nodes to create CSS.
|
|
6
|
+
*
|
|
7
|
+
* @todo - rewrite the above, this is no longer true
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Import from node.ts which applies all the prototype patches
|
|
11
|
+
* (nil, operate, treeContext) and re-exports from node-base.ts
|
|
12
|
+
*/
|
|
13
|
+
import { Node, type LocationInfo, F_VISIBLE, F_MAY_ASYNC, F_STATIC, F_NON_STATIC } from './node.js';
|
|
14
|
+
import { TreeContext } from '../context.js';
|
|
15
|
+
export { Node, TreeContext, type LocationInfo, F_VISIBLE, F_MAY_ASYNC, F_STATIC, F_NON_STATIC };
|
|
16
|
+
export * from './at-rule.js';
|
|
17
|
+
export * from './block.js';
|
|
18
|
+
export * from './bool.js';
|
|
19
|
+
export * from './ampersand.js';
|
|
20
|
+
export * from './any.js';
|
|
21
|
+
export * from './call.js';
|
|
22
|
+
export * from './color.js';
|
|
23
|
+
export * from './comment.js';
|
|
24
|
+
export * from './combinator.js';
|
|
25
|
+
export * from './condition.js';
|
|
26
|
+
export * from './control.js';
|
|
27
|
+
export * from './declaration.js';
|
|
28
|
+
export * from './declaration-custom.js';
|
|
29
|
+
export * from './declaration-var.js';
|
|
30
|
+
export * from './dimension.js';
|
|
31
|
+
export * from './number.js';
|
|
32
|
+
export * from './expression.js';
|
|
33
|
+
export * from './extend.js';
|
|
34
|
+
export * from './list.js';
|
|
35
|
+
export * from './log.js';
|
|
36
|
+
export * from './mixin.js';
|
|
37
|
+
export * from './negative.js';
|
|
38
|
+
export * from './function.js';
|
|
39
|
+
export * from './js-function.js';
|
|
40
|
+
export * from './js-array.js';
|
|
41
|
+
export * from './js-object.js';
|
|
42
|
+
export * from './nil.js';
|
|
43
|
+
export * from './operation.js';
|
|
44
|
+
export * from './paren.js';
|
|
45
|
+
export * from './quoted.js';
|
|
46
|
+
export * from './range.js';
|
|
47
|
+
export * from './ruleset.js';
|
|
48
|
+
export * from './rules.js';
|
|
49
|
+
export * from './rules-raw.js';
|
|
50
|
+
export * from './collection.js';
|
|
51
|
+
export * from './selector.js';
|
|
52
|
+
export * from './selector-attr.js';
|
|
53
|
+
export * from './selector-basic.js';
|
|
54
|
+
export * from './selector-list.js';
|
|
55
|
+
export * from './selector-pseudo.js';
|
|
56
|
+
export * from './selector-compound.js';
|
|
57
|
+
export * from './selector-complex.js';
|
|
58
|
+
export * from './selector-simple.js';
|
|
59
|
+
export * from './selector-capture.js';
|
|
60
|
+
export * from './sequence.js';
|
|
61
|
+
export * from './query-condition.js';
|
|
62
|
+
export * from './comment.js';
|
|
63
|
+
export * from './reference.js';
|
|
64
|
+
export * from './import-style.js';
|
|
65
|
+
export * from './import-js.js';
|
|
66
|
+
export * from './interpolated.js';
|
|
67
|
+
export * from './selector-interpolated.js';
|
|
68
|
+
export * from './default-guard.js';
|
|
69
|
+
export * from './rest.js';
|
|
70
|
+
export * from './url.js';
|
|
71
|
+
//# sourceMappingURL=index.d.ts.map
|