@dhzh/eslint-plugin-better-tailwindcss 0.0.0-stage → 4.9.0-patch
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 +247 -2
- package/lib/api/defaults.d.ts +103 -0
- package/lib/api/defaults.d.ts.map +1 -0
- package/lib/api/defaults.js +34 -0
- package/lib/api/defaults.js.map +1 -0
- package/lib/api/types.d.ts +9 -0
- package/lib/api/types.d.ts.map +1 -0
- package/lib/api/types.js +5 -0
- package/lib/api/types.js.map +1 -0
- package/lib/async-utils/cache.d.ts +30 -0
- package/lib/async-utils/cache.d.ts.map +1 -0
- package/lib/async-utils/cache.js +116 -0
- package/lib/async-utils/cache.js.map +1 -0
- package/lib/async-utils/escape.d.ts +2 -0
- package/lib/async-utils/escape.d.ts.map +1 -0
- package/lib/async-utils/escape.js +5 -0
- package/lib/async-utils/escape.js.map +1 -0
- package/lib/async-utils/fs.d.ts +3 -0
- package/lib/async-utils/fs.d.ts.map +1 -0
- package/lib/async-utils/fs.js +28 -0
- package/lib/async-utils/fs.js.map +1 -0
- package/lib/async-utils/module.d.ts +3 -0
- package/lib/async-utils/module.d.ts.map +1 -0
- package/lib/async-utils/module.js +7 -0
- package/lib/async-utils/module.js.map +1 -0
- package/lib/async-utils/operations.d.ts +23 -0
- package/lib/async-utils/operations.d.ts.map +1 -0
- package/lib/async-utils/operations.js +2 -0
- package/lib/async-utils/operations.js.map +1 -0
- package/lib/async-utils/order.d.ts +4 -0
- package/lib/async-utils/order.d.ts.map +1 -0
- package/lib/async-utils/order.js +5 -0
- package/lib/async-utils/order.js.map +1 -0
- package/lib/async-utils/path.d.ts +2 -0
- package/lib/async-utils/path.d.ts.map +1 -0
- package/lib/async-utils/path.js +7 -0
- package/lib/async-utils/path.js.map +1 -0
- package/lib/async-utils/platform.d.ts +2 -0
- package/lib/async-utils/platform.d.ts.map +1 -0
- package/lib/async-utils/platform.js +4 -0
- package/lib/async-utils/platform.js.map +1 -0
- package/lib/async-utils/regex.d.ts +3 -0
- package/lib/async-utils/regex.d.ts.map +1 -0
- package/lib/async-utils/regex.js +32 -0
- package/lib/async-utils/regex.js.map +1 -0
- package/lib/async-utils/resolvers.d.ts +7 -0
- package/lib/async-utils/resolvers.d.ts.map +1 -0
- package/lib/async-utils/resolvers.js +64 -0
- package/lib/async-utils/resolvers.js.map +1 -0
- package/lib/async-utils/segment.d.ts +2 -0
- package/lib/async-utils/segment.d.ts.map +1 -0
- package/lib/async-utils/segment.js +82 -0
- package/lib/async-utils/segment.js.map +1 -0
- package/lib/async-utils/worker.d.ts +3 -0
- package/lib/async-utils/worker.d.ts.map +1 -0
- package/lib/async-utils/worker.js +17 -0
- package/lib/async-utils/worker.js.map +1 -0
- package/lib/configs/config.d.ts +3521 -0
- package/lib/configs/config.d.ts.map +1 -0
- package/lib/configs/config.js +98 -0
- package/lib/configs/config.js.map +1 -0
- package/lib/options/callees/cc.d.ts +30 -0
- package/lib/options/callees/cc.d.ts.map +1 -0
- package/lib/options/callees/cc.js +25 -0
- package/lib/options/callees/cc.js.map +1 -0
- package/lib/options/callees/clb.d.ts +35 -0
- package/lib/options/callees/clb.d.ts.map +1 -0
- package/lib/options/callees/clb.js +39 -0
- package/lib/options/callees/clb.js.map +1 -0
- package/lib/options/callees/clsx.d.ts +30 -0
- package/lib/options/callees/clsx.d.ts.map +1 -0
- package/lib/options/callees/clsx.js +25 -0
- package/lib/options/callees/clsx.js.map +1 -0
- package/lib/options/callees/cn.d.ts +30 -0
- package/lib/options/callees/cn.d.ts.map +1 -0
- package/lib/options/callees/cn.js +25 -0
- package/lib/options/callees/cn.js.map +1 -0
- package/lib/options/callees/cnb.d.ts +30 -0
- package/lib/options/callees/cnb.d.ts.map +1 -0
- package/lib/options/callees/cnb.js +25 -0
- package/lib/options/callees/cnb.js.map +1 -0
- package/lib/options/callees/ctl.d.ts +17 -0
- package/lib/options/callees/ctl.d.ts.map +1 -0
- package/lib/options/callees/ctl.js +15 -0
- package/lib/options/callees/ctl.js.map +1 -0
- package/lib/options/callees/cva.d.ts +40 -0
- package/lib/options/callees/cva.d.ts.map +1 -0
- package/lib/options/callees/cva.js +37 -0
- package/lib/options/callees/cva.js.map +1 -0
- package/lib/options/callees/cx.d.ts +30 -0
- package/lib/options/callees/cx.d.ts.map +1 -0
- package/lib/options/callees/cx.js +25 -0
- package/lib/options/callees/cx.js.map +1 -0
- package/lib/options/callees/dcnb.d.ts +30 -0
- package/lib/options/callees/dcnb.d.ts.map +1 -0
- package/lib/options/callees/dcnb.js +25 -0
- package/lib/options/callees/dcnb.js.map +1 -0
- package/lib/options/callees/objstr.d.ts +24 -0
- package/lib/options/callees/objstr.d.ts.map +1 -0
- package/lib/options/callees/objstr.js +24 -0
- package/lib/options/callees/objstr.js.map +1 -0
- package/lib/options/callees/tv.d.ts +64 -0
- package/lib/options/callees/tv.d.ts.map +1 -0
- package/lib/options/callees/tv.js +70 -0
- package/lib/options/callees/tv.js.map +1 -0
- package/lib/options/callees/twJoin.d.ts +17 -0
- package/lib/options/callees/twJoin.d.ts.map +1 -0
- package/lib/options/callees/twJoin.js +15 -0
- package/lib/options/callees/twJoin.js.map +1 -0
- package/lib/options/callees/twMerge.d.ts +17 -0
- package/lib/options/callees/twMerge.d.ts.map +1 -0
- package/lib/options/callees/twMerge.js +15 -0
- package/lib/options/callees/twMerge.js.map +1 -0
- package/lib/options/default-options.d.ts +114 -0
- package/lib/options/default-options.d.ts.map +1 -0
- package/lib/options/default-options.js +176 -0
- package/lib/options/default-options.js.map +1 -0
- package/lib/options/descriptions.d.ts +657 -0
- package/lib/options/descriptions.d.ts.map +1 -0
- package/lib/options/descriptions.js +22 -0
- package/lib/options/descriptions.js.map +1 -0
- package/lib/options/migrate.d.ts +16 -0
- package/lib/options/migrate.d.ts.map +1 -0
- package/lib/options/migrate.js +132 -0
- package/lib/options/migrate.js.map +1 -0
- package/lib/options/schemas/attributes.d.ts +100 -0
- package/lib/options/schemas/attributes.d.ts.map +1 -0
- package/lib/options/schemas/attributes.js +19 -0
- package/lib/options/schemas/attributes.js.map +1 -0
- package/lib/options/schemas/callees.d.ts +101 -0
- package/lib/options/schemas/callees.d.ts.map +1 -0
- package/lib/options/schemas/callees.js +19 -0
- package/lib/options/schemas/callees.js.map +1 -0
- package/lib/options/schemas/common.d.ts +30 -0
- package/lib/options/schemas/common.d.ts.map +1 -0
- package/lib/options/schemas/common.js +30 -0
- package/lib/options/schemas/common.js.map +1 -0
- package/lib/options/schemas/matchers.d.ts +13 -0
- package/lib/options/schemas/matchers.d.ts.map +1 -0
- package/lib/options/schemas/matchers.js +14 -0
- package/lib/options/schemas/matchers.js.map +1 -0
- package/lib/options/schemas/selectors.d.ts +1289 -0
- package/lib/options/schemas/selectors.d.ts.map +1 -0
- package/lib/options/schemas/selectors.js +100 -0
- package/lib/options/schemas/selectors.js.map +1 -0
- package/lib/options/schemas/tags.d.ts +101 -0
- package/lib/options/schemas/tags.d.ts.map +1 -0
- package/lib/options/schemas/tags.js +19 -0
- package/lib/options/schemas/tags.js.map +1 -0
- package/lib/options/schemas/variables.d.ts +100 -0
- package/lib/options/schemas/variables.d.ts.map +1 -0
- package/lib/options/schemas/variables.js +19 -0
- package/lib/options/schemas/variables.js.map +1 -0
- package/lib/options/tags/twc.d.ts +36 -0
- package/lib/options/tags/twc.d.ts.map +1 -0
- package/lib/options/tags/twc.js +26 -0
- package/lib/options/tags/twc.js.map +1 -0
- package/lib/options/tags/twx.d.ts +36 -0
- package/lib/options/tags/twx.d.ts.map +1 -0
- package/lib/options/tags/twx.js +26 -0
- package/lib/options/tags/twx.js.map +1 -0
- package/lib/parsers/angular.d.ts +11 -0
- package/lib/parsers/angular.d.ts.map +1 -0
- package/lib/parsers/angular.js +736 -0
- package/lib/parsers/angular.js.map +1 -0
- package/lib/parsers/css.d.ts +5 -0
- package/lib/parsers/css.d.ts.map +1 -0
- package/lib/parsers/css.js +100 -0
- package/lib/parsers/css.js.map +1 -0
- package/lib/parsers/es.d.ts +49 -0
- package/lib/parsers/es.d.ts.map +1 -0
- package/lib/parsers/es.js +924 -0
- package/lib/parsers/es.js.map +1 -0
- package/lib/parsers/html.d.ts +8 -0
- package/lib/parsers/html.d.ts.map +1 -0
- package/lib/parsers/html.js +51 -0
- package/lib/parsers/html.js.map +1 -0
- package/lib/parsers/jsx.d.ts +9 -0
- package/lib/parsers/jsx.d.ts.map +1 -0
- package/lib/parsers/jsx.js +118 -0
- package/lib/parsers/jsx.js.map +1 -0
- package/lib/parsers/svelte.d.ts +11 -0
- package/lib/parsers/svelte.d.ts.map +1 -0
- package/lib/parsers/svelte.js +204 -0
- package/lib/parsers/svelte.js.map +1 -0
- package/lib/parsers/vue.d.ts +9 -0
- package/lib/parsers/vue.d.ts.map +1 -0
- package/lib/parsers/vue.js +155 -0
- package/lib/parsers/vue.js.map +1 -0
- package/lib/rules/enforce-canonical-classes.d.ts +229 -0
- package/lib/rules/enforce-canonical-classes.d.ts.map +1 -0
- package/lib/rules/enforce-canonical-classes.js +84 -0
- package/lib/rules/enforce-canonical-classes.js.map +1 -0
- package/lib/rules/enforce-consistent-class-order.d.ts +229 -0
- package/lib/rules/enforce-consistent-class-order.d.ts.map +1 -0
- package/lib/rules/enforce-consistent-class-order.js +250 -0
- package/lib/rules/enforce-consistent-class-order.js.map +1 -0
- package/lib/rules/enforce-consistent-important-position.d.ts +225 -0
- package/lib/rules/enforce-consistent-important-position.d.ts.map +1 -0
- package/lib/rules/enforce-consistent-important-position.js +68 -0
- package/lib/rules/enforce-consistent-important-position.js.map +1 -0
- package/lib/rules/enforce-consistent-line-wrapping.d.ts +235 -0
- package/lib/rules/enforce-consistent-line-wrapping.d.ts.map +1 -0
- package/lib/rules/enforce-consistent-line-wrapping.js +537 -0
- package/lib/rules/enforce-consistent-line-wrapping.js.map +1 -0
- package/lib/rules/enforce-consistent-variable-syntax.d.ts +225 -0
- package/lib/rules/enforce-consistent-variable-syntax.d.ts.map +1 -0
- package/lib/rules/enforce-consistent-variable-syntax.js +164 -0
- package/lib/rules/enforce-consistent-variable-syntax.js.map +1 -0
- package/lib/rules/enforce-consistent-variant-order.d.ts +225 -0
- package/lib/rules/enforce-consistent-variant-order.d.ts.map +1 -0
- package/lib/rules/enforce-consistent-variant-order.js +77 -0
- package/lib/rules/enforce-consistent-variant-order.js.map +1 -0
- package/lib/rules/enforce-logical-properties.d.ts +227 -0
- package/lib/rules/enforce-logical-properties.d.ts.map +1 -0
- package/lib/rules/enforce-logical-properties.js +142 -0
- package/lib/rules/enforce-logical-properties.js.map +1 -0
- package/lib/rules/enforce-shorthand-classes.d.ts +229 -0
- package/lib/rules/enforce-shorthand-classes.d.ts.map +1 -0
- package/lib/rules/enforce-shorthand-classes.js +217 -0
- package/lib/rules/enforce-shorthand-classes.js.map +1 -0
- package/lib/rules/no-concatenated-classes.d.ts +225 -0
- package/lib/rules/no-concatenated-classes.d.ts.map +1 -0
- package/lib/rules/no-concatenated-classes.js +31 -0
- package/lib/rules/no-concatenated-classes.js.map +1 -0
- package/lib/rules/no-conflicting-classes.d.ts +225 -0
- package/lib/rules/no-conflicting-classes.d.ts.map +1 -0
- package/lib/rules/no-conflicting-classes.js +60 -0
- package/lib/rules/no-conflicting-classes.js.map +1 -0
- package/lib/rules/no-deprecated-classes.d.ts +227 -0
- package/lib/rules/no-deprecated-classes.d.ts.map +1 -0
- package/lib/rules/no-deprecated-classes.js +103 -0
- package/lib/rules/no-deprecated-classes.js.map +1 -0
- package/lib/rules/no-duplicate-classes.d.ts +225 -0
- package/lib/rules/no-duplicate-classes.d.ts.map +1 -0
- package/lib/rules/no-duplicate-classes.js +52 -0
- package/lib/rules/no-duplicate-classes.js.map +1 -0
- package/lib/rules/no-restricted-classes.d.ts +225 -0
- package/lib/rules/no-restricted-classes.d.ts.map +1 -0
- package/lib/rules/no-restricted-classes.js +57 -0
- package/lib/rules/no-restricted-classes.js.map +1 -0
- package/lib/rules/no-unknown-classes.d.ts +225 -0
- package/lib/rules/no-unknown-classes.d.ts.map +1 -0
- package/lib/rules/no-unknown-classes.js +82 -0
- package/lib/rules/no-unknown-classes.js.map +1 -0
- package/lib/rules/no-unnecessary-whitespace.d.ts +225 -0
- package/lib/rules/no-unnecessary-whitespace.d.ts.map +1 -0
- package/lib/rules/no-unnecessary-whitespace.js +141 -0
- package/lib/rules/no-unnecessary-whitespace.js.map +1 -0
- package/lib/tailwindcss/canonical-classes.async.v4.d.ts +3 -0
- package/lib/tailwindcss/canonical-classes.async.v4.d.ts.map +1 -0
- package/lib/tailwindcss/canonical-classes.async.v4.js +54 -0
- package/lib/tailwindcss/canonical-classes.async.v4.js.map +1 -0
- package/lib/tailwindcss/canonical-classes.d.ts +21 -0
- package/lib/tailwindcss/canonical-classes.d.ts.map +1 -0
- package/lib/tailwindcss/canonical-classes.js +16 -0
- package/lib/tailwindcss/canonical-classes.js.map +1 -0
- package/lib/tailwindcss/class-order.async.v3.d.ts +3 -0
- package/lib/tailwindcss/class-order.async.v3.d.ts.map +1 -0
- package/lib/tailwindcss/class-order.async.v3.js +4 -0
- package/lib/tailwindcss/class-order.async.v3.js.map +1 -0
- package/lib/tailwindcss/class-order.async.v4.d.ts +3 -0
- package/lib/tailwindcss/class-order.async.v4.d.ts.map +1 -0
- package/lib/tailwindcss/class-order.async.v4.js +4 -0
- package/lib/tailwindcss/class-order.async.v4.js.map +1 -0
- package/lib/tailwindcss/class-order.d.ts +11 -0
- package/lib/tailwindcss/class-order.d.ts.map +1 -0
- package/lib/tailwindcss/class-order.js +16 -0
- package/lib/tailwindcss/class-order.js.map +1 -0
- package/lib/tailwindcss/conflicting-classes.async.v4.d.ts +35 -0
- package/lib/tailwindcss/conflicting-classes.async.v4.d.ts.map +1 -0
- package/lib/tailwindcss/conflicting-classes.async.v4.js +82 -0
- package/lib/tailwindcss/conflicting-classes.async.v4.js.map +1 -0
- package/lib/tailwindcss/conflicting-classes.d.ts +19 -0
- package/lib/tailwindcss/conflicting-classes.d.ts.map +1 -0
- package/lib/tailwindcss/conflicting-classes.js +17 -0
- package/lib/tailwindcss/conflicting-classes.js.map +1 -0
- package/lib/tailwindcss/context.async.v3.d.ts +3 -0
- package/lib/tailwindcss/context.async.v3.d.ts.map +1 -0
- package/lib/tailwindcss/context.async.v3.js +13 -0
- package/lib/tailwindcss/context.async.v3.js.map +1 -0
- package/lib/tailwindcss/context.async.v4.d.ts +3 -0
- package/lib/tailwindcss/context.async.v4.d.ts.map +1 -0
- package/lib/tailwindcss/context.async.v4.js +82 -0
- package/lib/tailwindcss/context.async.v4.js.map +1 -0
- package/lib/tailwindcss/custom-component-classes.async.v3.d.ts +4 -0
- package/lib/tailwindcss/custom-component-classes.async.v3.d.ts.map +1 -0
- package/lib/tailwindcss/custom-component-classes.async.v3.js +4 -0
- package/lib/tailwindcss/custom-component-classes.async.v3.js.map +1 -0
- package/lib/tailwindcss/custom-component-classes.async.v4.d.ts +4 -0
- package/lib/tailwindcss/custom-component-classes.async.v4.d.ts.map +1 -0
- package/lib/tailwindcss/custom-component-classes.async.v4.js +101 -0
- package/lib/tailwindcss/custom-component-classes.async.v4.js.map +1 -0
- package/lib/tailwindcss/custom-component-classes.d.ts +11 -0
- package/lib/tailwindcss/custom-component-classes.d.ts.map +1 -0
- package/lib/tailwindcss/custom-component-classes.js +16 -0
- package/lib/tailwindcss/custom-component-classes.js.map +1 -0
- package/lib/tailwindcss/dissect-classes.async.v3.d.ts +4 -0
- package/lib/tailwindcss/dissect-classes.async.v3.d.ts.map +1 -0
- package/lib/tailwindcss/dissect-classes.async.v3.js +32 -0
- package/lib/tailwindcss/dissect-classes.async.v3.js.map +1 -0
- package/lib/tailwindcss/dissect-classes.async.v4.d.ts +3 -0
- package/lib/tailwindcss/dissect-classes.async.v4.d.ts.map +1 -0
- package/lib/tailwindcss/dissect-classes.async.v4.js +39 -0
- package/lib/tailwindcss/dissect-classes.async.v4.js.map +1 -0
- package/lib/tailwindcss/dissect-classes.d.ts +23 -0
- package/lib/tailwindcss/dissect-classes.d.ts.map +1 -0
- package/lib/tailwindcss/dissect-classes.js +16 -0
- package/lib/tailwindcss/dissect-classes.js.map +1 -0
- package/lib/tailwindcss/prefix.async.v3.d.ts +4 -0
- package/lib/tailwindcss/prefix.async.v3.d.ts.map +1 -0
- package/lib/tailwindcss/prefix.async.v3.js +7 -0
- package/lib/tailwindcss/prefix.async.v3.js.map +1 -0
- package/lib/tailwindcss/prefix.async.v4.d.ts +4 -0
- package/lib/tailwindcss/prefix.async.v4.d.ts.map +1 -0
- package/lib/tailwindcss/prefix.async.v4.js +7 -0
- package/lib/tailwindcss/prefix.async.v4.js.map +1 -0
- package/lib/tailwindcss/prefix.d.ts +13 -0
- package/lib/tailwindcss/prefix.d.ts.map +1 -0
- package/lib/tailwindcss/prefix.js +15 -0
- package/lib/tailwindcss/prefix.js.map +1 -0
- package/lib/tailwindcss/tailwind.async.worker.v3.d.ts +2 -0
- package/lib/tailwindcss/tailwind.async.worker.v3.d.ts.map +1 -0
- package/lib/tailwindcss/tailwind.async.worker.v3.js +57 -0
- package/lib/tailwindcss/tailwind.async.worker.v3.js.map +1 -0
- package/lib/tailwindcss/tailwind.async.worker.v4.d.ts +2 -0
- package/lib/tailwindcss/tailwind.async.worker.v4.d.ts.map +1 -0
- package/lib/tailwindcss/tailwind.async.worker.v4.js +56 -0
- package/lib/tailwindcss/tailwind.async.worker.v4.js.map +1 -0
- package/lib/tailwindcss/unknown-classes.async.v3.d.ts +4 -0
- package/lib/tailwindcss/unknown-classes.async.v3.d.ts.map +1 -0
- package/lib/tailwindcss/unknown-classes.async.v3.js +10 -0
- package/lib/tailwindcss/unknown-classes.async.v3.js.map +1 -0
- package/lib/tailwindcss/unknown-classes.async.v4.d.ts +3 -0
- package/lib/tailwindcss/unknown-classes.async.v4.d.ts.map +1 -0
- package/lib/tailwindcss/unknown-classes.async.v4.js +5 -0
- package/lib/tailwindcss/unknown-classes.async.v4.js.map +1 -0
- package/lib/tailwindcss/unknown-classes.d.ts +11 -0
- package/lib/tailwindcss/unknown-classes.d.ts.map +1 -0
- package/lib/tailwindcss/unknown-classes.js +21 -0
- package/lib/tailwindcss/unknown-classes.js.map +1 -0
- package/lib/tailwindcss/variant-order.async.v3.d.ts +3 -0
- package/lib/tailwindcss/variant-order.async.v3.d.ts.map +1 -0
- package/lib/tailwindcss/variant-order.async.v3.js +4 -0
- package/lib/tailwindcss/variant-order.async.v3.js.map +1 -0
- package/lib/tailwindcss/variant-order.async.v4.d.ts +3 -0
- package/lib/tailwindcss/variant-order.async.v4.d.ts.map +1 -0
- package/lib/tailwindcss/variant-order.async.v4.js +34 -0
- package/lib/tailwindcss/variant-order.async.v4.js.map +1 -0
- package/lib/tailwindcss/variant-order.d.ts +11 -0
- package/lib/tailwindcss/variant-order.d.ts.map +1 -0
- package/lib/tailwindcss/variant-order.js +16 -0
- package/lib/tailwindcss/variant-order.js.map +1 -0
- package/lib/types/ast.d.ts +79 -0
- package/lib/types/ast.d.ts.map +1 -0
- package/lib/types/ast.js +2 -0
- package/lib/types/ast.js.map +1 -0
- package/lib/types/async.d.ts +7 -0
- package/lib/types/async.d.ts.map +1 -0
- package/lib/types/async.js +2 -0
- package/lib/types/async.js.map +1 -0
- package/lib/types/estree.d.ts +7 -0
- package/lib/types/estree.d.ts.map +1 -0
- package/lib/types/estree.js +2 -0
- package/lib/types/estree.js.map +1 -0
- package/lib/types/rule.d.ts +163 -0
- package/lib/types/rule.d.ts.map +1 -0
- package/lib/types/rule.js +24 -0
- package/lib/types/rule.js.map +1 -0
- package/lib/utils/ast.d.ts +4 -0
- package/lib/utils/ast.d.ts.map +1 -0
- package/lib/utils/ast.js +9 -0
- package/lib/utils/ast.js.map +1 -0
- package/lib/utils/class.d.ts +12 -0
- package/lib/utils/class.d.ts.map +1 -0
- package/lib/utils/class.js +19 -0
- package/lib/utils/class.js.map +1 -0
- package/lib/utils/context.d.ts +20 -0
- package/lib/utils/context.d.ts.map +1 -0
- package/lib/utils/context.js +91 -0
- package/lib/utils/context.js.map +1 -0
- package/lib/utils/lint.d.ts +17 -0
- package/lib/utils/lint.d.ts.map +1 -0
- package/lib/utils/lint.js +40 -0
- package/lib/utils/lint.js.map +1 -0
- package/lib/utils/matchers.d.ts +24 -0
- package/lib/utils/matchers.d.ts.map +1 -0
- package/lib/utils/matchers.js +154 -0
- package/lib/utils/matchers.js.map +1 -0
- package/lib/utils/quotes.d.ts +3 -0
- package/lib/utils/quotes.d.ts.map +1 -0
- package/lib/utils/quotes.js +9 -0
- package/lib/utils/quotes.js.map +1 -0
- package/lib/utils/rule.d.ts +31 -0
- package/lib/utils/rule.d.ts.map +1 -0
- package/lib/utils/rule.js +349 -0
- package/lib/utils/rule.js.map +1 -0
- package/lib/utils/selectors.d.ts +3 -0
- package/lib/utils/selectors.d.ts.map +1 -0
- package/lib/utils/selectors.js +4 -0
- package/lib/utils/selectors.js.map +1 -0
- package/lib/utils/utils.d.ts +49 -0
- package/lib/utils/utils.d.ts.map +1 -0
- package/lib/utils/utils.js +203 -0
- package/lib/utils/utils.js.map +1 -0
- package/lib/utils/valibot.d.ts +4 -0
- package/lib/utils/valibot.d.ts.map +1 -0
- package/lib/utils/valibot.js +12 -0
- package/lib/utils/valibot.js.map +1 -0
- package/lib/utils/version.d.ts +7 -0
- package/lib/utils/version.d.ts.map +1 -0
- package/lib/utils/version.js +6 -0
- package/lib/utils/version.js.map +1 -0
- package/lib/utils/visitedNodes.d.ts +4 -0
- package/lib/utils/visitedNodes.d.ts.map +1 -0
- package/lib/utils/visitedNodes.js +11 -0
- package/lib/utils/visitedNodes.js.map +1 -0
- package/lib/utils/warn.d.ts +2 -0
- package/lib/utils/warn.d.ts.map +1 -0
- package/lib/utils/warn.js +8 -0
- package/lib/utils/warn.js.map +1 -0
- package/package.json +163 -4
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
export async function getConflictingClasses(tailwindContext, classes) {
|
|
2
|
+
var _a;
|
|
3
|
+
const conflicts = {};
|
|
4
|
+
const classRules = classes.reduce((classRules, className) => ({
|
|
5
|
+
...classRules,
|
|
6
|
+
[className]: tailwindContext.parseCandidate(className).reduce((classRules, candidate) => {
|
|
7
|
+
const [rule] = tailwindContext.compileAstNodes(candidate);
|
|
8
|
+
return {
|
|
9
|
+
...classRules,
|
|
10
|
+
...getRuleContext(rule?.node?.nodes)
|
|
11
|
+
};
|
|
12
|
+
}, {})
|
|
13
|
+
}), {});
|
|
14
|
+
for (const className in classRules) {
|
|
15
|
+
otherClassLoop: for (const otherClassName in classRules) {
|
|
16
|
+
if (className === otherClassName) {
|
|
17
|
+
continue otherClassLoop;
|
|
18
|
+
}
|
|
19
|
+
const classRule = classRules[className];
|
|
20
|
+
const otherClassRule = classRules[otherClassName];
|
|
21
|
+
const paths = Object.keys(classRule);
|
|
22
|
+
const otherPaths = Object.keys(otherClassRule);
|
|
23
|
+
if (paths.length !== otherPaths.length) {
|
|
24
|
+
continue otherClassLoop;
|
|
25
|
+
}
|
|
26
|
+
for (const path of paths) {
|
|
27
|
+
for (const otherPath of otherPaths) {
|
|
28
|
+
if (path !== otherPath) {
|
|
29
|
+
continue otherClassLoop;
|
|
30
|
+
}
|
|
31
|
+
if (classRule[path].length !== otherClassRule[otherPath].length) {
|
|
32
|
+
continue otherClassLoop;
|
|
33
|
+
}
|
|
34
|
+
for (const classRuleProperty of classRule[path]) {
|
|
35
|
+
if (!otherClassRule[otherPath].find(otherProp => {
|
|
36
|
+
return otherProp.cssPropertyName === classRuleProperty.cssPropertyName;
|
|
37
|
+
})) {
|
|
38
|
+
continue otherClassLoop;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
for (const otherClassRuleProperty of otherClassRule[otherPath]) {
|
|
42
|
+
conflicts[className] ?? (conflicts[className] = {});
|
|
43
|
+
(_a = conflicts[className])[otherClassName] ?? (_a[otherClassName] = []);
|
|
44
|
+
conflicts[className][otherClassName].push(otherClassRuleProperty);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return conflicts;
|
|
51
|
+
}
|
|
52
|
+
function getRuleContext(nodes) {
|
|
53
|
+
const context = {};
|
|
54
|
+
if (!nodes) {
|
|
55
|
+
return context;
|
|
56
|
+
}
|
|
57
|
+
const checkNested = (nodes, context, path = "") => {
|
|
58
|
+
for (const node of nodes.filter(node => !!node)) {
|
|
59
|
+
if (node.kind === "declaration") {
|
|
60
|
+
context[path] ?? (context[path] = []);
|
|
61
|
+
if (node.value === undefined) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
context[path].push({
|
|
65
|
+
cssPropertyName: node.property,
|
|
66
|
+
cssPropertyValue: node.value,
|
|
67
|
+
important: node.important
|
|
68
|
+
});
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
if (node.kind === "rule") {
|
|
72
|
+
return void checkNested(node.nodes, context, path + node.selector);
|
|
73
|
+
}
|
|
74
|
+
if (node.kind === "at-rule") {
|
|
75
|
+
return void checkNested(node.nodes, context, path + node.name + node.params);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
checkNested(nodes, context);
|
|
80
|
+
return context;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=conflicting-classes.async.v4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflicting-classes.async.v4.js","sourceRoot":"","sources":["../../src/tailwindcss/conflicting-classes.async.v4.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Warning } from "../types/async.js";
|
|
2
|
+
import type { Context } from "../types/rule.js";
|
|
3
|
+
import type { AsyncContext } from "../utils/context.js";
|
|
4
|
+
export type ConflictingClasses = {
|
|
5
|
+
[className: string]: {
|
|
6
|
+
[conflictingClassName: string]: {
|
|
7
|
+
cssPropertyName: string;
|
|
8
|
+
important: boolean;
|
|
9
|
+
cssPropertyValue?: string;
|
|
10
|
+
}[];
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export type GetConflictingClasses = (ctx: AsyncContext, classes: string[]) => {
|
|
14
|
+
conflictingClasses: ConflictingClasses;
|
|
15
|
+
warnings: (Warning | undefined)[];
|
|
16
|
+
};
|
|
17
|
+
export declare let getConflictingClasses: GetConflictingClasses;
|
|
18
|
+
export declare function createGetConflictingClasses(ctx: Context): GetConflictingClasses;
|
|
19
|
+
//# sourceMappingURL=conflicting-classes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflicting-classes.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/conflicting-classes.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,SAAS,EAAE,MAAM,GAAG;QACnB,CAAC,oBAAoB,EAAE,MAAM,GAAG;YAC9B,eAAe,EAAE,MAAM,CAAC;YACxB,SAAS,EAAE,OAAO,CAAC;YACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;SAC3B,EAAE,CAAC;KACL,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;IAC5E,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,QAAQ,EAAE,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC;CACnC,CAAC;AAEF,eAAO,IAAI,qBAAqB,EAAE,qBAA6G,CAAC;AAEhJ,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB,CAQ/E"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// runner.js
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { createSyncFn } from "synckit";
|
|
4
|
+
import { withOperationCache } from "../async-utils/cache.js";
|
|
5
|
+
import { getWorkerOptions } from "../async-utils/worker.js";
|
|
6
|
+
export let getConflictingClasses = () => { throw new Error("getConflictingClasses() called before being initialized"); };
|
|
7
|
+
export function createGetConflictingClasses(ctx) {
|
|
8
|
+
const workerPath = getWorkerPath(ctx);
|
|
9
|
+
const workerOptions = getWorkerOptions();
|
|
10
|
+
const runWorker = createSyncFn(workerPath, workerOptions);
|
|
11
|
+
getConflictingClasses = withOperationCache("getConflictingClasses", (ctx, classes) => runWorker("getConflictingClasses", ctx, classes));
|
|
12
|
+
return getConflictingClasses;
|
|
13
|
+
}
|
|
14
|
+
function getWorkerPath(ctx) {
|
|
15
|
+
return resolve(import.meta.dirname, `./tailwind.async.worker.v${ctx.version.major}.js`);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=conflicting-classes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflicting-classes.js","sourceRoot":"","sources":["../../src/tailwindcss/conflicting-classes.ts"],"names":[],"mappings":"AAAA,YAAY;AACZ,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAsBtE,MAAM,CAAC,IAAI,qBAAqB,GAA0B,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhJ,MAAM,UAAU,2BAA2B,CAAC,GAAY;IACtD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAE1D,qBAAqB,GAAG,kBAAkB,CAAwB,uBAAuB,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,uBAAuB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/J,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC;AAC1F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.async.v3.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/context.async.v3.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,eAAO,MAAM,qBAAqB,GAAU,KAAK,YAAY,iBAa3D,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { withCache } from "../async-utils/cache.js";
|
|
2
|
+
import { normalize } from "../async-utils/path.js";
|
|
3
|
+
export const createTailwindContext = async (ctx) => withCache("tailwind-context", ctx.tailwindConfigPath, async () => {
|
|
4
|
+
const { default: defaultConfig } = await import(normalize(`${ctx.installation}/defaultConfig.js`));
|
|
5
|
+
const setupContextUtils = await import(normalize(`${ctx.installation}/lib/lib/setupContextUtils.js`));
|
|
6
|
+
const { default: loadConfig } = await import(normalize(`${ctx.installation}/loadConfig.js`));
|
|
7
|
+
const { default: resolveConfig } = await import(normalize(`${ctx.installation}/resolveConfig.js`));
|
|
8
|
+
const config = resolveConfig(ctx.tailwindConfigPath === "default"
|
|
9
|
+
? defaultConfig
|
|
10
|
+
: loadConfig(ctx.tailwindConfigPath));
|
|
11
|
+
return setupContextUtils.createContext?.(config) ?? setupContextUtils.default?.createContext?.(config);
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=context.async.v3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.async.v3.js","sourceRoot":"","sources":["../../src/tailwindcss/context.async.v3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAKnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,GAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;IACjI,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,YAAY,mBAAmB,CAAC,CAAC,CAAC;IACnG,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,YAAY,+BAA+B,CAAC,CAAC,CAAC;IACtG,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,YAAY,gBAAgB,CAAC,CAAC,CAAC;IAC7F,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,YAAY,mBAAmB,CAAC,CAAC,CAAC;IAEnG,MAAM,MAAM,GAAG,aAAa,CAC1B,GAAG,CAAC,kBAAkB,KAAK,SAAS;QAClC,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,CACvC,CAAC;IAEF,OAAO,iBAAiB,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;AACzG,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.async.v4.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/context.async.v4.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,eAAO,MAAM,qBAAqB,GAAU,KAAK,YAAY,iBAkD3D,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { dirname } from "node:path";
|
|
3
|
+
import { pathToFileURL } from "node:url";
|
|
4
|
+
import { createJiti } from "jiti";
|
|
5
|
+
import { withCache } from "../async-utils/cache.js";
|
|
6
|
+
import { normalize } from "../async-utils/path.js";
|
|
7
|
+
import { resolveCss, resolveJs } from "../async-utils/resolvers.js";
|
|
8
|
+
export const createTailwindContext = async (ctx) => withCache("tailwind-context", ctx.tailwindConfigPath, async () => {
|
|
9
|
+
const jiti = createJiti(getCurrentFilename(), {
|
|
10
|
+
fsCache: false,
|
|
11
|
+
moduleCache: false
|
|
12
|
+
});
|
|
13
|
+
const importBasePath = dirname(ctx.tailwindConfigPath);
|
|
14
|
+
const tailwindPath = resolveJs(ctx, "tailwindcss", importBasePath);
|
|
15
|
+
// eslint-disable-next-line eslint-plugin-typescript/naming-convention
|
|
16
|
+
const { __unstable__loadDesignSystem } = await import(normalize(tailwindPath));
|
|
17
|
+
const css = await readFile(ctx.tailwindConfigPath, "utf-8");
|
|
18
|
+
// Load the design system and set up a compatible context object that is
|
|
19
|
+
// usable by the rest of the plugin
|
|
20
|
+
const design = await __unstable__loadDesignSystem(css, {
|
|
21
|
+
base: importBasePath,
|
|
22
|
+
loadModule: createLoader(ctx, jiti, {
|
|
23
|
+
filepath: ctx.tailwindConfigPath,
|
|
24
|
+
legacy: false,
|
|
25
|
+
onError: (id, err, resourceType) => {
|
|
26
|
+
console.error(`Unable to load ${resourceType}: ${id}`, err);
|
|
27
|
+
if (resourceType === "config") {
|
|
28
|
+
return {};
|
|
29
|
+
}
|
|
30
|
+
else if (resourceType === "plugin") {
|
|
31
|
+
return () => { };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}),
|
|
35
|
+
loadStylesheet: async (id, base) => {
|
|
36
|
+
try {
|
|
37
|
+
const resolved = resolveCss(ctx, id, base);
|
|
38
|
+
return {
|
|
39
|
+
base: dirname(resolved),
|
|
40
|
+
content: await readFile(resolved, "utf-8")
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return {
|
|
45
|
+
base: "",
|
|
46
|
+
content: ""
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
return design;
|
|
52
|
+
});
|
|
53
|
+
function createLoader(ctx, jiti, { filepath, legacy, onError }) {
|
|
54
|
+
const cacheKey = `${+Date.now()}`;
|
|
55
|
+
async function loadFile(id, base, resourceType) {
|
|
56
|
+
try {
|
|
57
|
+
const resolved = resolveJs(ctx, id, base);
|
|
58
|
+
const url = pathToFileURL(resolved);
|
|
59
|
+
url.searchParams.append("t", cacheKey);
|
|
60
|
+
return await jiti.import(url.href, { default: true });
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
return onError(id, err, resourceType);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (legacy) {
|
|
67
|
+
const baseDir = dirname(filepath);
|
|
68
|
+
return async (id) => loadFile(id, baseDir, "module");
|
|
69
|
+
}
|
|
70
|
+
return async (id, base, resourceType) => {
|
|
71
|
+
return {
|
|
72
|
+
base,
|
|
73
|
+
module: await loadFile(id, base, resourceType)
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function getCurrentFilename() {
|
|
78
|
+
// eslint-disable-next-line eslint-plugin-typescript/prefer-ts-expect-error
|
|
79
|
+
// @ts-ignore - `import.meta` doesn't exist in CommonJS -> will be transformed in build step
|
|
80
|
+
return import.meta.url;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=context.async.v4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.async.v4.js","sourceRoot":"","sources":["../../src/tailwindcss/context.async.v4.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AsyncContext } from "../utils/context.js";
|
|
2
|
+
import type { CustomComponentClasses } from "./custom-component-classes.js";
|
|
3
|
+
export declare function getCustomComponentClasses(_ctx: AsyncContext): Promise<CustomComponentClasses>;
|
|
4
|
+
//# sourceMappingURL=custom-component-classes.async.v3.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-component-classes.async.v3.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/custom-component-classes.async.v3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAG5E,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAEnG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-component-classes.async.v3.js","sourceRoot":"","sources":["../../src/tailwindcss/custom-component-classes.async.v3.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAAkB;IAChE,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AsyncContext } from "../utils/context.js";
|
|
2
|
+
import type { CustomComponentClasses } from "./custom-component-classes.js";
|
|
3
|
+
export declare function getCustomComponentClasses(ctx: AsyncContext): Promise<CustomComponentClasses>;
|
|
4
|
+
//# sourceMappingURL=custom-component-classes.async.v4.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-component-classes.async.v4.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/custom-component-classes.async.v4.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAmB5E,wBAAsB,yBAAyB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAUlG"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { dirname } from "node:path";
|
|
3
|
+
import { fork } from "@eslint/css-tree";
|
|
4
|
+
import { tailwind4 } from "tailwind-csstree";
|
|
5
|
+
import { withCache } from "../async-utils/cache.js";
|
|
6
|
+
import { resolveCss } from "../async-utils/resolvers.js";
|
|
7
|
+
const { findAll, generate, parse, walk } = fork(tailwind4);
|
|
8
|
+
export async function getCustomComponentClasses(ctx) {
|
|
9
|
+
const resolvedPath = resolveCss(ctx, ctx.tailwindConfigPath);
|
|
10
|
+
if (!resolvedPath) {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
const files = await parseCssFilesDeep(ctx, resolvedPath);
|
|
14
|
+
return getCustomComponentUtilities(files, resolvedPath);
|
|
15
|
+
}
|
|
16
|
+
async function parseCssFilesDeep(ctx, resolvedPath) {
|
|
17
|
+
const cssFiles = {};
|
|
18
|
+
const cssFile = await parseCssFile(ctx, resolvedPath);
|
|
19
|
+
if (!cssFile) {
|
|
20
|
+
return cssFiles;
|
|
21
|
+
}
|
|
22
|
+
cssFiles[resolvedPath] = cssFile;
|
|
23
|
+
for (const { path } of cssFile.imports) {
|
|
24
|
+
const importedFiles = await parseCssFilesDeep(ctx, path);
|
|
25
|
+
for (const importedFile in importedFiles) {
|
|
26
|
+
cssFiles[importedFile] = importedFiles[importedFile];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return cssFiles;
|
|
30
|
+
}
|
|
31
|
+
const parseCssFile = async (ctx, resolvedPath) => withCache("css-file", resolvedPath, async () => {
|
|
32
|
+
try {
|
|
33
|
+
const content = await readFile(resolvedPath, "utf-8");
|
|
34
|
+
const ast = parse(content);
|
|
35
|
+
const importNodes = findAll(ast, node => node.type === "Atrule" &&
|
|
36
|
+
node.name === "import" &&
|
|
37
|
+
node.prelude?.type === "AtrulePrelude");
|
|
38
|
+
const imports = importNodes.reduce((imports, importNode) => {
|
|
39
|
+
if (importNode.type !== "Atrule" || !importNode.prelude) {
|
|
40
|
+
return imports;
|
|
41
|
+
}
|
|
42
|
+
const prelude = generate(importNode.prelude);
|
|
43
|
+
const importStatement = prelude.match(/["'](?<importPath>[^"']+)["'](?<rest>.*)/);
|
|
44
|
+
if (!importStatement) {
|
|
45
|
+
return imports;
|
|
46
|
+
}
|
|
47
|
+
const { importPath, rest } = importStatement.groups || {};
|
|
48
|
+
const layerMatch = rest?.match(/layer(?:\((?<layerName>[^)]+)\))?/);
|
|
49
|
+
const layer = layerMatch ? layerMatch.groups?.layerName || "anonymous" : undefined;
|
|
50
|
+
const cwd = dirname(resolvedPath);
|
|
51
|
+
const resolvedImportPath = resolveCss(ctx, importPath, cwd);
|
|
52
|
+
if (resolvedImportPath) {
|
|
53
|
+
imports.push({ layer, path: resolvedImportPath });
|
|
54
|
+
}
|
|
55
|
+
return imports;
|
|
56
|
+
}, []);
|
|
57
|
+
return {
|
|
58
|
+
ast,
|
|
59
|
+
imports
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
catch { }
|
|
63
|
+
});
|
|
64
|
+
function getCustomComponentUtilities(files, filePath, currentLayer = []) {
|
|
65
|
+
const classes = new Set();
|
|
66
|
+
const file = files[filePath];
|
|
67
|
+
if (!file) {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
for (const { layer, path } of file.imports) {
|
|
71
|
+
const nextLayer = [...currentLayer];
|
|
72
|
+
if (layer) {
|
|
73
|
+
nextLayer.push(layer);
|
|
74
|
+
}
|
|
75
|
+
const importedClasses = getCustomComponentUtilities(files, path, nextLayer);
|
|
76
|
+
for (const importedClass of importedClasses) {
|
|
77
|
+
classes.add(importedClass);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const localLayers = [];
|
|
81
|
+
walk(file.ast, {
|
|
82
|
+
enter: (node) => {
|
|
83
|
+
if (node.type === "Atrule" && node.name === "layer" && node.prelude?.type === "AtrulePrelude" && node.block) {
|
|
84
|
+
const layerName = generate(node.prelude).trim();
|
|
85
|
+
localLayers.push(layerName);
|
|
86
|
+
}
|
|
87
|
+
if (node.type === "ClassSelector") {
|
|
88
|
+
if ([...currentLayer, ...localLayers][0] === "components") {
|
|
89
|
+
classes.add(node.name);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
leave: (node) => {
|
|
94
|
+
if (node.type === "Atrule" && node.name === "layer" && node.block) {
|
|
95
|
+
localLayers.pop();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
return Array.from(classes);
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=custom-component-classes.async.v4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-component-classes.async.v4.js","sourceRoot":"","sources":["../../src/tailwindcss/custom-component-classes.async.v4.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Warning } from "../types/async.js";
|
|
2
|
+
import type { Context } from "../types/rule.js";
|
|
3
|
+
import type { AsyncContext } from "../utils/context.js";
|
|
4
|
+
export type CustomComponentClasses = string[];
|
|
5
|
+
export type GetCustomComponentClasses = (ctx: AsyncContext) => {
|
|
6
|
+
customComponentClasses: CustomComponentClasses;
|
|
7
|
+
warnings: (Warning | undefined)[];
|
|
8
|
+
};
|
|
9
|
+
export declare let getCustomComponentClasses: GetCustomComponentClasses;
|
|
10
|
+
export declare function createGetCustomComponentClasses(ctx: Context): GetCustomComponentClasses;
|
|
11
|
+
//# sourceMappingURL=custom-component-classes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-component-classes.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/custom-component-classes.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,MAAM,MAAM,sBAAsB,GAAG,MAAM,EAAE,CAAC;AAE9C,MAAM,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE,YAAY,KAAK;IAC7D,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,QAAQ,EAAE,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC;CACnC,CAAC;AAEF,eAAO,IAAI,yBAAyB,EAAE,yBAAqH,CAAC;AAE5J,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,OAAO,GAAG,yBAAyB,CAQvF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// runner.js
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { createSyncFn } from "synckit";
|
|
4
|
+
import { getWorkerOptions } from "../async-utils/worker.js";
|
|
5
|
+
export let getCustomComponentClasses = () => { throw new Error("getCustomComponentClasses() called before being initialized"); };
|
|
6
|
+
export function createGetCustomComponentClasses(ctx) {
|
|
7
|
+
const workerPath = getWorkerPath(ctx);
|
|
8
|
+
const workerOptions = getWorkerOptions();
|
|
9
|
+
const runWorker = createSyncFn(workerPath, workerOptions);
|
|
10
|
+
getCustomComponentClasses = ctx => runWorker("getCustomComponentClasses", ctx);
|
|
11
|
+
return getCustomComponentClasses;
|
|
12
|
+
}
|
|
13
|
+
function getWorkerPath(ctx) {
|
|
14
|
+
return resolve(import.meta.dirname, `./tailwind.async.worker.v${ctx.version.major}.js`);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=custom-component-classes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-component-classes.js","sourceRoot":"","sources":["../../src/tailwindcss/custom-component-classes.ts"],"names":[],"mappings":"AAAA,YAAY;AAGZ,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AActE,MAAM,CAAC,IAAI,yBAAyB,GAA8B,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5J,MAAM,UAAU,+BAA+B,CAAC,GAAY;IAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAE1D,yBAAyB,GAAG,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;IAE/E,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC;AAC1F,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AsyncContext } from "../utils/context.js";
|
|
2
|
+
import type { DissectedClasses } from "./dissect-classes.js";
|
|
3
|
+
export declare function getDissectedClasses(ctx: AsyncContext, tailwindContext: any, classes: string[]): Promise<DissectedClasses>;
|
|
4
|
+
//# sourceMappingURL=dissect-classes.async.v3.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dissect-classes.async.v3.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/dissect-classes.async.v3.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7E,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkC/H"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { escapeForRegex } from "../async-utils/escape.js";
|
|
2
|
+
import { getCachedRegex } from "../async-utils/regex.js";
|
|
3
|
+
import { segment } from "../async-utils/segment.js";
|
|
4
|
+
import { getPrefix } from "./prefix.async.v3.js";
|
|
5
|
+
export async function getDissectedClasses(ctx, tailwindContext, classes) {
|
|
6
|
+
const prefix = getPrefix(tailwindContext);
|
|
7
|
+
const separator = tailwindContext.tailwindConfig.separator ?? ":";
|
|
8
|
+
return classes.reduce((acc, className) => {
|
|
9
|
+
const splitChunks = segment(className, separator);
|
|
10
|
+
const variants = splitChunks.slice(0, -1);
|
|
11
|
+
let base = className
|
|
12
|
+
.replace(new RegExp(`^${escapeForRegex(variants.join(separator) + separator)}`), "")
|
|
13
|
+
.replace(new RegExp(`^${escapeForRegex(prefix)}`), "");
|
|
14
|
+
const isNegative = base.startsWith("-");
|
|
15
|
+
base = base.replace(getCachedRegex(/^-/), "");
|
|
16
|
+
const isImportantAtStart = base.startsWith("!");
|
|
17
|
+
base = base.replace(getCachedRegex(/^!/), "");
|
|
18
|
+
const isImportantAtEnd = base.endsWith("!");
|
|
19
|
+
base = base.replace(getCachedRegex(/!$/), "");
|
|
20
|
+
acc[className] = {
|
|
21
|
+
base,
|
|
22
|
+
className,
|
|
23
|
+
important: [isImportantAtStart, isImportantAtEnd],
|
|
24
|
+
negative: isNegative,
|
|
25
|
+
prefix,
|
|
26
|
+
separator,
|
|
27
|
+
variants
|
|
28
|
+
};
|
|
29
|
+
return acc;
|
|
30
|
+
}, {});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=dissect-classes.async.v3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dissect-classes.async.v3.js","sourceRoot":"","sources":["../../src/tailwindcss/dissect-classes.async.v3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMjD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAiB,EAAE,eAAoB,EAAE,OAAiB;IAElG,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,IAAI,GAAG,CAAC;IAElE,OAAO,OAAO,CAAC,MAAM,CAAiC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QACvE,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE1C,IAAI,IAAI,GAAG,SAAS;aACjB,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;aACnF,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEzD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,GAAG,CAAC,SAAS,CAAC,GAAG;YACf,IAAI;YACJ,SAAS;YACT,SAAS,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;YACjD,QAAQ,EAAE,UAAU;YACpB,MAAM;YACN,SAAS;YACT,QAAQ;SACT,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dissect-classes.async.v4.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/dissect-classes.async.v4.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7E,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAwC7F"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { escapeForRegex } from "../async-utils/escape.js";
|
|
2
|
+
import { getCachedRegex } from "../async-utils/regex.js";
|
|
3
|
+
import { segment } from "../async-utils/segment.js";
|
|
4
|
+
import { getPrefix } from "./prefix.async.v4.js";
|
|
5
|
+
export function getDissectedClasses(tailwindContext, classes) {
|
|
6
|
+
const prefix = getPrefix(tailwindContext);
|
|
7
|
+
const separator = ":";
|
|
8
|
+
return classes.reduce((acc, className) => {
|
|
9
|
+
const splitChunks = segment(className, separator);
|
|
10
|
+
const variants = splitChunks
|
|
11
|
+
.slice(0, -1)
|
|
12
|
+
.filter((variant, index) => {
|
|
13
|
+
if (variant === prefix && index === 0) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
return true;
|
|
17
|
+
});
|
|
18
|
+
let base = className
|
|
19
|
+
.replace(getCachedRegex(`^${escapeForRegex(prefix + separator)}`), "")
|
|
20
|
+
.replace(getCachedRegex(`^${escapeForRegex((variants?.join(separator) ?? "") + separator)}`), "");
|
|
21
|
+
const isNegative = base.startsWith("-");
|
|
22
|
+
base = base.replace(getCachedRegex(/^-/), "");
|
|
23
|
+
const isImportantAtStart = base.startsWith("!");
|
|
24
|
+
base = base.replace(getCachedRegex(/^!/), "");
|
|
25
|
+
const isImportantAtEnd = base.endsWith("!");
|
|
26
|
+
base = base.replace(getCachedRegex(/!$/), "");
|
|
27
|
+
acc[className] = {
|
|
28
|
+
base,
|
|
29
|
+
className,
|
|
30
|
+
important: [isImportantAtStart, isImportantAtEnd],
|
|
31
|
+
negative: isNegative,
|
|
32
|
+
prefix,
|
|
33
|
+
separator,
|
|
34
|
+
variants
|
|
35
|
+
};
|
|
36
|
+
return acc;
|
|
37
|
+
}, {});
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=dissect-classes.async.v4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dissect-classes.async.v4.js","sourceRoot":"","sources":["../../src/tailwindcss/dissect-classes.async.v4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD,MAAM,UAAU,mBAAmB,CAAC,eAAoB,EAAE,OAAiB;IACzE,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,CAAC;IAEtB,OAAO,OAAO,CAAC,MAAM,CAAiC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QACvE,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,WAAW;aACzB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACZ,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACzB,IAAG,OAAO,KAAK,MAAM,IAAI,KAAK,KAAK,CAAC,EAAC,CAAC;gBACpC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEL,IAAI,IAAI,GAAG,SAAS;aACjB,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;aACrE,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEpG,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,GAAG,CAAC,SAAS,CAAC,GAAG;YACf,IAAI;YACJ,SAAS;YACT,SAAS,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;YACjD,QAAQ,EAAE,UAAU;YACpB,MAAM;YACN,SAAS;YACT,QAAQ;SACT,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Warning } from "../types/async.js";
|
|
2
|
+
import type { Context } from "../types/rule.js";
|
|
3
|
+
import type { AsyncContext } from "../utils/context.js";
|
|
4
|
+
export interface DissectedClass {
|
|
5
|
+
base: string;
|
|
6
|
+
className: string;
|
|
7
|
+
important: [start: boolean, end: boolean];
|
|
8
|
+
negative: boolean;
|
|
9
|
+
prefix: string;
|
|
10
|
+
separator: string;
|
|
11
|
+
/** Will be undefined in tailwindcss 4 for non-tailwind classes. */
|
|
12
|
+
variants: string[] | undefined;
|
|
13
|
+
}
|
|
14
|
+
export interface DissectedClasses {
|
|
15
|
+
[className: string]: DissectedClass;
|
|
16
|
+
}
|
|
17
|
+
export type GetDissectedClasses = (ctx: AsyncContext, classes: string[]) => {
|
|
18
|
+
dissectedClasses: DissectedClasses;
|
|
19
|
+
warnings: (Warning | undefined)[];
|
|
20
|
+
};
|
|
21
|
+
export declare let getDissectedClasses: GetDissectedClasses;
|
|
22
|
+
export declare function createGetDissectedClasses(ctx: Context): GetDissectedClasses;
|
|
23
|
+
//# sourceMappingURL=dissect-classes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dissect-classes.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/dissect-classes.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAAC;CACrC;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;IAC1E,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,EAAE,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC;CACnC,CAAC;AAEF,eAAO,IAAI,mBAAmB,EAAE,mBAAyG,CAAC;AAE1I,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAQ3E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { resolve } from "node:path";
|
|
2
|
+
import { createSyncFn } from "synckit";
|
|
3
|
+
import { withOperationCache } from "../async-utils/cache.js";
|
|
4
|
+
import { getWorkerOptions } from "../async-utils/worker.js";
|
|
5
|
+
export let getDissectedClasses = () => { throw new Error("getDissectedClasses() called before being initialized"); };
|
|
6
|
+
export function createGetDissectedClasses(ctx) {
|
|
7
|
+
const workerPath = getWorkerPath(ctx);
|
|
8
|
+
const workerOptions = getWorkerOptions();
|
|
9
|
+
const runWorker = createSyncFn(workerPath, workerOptions);
|
|
10
|
+
getDissectedClasses = withOperationCache("getDissectedClasses", (ctx, classes) => runWorker("getDissectedClasses", ctx, classes));
|
|
11
|
+
return getDissectedClasses;
|
|
12
|
+
}
|
|
13
|
+
function getWorkerPath(ctx) {
|
|
14
|
+
return resolve(import.meta.dirname, `./tailwind.async.worker.v${ctx.version.major}.js`);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=dissect-classes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dissect-classes.js","sourceRoot":"","sources":["../../src/tailwindcss/dissect-classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AA2BtE,MAAM,CAAC,IAAI,mBAAmB,GAAwB,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1I,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAE1D,mBAAmB,GAAG,kBAAkB,CAAsB,qBAAqB,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,qBAAqB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvJ,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC;AAC1F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prefix.async.v3.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/prefix.async.v3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,wBAAgB,SAAS,CAAC,eAAe,EAAE,GAAG,GAAG,MAAM,CAEtD;AAED,wBAAgB,SAAS,CAAC,eAAe,EAAE,GAAG,GAAG,MAAM,CAEtD"}
|