@spiracss/stylelint-plugin 0.3.4 → 0.4.0
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/README.md +9 -27
- package/dist/esm/helpers.d.ts +10 -3
- package/dist/esm/helpers.d.ts.map +1 -1
- package/dist/esm/helpers.js +19 -99
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/rules/spiracss-property-placement.js +1 -1
- package/dist/esm/rules/spiracss-property-placement.js.map +1 -1
- package/dist/esm/rules/spiracss-property-placement.messages.d.ts.map +1 -1
- package/dist/esm/rules/spiracss-property-placement.messages.js +7 -6
- package/dist/esm/rules/spiracss-property-placement.messages.js.map +1 -1
- package/package.json +9 -19
- package/dist/cjs/helpers.d.ts +0 -152
- package/dist/cjs/helpers.d.ts.map +0 -1
- package/dist/cjs/helpers.js +0 -483
- package/dist/cjs/helpers.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -4
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -31
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/package.json +0 -3
- package/dist/cjs/rules/spiracss-class-structure.constants.d.ts +0 -2
- package/dist/cjs/rules/spiracss-class-structure.constants.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.constants.js +0 -5
- package/dist/cjs/rules/spiracss-class-structure.constants.js.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.d.ts +0 -5
- package/dist/cjs/rules/spiracss-class-structure.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.js +0 -398
- package/dist/cjs/rules/spiracss-class-structure.js.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.messages.d.ts +0 -24
- package/dist/cjs/rules/spiracss-class-structure.messages.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.messages.js +0 -69
- package/dist/cjs/rules/spiracss-class-structure.messages.js.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.options.d.ts +0 -4
- package/dist/cjs/rules/spiracss-class-structure.options.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.options.js +0 -155
- package/dist/cjs/rules/spiracss-class-structure.options.js.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.patterns.d.ts +0 -17
- package/dist/cjs/rules/spiracss-class-structure.patterns.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.patterns.js +0 -184
- package/dist/cjs/rules/spiracss-class-structure.patterns.js.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.sections.d.ts +0 -6
- package/dist/cjs/rules/spiracss-class-structure.sections.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.sections.js +0 -13
- package/dist/cjs/rules/spiracss-class-structure.sections.js.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.selectors.d.ts +0 -34
- package/dist/cjs/rules/spiracss-class-structure.selectors.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.selectors.js +0 -325
- package/dist/cjs/rules/spiracss-class-structure.selectors.js.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.types.d.ts +0 -79
- package/dist/cjs/rules/spiracss-class-structure.types.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-class-structure.types.js +0 -3
- package/dist/cjs/rules/spiracss-class-structure.types.js.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-properties.constants.d.ts +0 -2
- package/dist/cjs/rules/spiracss-interaction-properties.constants.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-properties.constants.js +0 -5
- package/dist/cjs/rules/spiracss-interaction-properties.constants.js.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-properties.d.ts +0 -5
- package/dist/cjs/rules/spiracss-interaction-properties.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-properties.js +0 -537
- package/dist/cjs/rules/spiracss-interaction-properties.js.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-properties.messages.d.ts +0 -11
- package/dist/cjs/rules/spiracss-interaction-properties.messages.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-properties.messages.js +0 -22
- package/dist/cjs/rules/spiracss-interaction-properties.messages.js.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-properties.options.d.ts +0 -4
- package/dist/cjs/rules/spiracss-interaction-properties.options.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-properties.options.js +0 -25
- package/dist/cjs/rules/spiracss-interaction-properties.options.js.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-properties.types.d.ts +0 -14
- package/dist/cjs/rules/spiracss-interaction-properties.types.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-properties.types.js +0 -3
- package/dist/cjs/rules/spiracss-interaction-properties.types.js.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-scope.constants.d.ts +0 -2
- package/dist/cjs/rules/spiracss-interaction-scope.constants.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-scope.constants.js +0 -5
- package/dist/cjs/rules/spiracss-interaction-scope.constants.js.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-scope.d.ts +0 -5
- package/dist/cjs/rules/spiracss-interaction-scope.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-scope.js +0 -173
- package/dist/cjs/rules/spiracss-interaction-scope.js.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-scope.messages.d.ts +0 -10
- package/dist/cjs/rules/spiracss-interaction-scope.messages.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-scope.messages.js +0 -15
- package/dist/cjs/rules/spiracss-interaction-scope.messages.js.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-scope.options.d.ts +0 -4
- package/dist/cjs/rules/spiracss-interaction-scope.options.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-scope.options.js +0 -54
- package/dist/cjs/rules/spiracss-interaction-scope.options.js.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-scope.types.d.ts +0 -31
- package/dist/cjs/rules/spiracss-interaction-scope.types.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-scope.types.js +0 -3
- package/dist/cjs/rules/spiracss-interaction-scope.types.js.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-scope.utils.d.ts +0 -13
- package/dist/cjs/rules/spiracss-interaction-scope.utils.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-interaction-scope.utils.js +0 -159
- package/dist/cjs/rules/spiracss-interaction-scope.utils.js.map +0 -1
- package/dist/cjs/rules/spiracss-keyframes-naming.constants.d.ts +0 -2
- package/dist/cjs/rules/spiracss-keyframes-naming.constants.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-keyframes-naming.constants.js +0 -5
- package/dist/cjs/rules/spiracss-keyframes-naming.constants.js.map +0 -1
- package/dist/cjs/rules/spiracss-keyframes-naming.d.ts +0 -5
- package/dist/cjs/rules/spiracss-keyframes-naming.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-keyframes-naming.js +0 -355
- package/dist/cjs/rules/spiracss-keyframes-naming.js.map +0 -1
- package/dist/cjs/rules/spiracss-keyframes-naming.messages.d.ts +0 -12
- package/dist/cjs/rules/spiracss-keyframes-naming.messages.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-keyframes-naming.messages.js +0 -18
- package/dist/cjs/rules/spiracss-keyframes-naming.messages.js.map +0 -1
- package/dist/cjs/rules/spiracss-keyframes-naming.options.d.ts +0 -4
- package/dist/cjs/rules/spiracss-keyframes-naming.options.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-keyframes-naming.options.js +0 -150
- package/dist/cjs/rules/spiracss-keyframes-naming.options.js.map +0 -1
- package/dist/cjs/rules/spiracss-keyframes-naming.types.d.ts +0 -27
- package/dist/cjs/rules/spiracss-keyframes-naming.types.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-keyframes-naming.types.js +0 -3
- package/dist/cjs/rules/spiracss-keyframes-naming.types.js.map +0 -1
- package/dist/cjs/rules/spiracss-page-layer.constants.d.ts +0 -2
- package/dist/cjs/rules/spiracss-page-layer.constants.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-page-layer.constants.js +0 -5
- package/dist/cjs/rules/spiracss-page-layer.constants.js.map +0 -1
- package/dist/cjs/rules/spiracss-page-layer.d.ts +0 -5
- package/dist/cjs/rules/spiracss-page-layer.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-page-layer.js +0 -243
- package/dist/cjs/rules/spiracss-page-layer.js.map +0 -1
- package/dist/cjs/rules/spiracss-page-layer.messages.d.ts +0 -7
- package/dist/cjs/rules/spiracss-page-layer.messages.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-page-layer.messages.js +0 -16
- package/dist/cjs/rules/spiracss-page-layer.messages.js.map +0 -1
- package/dist/cjs/rules/spiracss-page-layer.options.d.ts +0 -4
- package/dist/cjs/rules/spiracss-page-layer.options.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-page-layer.options.js +0 -59
- package/dist/cjs/rules/spiracss-page-layer.options.js.map +0 -1
- package/dist/cjs/rules/spiracss-page-layer.types.d.ts +0 -19
- package/dist/cjs/rules/spiracss-page-layer.types.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-page-layer.types.js +0 -3
- package/dist/cjs/rules/spiracss-page-layer.types.js.map +0 -1
- package/dist/cjs/rules/spiracss-property-placement.constants.d.ts +0 -2
- package/dist/cjs/rules/spiracss-property-placement.constants.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-property-placement.constants.js +0 -5
- package/dist/cjs/rules/spiracss-property-placement.constants.js.map +0 -1
- package/dist/cjs/rules/spiracss-property-placement.d.ts +0 -5
- package/dist/cjs/rules/spiracss-property-placement.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-property-placement.js +0 -673
- package/dist/cjs/rules/spiracss-property-placement.js.map +0 -1
- package/dist/cjs/rules/spiracss-property-placement.messages.d.ts +0 -19
- package/dist/cjs/rules/spiracss-property-placement.messages.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-property-placement.messages.js +0 -110
- package/dist/cjs/rules/spiracss-property-placement.messages.js.map +0 -1
- package/dist/cjs/rules/spiracss-property-placement.options.d.ts +0 -4
- package/dist/cjs/rules/spiracss-property-placement.options.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-property-placement.options.js +0 -74
- package/dist/cjs/rules/spiracss-property-placement.options.js.map +0 -1
- package/dist/cjs/rules/spiracss-property-placement.selectors.d.ts +0 -40
- package/dist/cjs/rules/spiracss-property-placement.selectors.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-property-placement.selectors.js +0 -1047
- package/dist/cjs/rules/spiracss-property-placement.selectors.js.map +0 -1
- package/dist/cjs/rules/spiracss-property-placement.types.d.ts +0 -28
- package/dist/cjs/rules/spiracss-property-placement.types.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-property-placement.types.js +0 -3
- package/dist/cjs/rules/spiracss-property-placement.types.js.map +0 -1
- package/dist/cjs/rules/spiracss-property-placement.values.d.ts +0 -19
- package/dist/cjs/rules/spiracss-property-placement.values.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-property-placement.values.js +0 -176
- package/dist/cjs/rules/spiracss-property-placement.values.js.map +0 -1
- package/dist/cjs/rules/spiracss-pseudo-nesting.constants.d.ts +0 -2
- package/dist/cjs/rules/spiracss-pseudo-nesting.constants.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-pseudo-nesting.constants.js +0 -5
- package/dist/cjs/rules/spiracss-pseudo-nesting.constants.js.map +0 -1
- package/dist/cjs/rules/spiracss-pseudo-nesting.d.ts +0 -5
- package/dist/cjs/rules/spiracss-pseudo-nesting.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-pseudo-nesting.js +0 -114
- package/dist/cjs/rules/spiracss-pseudo-nesting.js.map +0 -1
- package/dist/cjs/rules/spiracss-pseudo-nesting.messages.d.ts +0 -6
- package/dist/cjs/rules/spiracss-pseudo-nesting.messages.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-pseudo-nesting.messages.js +0 -10
- package/dist/cjs/rules/spiracss-pseudo-nesting.messages.js.map +0 -1
- package/dist/cjs/rules/spiracss-pseudo-nesting.types.d.ts +0 -5
- package/dist/cjs/rules/spiracss-pseudo-nesting.types.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-pseudo-nesting.types.js +0 -3
- package/dist/cjs/rules/spiracss-pseudo-nesting.types.js.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.alias.d.ts +0 -6
- package/dist/cjs/rules/spiracss-rel-comments.alias.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.alias.js +0 -152
- package/dist/cjs/rules/spiracss-rel-comments.alias.js.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.constants.d.ts +0 -2
- package/dist/cjs/rules/spiracss-rel-comments.constants.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.constants.js +0 -5
- package/dist/cjs/rules/spiracss-rel-comments.constants.js.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.d.ts +0 -5
- package/dist/cjs/rules/spiracss-rel-comments.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.js +0 -427
- package/dist/cjs/rules/spiracss-rel-comments.js.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.messages.d.ts +0 -11
- package/dist/cjs/rules/spiracss-rel-comments.messages.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.messages.js +0 -23
- package/dist/cjs/rules/spiracss-rel-comments.messages.js.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.options.d.ts +0 -4
- package/dist/cjs/rules/spiracss-rel-comments.options.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.options.js +0 -101
- package/dist/cjs/rules/spiracss-rel-comments.options.js.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.root.d.ts +0 -9
- package/dist/cjs/rules/spiracss-rel-comments.root.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.root.js +0 -121
- package/dist/cjs/rules/spiracss-rel-comments.root.js.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.selectors.d.ts +0 -6
- package/dist/cjs/rules/spiracss-rel-comments.selectors.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.selectors.js +0 -78
- package/dist/cjs/rules/spiracss-rel-comments.selectors.js.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.types.d.ts +0 -42
- package/dist/cjs/rules/spiracss-rel-comments.types.d.ts.map +0 -1
- package/dist/cjs/rules/spiracss-rel-comments.types.js +0 -3
- package/dist/cjs/rules/spiracss-rel-comments.types.js.map +0 -1
- package/dist/cjs/types.d.ts +0 -78
- package/dist/cjs/types.d.ts.map +0 -1
- package/dist/cjs/types.js +0 -3
- package/dist/cjs/types.js.map +0 -1
- package/dist/cjs/utils/cache.d.ts +0 -18
- package/dist/cjs/utils/cache.d.ts.map +0 -1
- package/dist/cjs/utils/cache.js +0 -94
- package/dist/cjs/utils/cache.js.map +0 -1
- package/dist/cjs/utils/constants.d.ts +0 -4
- package/dist/cjs/utils/constants.d.ts.map +0 -1
- package/dist/cjs/utils/constants.js +0 -32
- package/dist/cjs/utils/constants.js.map +0 -1
- package/dist/cjs/utils/formatting.d.ts +0 -10
- package/dist/cjs/utils/formatting.d.ts.map +0 -1
- package/dist/cjs/utils/formatting.js +0 -51
- package/dist/cjs/utils/formatting.js.map +0 -1
- package/dist/cjs/utils/messages.d.ts +0 -25
- package/dist/cjs/utils/messages.d.ts.map +0 -1
- package/dist/cjs/utils/messages.js +0 -174
- package/dist/cjs/utils/messages.js.map +0 -1
- package/dist/cjs/utils/naming.d.ts +0 -12
- package/dist/cjs/utils/naming.d.ts.map +0 -1
- package/dist/cjs/utils/naming.js +0 -70
- package/dist/cjs/utils/naming.js.map +0 -1
- package/dist/cjs/utils/normalize.d.ts +0 -12
- package/dist/cjs/utils/normalize.d.ts.map +0 -1
- package/dist/cjs/utils/normalize.js +0 -194
- package/dist/cjs/utils/normalize.js.map +0 -1
- package/dist/cjs/utils/option-schema.d.ts +0 -19
- package/dist/cjs/utils/option-schema.d.ts.map +0 -1
- package/dist/cjs/utils/option-schema.js +0 -23
- package/dist/cjs/utils/option-schema.js.map +0 -1
- package/dist/cjs/utils/options.d.ts +0 -34
- package/dist/cjs/utils/options.d.ts.map +0 -1
- package/dist/cjs/utils/options.js +0 -41
- package/dist/cjs/utils/options.js.map +0 -1
- package/dist/cjs/utils/postcss-helpers.d.ts +0 -9
- package/dist/cjs/utils/postcss-helpers.d.ts.map +0 -1
- package/dist/cjs/utils/postcss-helpers.js +0 -37
- package/dist/cjs/utils/postcss-helpers.js.map +0 -1
- package/dist/cjs/utils/rule-docs.d.ts +0 -2
- package/dist/cjs/utils/rule-docs.d.ts.map +0 -1
- package/dist/cjs/utils/rule-docs.js +0 -22
- package/dist/cjs/utils/rule-docs.js.map +0 -1
- package/dist/cjs/utils/section.d.ts +0 -17
- package/dist/cjs/utils/section.d.ts.map +0 -1
- package/dist/cjs/utils/section.js +0 -130
- package/dist/cjs/utils/section.js.map +0 -1
- package/dist/cjs/utils/selector-policy.d.ts +0 -16
- package/dist/cjs/utils/selector-policy.d.ts.map +0 -1
- package/dist/cjs/utils/selector-policy.js +0 -57
- package/dist/cjs/utils/selector-policy.js.map +0 -1
- package/dist/cjs/utils/selector.d.ts +0 -42
- package/dist/cjs/utils/selector.d.ts.map +0 -1
- package/dist/cjs/utils/selector.js +0 -238
- package/dist/cjs/utils/selector.js.map +0 -1
- package/dist/cjs/utils/stylelint.d.ts +0 -14
- package/dist/cjs/utils/stylelint.d.ts.map +0 -1
- package/dist/cjs/utils/stylelint.js +0 -67
- package/dist/cjs/utils/stylelint.js.map +0 -1
- package/dist/cjs/utils/validate.d.ts +0 -9
- package/dist/cjs/utils/validate.d.ts.map +0 -1
- package/dist/cjs/utils/validate.js +0 -35
- package/dist/cjs/utils/validate.js.map +0 -1
|
@@ -1,325 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hasSegmentSequence = exports.mergeRuleKinds = exports.processSelector = exports.analyzeRootSelector = exports.hasValidSpiraClass = exports.collectRootBlockNames = void 0;
|
|
4
|
-
const selector_1 = require("../utils/selector");
|
|
5
|
-
const selector_policy_1 = require("../utils/selector-policy");
|
|
6
|
-
const spiracss_class_structure_messages_1 = require("./spiracss-class-structure.messages");
|
|
7
|
-
const spiracss_class_structure_patterns_1 = require("./spiracss-class-structure.patterns");
|
|
8
|
-
const isClassNode = (node) => node.type === 'class';
|
|
9
|
-
const collectRootBlockNames = (selectors, options, patterns) => {
|
|
10
|
-
const names = new Set();
|
|
11
|
-
const rootPseudos = new Set([':is', ':where']);
|
|
12
|
-
selectors.forEach((sel) => {
|
|
13
|
-
const [head] = (0, selector_1.collectCompoundNodes)(sel, { sameElementPseudos: rootPseudos });
|
|
14
|
-
if (!head)
|
|
15
|
-
return;
|
|
16
|
-
head.classes.forEach((node) => {
|
|
17
|
-
const name = node.value;
|
|
18
|
-
if ((0, spiracss_class_structure_patterns_1.classify)(name, options, patterns) === 'block') {
|
|
19
|
-
names.add(name);
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
return [...names];
|
|
24
|
-
};
|
|
25
|
-
exports.collectRootBlockNames = collectRootBlockNames;
|
|
26
|
-
const hasValidSpiraClass = (selectors, options, patterns) => {
|
|
27
|
-
return selectors.some((sel) => {
|
|
28
|
-
let found = false;
|
|
29
|
-
sel.walkClasses((node) => {
|
|
30
|
-
if (found)
|
|
31
|
-
return;
|
|
32
|
-
const kind = (0, spiracss_class_structure_patterns_1.classify)(node.value, options, patterns);
|
|
33
|
-
if (kind !== 'external' && kind !== 'invalid')
|
|
34
|
-
found = true;
|
|
35
|
-
});
|
|
36
|
-
return found;
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
exports.hasValidSpiraClass = hasValidSpiraClass;
|
|
40
|
-
const analyzeRootSelector = (sel, rootBlockName, options, patterns) => {
|
|
41
|
-
let hasSpiraClass = false;
|
|
42
|
-
let hasRootBlock = false;
|
|
43
|
-
let hasOtherBlock = false;
|
|
44
|
-
const sameElementPseudos = new Set([':is', ':where']);
|
|
45
|
-
sel.walk((node) => {
|
|
46
|
-
if (!isClassNode(node))
|
|
47
|
-
return;
|
|
48
|
-
const name = node.value;
|
|
49
|
-
const kind = (0, spiracss_class_structure_patterns_1.classify)(name, options, patterns);
|
|
50
|
-
if (kind !== 'external')
|
|
51
|
-
hasSpiraClass = true;
|
|
52
|
-
if ((0, selector_1.isInsideNonSameElementPseudo)(node, sameElementPseudos))
|
|
53
|
-
return;
|
|
54
|
-
if (name === rootBlockName)
|
|
55
|
-
hasRootBlock = true;
|
|
56
|
-
if (kind === 'block' && name !== rootBlockName)
|
|
57
|
-
hasOtherBlock = true;
|
|
58
|
-
});
|
|
59
|
-
return { hasSpiraClass, hasRootBlock, hasOtherBlock };
|
|
60
|
-
};
|
|
61
|
-
exports.analyzeRootSelector = analyzeRootSelector;
|
|
62
|
-
const MAX_BLOCK_NESTING_DEPTH = 1;
|
|
63
|
-
const getModifierExample = (options) => {
|
|
64
|
-
if (options.naming?.customPatterns?.modifier)
|
|
65
|
-
return '';
|
|
66
|
-
const naming = options.naming ?? {};
|
|
67
|
-
const prefix = naming.modifierPrefix ?? '-';
|
|
68
|
-
const modifierCase = naming.modifierCase ?? 'kebab';
|
|
69
|
-
const token = modifierCase === 'pascal' ? 'Primary' : 'primary';
|
|
70
|
-
return `${prefix || ''}${token}`;
|
|
71
|
-
};
|
|
72
|
-
const reportAttributeViolations = (compounds, ctx) => {
|
|
73
|
-
const { parentKind, report, options, patterns, policyData } = ctx;
|
|
74
|
-
const selectorPolicy = options.selectorPolicy;
|
|
75
|
-
const variantValueNaming = selectorPolicy.variant.valueNaming;
|
|
76
|
-
const stateValueNaming = selectorPolicy.state.valueNaming;
|
|
77
|
-
const { reservedVariantKeys, reservedStateKey, reservedAriaKeys, variantValuePattern, stateValuePattern } = policyData;
|
|
78
|
-
const modifierExample = getModifierExample(options);
|
|
79
|
-
const customModifierPattern = options.naming?.customPatterns?.modifier;
|
|
80
|
-
compounds.forEach((compound) => {
|
|
81
|
-
if (compound.attributes.length === 0)
|
|
82
|
-
return;
|
|
83
|
-
const hasSpiraClass = compound.classes.some((c) => (0, spiracss_class_structure_patterns_1.classify)(c.value, options, patterns) !== 'external') ||
|
|
84
|
-
(compound.hasNesting && parentKind && parentKind !== 'external');
|
|
85
|
-
if (!hasSpiraClass)
|
|
86
|
-
return;
|
|
87
|
-
compound.attributes.forEach((attr) => {
|
|
88
|
-
const raw = attr.attribute || '';
|
|
89
|
-
const name = raw.toLowerCase();
|
|
90
|
-
const attrValue = typeof attr.value === 'string' ? attr.value.trim() : '';
|
|
91
|
-
if (!name)
|
|
92
|
-
return;
|
|
93
|
-
if (name.startsWith('data-')) {
|
|
94
|
-
if (reservedVariantKeys.has(name)) {
|
|
95
|
-
if (selectorPolicy.variant.mode === 'class') {
|
|
96
|
-
report(spiracss_class_structure_messages_1.messages.invalidVariantAttribute(name, modifierExample, customModifierPattern));
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
if (attrValue && !variantValuePattern.test(attrValue)) {
|
|
100
|
-
report(spiracss_class_structure_messages_1.messages.invalidDataValue(name, attrValue, variantValueNaming.case, variantValueNaming.maxWords));
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
else if (name === reservedStateKey) {
|
|
104
|
-
if (selectorPolicy.state.mode !== 'data') {
|
|
105
|
-
report(spiracss_class_structure_messages_1.messages.invalidStateAttribute(name, modifierExample, customModifierPattern));
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
if (attrValue && !stateValuePattern.test(attrValue)) {
|
|
109
|
-
report(spiracss_class_structure_messages_1.messages.invalidDataValue(name, attrValue, stateValueNaming.case, stateValueNaming.maxWords));
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
else if (name.startsWith('aria-')) {
|
|
114
|
-
if (reservedAriaKeys.has(name) && selectorPolicy.state.mode !== 'data') {
|
|
115
|
-
report(spiracss_class_structure_messages_1.messages.invalidStateAttribute(name, modifierExample, customModifierPattern));
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
};
|
|
121
|
-
const collectInvalidNestingClasses = (sel, options, patterns) => {
|
|
122
|
-
const invalidClasses = new Set();
|
|
123
|
-
(0, selector_1.collectNestingSiblingClasses)(sel).forEach((name) => {
|
|
124
|
-
const kind = (0, spiracss_class_structure_patterns_1.classify)(name, options, patterns);
|
|
125
|
-
if (kind !== 'modifier' && kind !== 'external') {
|
|
126
|
-
invalidClasses.add(name);
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
return invalidClasses;
|
|
130
|
-
};
|
|
131
|
-
const reportInvalidNestingClasses = (invalidClasses, report, modifierExample) => {
|
|
132
|
-
invalidClasses.forEach((name) => {
|
|
133
|
-
report(spiracss_class_structure_messages_1.messages.needModifierPrefix(name, modifierExample));
|
|
134
|
-
});
|
|
135
|
-
};
|
|
136
|
-
const reportInvalidClassNames = (classes, invalidNestingClasses, options, patterns, namingHint, report) => {
|
|
137
|
-
classes.forEach((c) => {
|
|
138
|
-
if (invalidNestingClasses.has(c.value))
|
|
139
|
-
return;
|
|
140
|
-
if ((0, spiracss_class_structure_patterns_1.classify)(c.value, options, patterns) === 'invalid') {
|
|
141
|
-
report(spiracss_class_structure_messages_1.messages.invalidName(c.value, namingHint));
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
};
|
|
145
|
-
const resolveBaseClass = (classes, modifierClass, options, patterns) => modifierClass ??
|
|
146
|
-
[...classes].reverse().find((c) => (0, spiracss_class_structure_patterns_1.classify)(c.value, options, patterns) !== 'external') ??
|
|
147
|
-
classes[classes.length - 1];
|
|
148
|
-
const resolveKind = (modifierClass, hasNesting, parentKind, base, options, patterns) => {
|
|
149
|
-
if (modifierClass)
|
|
150
|
-
return 'modifier';
|
|
151
|
-
if (hasNesting && (parentKind === 'block' || parentKind === 'element')) {
|
|
152
|
-
const classified = (0, spiracss_class_structure_patterns_1.classify)(base.value, options, patterns);
|
|
153
|
-
return classified === 'invalid' ? 'invalid' : parentKind;
|
|
154
|
-
}
|
|
155
|
-
if (hasNesting && parentKind)
|
|
156
|
-
return parentKind;
|
|
157
|
-
return (0, spiracss_class_structure_patterns_1.classify)(base.value, options, patterns);
|
|
158
|
-
};
|
|
159
|
-
const resolveStructuralKind = (classes, kind, options, patterns) => {
|
|
160
|
-
const structuralBase = [...classes].reverse().find((c) => {
|
|
161
|
-
const currentKind = (0, spiracss_class_structure_patterns_1.classify)(c.value, options, patterns);
|
|
162
|
-
return currentKind !== 'modifier' && currentKind !== 'external';
|
|
163
|
-
});
|
|
164
|
-
return structuralBase ? (0, spiracss_class_structure_patterns_1.classify)(structuralBase.value, options, patterns) : kind;
|
|
165
|
-
};
|
|
166
|
-
const resolveElementDepth = (kind, parentKind, parentDepth) => kind === 'element' ? (parentKind === 'element' ? parentDepth + 1 : 1) : 0;
|
|
167
|
-
const reportElementHierarchyViolations = (ctx, kind, baseKind, baseValue, depth) => {
|
|
168
|
-
const { parentKind, parentSelector, options, report, isInteraction } = ctx;
|
|
169
|
-
if (isInteraction || parentKind !== 'element' || kind === 'modifier')
|
|
170
|
-
return false;
|
|
171
|
-
const parentLabel = parentSelector || '(unknown)';
|
|
172
|
-
if (baseKind === 'block') {
|
|
173
|
-
report(spiracss_class_structure_messages_1.messages.elementCannotOwnBlock(parentLabel, baseValue));
|
|
174
|
-
return true;
|
|
175
|
-
}
|
|
176
|
-
if (baseKind === 'element') {
|
|
177
|
-
if (depth > options.element.depth) {
|
|
178
|
-
report(spiracss_class_structure_messages_1.messages.elementChainTooDeep(parentLabel, baseValue, depth, options.element.depth));
|
|
179
|
-
}
|
|
180
|
-
return true;
|
|
181
|
-
}
|
|
182
|
-
return false;
|
|
183
|
-
};
|
|
184
|
-
const reportModifierPlacementViolation = (kind, hasNesting, parentKind, report, modifierExample) => {
|
|
185
|
-
if (kind !== 'modifier')
|
|
186
|
-
return;
|
|
187
|
-
if (hasNesting)
|
|
188
|
-
return;
|
|
189
|
-
if (parentKind && parentKind !== 'block' && parentKind !== 'element')
|
|
190
|
-
return;
|
|
191
|
-
report(spiracss_class_structure_messages_1.messages.needAmpForMod(modifierExample));
|
|
192
|
-
};
|
|
193
|
-
const reportBlockCombinatorViolations = (ctx, kind, baseValue, hasNesting, firstCombinator, combinatorCount) => {
|
|
194
|
-
const { parentKind, parentSelector, options, report, isShared, isInteraction } = ctx;
|
|
195
|
-
if (parentKind !== 'block' || kind === 'modifier')
|
|
196
|
-
return;
|
|
197
|
-
if (!options.child.combinator || isShared || isInteraction)
|
|
198
|
-
return;
|
|
199
|
-
const missingChild = !hasNesting && !firstCombinator;
|
|
200
|
-
const wrongCombinator = firstCombinator && firstCombinator !== '>';
|
|
201
|
-
if (missingChild || wrongCombinator) {
|
|
202
|
-
report(spiracss_class_structure_messages_1.messages.needChild(baseValue, options.comments.shared, options.comments.interaction));
|
|
203
|
-
return;
|
|
204
|
-
}
|
|
205
|
-
if (combinatorCount > 1 && parentSelector) {
|
|
206
|
-
// Avoid grandchild selectors or chained combinators in Block files.
|
|
207
|
-
report(spiracss_class_structure_messages_1.messages.blockDescendantSelector(parentSelector, baseValue));
|
|
208
|
-
}
|
|
209
|
-
};
|
|
210
|
-
const reportBlockDepthViolation = (ctx, kind, baseValue) => {
|
|
211
|
-
const { parentKind, parentBlockDepth, report, isInteraction } = ctx;
|
|
212
|
-
if (kind !== 'block' || isInteraction)
|
|
213
|
-
return;
|
|
214
|
-
const blockDepth = parentKind === 'block' ? parentBlockDepth + 1 : 0;
|
|
215
|
-
if (blockDepth > MAX_BLOCK_NESTING_DEPTH) {
|
|
216
|
-
report(spiracss_class_structure_messages_1.messages.tooDeepBlockNesting(baseValue));
|
|
217
|
-
}
|
|
218
|
-
};
|
|
219
|
-
const reportBlockGrandchildElementViolation = (ctx, kind, baseValue) => {
|
|
220
|
-
const { parentKind, parentBlockDepth, parentSelector, report, isInteraction } = ctx;
|
|
221
|
-
if (parentKind !== 'block' || kind !== 'element' || isInteraction)
|
|
222
|
-
return;
|
|
223
|
-
if (parentBlockDepth < 1 || !parentSelector)
|
|
224
|
-
return;
|
|
225
|
-
// If a Block is already nested under another Block, do not target its Element
|
|
226
|
-
// in a single selector (Block > Block > Element).
|
|
227
|
-
report(spiracss_class_structure_messages_1.messages.blockTargetsGrandchildElement(parentSelector, baseValue));
|
|
228
|
-
};
|
|
229
|
-
/**
|
|
230
|
-
* Analyze a selector in context and emit structure/naming violations.
|
|
231
|
-
* @param sel - Selector node to analyze.
|
|
232
|
-
* @param ctx - Validation context (options, patterns, reporter, and parent state).
|
|
233
|
-
* @returns Structural kind used for parent/child depth tracking, or null when ignored.
|
|
234
|
-
*/
|
|
235
|
-
const processSelector = (sel, ctx) => {
|
|
236
|
-
const { parentKind, parentDepth, report, options, patterns, policyData, namingHint } = ctx;
|
|
237
|
-
const { classes, hasNesting, firstCombinator, combinatorCount } = (0, selector_1.collectSelectorSummary)(sel);
|
|
238
|
-
const compounds = (0, selector_1.collectCompoundNodes)(sel);
|
|
239
|
-
reportAttributeViolations(compounds, ctx);
|
|
240
|
-
if (classes.length === 0)
|
|
241
|
-
return null;
|
|
242
|
-
// Check non-modifier classes in the &.foo pattern first.
|
|
243
|
-
const invalidNestingClasses = hasNesting
|
|
244
|
-
? collectInvalidNestingClasses(sel, options, patterns)
|
|
245
|
-
: new Set();
|
|
246
|
-
const modifierExample = getModifierExample(options);
|
|
247
|
-
reportInvalidNestingClasses(invalidNestingClasses, report, modifierExample);
|
|
248
|
-
// Validate naming for every class in the selector (avoid missing non-base classes).
|
|
249
|
-
// Exclude classes already reported via &.foo handling.
|
|
250
|
-
reportInvalidClassNames(classes, invalidNestingClasses, options, patterns, namingHint, report);
|
|
251
|
-
const modifierClasses = classes.filter((c) => patterns.modifierRe.test(c.value));
|
|
252
|
-
const modifierClass = modifierClasses[0];
|
|
253
|
-
const modifiersAllowed = !(options.selectorPolicy.variant.mode === 'data' &&
|
|
254
|
-
options.selectorPolicy.state.mode === 'data');
|
|
255
|
-
if (!modifiersAllowed && modifierClasses.length > 0) {
|
|
256
|
-
// Display lowercase keys in messages to match actual selector matching behavior.
|
|
257
|
-
const { variantKeys, stateKeys } = (0, selector_policy_1.getLowercasePolicyKeys)(options.selectorPolicy);
|
|
258
|
-
report(spiracss_class_structure_messages_1.messages.disallowedModifier(variantKeys, stateKeys));
|
|
259
|
-
}
|
|
260
|
-
// Ignore selectors that are purely external, but still catch SpiraCSS classes
|
|
261
|
-
// even if the last segment is external.
|
|
262
|
-
const base = resolveBaseClass(classes, modifierClass, options, patterns);
|
|
263
|
-
const baseKind = (0, spiracss_class_structure_patterns_1.classify)(base.value, options, patterns);
|
|
264
|
-
if (options.child.nesting && combinatorCount > 0 && !ctx.hasBlockAncestor) {
|
|
265
|
-
const rootBlocks = (0, exports.collectRootBlockNames)([sel], options, patterns);
|
|
266
|
-
if (rootBlocks.length > 0) {
|
|
267
|
-
report(spiracss_class_structure_messages_1.messages.needChildNesting(sel.toString().trim()));
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
// Kind resolution:
|
|
271
|
-
// 1. If a Modifier exists -> 'modifier'
|
|
272
|
-
// 2. If hasNesting:
|
|
273
|
-
// - With Block/Element parent, classify base and check invalid
|
|
274
|
-
// - Otherwise, use classify result
|
|
275
|
-
// 3. Otherwise -> classify
|
|
276
|
-
const kind = resolveKind(modifierClass, hasNesting, parentKind, base, options, patterns);
|
|
277
|
-
if (kind === 'external')
|
|
278
|
-
return null;
|
|
279
|
-
const structuralKind = resolveStructuralKind(classes, kind, options, patterns);
|
|
280
|
-
const depth = resolveElementDepth(kind, parentKind, parentDepth);
|
|
281
|
-
reportBlockDepthViolation(ctx, kind, base.value);
|
|
282
|
-
if (kind === 'invalid')
|
|
283
|
-
return structuralKind;
|
|
284
|
-
if (reportElementHierarchyViolations(ctx, kind, baseKind, base.value, depth)) {
|
|
285
|
-
// Depth is within the allowed range; stop further checks.
|
|
286
|
-
return structuralKind;
|
|
287
|
-
}
|
|
288
|
-
reportModifierPlacementViolation(kind, hasNesting, parentKind, report, modifierExample);
|
|
289
|
-
reportBlockCombinatorViolations(ctx, kind, base.value, hasNesting, firstCombinator, combinatorCount);
|
|
290
|
-
reportBlockGrandchildElementViolation(ctx, kind, base.value);
|
|
291
|
-
return structuralKind;
|
|
292
|
-
};
|
|
293
|
-
exports.processSelector = processSelector;
|
|
294
|
-
const mergeRuleKinds = (kinds) => {
|
|
295
|
-
if (kinds.length === 0)
|
|
296
|
-
return null;
|
|
297
|
-
if (kinds.includes('block'))
|
|
298
|
-
return 'block';
|
|
299
|
-
if (kinds.includes('element'))
|
|
300
|
-
return 'element';
|
|
301
|
-
if (kinds.includes('modifier'))
|
|
302
|
-
return 'modifier';
|
|
303
|
-
if (kinds.includes('invalid'))
|
|
304
|
-
return 'invalid';
|
|
305
|
-
return null;
|
|
306
|
-
};
|
|
307
|
-
exports.mergeRuleKinds = mergeRuleKinds;
|
|
308
|
-
const hasSegmentSequence = (segments, sequence) => {
|
|
309
|
-
if (sequence.length === 0 || segments.length < sequence.length)
|
|
310
|
-
return false;
|
|
311
|
-
for (let i = 0; i <= segments.length - sequence.length; i += 1) {
|
|
312
|
-
let matched = true;
|
|
313
|
-
for (let j = 0; j < sequence.length; j += 1) {
|
|
314
|
-
if (segments[i + j] !== sequence[j]) {
|
|
315
|
-
matched = false;
|
|
316
|
-
break;
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
if (matched)
|
|
320
|
-
return true;
|
|
321
|
-
}
|
|
322
|
-
return false;
|
|
323
|
-
};
|
|
324
|
-
exports.hasSegmentSequence = hasSegmentSequence;
|
|
325
|
-
//# sourceMappingURL=spiracss-class-structure.selectors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spiracss-class-structure.selectors.js","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.selectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import type { FileNameCase, NamingOptions, NormalizedCacheSizes, NormalizedSelectorPolicyBase, SelectorPolicyBase, WordCase } from '../types';
|
|
2
|
-
export type { FileNameCase };
|
|
3
|
-
export type ValueNamingOptions = {
|
|
4
|
-
case?: WordCase;
|
|
5
|
-
maxWords?: number;
|
|
6
|
-
};
|
|
7
|
-
export type ValueNaming = {
|
|
8
|
-
case: WordCase;
|
|
9
|
-
maxWords: number;
|
|
10
|
-
};
|
|
11
|
-
export type SelectorPolicy = SelectorPolicyBase & {
|
|
12
|
-
valueNaming?: ValueNamingOptions;
|
|
13
|
-
variant?: SelectorPolicyBase['variant'] & {
|
|
14
|
-
valueNaming?: ValueNamingOptions;
|
|
15
|
-
};
|
|
16
|
-
state?: SelectorPolicyBase['state'] & {
|
|
17
|
-
valueNaming?: ValueNamingOptions;
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
export type NormalizedSelectorPolicy = NormalizedSelectorPolicyBase & {
|
|
21
|
-
valueNaming: ValueNaming;
|
|
22
|
-
variant: NormalizedSelectorPolicyBase['variant'] & {
|
|
23
|
-
valueNaming: ValueNaming;
|
|
24
|
-
};
|
|
25
|
-
state: NormalizedSelectorPolicyBase['state'] & {
|
|
26
|
-
valueNaming: ValueNaming;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
export type ElementOptions = {
|
|
30
|
-
depth: number;
|
|
31
|
-
};
|
|
32
|
-
export type ExternalOptions = {
|
|
33
|
-
classes: string[];
|
|
34
|
-
prefixes: string[];
|
|
35
|
-
};
|
|
36
|
-
export type ChildOptions = {
|
|
37
|
-
combinator: boolean;
|
|
38
|
-
nesting: boolean;
|
|
39
|
-
};
|
|
40
|
-
export type RootOptions = {
|
|
41
|
-
single: boolean;
|
|
42
|
-
file: boolean;
|
|
43
|
-
case: FileNameCase;
|
|
44
|
-
};
|
|
45
|
-
export type PathsOptions = {
|
|
46
|
-
childDir: string;
|
|
47
|
-
components: string[];
|
|
48
|
-
childFileCase: FileNameCase;
|
|
49
|
-
};
|
|
50
|
-
export type CommentOptions = {
|
|
51
|
-
shared: RegExp;
|
|
52
|
-
interaction: RegExp;
|
|
53
|
-
};
|
|
54
|
-
export type Options = {
|
|
55
|
-
element: ElementOptions;
|
|
56
|
-
external: ExternalOptions;
|
|
57
|
-
child: ChildOptions;
|
|
58
|
-
root: RootOptions;
|
|
59
|
-
paths: PathsOptions;
|
|
60
|
-
naming?: NamingOptions;
|
|
61
|
-
comments: CommentOptions;
|
|
62
|
-
selectorPolicy: NormalizedSelectorPolicy;
|
|
63
|
-
cache: NormalizedCacheSizes;
|
|
64
|
-
};
|
|
65
|
-
export type ClassifyOptions = Pick<Options, 'external' | 'naming'>;
|
|
66
|
-
export type Patterns = {
|
|
67
|
-
blockRe: RegExp;
|
|
68
|
-
elementRe: RegExp;
|
|
69
|
-
modifierRe: RegExp;
|
|
70
|
-
};
|
|
71
|
-
export type SelectorPolicyData = {
|
|
72
|
-
reservedVariantKeys: Set<string>;
|
|
73
|
-
reservedStateKey: string;
|
|
74
|
-
reservedAriaKeys: Set<string>;
|
|
75
|
-
variantValuePattern: RegExp;
|
|
76
|
-
stateValuePattern: RegExp;
|
|
77
|
-
};
|
|
78
|
-
export type Kind = 'block' | 'element' | 'modifier' | 'external' | 'invalid';
|
|
79
|
-
//# sourceMappingURL=spiracss-class-structure.types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spiracss-class-structure.types.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spiracss-class-structure.types.js","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spiracss-interaction-properties.constants.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-interaction-properties.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,oCAAoC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spiracss-interaction-properties.constants.js","sourceRoot":"","sources":["../../../src/rules/spiracss-interaction-properties.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,iCAAiC,CAAA"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ruleName } from './spiracss-interaction-properties.constants';
|
|
2
|
-
export { ruleName };
|
|
3
|
-
declare const spiracssInteractionProperties: import("../utils/stylelint").SpiraPlugin;
|
|
4
|
-
export default spiracssInteractionProperties;
|
|
5
|
-
//# sourceMappingURL=spiracss-interaction-properties.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spiracss-interaction-properties.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-interaction-properties.ts"],"names":[],"mappings":"AAuCA,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAA;AAQtE,OAAO,EAAE,QAAQ,EAAE,CAAA;AAujBnB,QAAA,MAAM,6BAA6B,0CAA+B,CAAA;AAElE,eAAe,6BAA6B,CAAA"}
|