@firefoxic/stylelint-config 8.0.1 → 10.0.0-next.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 CHANGED
@@ -2,12 +2,11 @@
2
2
 
3
3
  [![License: MIT][license-image]][license-url]
4
4
  [![Changelog][changelog-image]][changelog-url]
5
- [![NPM version][npm-image]][npm-url]
6
5
  [![Test Status][test-image]][test-url]
7
6
 
8
7
  Shared config for stylelint by [firefoxic](https://firefoxic.dev).
9
8
 
10
- To see the rules that this config uses, please read the [config itself](./stylelint.config.js).
9
+ To see the rules that this config uses, please read the [config itself](./stylelint.config.ts).
11
10
 
12
11
  ## Installation
13
12
 
@@ -35,8 +34,5 @@ export default {
35
34
  [changelog-url]: https://github.com/firefoxic/stylelint-config/blob/main/CHANGELOG.md
36
35
  [changelog-image]: https://img.shields.io/badge/CHANGELOG-md-limegreen
37
36
 
38
- [npm-url]: https://npmjs.org/package/@firefoxic/stylelint-config
39
- [npm-image]: https://badge.fury.io/js/@firefoxic%2Fstylelint-config.svg
40
-
41
37
  [test-url]: https://github.com/firefoxic/stylelint-config/actions
42
38
  [test-image]: https://github.com/firefoxic/stylelint-config/actions/workflows/test.yaml/badge.svg?branch=main
@@ -0,0 +1,94 @@
1
+ declare const _default: {
2
+ languageOptions: {
3
+ directionality: {
4
+ block: "top-to-bottom";
5
+ inline: "left-to-right";
6
+ };
7
+ };
8
+ extends: string[];
9
+ plugins: string[];
10
+ rules: {
11
+ "annotation-no-unknown": boolean;
12
+ "at-rule-empty-line-before": (string | {
13
+ except: string[];
14
+ ignore: string[];
15
+ })[];
16
+ "at-rule-no-unknown": boolean;
17
+ "at-rule-no-vendor-prefix": boolean;
18
+ "block-no-empty": boolean;
19
+ "color-function-alias-notation": string;
20
+ "color-function-notation": string;
21
+ "color-named": string;
22
+ "color-no-hex": boolean;
23
+ "comment-no-empty": boolean;
24
+ "custom-property-no-missing-var-function": boolean;
25
+ "declaration-block-no-duplicate-custom-properties": boolean;
26
+ "declaration-block-no-duplicate-properties": boolean;
27
+ "declaration-block-no-shorthand-property-overrides": boolean;
28
+ "declaration-no-important": boolean;
29
+ "declaration-property-value-no-unknown": boolean;
30
+ "display-notation": string;
31
+ "font-family-name-quotes": string;
32
+ "font-family-no-duplicate-names": (boolean | {
33
+ ignoreFontFamilyNames: string[];
34
+ })[];
35
+ "font-family-no-missing-generic-family-keyword": boolean;
36
+ "function-calc-no-unspaced-operator": boolean;
37
+ "function-linear-gradient-no-nonstandard-direction": boolean;
38
+ "function-name-case": string;
39
+ "function-no-unknown": boolean;
40
+ "function-url-quotes": string;
41
+ "import-notation": string;
42
+ "keyframe-block-no-duplicate-selectors": boolean;
43
+ "keyframe-declaration-no-important": boolean;
44
+ "keyframe-selector-notation": string;
45
+ "max-nesting-depth": (number | {
46
+ ignore: string[];
47
+ })[];
48
+ "media-feature-name-no-unknown": boolean;
49
+ "media-feature-name-no-vendor-prefix": boolean;
50
+ "media-query-no-invalid": boolean;
51
+ "named-grid-areas-no-invalid": boolean;
52
+ "no-descending-specificity": boolean;
53
+ "no-duplicate-at-import-rules": boolean;
54
+ "no-duplicate-selectors": boolean;
55
+ "no-empty-source": boolean;
56
+ "no-invalid-double-slash-comments": boolean;
57
+ "no-invalid-position-at-import-rule": boolean;
58
+ "no-irregular-whitespace": boolean;
59
+ "no-unknown-custom-media": boolean;
60
+ "property-layout-mappings": string;
61
+ "property-no-unknown": (boolean | {
62
+ ignoreAtRules: string[];
63
+ })[];
64
+ "property-no-vendor-prefix": boolean;
65
+ "relative-selector-nesting-notation": string;
66
+ "rule-empty-line-before": (string | {
67
+ except: string[];
68
+ ignore: string[];
69
+ })[];
70
+ "selector-anb-no-unmatchable": boolean;
71
+ "selector-attribute-quotes": string;
72
+ "selector-max-compound-selectors": number;
73
+ "selector-max-id": number;
74
+ "selector-max-universal": number;
75
+ "selector-no-deprecated": boolean;
76
+ "selector-no-invalid": boolean;
77
+ "selector-not-notation": string;
78
+ "selector-pseudo-class-no-unknown": boolean;
79
+ "selector-pseudo-element-colon-notation": string;
80
+ "selector-pseudo-element-no-unknown": boolean;
81
+ "selector-type-case": string;
82
+ "selector-type-no-unknown": (boolean | {
83
+ ignore: string[];
84
+ })[];
85
+ "string-no-newline": boolean;
86
+ "unit-layout-mappings": string;
87
+ "unit-no-unknown": boolean;
88
+ "value-keyword-case": string;
89
+ "value-keyword-layout-mappings": string;
90
+ "value-no-vendor-prefix": boolean;
91
+ "gamut/color-no-out-gamut-range": boolean;
92
+ };
93
+ };
94
+ export default _default;
@@ -0,0 +1,117 @@
1
+ export default {
2
+ "languageOptions": {
3
+ directionality: {
4
+ block: `top-to-bottom`,
5
+ inline: `left-to-right`,
6
+ },
7
+ },
8
+ "extends": [`@stylistic/stylelint-plugin/recommended`],
9
+ "plugins": [`stylelint-gamut`],
10
+ "rules": {
11
+ "annotation-no-unknown": true,
12
+ "at-rule-empty-line-before": [
13
+ `always`,
14
+ {
15
+ except: [
16
+ `blockless-after-same-name-blockless`,
17
+ `first-nested`,
18
+ ],
19
+ ignore: [`after-comment`],
20
+ },
21
+ ],
22
+ "at-rule-no-unknown": true,
23
+ "at-rule-no-vendor-prefix": true,
24
+ "block-no-empty": true,
25
+ "color-function-alias-notation": `without-alpha`,
26
+ "color-function-notation": `modern`,
27
+ "color-named": `never`,
28
+ "color-no-hex": true,
29
+ "comment-no-empty": true,
30
+ "custom-property-no-missing-var-function": true,
31
+ "declaration-block-no-duplicate-custom-properties": true,
32
+ "declaration-block-no-duplicate-properties": true,
33
+ "declaration-block-no-shorthand-property-overrides": true,
34
+ "declaration-no-important": true,
35
+ "declaration-property-value-no-unknown": true,
36
+ "display-notation": `full`,
37
+ "font-family-name-quotes": `always-where-required`,
38
+ "font-family-no-duplicate-names": [
39
+ true,
40
+ {
41
+ ignoreFontFamilyNames: [`monospace`],
42
+ },
43
+ ],
44
+ "font-family-no-missing-generic-family-keyword": true,
45
+ "function-calc-no-unspaced-operator": true,
46
+ "function-linear-gradient-no-nonstandard-direction": true,
47
+ "function-name-case": `lower`,
48
+ "function-no-unknown": true,
49
+ "function-url-quotes": `always`,
50
+ "import-notation": `string`,
51
+ "keyframe-block-no-duplicate-selectors": true,
52
+ "keyframe-declaration-no-important": true,
53
+ "keyframe-selector-notation": `percentage-unless-within-keyword-only-block`,
54
+ "max-nesting-depth": [
55
+ 2,
56
+ {
57
+ ignore: [
58
+ `blockless-at-rules`,
59
+ `pseudo-classes`,
60
+ ],
61
+ },
62
+ ],
63
+ "media-feature-name-no-unknown": true,
64
+ "media-feature-name-no-vendor-prefix": true,
65
+ "media-query-no-invalid": true,
66
+ "named-grid-areas-no-invalid": true,
67
+ "no-descending-specificity": true,
68
+ "no-duplicate-at-import-rules": true,
69
+ "no-duplicate-selectors": true,
70
+ "no-empty-source": true,
71
+ "no-invalid-double-slash-comments": true,
72
+ "no-invalid-position-at-import-rule": true,
73
+ "no-irregular-whitespace": true,
74
+ "no-unknown-custom-media": true,
75
+ "property-layout-mappings": `flow-relative`,
76
+ "property-no-unknown": [
77
+ true,
78
+ {
79
+ ignoreAtRules: [`font-feature-values`],
80
+ },
81
+ ],
82
+ "property-no-vendor-prefix": true,
83
+ "relative-selector-nesting-notation": `implicit`,
84
+ "rule-empty-line-before": [
85
+ `always`,
86
+ {
87
+ except: [`first-nested`],
88
+ ignore: [`after-comment`],
89
+ },
90
+ ],
91
+ "selector-anb-no-unmatchable": true,
92
+ "selector-attribute-quotes": `always`,
93
+ "selector-max-compound-selectors": 2,
94
+ "selector-max-id": 0,
95
+ "selector-max-universal": 2,
96
+ "selector-no-deprecated": true,
97
+ "selector-no-invalid": true,
98
+ "selector-not-notation": `complex`,
99
+ "selector-pseudo-class-no-unknown": true,
100
+ "selector-pseudo-element-colon-notation": `double`,
101
+ "selector-pseudo-element-no-unknown": true,
102
+ "selector-type-case": `lower`,
103
+ "selector-type-no-unknown": [
104
+ true,
105
+ {
106
+ ignore: [`custom-elements`],
107
+ },
108
+ ],
109
+ "string-no-newline": true,
110
+ "unit-layout-mappings": `flow-relative`,
111
+ "unit-no-unknown": true,
112
+ "value-keyword-case": `lower`,
113
+ "value-keyword-layout-mappings": `flow-relative`,
114
+ "value-no-vendor-prefix": true,
115
+ "gamut/color-no-out-gamut-range": true,
116
+ },
117
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@firefoxic/stylelint-config",
3
3
  "description": "Shared config for stylelint by firefoxic.",
4
- "version": "8.0.1",
4
+ "version": "10.0.0-next.0",
5
5
  "license": "MIT",
6
6
  "author": {
7
7
  "name": "Sergey Artemov",
@@ -16,38 +16,44 @@
16
16
  "url": "git+https://github.com/firefoxic/stylelint-config.git"
17
17
  },
18
18
  "type": "module",
19
- "exports": "./stylelint.config.js",
19
+ "types": "./dist/stylelint.config.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "types": "./dist/stylelint.config.d.ts",
23
+ "default": "./dist/stylelint.config.js"
24
+ },
25
+ "./package.json": "./package.json"
26
+ },
20
27
  "files": [
21
- "./stylelint.config.js"
28
+ "./dist"
22
29
  ],
23
- "engines": {
24
- "node": ">=22.22"
30
+ "peerDependencies": {
31
+ "stylelint": "^18.0.0-next.0"
32
+ },
33
+ "dependencies": {
34
+ "@stylistic/stylelint-plugin": "^6.0.0-next.0",
35
+ "stylelint-gamut": "^2.0.1"
36
+ },
37
+ "devDependencies": {
38
+ "@firefoxic/oxlint-config": "~0.5",
39
+ "@types/node": "^26",
40
+ "oxlint": "^1",
41
+ "stylelint": "^18.0.0-next.0",
42
+ "typescript": "^7",
43
+ "vitest": "^5"
25
44
  },
26
45
  "devEngines": {
27
46
  "runtime": {
28
47
  "name": "node",
29
- "version": ">=22.22",
48
+ "version": ">=26.12",
30
49
  "onFail": "download"
31
50
  },
32
51
  "packageManager": {
33
52
  "name": "pnpm",
34
- "version": ">=11",
53
+ "version": ">=12.15",
35
54
  "onFail": "download"
36
55
  }
37
56
  },
38
- "peerDependencies": {
39
- "stylelint": "^17.11.0"
40
- },
41
- "dependencies": {
42
- "@stylistic/stylelint-plugin": "^5.2.0",
43
- "stylelint-gamut": "^2.0.1"
44
- },
45
- "devDependencies": {
46
- "@firefoxic/oxlint-config": "^0.3.1",
47
- "oxlint": "^1.68.0",
48
- "stylelint": "^17.12.0",
49
- "node": "runtime:>=22.22"
50
- },
51
57
  "keywords": [
52
58
  "config",
53
59
  "css",
@@ -58,6 +64,8 @@
58
64
  "stylelint"
59
65
  ],
60
66
  "scripts": {
61
- "help": "make help"
67
+ "build": "tsc --project tsconfig.build.json",
68
+ "help": "make help",
69
+ "typecheck": "tsc --noEmit"
62
70
  }
63
71
  }
@@ -1,197 +0,0 @@
1
- /** @type {import('stylelint').Config} */
2
- export default {
3
- languageOptions: {
4
- directionality: {
5
- block: `top-to-bottom`,
6
- inline: `left-to-right`,
7
- },
8
- },
9
- plugins: [
10
- `@stylistic/stylelint-plugin`,
11
- `stylelint-gamut`,
12
- ],
13
- rules: {
14
- "annotation-no-unknown": true,
15
- "at-rule-empty-line-before": [
16
- `always`,
17
- {
18
- except: [
19
- `blockless-after-same-name-blockless`,
20
- `first-nested`,
21
- ],
22
- ignore: [`after-comment`],
23
- },
24
- ],
25
- "at-rule-no-unknown": true,
26
- "at-rule-no-vendor-prefix": true,
27
- "block-no-empty": true,
28
- "color-function-alias-notation": `without-alpha`,
29
- "color-function-notation": `modern`,
30
- "color-named": `never`,
31
- "color-no-hex": true,
32
- "comment-no-empty": true,
33
- "custom-property-no-missing-var-function": true,
34
- "declaration-block-no-duplicate-custom-properties": true,
35
- "declaration-block-no-duplicate-properties": true,
36
- "declaration-block-no-shorthand-property-overrides": true,
37
- "declaration-block-single-line-max-declarations": 0,
38
- "declaration-no-important": true,
39
- "declaration-property-value-no-unknown": true,
40
- "display-notation": `full`,
41
- "font-family-name-quotes": `always-where-required`,
42
- "font-family-no-duplicate-names": [
43
- true,
44
- {
45
- ignoreFontFamilyNames: [`monospace`],
46
- },
47
- ],
48
- "font-family-no-missing-generic-family-keyword": true,
49
- "function-calc-no-unspaced-operator": true,
50
- "function-linear-gradient-no-nonstandard-direction": true,
51
- "function-name-case": `lower`,
52
- "function-no-unknown": true,
53
- "function-url-quotes": `always`,
54
- "import-notation": `string`,
55
- "keyframe-block-no-duplicate-selectors": true,
56
- "keyframe-declaration-no-important": true,
57
- "keyframe-selector-notation": `percentage-unless-within-keyword-only-block`,
58
- "max-nesting-depth": [
59
- 2,
60
- {
61
- ignore: [
62
- `blockless-at-rules`,
63
- `pseudo-classes`,
64
- ],
65
- },
66
- ],
67
- "media-feature-name-no-unknown": true,
68
- "media-feature-name-no-vendor-prefix": true,
69
- "media-query-no-invalid": true,
70
- "named-grid-areas-no-invalid": true,
71
- "no-descending-specificity": true,
72
- "no-duplicate-at-import-rules": true,
73
- "no-duplicate-selectors": true,
74
- "no-empty-source": true,
75
- "no-invalid-double-slash-comments": true,
76
- "no-invalid-position-at-import-rule": true,
77
- "no-irregular-whitespace": true,
78
- "no-unknown-custom-media": true,
79
- "property-layout-mappings": `flow-relative`,
80
- "property-no-unknown": [
81
- true,
82
- {
83
- ignoreAtRules: [`font-feature-values`],
84
- },
85
- ],
86
- "property-no-vendor-prefix": true,
87
- "relative-selector-nesting-notation": `implicit`,
88
- "rule-empty-line-before": [
89
- `always`,
90
- {
91
- except: [`first-nested`],
92
- ignore: [`after-comment`],
93
- },
94
- ],
95
- "selector-anb-no-unmatchable": true,
96
- "selector-attribute-quotes": `always`,
97
- "selector-max-compound-selectors": 2,
98
- "selector-max-id": 0,
99
- "selector-max-universal": 2,
100
- "selector-no-deprecated": true,
101
- "selector-no-invalid": true,
102
- "selector-not-notation": `complex`,
103
- "selector-pseudo-class-no-unknown": true,
104
- "selector-pseudo-element-colon-notation": `double`,
105
- "selector-pseudo-element-no-unknown": true,
106
- "selector-type-case": `lower`,
107
- "selector-type-no-unknown": [
108
- true,
109
- {
110
- ignore: [`custom-elements`],
111
- },
112
- ],
113
- "string-no-newline": true,
114
- "unit-layout-mappings": `flow-relative`,
115
- "unit-no-unknown": true,
116
- "value-keyword-case": `lower`,
117
- "value-keyword-layout-mappings": `flow-relative`,
118
- "value-no-vendor-prefix": true,
119
-
120
- "gamut/color-no-out-gamut-range": true,
121
-
122
- "@stylistic/at-rule-name-case": `lower`,
123
- "@stylistic/at-rule-name-space-after": `always`,
124
- "@stylistic/at-rule-semicolon-newline-after": `always`,
125
- "@stylistic/block-closing-brace-empty-line-before": `never`,
126
- "@stylistic/block-closing-brace-newline-after": `always`,
127
- "@stylistic/block-closing-brace-newline-before": `always`,
128
- "@stylistic/block-closing-brace-space-after": `always-single-line`,
129
- "@stylistic/block-closing-brace-space-before": `always-single-line`,
130
- "@stylistic/block-opening-brace-newline-after": `always`,
131
- "@stylistic/block-opening-brace-space-after": `always-single-line`,
132
- "@stylistic/block-opening-brace-space-before": `always`,
133
- "@stylistic/declaration-bang-space-after": `never`,
134
- "@stylistic/declaration-bang-space-before": `always`,
135
- "@stylistic/declaration-block-semicolon-newline-after": `always`,
136
- "@stylistic/declaration-block-semicolon-newline-before": `never-multi-line`,
137
- "@stylistic/declaration-block-semicolon-space-after": `always-single-line`,
138
- "@stylistic/declaration-block-semicolon-space-before": `never`,
139
- "@stylistic/declaration-block-trailing-semicolon": `always`,
140
- "@stylistic/declaration-colon-newline-after": `always-multi-line`,
141
- "@stylistic/declaration-colon-space-after": `always-single-line`,
142
- "@stylistic/declaration-colon-space-before": `never`,
143
- "@stylistic/function-comma-newline-after": `always-multi-line`,
144
- "@stylistic/function-comma-newline-before": `never-multi-line`,
145
- "@stylistic/function-comma-space-after": `always-single-line`,
146
- "@stylistic/function-comma-space-before": `never`,
147
- "@stylistic/function-max-empty-lines": 0,
148
- "@stylistic/function-parentheses-space-inside": `never-single-line`,
149
- "@stylistic/function-whitespace-after": `always`,
150
- "@stylistic/indentation": `tab`,
151
- "@stylistic/max-empty-lines": 2,
152
- "@stylistic/media-feature-colon-space-after": `always`,
153
- "@stylistic/media-feature-colon-space-before": `never`,
154
- "@stylistic/media-feature-name-case": `lower`,
155
- "@stylistic/media-feature-parentheses-space-inside": `never`,
156
- "@stylistic/media-feature-range-operator-space-after": `always`,
157
- "@stylistic/media-feature-range-operator-space-before": `always`,
158
- "@stylistic/media-query-list-comma-newline-after": `always-multi-line`,
159
- "@stylistic/media-query-list-comma-newline-before": `never-multi-line`,
160
- "@stylistic/media-query-list-comma-space-after": `always-single-line`,
161
- "@stylistic/media-query-list-comma-space-before": `never-single-line`,
162
- "@stylistic/named-grid-areas-alignment": [
163
- true,
164
- {
165
- gap: 2,
166
- alignQuotes: true,
167
- },
168
- ],
169
- "@stylistic/no-eol-whitespace": true,
170
- "@stylistic/no-extra-semicolons": true,
171
- "@stylistic/no-missing-end-of-source-newline": true,
172
- "@stylistic/number-leading-zero": `always`,
173
- "@stylistic/number-no-trailing-zeros": true,
174
- "@stylistic/property-case": `lower`,
175
- "@stylistic/selector-attribute-brackets-space-inside": `never`,
176
- "@stylistic/selector-attribute-operator-space-after": `never`,
177
- "@stylistic/selector-attribute-operator-space-before": `never`,
178
- "@stylistic/selector-combinator-space-after": `always`,
179
- "@stylistic/selector-combinator-space-before": `always`,
180
- "@stylistic/selector-descendant-combinator-no-non-space": true,
181
- "@stylistic/selector-list-comma-newline-after": `always`,
182
- "@stylistic/selector-list-comma-newline-before": `never-multi-line`,
183
- "@stylistic/selector-list-comma-space-after": `always-single-line`,
184
- "@stylistic/selector-list-comma-space-before": `never`,
185
- "@stylistic/selector-max-empty-lines": 0,
186
- "@stylistic/selector-pseudo-class-case": `lower`,
187
- "@stylistic/selector-pseudo-class-parentheses-space-inside": `never`,
188
- "@stylistic/selector-pseudo-element-case": `lower`,
189
- "@stylistic/string-quotes": `double`,
190
- "@stylistic/unit-case": `lower`,
191
- "@stylistic/value-list-comma-newline-after": `always-multi-line`,
192
- "@stylistic/value-list-comma-newline-before": `never-multi-line`,
193
- "@stylistic/value-list-comma-space-after": `always-single-line`,
194
- "@stylistic/value-list-comma-space-before": `never`,
195
- "@stylistic/value-list-max-empty-lines": 0,
196
- },
197
- }