@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
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2018 Matthew Dean
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Jess Core - Syntax Tree & Core Evaluation
|
|
2
|
+
|
|
3
|
+
This is separate from the `jess` package, because it contains the AST, therefore parsers can import this package to export an AST, and `jess` can import the parser + core. (Avoids circular dependencies.)
|
|
4
|
+
|
|
5
|
+
## Data structures
|
|
6
|
+
|
|
7
|
+
I've fiddled around with lots of data structures trying to find optimal node insertion / removal. With the latest code, I've eliminated most (if not all?) of mid-list insertion/deletion in array-like structures. I had a lot of code based on [Queue from data-structure-typed](https://github.com/zrwusa/data-structure-typed) (and tried some other structures), but Queue is really only faster when items need to be removed / added to the beginning, because of Array resizing. If we're doing only pushes & pops, no mid-list insertions, and only indexed lookups, then a native Array will always win. In those array-like structures for that library, pushes / pops, then an Array will be fine (and its an ArrayList internally).
|
|
8
|
+
|
|
9
|
+
For HashMap-like structures, I actually think using a simple extension of Map might be ideal. It's roughly the same speed as `data-structure-typed`'s HashMap, and I can do a custom clone that utilizes a [custom while loop that is currently fastest in Chrome](https://jsperf.app/savivi/6).
|
package/lib/context.d.ts
ADDED
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
import type { AtRule, Ruleset, Rules, ImportOptions, Node, Any, Selector } from './tree/index.js';
|
|
2
|
+
import { ExtendRootRegistry } from './tree/util/extend-roots.js';
|
|
3
|
+
import { type Operator } from './tree/util/calculate.js';
|
|
4
|
+
import type { PluginInterface } from './plugin.js';
|
|
5
|
+
import { EqualityMode, MathMode, UnitMode } from './types/modes.js';
|
|
6
|
+
import { type ErrorDiagnostic, type WarningDiagnostic } from './jess-error.js';
|
|
7
|
+
import type { Call } from './tree/call.js';
|
|
8
|
+
import { CallMap } from './tree/util/recursion-helper.js';
|
|
9
|
+
export interface ContextOptions {
|
|
10
|
+
/** Hash classes for module output */
|
|
11
|
+
module?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* From docs:
|
|
14
|
+
* "Changes compilation mode so dynamic content
|
|
15
|
+
* is output as CSS variables, and changes
|
|
16
|
+
* the runtime module to generate CSS patches."
|
|
17
|
+
*
|
|
18
|
+
* @todo - Change this behavior to "live expressions"
|
|
19
|
+
* i.e. change compilation to always be static, but
|
|
20
|
+
* generate a separate module for calculated CSS variables.
|
|
21
|
+
*/
|
|
22
|
+
dynamic?: boolean;
|
|
23
|
+
collapseNesting?: boolean;
|
|
24
|
+
enableJavaScript?: boolean;
|
|
25
|
+
mathMode?: MathMode;
|
|
26
|
+
unitMode?: UnitMode;
|
|
27
|
+
equalityMode?: EqualityMode;
|
|
28
|
+
/** Directories to search to resolve files */
|
|
29
|
+
searchPaths?: string[];
|
|
30
|
+
/**
|
|
31
|
+
* Whether to leak variables and mixins into the caller scope,
|
|
32
|
+
* such that they can be referenced / called by subsequent rules.
|
|
33
|
+
*
|
|
34
|
+
* @deprecated - a Less feature
|
|
35
|
+
*/
|
|
36
|
+
leakyRules?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Whether to bubble root-only at-rules (like @font-face, @keyframes)
|
|
39
|
+
* to the root level when they're nested inside rulesets.
|
|
40
|
+
*
|
|
41
|
+
* @deprecated - a legacy Less feature; modern CSS allows nesting
|
|
42
|
+
*/
|
|
43
|
+
bubbleRootAtRules?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Suppress warnings (similar to Less's suppressWarnings option).
|
|
46
|
+
* When true, warnings are collected but not emitted.
|
|
47
|
+
*/
|
|
48
|
+
suppressWarnings?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Break on first error (stop processing after first error).
|
|
51
|
+
* When false, errors are collected and processing continues.
|
|
52
|
+
*/
|
|
53
|
+
breakOnError?: boolean;
|
|
54
|
+
}
|
|
55
|
+
export interface TreeContextOptions extends ContextOptions {
|
|
56
|
+
inlineJavaScript?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* For instances where a new tree needs to inherit from scope
|
|
59
|
+
* (like Less / SCSS `@import` rule)
|
|
60
|
+
*
|
|
61
|
+
* @todo - remove?
|
|
62
|
+
*/
|
|
63
|
+
parentScope?: Rules;
|
|
64
|
+
scope?: Rules;
|
|
65
|
+
isModule?: boolean;
|
|
66
|
+
file?: {
|
|
67
|
+
/** Filename, e.g. "main.jess" */
|
|
68
|
+
name: string;
|
|
69
|
+
/** Absolute directory containing the file (no filename) */
|
|
70
|
+
path: string;
|
|
71
|
+
/** Absolute file path (directory + filename) */
|
|
72
|
+
fullPath: string;
|
|
73
|
+
/** Full file contents (recommended for code-frames) */
|
|
74
|
+
source?: string;
|
|
75
|
+
/** Lazy cache of line-start offsets (built on demand) */
|
|
76
|
+
lines?: Uint32Array;
|
|
77
|
+
};
|
|
78
|
+
[k: string]: any;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* @todo - Redo:
|
|
82
|
+
* 1. Create a hash of the file path; that way hashes
|
|
83
|
+
* are unique per file, but also repeatable / predictable.
|
|
84
|
+
* 2. Append file (module) hash after class name
|
|
85
|
+
*/
|
|
86
|
+
export declare const generateId: (length?: number) => string;
|
|
87
|
+
/**
|
|
88
|
+
* Tree context is attached to each node
|
|
89
|
+
* during the parsing phase / AST creation.
|
|
90
|
+
*
|
|
91
|
+
* Each file (and hence, tree) will get a new tree
|
|
92
|
+
* context. For the most part, it is passed around
|
|
93
|
+
* as an object reference.
|
|
94
|
+
*
|
|
95
|
+
* Additionally, it sets options that may be
|
|
96
|
+
* unique to the tree, such as the math mode.
|
|
97
|
+
*/
|
|
98
|
+
export declare class TreeContext implements TreeContextOptions {
|
|
99
|
+
opts: Record<string, any>;
|
|
100
|
+
leakyRules: boolean | undefined;
|
|
101
|
+
bubbleRootAtRules: boolean | undefined;
|
|
102
|
+
mathMode: MathMode | undefined;
|
|
103
|
+
unitMode: UnitMode | undefined;
|
|
104
|
+
equalityMode: EqualityMode | undefined;
|
|
105
|
+
/** @todo - Change how extend works based on this value */
|
|
106
|
+
isModule: boolean | undefined;
|
|
107
|
+
file?: TreeContextOptions['file'];
|
|
108
|
+
/**
|
|
109
|
+
* The plugin that created this tree. It will have first dibs
|
|
110
|
+
* to resolve any imports.
|
|
111
|
+
*/
|
|
112
|
+
plugin?: PluginInterface;
|
|
113
|
+
constructor(opts?: TreeContextOptions);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* .a.b.c
|
|
117
|
+
* simple = 0b1
|
|
118
|
+
* compound = 0b10
|
|
119
|
+
* complex = 0b100
|
|
120
|
+
* a = 0b1000
|
|
121
|
+
* b = 0b10000
|
|
122
|
+
* c = 0b100000
|
|
123
|
+
*
|
|
124
|
+
* .a.b.c.c = 0b111010
|
|
125
|
+
*/
|
|
126
|
+
/**
|
|
127
|
+
* This is the context object used for evaluation.
|
|
128
|
+
*
|
|
129
|
+
* @note
|
|
130
|
+
* Most of context represents "state" while evaluating.
|
|
131
|
+
* There should only ever be one Context singleton per parse & evaluation.
|
|
132
|
+
*/
|
|
133
|
+
export declare class Context {
|
|
134
|
+
readonly plugins: PluginInterface[];
|
|
135
|
+
readonly opts: ContextOptions;
|
|
136
|
+
treeContext: TreeContext;
|
|
137
|
+
/**
|
|
138
|
+
* Collected errors during safeParse/safeRender.
|
|
139
|
+
* Only populated when using safe methods.
|
|
140
|
+
*/
|
|
141
|
+
errors: ErrorDiagnostic[];
|
|
142
|
+
/**
|
|
143
|
+
* Collected warnings during safeParse/safeRender.
|
|
144
|
+
* Only populated when using safe methods.
|
|
145
|
+
*/
|
|
146
|
+
warnings: WarningDiagnostic[];
|
|
147
|
+
/**
|
|
148
|
+
* A feature ported from Less - we suppress any `@charset`
|
|
149
|
+
* after the first one.
|
|
150
|
+
*/
|
|
151
|
+
currentCharset?: Any;
|
|
152
|
+
/** Track whether charset has been emitted during toString to avoid duplicates */
|
|
153
|
+
charsetEmitted?: boolean;
|
|
154
|
+
/** @import rules must be at the top of CSS output */
|
|
155
|
+
topImports?: Node[];
|
|
156
|
+
/**
|
|
157
|
+
* This is set when entering rulesets so that child nodes
|
|
158
|
+
* can use this to lookup values. When evaluating inside a mixin/function,
|
|
159
|
+
* this also enables call-time variable resolution ($~variable).
|
|
160
|
+
*/
|
|
161
|
+
rulesContext: Rules;
|
|
162
|
+
/** Entire context root (ultimate root) */
|
|
163
|
+
root: Rules;
|
|
164
|
+
/** Set so that we can do ruleset selector lookup for extend */
|
|
165
|
+
treeRoot: Rules;
|
|
166
|
+
allRoots: Rules[];
|
|
167
|
+
/** The call that is currently being evaluated */
|
|
168
|
+
caller?: Call;
|
|
169
|
+
/** Extend roots registry for managing extend scoping */
|
|
170
|
+
extendRoots: ExtendRootRegistry;
|
|
171
|
+
/**
|
|
172
|
+
* Depth-first document order of each Ruleset (assigned once per root before eval).
|
|
173
|
+
* Used so processExtends can apply extends in true source order.
|
|
174
|
+
*/
|
|
175
|
+
documentOrderByRuleset?: WeakMap<Ruleset, number>;
|
|
176
|
+
/**
|
|
177
|
+
* Registered extends with their extend root context
|
|
178
|
+
* Format: [target, selectorWithExtend, partial, extendRoot, extendNode, documentOrder?]
|
|
179
|
+
*/
|
|
180
|
+
extends: Array<[target: Selector, selectorWithExtend: Selector, partial: boolean, extendRoot: Rules, extendNode: Node, documentOrder?: number, fromReferenceScope?: boolean]>;
|
|
181
|
+
/**
|
|
182
|
+
* When doing any kind of lookup, the current node and resolved
|
|
183
|
+
* nodes in the search chain are added to prevent recursion errors.
|
|
184
|
+
*
|
|
185
|
+
* We use a set here because we look it up for filtering.
|
|
186
|
+
* Also used to track mixins currently being evaluated to prevent infinite recursion.
|
|
187
|
+
*/
|
|
188
|
+
private _searchScope;
|
|
189
|
+
get searchScope(): Set<Node<unknown, import("./tree/node-base.js").NodeOptions>>;
|
|
190
|
+
/**
|
|
191
|
+
* The file (eval) context should have the same ID at compile-time
|
|
192
|
+
* as run-time, so this ID will be set in `toModule()` output
|
|
193
|
+
*
|
|
194
|
+
* @todo - Make the id a hash of the (project-relative) path + contents
|
|
195
|
+
*/
|
|
196
|
+
id: string;
|
|
197
|
+
ruleCounter: number;
|
|
198
|
+
/** Rules depth, used to figure out source order */
|
|
199
|
+
depth: number;
|
|
200
|
+
private _classMap;
|
|
201
|
+
get classMap(): Map<any, any>;
|
|
202
|
+
/** Frames for nested rulesets, used for selector evaluation */
|
|
203
|
+
rulesetFrames: Ruleset[];
|
|
204
|
+
/** Unified frames array for flat rendering when collapseNesting is true */
|
|
205
|
+
frames: (Ruleset | AtRule)[];
|
|
206
|
+
/**
|
|
207
|
+
* We push a boolean to this array when entering a calc() call
|
|
208
|
+
* and pop it when leaving. This helps us determine if operations
|
|
209
|
+
* should be performed or not.
|
|
210
|
+
*
|
|
211
|
+
* @todo - can't this just be a number?
|
|
212
|
+
*/
|
|
213
|
+
calcFrames: number;
|
|
214
|
+
private _callMap;
|
|
215
|
+
get callMap(): CallMap;
|
|
216
|
+
private _callStack;
|
|
217
|
+
get callStack(): Call[];
|
|
218
|
+
/**
|
|
219
|
+
* Stack to track reference call chain for clearing matched keys at outermost level
|
|
220
|
+
*/
|
|
221
|
+
private _referenceStack;
|
|
222
|
+
get referenceStack(): number;
|
|
223
|
+
/**
|
|
224
|
+
* Import-evaluation scope stack.
|
|
225
|
+
*
|
|
226
|
+
* This intentionally models lexical import scope instead of global counters:
|
|
227
|
+
* - each import branch pushes its semantics on entry
|
|
228
|
+
* - each branch pops in `finally`
|
|
229
|
+
* - readers ask semantic questions (`inReferenceImportScope`) instead of
|
|
230
|
+
* inspecting mutable depth values.
|
|
231
|
+
*
|
|
232
|
+
* Why this exists:
|
|
233
|
+
* some behaviors depend on "how we got here" (call-path scope), not only
|
|
234
|
+
* on the current node's own options. Example: suppressing top-level @import
|
|
235
|
+
* hoists while traversing a reference-only branch.
|
|
236
|
+
*/
|
|
237
|
+
private _importScopeStack;
|
|
238
|
+
get importScope(): {
|
|
239
|
+
reference: boolean;
|
|
240
|
+
multiple: boolean;
|
|
241
|
+
}[];
|
|
242
|
+
get inReferenceImportScope(): boolean;
|
|
243
|
+
get inMultipleImportScope(): boolean;
|
|
244
|
+
pushImportScope(scope: {
|
|
245
|
+
reference?: boolean;
|
|
246
|
+
multiple?: boolean;
|
|
247
|
+
}): void;
|
|
248
|
+
popImportScope(): void;
|
|
249
|
+
pushReference(): void;
|
|
250
|
+
/**
|
|
251
|
+
* Stack to track when a value comes from an important declaration
|
|
252
|
+
* Used to propagate !important flag to containing declarations
|
|
253
|
+
*/
|
|
254
|
+
private _importantSourceStack;
|
|
255
|
+
get hasImportantSource(): boolean;
|
|
256
|
+
pushImportantSource(): void;
|
|
257
|
+
popImportantSource(): void;
|
|
258
|
+
popReference(): void;
|
|
259
|
+
rulesEvalStack: Rules[];
|
|
260
|
+
/**
|
|
261
|
+
* We push a boolean to this array when entering parens call
|
|
262
|
+
* and pop it when leaving. This helps us determine if operations
|
|
263
|
+
* should be performed or not.
|
|
264
|
+
*
|
|
265
|
+
* Sometimes we "reset" the "in parentheses" state by pushing false,
|
|
266
|
+
* such as within a function call.
|
|
267
|
+
*/
|
|
268
|
+
parenFrames: boolean[];
|
|
269
|
+
/**
|
|
270
|
+
* Keys of @let variables --
|
|
271
|
+
* We need this b/c we need to generate code
|
|
272
|
+
* for over-riding in the exported function.
|
|
273
|
+
*
|
|
274
|
+
* @todo - remove?
|
|
275
|
+
*/
|
|
276
|
+
private _exports;
|
|
277
|
+
get exports(): Set<string>;
|
|
278
|
+
/**
|
|
279
|
+
* currently generating a runtime module or not
|
|
280
|
+
* @todo - remove in favor of ToModuleVisitor?
|
|
281
|
+
*/
|
|
282
|
+
/**
|
|
283
|
+
* In a custom declaration's value. All nodes should
|
|
284
|
+
* be preserved as-is and not evaluated, except for
|
|
285
|
+
* $() expressions.
|
|
286
|
+
*/
|
|
287
|
+
inCustom: boolean | undefined;
|
|
288
|
+
/** A flag set when evaluating conditions */
|
|
289
|
+
isDefault: boolean | undefined;
|
|
290
|
+
/** A flag to clone nodes before mutating */
|
|
291
|
+
preserveOriginalNodes: boolean | undefined;
|
|
292
|
+
_leakyRules: boolean | undefined;
|
|
293
|
+
get leakyRules(): boolean;
|
|
294
|
+
_bubbleRootAtRules: boolean | undefined;
|
|
295
|
+
get bubbleRootAtRules(): boolean;
|
|
296
|
+
constructor(opts?: ContextOptions, plugins?: PluginInterface[]);
|
|
297
|
+
/** Full resolved path -> tree */
|
|
298
|
+
sourceTrees: Map<string, Rules>;
|
|
299
|
+
evaldTrees: Map<string, Rules>;
|
|
300
|
+
/**
|
|
301
|
+
* @param importPath - The bare import path e.g. `@import "foo";` in a .less file.
|
|
302
|
+
*/
|
|
303
|
+
private _getPath;
|
|
304
|
+
/**
|
|
305
|
+
* Find the appropriate plugin for parsing based on type or extension
|
|
306
|
+
*/
|
|
307
|
+
private findParserPlugin;
|
|
308
|
+
getTree(importPath: string, importOptions?: ImportOptions): Promise<{
|
|
309
|
+
node: any;
|
|
310
|
+
triedPaths: string[];
|
|
311
|
+
resolvedPath: string;
|
|
312
|
+
}>;
|
|
313
|
+
/**
|
|
314
|
+
* Public path resolution for import nodes that need source-path lookups
|
|
315
|
+
* without triggering parse/eval.
|
|
316
|
+
*/
|
|
317
|
+
resolveImportPath(importPath: string): Promise<{
|
|
318
|
+
triedPaths: string[];
|
|
319
|
+
resolvedPath: string;
|
|
320
|
+
friendlyPath: string;
|
|
321
|
+
}>;
|
|
322
|
+
/**
|
|
323
|
+
* Parse a string content directly using the appropriate plugin
|
|
324
|
+
*/
|
|
325
|
+
parseString(content: string, options?: {
|
|
326
|
+
filePath?: string;
|
|
327
|
+
type?: string;
|
|
328
|
+
extension?: string;
|
|
329
|
+
}): Promise<{
|
|
330
|
+
node: Rules;
|
|
331
|
+
resolvedPath: string;
|
|
332
|
+
}>;
|
|
333
|
+
/**
|
|
334
|
+
*
|
|
335
|
+
* @param importPath
|
|
336
|
+
* @param importOptions
|
|
337
|
+
*/
|
|
338
|
+
getModule(importPath: string, importOptions?: ImportOptions): Promise<{
|
|
339
|
+
module: Record<string, any>;
|
|
340
|
+
triedPaths: string[];
|
|
341
|
+
resolvedPath: string;
|
|
342
|
+
}>;
|
|
343
|
+
/**
|
|
344
|
+
* Hash a CSS class name or not depending on the `module` setting
|
|
345
|
+
*
|
|
346
|
+
* @todo - do module files have different contexts, therefore different
|
|
347
|
+
* hash maps?
|
|
348
|
+
*/
|
|
349
|
+
hashClass(name: string): string;
|
|
350
|
+
shouldOperate(op: Operator, left: Node, right: Node): boolean;
|
|
351
|
+
}
|
|
352
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|