eslint-plugin-stylelint-2 1.1.1 → 1.1.3
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/dist/_internal/stylelint-config-boolean-option-rule.d.ts.map +1 -1
- package/dist/_internal/stylelint-config-boolean-option-rule.js +17 -10
- package/dist/_internal/stylelint-config-boolean-option-rule.js.map +1 -1
- package/dist/_internal/stylelint-config-disallowed-option-rule.d.ts +4 -0
- package/dist/_internal/stylelint-config-disallowed-option-rule.d.ts.map +1 -1
- package/dist/_internal/stylelint-config-disallowed-option-rule.js +2 -2
- package/dist/_internal/stylelint-config-disallowed-option-rule.js.map +1 -1
- package/dist/_internal/stylelint-config-object.d.ts +2 -4
- package/dist/_internal/stylelint-config-object.d.ts.map +1 -1
- package/dist/_internal/stylelint-config-object.js +25 -10
- package/dist/_internal/stylelint-config-object.js.map +1 -1
- package/dist/_internal/stylelint-config-package-option-rule.d.ts +4 -0
- package/dist/_internal/stylelint-config-package-option-rule.d.ts.map +1 -1
- package/dist/_internal/stylelint-config-package-option-rule.js +2 -2
- package/dist/_internal/stylelint-config-package-option-rule.js.map +1 -1
- package/dist/_internal/stylelint-config-rules-object.d.ts +0 -4
- package/dist/_internal/stylelint-config-rules-object.d.ts.map +1 -1
- package/dist/_internal/stylelint-config-rules-object.js +11 -6
- package/dist/_internal/stylelint-config-rules-object.js.map +1 -1
- package/dist/_internal/stylelint-config-string-array-option-rule.d.ts.map +1 -1
- package/dist/_internal/stylelint-config-string-array-option-rule.js +5 -5
- package/dist/_internal/stylelint-config-string-array-option-rule.js.map +1 -1
- package/dist/_internal/stylelint-config-string-array-option.d.ts +0 -4
- package/dist/_internal/stylelint-config-string-array-option.d.ts.map +1 -1
- package/dist/_internal/stylelint-config-string-array-option.js +16 -8
- package/dist/_internal/stylelint-config-string-array-option.js.map +1 -1
- package/dist/_internal/stylelint-package-dependencies.d.ts.map +1 -1
- package/dist/_internal/stylelint-package-dependencies.js +33 -10
- package/dist/_internal/stylelint-package-dependencies.js.map +1 -1
- package/dist/_internal/stylelint-runner.d.ts.map +1 -1
- package/dist/_internal/stylelint-runner.js +2 -0
- package/dist/_internal/stylelint-runner.js.map +1 -1
- package/dist/_internal/stylelint2-config-references.d.ts +1 -1
- package/dist/_internal/stylelint2-config-references.js +1 -1
- package/dist/_internal/stylelint2-config-references.js.map +1 -1
- package/dist/_internal/typed-rule.d.ts.map +1 -1
- package/dist/_internal/typed-rule.js +1 -0
- package/dist/_internal/typed-rule.js.map +1 -1
- package/dist/plugin.d.ts +0 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +14 -6
- package/dist/plugin.js.map +1 -1
- package/dist/rules/disallow-stylelint-duplicate-rule-option-values.d.ts.map +1 -1
- package/dist/rules/disallow-stylelint-duplicate-rule-option-values.js +17 -12
- package/dist/rules/disallow-stylelint-duplicate-rule-option-values.js.map +1 -1
- package/dist/rules/disallow-stylelint-empty-rules-object.d.ts.map +1 -1
- package/dist/rules/disallow-stylelint-empty-rules-object.js +12 -7
- package/dist/rules/disallow-stylelint-empty-rules-object.js.map +1 -1
- package/dist/rules/disallow-stylelint-null-rule-config.d.ts.map +1 -1
- package/dist/rules/disallow-stylelint-null-rule-config.js +14 -9
- package/dist/rules/disallow-stylelint-null-rule-config.js.map +1 -1
- package/dist/rules/disallow-stylelint-overrides-runtime-options.d.ts.map +1 -1
- package/dist/rules/disallow-stylelint-overrides-runtime-options.js +23 -20
- package/dist/rules/disallow-stylelint-overrides-runtime-options.js.map +1 -1
- package/dist/rules/prefer-stylelint-define-config.d.ts.map +1 -1
- package/dist/rules/prefer-stylelint-define-config.js +12 -7
- package/dist/rules/prefer-stylelint-define-config.js.map +1 -1
- package/dist/rules/prefer-stylelint-fix.d.ts.map +1 -1
- package/dist/rules/prefer-stylelint-fix.js +12 -7
- package/dist/rules/prefer-stylelint-fix.js.map +1 -1
- package/dist/rules/prefer-stylelint-formatter.d.ts.map +1 -1
- package/dist/rules/prefer-stylelint-formatter.js +12 -7
- package/dist/rules/prefer-stylelint-formatter.js.map +1 -1
- package/dist/rules/require-stylelint-config-file-naming-convention.js +1 -1
- package/dist/rules/require-stylelint-custom-syntax-in-overrides.d.ts.map +1 -1
- package/dist/rules/require-stylelint-custom-syntax-in-overrides.js +14 -9
- package/dist/rules/require-stylelint-custom-syntax-in-overrides.js.map +1 -1
- package/dist/rules/require-stylelint-overrides-configuration.d.ts.map +1 -1
- package/dist/rules/require-stylelint-overrides-configuration.js +16 -11
- package/dist/rules/require-stylelint-overrides-configuration.js.map +1 -1
- package/dist/rules/require-stylelint-overrides-files-array.d.ts.map +1 -1
- package/dist/rules/require-stylelint-overrides-files-array.js +16 -10
- package/dist/rules/require-stylelint-overrides-files-array.js.map +1 -1
- package/dist/rules/require-stylelint-overrides-files.d.ts.map +1 -1
- package/dist/rules/require-stylelint-overrides-files.js +17 -11
- package/dist/rules/require-stylelint-overrides-files.js.map +1 -1
- package/dist/rules/require-stylelint-rules-object.d.ts.map +1 -1
- package/dist/rules/require-stylelint-rules-object.js +2 -2
- package/dist/rules/require-stylelint-rules-object.js.map +1 -1
- package/dist/rules/sort-stylelint-rule-keys.d.ts.map +1 -1
- package/dist/rules/sort-stylelint-rule-keys.js +9 -4
- package/dist/rules/sort-stylelint-rule-keys.js.map +1 -1
- package/dist/rules/stylelint.js.map +1 -1
- package/package.json +50 -297
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-config-boolean-option-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-config-boolean-option-rule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stylelint-config-boolean-option-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-config-boolean-option-rule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAexC,OAAO,EAEH,KAAK,kBAAkB,EAE1B,MAAM,iBAAiB,CAAC;AAEzB,KAAK,0BAA0B,GAAG,QAAQ,CACtC,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG;IACxD,UAAU,EAAE,MAAM,CAAC;CACtB,CACJ,CAAC;AACF,KAAK,UAAU,GAAG,qBAAqB,CAAC;AAExC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAsC3B;;;;;;;GAOG;AACH,eAAO,MAAM,sCAAsC,GAC/C,YAAY,QAAQ,CAAC,0BAA0B,CAAC,KACjD,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAgGxC,CAAC"}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Shared rule factory for requiring top-level boolean Stylelint config options.
|
|
4
|
+
*/
|
|
5
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
1
6
|
import { arrayFirst, isPresent } from "ts-extras";
|
|
2
|
-
import { getExportedStylelintConfigObject, getObjectPropertyByName, isStylelintConfigFile, } from "./stylelint-config-object.js";
|
|
7
|
+
import { getExportedStylelintConfigObject, getObjectPropertyByName, isExportDefaultDeclarationNode, isStylelintConfigFile, } from "./stylelint-config-object.js";
|
|
3
8
|
import { createTypedRule, toRuleListener, } from "./typed-rule.js";
|
|
4
|
-
const isPropertyExpressionValue = (value) => value.type !==
|
|
5
|
-
value.type !==
|
|
6
|
-
value.type !==
|
|
7
|
-
value.type !==
|
|
8
|
-
const isBooleanTrueLiteral = (node) => node.type ===
|
|
9
|
+
const isPropertyExpressionValue = (value) => value.type !== AST_NODE_TYPES.ArrayPattern &&
|
|
10
|
+
value.type !== AST_NODE_TYPES.AssignmentPattern &&
|
|
11
|
+
value.type !== AST_NODE_TYPES.ObjectPattern &&
|
|
12
|
+
value.type !== AST_NODE_TYPES.TSEmptyBodyFunctionExpression;
|
|
13
|
+
const isBooleanTrueLiteral = (node) => node.type === AST_NODE_TYPES.Literal && node.value === true;
|
|
9
14
|
const isOptionEnabled = (value) => {
|
|
10
15
|
if (isBooleanTrueLiteral(value)) {
|
|
11
16
|
return true;
|
|
12
17
|
}
|
|
13
|
-
if (value.type !==
|
|
18
|
+
if (value.type !== AST_NODE_TYPES.ArrayExpression) {
|
|
14
19
|
return false;
|
|
15
20
|
}
|
|
16
21
|
const [firstElement] = value.elements;
|
|
17
|
-
return firstElement?.type ===
|
|
22
|
+
return (firstElement?.type === AST_NODE_TYPES.Literal &&
|
|
23
|
+
firstElement.value === true);
|
|
18
24
|
};
|
|
19
25
|
const getLineEnding = (text) => text.includes("\r\n") ? "\r\n" : "\n";
|
|
20
26
|
const getIndentation = (node) => node === undefined ? " " : " ".repeat(node.loc.start.column);
|
|
@@ -38,7 +44,7 @@ export const createStylelintConfigBooleanOptionRule = (definition) => {
|
|
|
38
44
|
const lineEnding = getLineEnding(sourceCode.text);
|
|
39
45
|
return toRuleListener({
|
|
40
46
|
ExportDefaultDeclaration(node) {
|
|
41
|
-
if (node
|
|
47
|
+
if (!isExportDefaultDeclarationNode(node)) {
|
|
42
48
|
return;
|
|
43
49
|
}
|
|
44
50
|
const exportDefaultNode = node;
|
|
@@ -71,7 +77,8 @@ export const createStylelintConfigBooleanOptionRule = (definition) => {
|
|
|
71
77
|
}
|
|
72
78
|
context.report({
|
|
73
79
|
fix(fixer) {
|
|
74
|
-
if (propertyValue.type ===
|
|
80
|
+
if (propertyValue.type ===
|
|
81
|
+
AST_NODE_TYPES.ArrayExpression) {
|
|
75
82
|
const [firstElement] = propertyValue.elements;
|
|
76
83
|
if (isPresent(firstElement)) {
|
|
77
84
|
return fixer.replaceText(firstElement, "true");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-config-boolean-option-rule.js","sourceRoot":"","sources":["../../src/_internal/stylelint-config-boolean-option-rule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stylelint-config-boolean-option-rule.js","sourceRoot":"","sources":["../../src/_internal/stylelint-config-boolean-option-rule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Shared rule factory for disallowing top-level Stylelint config options that are better handled elsewhere.
|
|
4
|
+
*/
|
|
1
5
|
import type { Except } from "type-fest";
|
|
2
6
|
import { type RuleModuleWithDocs } from "./typed-rule.js";
|
|
3
7
|
type ConfigOptionRuleDefinition = Readonly<Except<RuleModuleWithDocs<MessageIds, Options>, "create"> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-config-disallowed-option-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-config-disallowed-option-rule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stylelint-config-disallowed-option-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-config-disallowed-option-rule.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AASxC,OAAO,EAEH,KAAK,kBAAkB,EAE1B,MAAM,iBAAiB,CAAC;AAEzB,KAAK,0BAA0B,GAAG,QAAQ,CACtC,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG;IACxD,UAAU,EAAE,MAAM,CAAC;CACtB,CACJ,CAAC;AACF,KAAK,UAAU,GAAG,sBAAsB,CAAC;AAEzC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B;;;;;;GAMG;AACH,eAAO,MAAM,yCAAyC,GAClD,YAAY,QAAQ,CAAC,0BAA0B,CAAC,KACjD,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAiDxC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createFixToRemoveObjectProperty, getExportedStylelintConfigObject, getObjectPropertyByName, isStylelintConfigFile, } from "./stylelint-config-object.js";
|
|
1
|
+
import { createFixToRemoveObjectProperty, getExportedStylelintConfigObject, getObjectPropertyByName, isExportDefaultDeclarationNode, isStylelintConfigFile, } from "./stylelint-config-object.js";
|
|
2
2
|
import { createTypedRule, toRuleListener, } from "./typed-rule.js";
|
|
3
3
|
/**
|
|
4
4
|
* Create a rule that disallows one top-level Stylelint config option.
|
|
@@ -17,7 +17,7 @@ export const createStylelintConfigDisallowedOptionRule = (definition) => {
|
|
|
17
17
|
}
|
|
18
18
|
return toRuleListener({
|
|
19
19
|
ExportDefaultDeclaration(node) {
|
|
20
|
-
if (node
|
|
20
|
+
if (!isExportDefaultDeclarationNode(node)) {
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
23
|
const exportDefaultNode = node;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-config-disallowed-option-rule.js","sourceRoot":"","sources":["../../src/_internal/stylelint-config-disallowed-option-rule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stylelint-config-disallowed-option-rule.js","sourceRoot":"","sources":["../../src/_internal/stylelint-config-disallowed-option-rule.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,+BAA+B,EAC/B,gCAAgC,EAChC,uBAAuB,EACvB,8BAA8B,EAC9B,qBAAqB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,eAAe,EAEf,cAAc,GACjB,MAAM,iBAAiB,CAAC;AAWzB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAG,CACrD,UAAgD,EACT,EAAE;IACzC,MAAM,EAAE,UAAU,EAAE,GAAG,cAAc,EAAE,GAAG,UAAU,CAAC;IAErD,OAAO,eAAe,CAAC;QACnB,GAAG,cAAc;QACjB,MAAM,CAAC,OAAO;YACV,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACnD,OAAO,EAAE,CAAC;YACd,CAAC;YAED,OAAO,cAAc,CAAC;gBAClB,wBAAwB,CAAC,IAAa;oBAClC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxC,OAAO;oBACX,CAAC;oBAED,MAAM,iBAAiB,GAAG,IAAI,CAAC;oBAC/B,MAAM,YAAY,GAAG,gCAAgC,CACjD,iBAAiB,CAAC,WAAW,CAChC,CAAC;oBAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;wBAC7B,OAAO;oBACX,CAAC;oBAED,MAAM,gBAAgB,GAAG,uBAAuB,CAC5C,YAAY,EACZ,UAAU,CACb,CAAC;oBAEF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;wBACjC,OAAO;oBACX,CAAC;oBAED,OAAO,CAAC,MAAM,CAAC;wBACX,GAAG,CAAC,KAAK;4BACL,OAAO,+BAA+B,CAAC;gCACnC,KAAK;gCACL,gBAAgB,EAAE,YAAY;gCAC9B,QAAQ,EAAE,gBAAgB;6BAC7B,CAAC,CAAC;wBACP,CAAC;wBACD,SAAS,EAAE,sBAAsB;wBACjC,IAAI,EAAE,gBAAgB;qBACzB,CAAC,CAAC;gBACP,CAAC;aACJ,CAAC,CAAC;QACP,CAAC;KACJ,CAAmD,CAAC;AACzD,CAAC,CAAC"}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @packageDocumentation
|
|
3
|
-
* Shared helpers for reading and rewriting Stylelint config objects.
|
|
4
|
-
*/
|
|
5
1
|
import type { TSESLint, TSESTree } from "@typescript-eslint/utils";
|
|
6
2
|
/**
|
|
7
3
|
* Check whether a filename looks like a Stylelint config module.
|
|
@@ -29,6 +25,8 @@ export declare const isPropertyNamed: (property: Readonly<TSESTree.Property>, na
|
|
|
29
25
|
* @returns Config object expression when the export is supported.
|
|
30
26
|
*/
|
|
31
27
|
export declare const getExportedStylelintConfigObject: (declaration: Readonly<TSESTree.ExportDefaultDeclaration["declaration"]>) => TSESTree.ObjectExpression | undefined;
|
|
28
|
+
/** Type guard for unknown nodes entering generic rule listeners. */
|
|
29
|
+
export declare const isExportDefaultDeclarationNode: (node: unknown) => node is TSESTree.ExportDefaultDeclaration;
|
|
32
30
|
/**
|
|
33
31
|
* Find one named top-level object property.
|
|
34
32
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-config-object.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-config-object.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"stylelint-config-object.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-config-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAanE;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,KAAG,OACF,CAAC;AAExD;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GACxB,UAAU,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACrC,MAAM,MAAM,KACb,OAYF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,GACzC,aAAa,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,KACxE,QAAQ,CAAC,gBAAgB,GAAG,SAkB9B,CAAC;AAYF,oEAAoE;AACpE,eAAO,MAAM,8BAA8B,GACvC,MAAM,OAAO,KACd,IAAI,IAAI,QAAQ,CAAC,wBACoD,CAAC;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAChC,kBAAkB,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACrD,MAAM,MAAM,KACb,QAAQ,CAAC,QAAQ,GAAG,SAYtB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAC5B,kBAAkB,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KACtD,SAAS,QAAQ,CAAC,QAAQ,EAY5B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,GACxC,SAAS,QAAQ,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC;IAC1B,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACtD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;CACzC,CAAC,KACH,QAAQ,CAAC,OA6BX,CAAC"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Shared helpers for reading and rewriting Stylelint config objects.
|
|
4
|
+
*/
|
|
5
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
6
|
+
import path from "node:path";
|
|
2
7
|
import { arrayFirst } from "ts-extras";
|
|
3
8
|
const configBaseNamePattern = /^(?:stylelint\.config|\.stylelintrc)\.(?:[cm]?js|[cm]?ts)$/v;
|
|
4
9
|
/**
|
|
@@ -8,7 +13,7 @@ const configBaseNamePattern = /^(?:stylelint\.config|\.stylelintrc)\.(?:[cm]?js|
|
|
|
8
13
|
*
|
|
9
14
|
* @returns `true` when the file name matches supported Stylelint config names.
|
|
10
15
|
*/
|
|
11
|
-
export const isStylelintConfigFile = (filename) => configBaseNamePattern.test(basename(filename));
|
|
16
|
+
export const isStylelintConfigFile = (filename) => configBaseNamePattern.test(path.basename(filename));
|
|
12
17
|
/**
|
|
13
18
|
* Check whether a property key matches a specific string literal name.
|
|
14
19
|
*
|
|
@@ -21,10 +26,11 @@ export const isPropertyNamed = (property, name) => {
|
|
|
21
26
|
if (property.computed) {
|
|
22
27
|
return false;
|
|
23
28
|
}
|
|
24
|
-
if (property.key.type ===
|
|
29
|
+
if (property.key.type === AST_NODE_TYPES.Identifier) {
|
|
25
30
|
return property.key.name === name;
|
|
26
31
|
}
|
|
27
|
-
|
|
32
|
+
const literalKeyValue = property.key.value;
|
|
33
|
+
return typeof literalKeyValue === "string" && literalKeyValue === name;
|
|
28
34
|
};
|
|
29
35
|
/**
|
|
30
36
|
* Extract the top-level Stylelint config object from an export default
|
|
@@ -35,19 +41,28 @@ export const isPropertyNamed = (property, name) => {
|
|
|
35
41
|
* @returns Config object expression when the export is supported.
|
|
36
42
|
*/
|
|
37
43
|
export const getExportedStylelintConfigObject = (declaration) => {
|
|
38
|
-
if (declaration.type ===
|
|
44
|
+
if (declaration.type === AST_NODE_TYPES.ObjectExpression) {
|
|
39
45
|
return declaration;
|
|
40
46
|
}
|
|
41
|
-
if (declaration.type ===
|
|
42
|
-
declaration.callee.type ===
|
|
47
|
+
if (declaration.type === AST_NODE_TYPES.CallExpression &&
|
|
48
|
+
declaration.callee.type === AST_NODE_TYPES.Identifier &&
|
|
43
49
|
declaration.callee.name === "defineConfig") {
|
|
44
50
|
const firstArgument = arrayFirst(declaration.arguments);
|
|
45
|
-
return firstArgument?.type ===
|
|
51
|
+
return firstArgument?.type === AST_NODE_TYPES.ObjectExpression
|
|
46
52
|
? firstArgument
|
|
47
53
|
: undefined;
|
|
48
54
|
}
|
|
49
55
|
return undefined;
|
|
50
56
|
};
|
|
57
|
+
const getUnknownNodeType = (node) => {
|
|
58
|
+
if (node === null || typeof node !== "object") {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
const nodeType = Reflect.get(node, "type");
|
|
62
|
+
return typeof nodeType === "string" ? nodeType : undefined;
|
|
63
|
+
};
|
|
64
|
+
/** Type guard for unknown nodes entering generic rule listeners. */
|
|
65
|
+
export const isExportDefaultDeclarationNode = (node) => getUnknownNodeType(node) === AST_NODE_TYPES.ExportDefaultDeclaration;
|
|
51
66
|
/**
|
|
52
67
|
* Find one named top-level object property.
|
|
53
68
|
*
|
|
@@ -58,7 +73,7 @@ export const getExportedStylelintConfigObject = (declaration) => {
|
|
|
58
73
|
*/
|
|
59
74
|
export const getObjectPropertyByName = (objectExpression, name) => {
|
|
60
75
|
for (const property of objectExpression.properties) {
|
|
61
|
-
if (property.type !==
|
|
76
|
+
if (property.type !== AST_NODE_TYPES.Property) {
|
|
62
77
|
continue;
|
|
63
78
|
}
|
|
64
79
|
if (isPropertyNamed(property, name)) {
|
|
@@ -77,7 +92,7 @@ export const getObjectPropertyByName = (objectExpression, name) => {
|
|
|
77
92
|
export const getObjectProperties = (objectExpression) => {
|
|
78
93
|
const properties = [];
|
|
79
94
|
for (const property of objectExpression.properties) {
|
|
80
|
-
if (property.type !==
|
|
95
|
+
if (property.type !== AST_NODE_TYPES.Property) {
|
|
81
96
|
continue;
|
|
82
97
|
}
|
|
83
98
|
properties.push(property);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-config-object.js","sourceRoot":"","sources":["../../src/_internal/stylelint-config-object.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stylelint-config-object.js","sourceRoot":"","sources":["../../src/_internal/stylelint-config-object.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Rule factory helpers for validating package-backed Stylelint option entries.
|
|
4
|
+
*/
|
|
1
5
|
import type { Except } from "type-fest";
|
|
2
6
|
import { type RuleModuleWithDocs } from "./typed-rule.js";
|
|
3
7
|
type ConfigOptionRuleDefinition = Readonly<Except<RuleModuleWithDocs<"requireInstalledPackage", Options>, "create"> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-config-package-option-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-config-package-option-rule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stylelint-config-package-option-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-config-package-option-rule.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAkBxC,OAAO,EAEH,KAAK,kBAAkB,EAE1B,MAAM,iBAAiB,CAAC;AAEzB,KAAK,0BAA0B,GAAG,QAAQ,CACtC,MAAM,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG;IACvE,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;CACrC,CACJ,CAAC;AAEF,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B;;;GAGG;AACH,eAAO,MAAM,sDAAsD,GAC/D,YAAY,QAAQ,CAAC,0BAA0B,CAAC,KACjD,kBAAkB,CAAC,yBAAyB,EAAE,OAAO,CAuFvD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isDefined, setHas } from "ts-extras";
|
|
2
|
-
import { getExportedStylelintConfigObject, getObjectPropertyByName, isStylelintConfigFile, } from "./stylelint-config-object.js";
|
|
2
|
+
import { getExportedStylelintConfigObject, getObjectPropertyByName, isExportDefaultDeclarationNode, isStylelintConfigFile, } from "./stylelint-config-object.js";
|
|
3
3
|
import { getStringArrayOptionValue, isRelativeSpecifier, } from "./stylelint-config-string-array-option.js";
|
|
4
4
|
import { getDependencyNamesForFile, getPackageNameFromSpecifier, } from "./stylelint-package-dependencies.js";
|
|
5
5
|
import { createTypedRule, toRuleListener, } from "./typed-rule.js";
|
|
@@ -17,7 +17,7 @@ export const createStylelintConfigRequireInstalledPackageOptionRule = (definitio
|
|
|
17
17
|
}
|
|
18
18
|
return toRuleListener({
|
|
19
19
|
ExportDefaultDeclaration(node) {
|
|
20
|
-
if (node
|
|
20
|
+
if (!isExportDefaultDeclarationNode(node)) {
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
23
|
const exportDefaultNode = node;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-config-package-option-rule.js","sourceRoot":"","sources":["../../src/_internal/stylelint-config-package-option-rule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stylelint-config-package-option-rule.js","sourceRoot":"","sources":["../../src/_internal/stylelint-config-package-option-rule.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EACH,gCAAgC,EAChC,uBAAuB,EACvB,8BAA8B,EAC9B,qBAAqB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,yBAAyB,EACzB,mBAAmB,GACtB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACH,yBAAyB,EACzB,2BAA2B,GAC9B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACH,eAAe,EAEf,cAAc,GACjB,MAAM,iBAAiB,CAAC;AAUzB;;;GAGG;AACH,MAAM,CAAC,MAAM,sDAAsD,GAAG,CAClE,UAAgD,EACM,EAAE;IACxD,MAAM,EAAE,UAAU,EAAE,GAAG,cAAc,EAAE,GAAG,UAAU,CAAC;IAErD,OAAO,eAAe,CAAC;QACnB,GAAG,cAAc;QACjB,MAAM,CAAC,OAAO;YACV,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACnD,OAAO,EAAE,CAAC;YACd,CAAC;YAED,OAAO,cAAc,CAAC;gBAClB,wBAAwB,CAAC,IAAa;oBAClC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxC,OAAO;oBACX,CAAC;oBAED,MAAM,iBAAiB,GAAG,IAAI,CAAC;oBAC/B,MAAM,YAAY,GAAG,gCAAgC,CACjD,iBAAiB,CAAC,WAAW,CAChC,CAAC;oBAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;wBAC7B,OAAO;oBACX,CAAC;oBAED,MAAM,cAAc,GAAG,uBAAuB,CAC1C,YAAY,EACZ,UAAU,CACb,CAAC;oBAEF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;wBAC/B,OAAO;oBACX,CAAC;oBAED,MAAM,WAAW,GACb,yBAAyB,CAAC,cAAc,CAAC,CAAC;oBAE9C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC1B,OAAO;oBACX,CAAC;oBAED,MAAM,eAAe,GAAG,yBAAyB,CAC7C,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,GAAG,CACd,CAAC;oBAEF,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;wBAC9B,OAAO;oBACX,CAAC;oBAED,MAAM,cAAc,GAChB,WAAW,CAAC,IAAI,KAAK,QAAQ;wBACzB,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;wBAC7B,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;oBAErC,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;wBACzC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;wBAE7C,IACI,SAAS,CAAC,MAAM,KAAK,CAAC;4BACtB,mBAAmB,CAAC,SAAS,CAAC,EAChC,CAAC;4BACC,SAAS;wBACb,CAAC;wBAED,MAAM,WAAW,GACb,2BAA2B,CAAC,SAAS,CAAC,CAAC;wBAE3C,IACI,CAAC,SAAS,CAAC,WAAW,CAAC;4BACvB,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,EACtC,CAAC;4BACC,SAAS;wBACb,CAAC;wBAED,OAAO,CAAC,MAAM,CAAC;4BACX,IAAI,EAAE;gCACF,WAAW;6BACd;4BACD,SAAS,EAAE,yBAAyB;4BACpC,IAAI,EAAE,aAAa;yBACtB,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;aACJ,CAAC,CAAC;QACP,CAAC;KACJ,CAAkE,CAAC;AACxE,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-config-rules-object.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-config-rules-object.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"stylelint-config-rules-object.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-config-rules-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAkBzD;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAC/B,cAAc,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAClD,QAAQ,CAAC,gBAAgB,GAAG,SAgB9B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAC/B,aAAa,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KACjD,SAAS,QAAQ,CAAC,QAAQ,EAgB5B,CAAC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Shared helpers for accessing top-level Stylelint `rules` object entries.
|
|
4
|
+
*/
|
|
5
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
1
6
|
import { getObjectPropertyByName } from "./stylelint-config-object.js";
|
|
2
|
-
const isPropertyExpressionValue = (value) => value.type !==
|
|
3
|
-
value.type !==
|
|
4
|
-
value.type !==
|
|
5
|
-
value.type !==
|
|
7
|
+
const isPropertyExpressionValue = (value) => value.type !== AST_NODE_TYPES.ArrayPattern &&
|
|
8
|
+
value.type !== AST_NODE_TYPES.AssignmentPattern &&
|
|
9
|
+
value.type !== AST_NODE_TYPES.ObjectPattern &&
|
|
10
|
+
value.type !== AST_NODE_TYPES.TSEmptyBodyFunctionExpression;
|
|
6
11
|
/**
|
|
7
12
|
* Resolve the top-level Stylelint `rules` object expression.
|
|
8
13
|
*
|
|
@@ -19,7 +24,7 @@ export const getTopLevelRulesObject = (configObject) => {
|
|
|
19
24
|
if (!isPropertyExpressionValue(rulesPropertyValue)) {
|
|
20
25
|
return undefined;
|
|
21
26
|
}
|
|
22
|
-
return rulesPropertyValue.type ===
|
|
27
|
+
return rulesPropertyValue.type === AST_NODE_TYPES.ObjectExpression
|
|
23
28
|
? rulesPropertyValue
|
|
24
29
|
: undefined;
|
|
25
30
|
};
|
|
@@ -34,7 +39,7 @@ export const getTopLevelRulesObject = (configObject) => {
|
|
|
34
39
|
export const getTopLevelRuleEntries = (rulesObject) => {
|
|
35
40
|
const ruleEntries = [];
|
|
36
41
|
for (const property of rulesObject.properties) {
|
|
37
|
-
if (property.type !==
|
|
42
|
+
if (property.type !== AST_NODE_TYPES.Property) {
|
|
38
43
|
continue;
|
|
39
44
|
}
|
|
40
45
|
if (property.kind !== "init") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-config-rules-object.js","sourceRoot":"","sources":["../../src/_internal/stylelint-config-rules-object.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stylelint-config-rules-object.js","sourceRoot":"","sources":["../../src/_internal/stylelint-config-rules-object.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,yBAAyB,GAAG,CAC9B,KAA2C,EACf,EAAE,CAC9B,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,YAAY;IAC1C,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;IAC/C,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa;IAC3C,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,6BAA6B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,YAAiD,EACZ,EAAE;IACvC,MAAM,aAAa,GAAG,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAErE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,kBAAkB,GAAG,aAAa,CAAC,KAAK,CAAC;IAE/C,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,kBAAkB,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;QAC9D,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,SAAS,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,WAAgD,EACpB,EAAE;IAC9B,MAAM,WAAW,GAAwB,EAAE,CAAC;IAE5C,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;QAC5C,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC5C,SAAS;QACb,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,SAAS;QACb,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-config-string-array-option-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-config-string-array-option-rule.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"stylelint-config-string-array-option-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-config-string-array-option-rule.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAcxC,OAAO,EAEH,KAAK,kBAAkB,EAE1B,MAAM,iBAAiB,CAAC;AAEzB,KAAK,0BAA0B,CAAC,UAAU,SAAS,MAAM,IAAI,QAAQ,CACjE,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG;IACxD,UAAU,EAAE,MAAM,CAAC;CACtB,CACJ,CAAC;AAEF,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AA6G3B;;;GAGG;AACH,eAAO,MAAM,0CAA0C,GACnD,YAAY,QAAQ,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC,KAChE,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAyD3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sDAAsD,GAC/D,YAAY,QAAQ,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,CAAC,KACvE,kBAAkB,CAAC,oBAAoB,EAAE,OAAO,CAoElD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yCAAyC,GAClD,YAAY,QAAQ,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC,KAC9D,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAoEzC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qDAAqD,GAC9D,YAAY,QAAQ,CAAC,0BAA0B,CAAC,kBAAkB,CAAC,CAAC,KACrE,kBAAkB,CAAC,kBAAkB,EAAE,OAAO,CAgDhD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { arrayJoin, setHas } from "ts-extras";
|
|
2
|
-
import { getExportedStylelintConfigObject, getObjectPropertyByName, isStylelintConfigFile, } from "./stylelint-config-object.js";
|
|
2
|
+
import { getExportedStylelintConfigObject, getObjectPropertyByName, isExportDefaultDeclarationNode, isStylelintConfigFile, } from "./stylelint-config-object.js";
|
|
3
3
|
import { getStringArrayOptionValue, isRelativeSpecifier, } from "./stylelint-config-string-array-option.js";
|
|
4
4
|
import { createTypedRule, toRuleListener, } from "./typed-rule.js";
|
|
5
5
|
const getLiteralText = (sourceCode, literal) => sourceCode.getText(literal);
|
|
@@ -71,7 +71,7 @@ export const createStylelintConfigPreferArrayOptionRule = (definition) => {
|
|
|
71
71
|
const sourceCode = context.sourceCode;
|
|
72
72
|
return toRuleListener({
|
|
73
73
|
ExportDefaultDeclaration(node) {
|
|
74
|
-
if (node
|
|
74
|
+
if (!isExportDefaultDeclarationNode(node)) {
|
|
75
75
|
return;
|
|
76
76
|
}
|
|
77
77
|
const exportDefaultNode = node;
|
|
@@ -114,7 +114,7 @@ export const createStylelintConfigDisallowDuplicateArrayEntriesRule = (definitio
|
|
|
114
114
|
const sourceCode = context.sourceCode;
|
|
115
115
|
return toRuleListener({
|
|
116
116
|
ExportDefaultDeclaration(node) {
|
|
117
|
-
if (node
|
|
117
|
+
if (!isExportDefaultDeclarationNode(node)) {
|
|
118
118
|
return;
|
|
119
119
|
}
|
|
120
120
|
const exportDefaultNode = node;
|
|
@@ -161,7 +161,7 @@ export const createStylelintConfigSortArrayEntriesRule = (definition) => {
|
|
|
161
161
|
const sourceCode = context.sourceCode;
|
|
162
162
|
return toRuleListener({
|
|
163
163
|
ExportDefaultDeclaration(node) {
|
|
164
|
-
if (node
|
|
164
|
+
if (!isExportDefaultDeclarationNode(node)) {
|
|
165
165
|
return;
|
|
166
166
|
}
|
|
167
167
|
const exportDefaultNode = node;
|
|
@@ -207,7 +207,7 @@ export const createStylelintConfigDisallowRelativeArrayEntriesRule = (definition
|
|
|
207
207
|
}
|
|
208
208
|
return toRuleListener({
|
|
209
209
|
ExportDefaultDeclaration(node) {
|
|
210
|
-
if (node
|
|
210
|
+
if (!isExportDefaultDeclarationNode(node)) {
|
|
211
211
|
return;
|
|
212
212
|
}
|
|
213
213
|
const exportDefaultNode = node;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-config-string-array-option-rule.js","sourceRoot":"","sources":["../../src/_internal/stylelint-config-string-array-option-rule.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stylelint-config-string-array-option-rule.js","sourceRoot":"","sources":["../../src/_internal/stylelint-config-string-array-option-rule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @packageDocumentation
|
|
3
|
-
* Helpers for reading top-level Stylelint string-or-string-array options.
|
|
4
|
-
*/
|
|
5
1
|
import type { TSESTree } from "@typescript-eslint/utils";
|
|
6
2
|
type StringArrayOptionValue = Readonly<{
|
|
7
3
|
arrayExpression: Readonly<TSESTree.ArrayExpression>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-config-string-array-option.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-config-string-array-option.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"stylelint-config-string-array-option.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-config-string-array-option.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAqBzD,KAAK,sBAAsB,GAAG,QAAQ,CAChC;IACI,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACpD,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,SAAS,QAAQ,CAAC,aAAa,EAAE,CAAC;CACrD,GACD;IACI,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;CACnD,CACN,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,GAClC,UAAU,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KACtC,sBAAsB,GAAG,SAyC3B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,WAAW,MAAM,KAAG,OAIxB,CAAC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Helpers for reading top-level Stylelint string-or-string-array options.
|
|
4
|
+
*/
|
|
5
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
6
|
+
const isPropertyExpressionValue = (value) => value.type !== AST_NODE_TYPES.ArrayPattern &&
|
|
7
|
+
value.type !== AST_NODE_TYPES.AssignmentPattern &&
|
|
8
|
+
value.type !== AST_NODE_TYPES.ObjectPattern &&
|
|
9
|
+
value.type !== AST_NODE_TYPES.TSEmptyBodyFunctionExpression;
|
|
10
|
+
const isStringLiteralExpression = (value) => value.type === AST_NODE_TYPES.Literal && typeof value.value === "string";
|
|
6
11
|
/**
|
|
7
12
|
* Parse a top-level object property value as either a string literal or a
|
|
8
13
|
* string-only array expression.
|
|
@@ -22,7 +27,7 @@ export const getStringArrayOptionValue = (property) => {
|
|
|
22
27
|
stringLiteral: propertyValue,
|
|
23
28
|
};
|
|
24
29
|
}
|
|
25
|
-
if (propertyValue.type !==
|
|
30
|
+
if (propertyValue.type !== AST_NODE_TYPES.ArrayExpression) {
|
|
26
31
|
return undefined;
|
|
27
32
|
}
|
|
28
33
|
const stringLiterals = [];
|
|
@@ -30,7 +35,7 @@ export const getStringArrayOptionValue = (property) => {
|
|
|
30
35
|
if (element === null) {
|
|
31
36
|
return undefined;
|
|
32
37
|
}
|
|
33
|
-
if (element.type ===
|
|
38
|
+
if (element.type === AST_NODE_TYPES.SpreadElement) {
|
|
34
39
|
return undefined;
|
|
35
40
|
}
|
|
36
41
|
if (!isStringLiteralExpression(element)) {
|
|
@@ -51,5 +56,8 @@ export const getStringArrayOptionValue = (property) => {
|
|
|
51
56
|
*
|
|
52
57
|
* @returns `true` when the entry starts with `./`, `../`, `.\\`, or `..\\`.
|
|
53
58
|
*/
|
|
54
|
-
export const isRelativeSpecifier = (specifier) =>
|
|
59
|
+
export const isRelativeSpecifier = (specifier) => specifier.startsWith("./") ||
|
|
60
|
+
specifier.startsWith("../") ||
|
|
61
|
+
specifier.startsWith(".\\") ||
|
|
62
|
+
specifier.startsWith("..\\");
|
|
55
63
|
//# sourceMappingURL=stylelint-config-string-array-option.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-config-string-array-option.js","sourceRoot":"","sources":["../../src/_internal/stylelint-config-string-array-option.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stylelint-config-string-array-option.js","sourceRoot":"","sources":["../../src/_internal/stylelint-config-string-array-option.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,yBAAyB,GAAG,CAC9B,KAA2C,EACf,EAAE,CAC9B,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,YAAY;IAC1C,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;IAC/C,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa;IAC3C,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,6BAA6B,CAAC;AAEhE,MAAM,yBAAyB,GAAG,CAC9B,KAAoC,EACL,EAAE,CACjC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;AAc7E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,QAAqC,EACH,EAAE;IACpC,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;IAErC,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,yBAAyB,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,aAAa;SAC/B,CAAC;IACN,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,cAAc,GAA6B,EAAE,CAAC;IAEpD,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa,EAAE,CAAC;YAChD,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,OAAO;QACH,eAAe,EAAE,aAAa;QAC9B,IAAI,EAAE,OAAO;QACb,cAAc;KACjB,CAAC;AACN,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAW,EAAE,CAC9D,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;IAC1B,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;IAC3B,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;IAC3B,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint-package-dependencies.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-package-dependencies.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stylelint-package-dependencies.d.ts","sourceRoot":"","sources":["../../src/_internal/stylelint-package-dependencies.ts"],"names":[],"mappings":"AAqHA;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,GAClC,kBAAkB,MAAM,EACxB,KAAK,MAAM,KACZ,WAAW,CAAC,MAAM,CAAC,GAAG,SA6CxB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,GACpC,WAAW,MAAM,KAClB,MAAM,GAAG,SAgBX,CAAC"}
|
|
@@ -3,23 +3,24 @@
|
|
|
3
3
|
* Workspace dependency lookup helpers for Stylelint config validation rules.
|
|
4
4
|
*/
|
|
5
5
|
import { existsSync, readFileSync } from "node:fs";
|
|
6
|
-
import
|
|
6
|
+
import path from "node:path";
|
|
7
7
|
import { arrayFirst, isDefined, objectKeys, stringSplit } from "ts-extras";
|
|
8
8
|
const nearestPackageJsonCache = new Map();
|
|
9
9
|
const dependencyNameSetCache = new Map();
|
|
10
10
|
const getNearestPackageJsonPath = (startDirectory) => {
|
|
11
|
-
const normalizedStartDirectory = resolve(startDirectory);
|
|
11
|
+
const normalizedStartDirectory = path.resolve(startDirectory);
|
|
12
12
|
if (nearestPackageJsonCache.has(normalizedStartDirectory)) {
|
|
13
13
|
return nearestPackageJsonCache.get(normalizedStartDirectory);
|
|
14
14
|
}
|
|
15
15
|
let currentDirectory = normalizedStartDirectory;
|
|
16
16
|
while (true) {
|
|
17
|
-
const packageJsonPath = resolve(currentDirectory, "package.json");
|
|
17
|
+
const packageJsonPath = path.resolve(currentDirectory, "package.json");
|
|
18
|
+
// eslint-disable-next-line n/no-sync, security/detect-non-literal-fs-filename -- Path is assembled from resolved directories under lint control.
|
|
18
19
|
if (existsSync(packageJsonPath)) {
|
|
19
20
|
nearestPackageJsonCache.set(normalizedStartDirectory, packageJsonPath);
|
|
20
21
|
return packageJsonPath;
|
|
21
22
|
}
|
|
22
|
-
const parentDirectory = dirname(currentDirectory);
|
|
23
|
+
const parentDirectory = path.dirname(currentDirectory);
|
|
23
24
|
if (parentDirectory === currentDirectory) {
|
|
24
25
|
nearestPackageJsonCache.set(normalizedStartDirectory, undefined);
|
|
25
26
|
return undefined;
|
|
@@ -50,6 +51,7 @@ const readDependencyNamesFromPackageJson = (packageJsonPath) => {
|
|
|
50
51
|
return dependencyNameSetCache.get(packageJsonPath);
|
|
51
52
|
}
|
|
52
53
|
try {
|
|
54
|
+
// eslint-disable-next-line n/no-sync, security/detect-non-literal-fs-filename -- Path comes from nearest package.json discovery in this module.
|
|
53
55
|
const packageJsonText = readFileSync(packageJsonPath, "utf8");
|
|
54
56
|
const parsedPackageJson = JSON.parse(packageJsonText);
|
|
55
57
|
if (parsedPackageJson === null ||
|
|
@@ -75,15 +77,36 @@ const readDependencyNamesFromPackageJson = (packageJsonPath) => {
|
|
|
75
77
|
* @returns Dependency-name set or `undefined` when unavailable.
|
|
76
78
|
*/
|
|
77
79
|
export const getDependencyNamesForFile = (physicalFilename, cwd) => {
|
|
78
|
-
const startDirectory = isAbsolute(physicalFilename)
|
|
79
|
-
? dirname(physicalFilename)
|
|
80
|
+
const startDirectory = path.isAbsolute(physicalFilename)
|
|
81
|
+
? path.dirname(physicalFilename)
|
|
80
82
|
: cwd;
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
if (
|
|
83
|
+
const candidatePackageJsonPaths = new Set();
|
|
84
|
+
const nearestPackageJsonPath = getNearestPackageJsonPath(startDirectory);
|
|
85
|
+
if (isDefined(nearestPackageJsonPath)) {
|
|
86
|
+
candidatePackageJsonPaths.add(nearestPackageJsonPath);
|
|
87
|
+
}
|
|
88
|
+
const cwdPackageJsonPath = getNearestPackageJsonPath(path.resolve(cwd));
|
|
89
|
+
if (isDefined(cwdPackageJsonPath)) {
|
|
90
|
+
candidatePackageJsonPaths.add(cwdPackageJsonPath);
|
|
91
|
+
}
|
|
92
|
+
const processCwdPackageJsonPath = getNearestPackageJsonPath(path.resolve(process.cwd()));
|
|
93
|
+
if (isDefined(processCwdPackageJsonPath)) {
|
|
94
|
+
candidatePackageJsonPaths.add(processCwdPackageJsonPath);
|
|
95
|
+
}
|
|
96
|
+
const dependencyNames = new Set();
|
|
97
|
+
for (const packageJsonPath of candidatePackageJsonPaths) {
|
|
98
|
+
const dependencyNameSet = readDependencyNamesFromPackageJson(packageJsonPath);
|
|
99
|
+
if (!isDefined(dependencyNameSet)) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
for (const dependencyName of dependencyNameSet) {
|
|
103
|
+
dependencyNames.add(dependencyName);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (dependencyNames.size === 0) {
|
|
84
107
|
return undefined;
|
|
85
108
|
}
|
|
86
|
-
return
|
|
109
|
+
return dependencyNames;
|
|
87
110
|
};
|
|
88
111
|
/**
|
|
89
112
|
* Get package name root from a package specifier or subpath.
|