1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
| module.exports = {
| root: true,
| plugins: ['stylelint-scss', 'stylelint-order'],
| customSyntax: 'postcss-scss',
| extends: ['stylelint-config-standard'],
| rules: {
| 'no-descending-specificity': null,
| 'function-url-quotes': 'always',
| 'string-quotes': ['single', { avoidEscape: false }],
| 'unit-case': null,
| 'color-hex-case': 'lower',
| 'color-hex-length': 'long',
| 'rule-empty-line-before': [
| 'always',
| {
| ignore: ['first-nested'],
| },
| ],
| 'font-family-no-missing-generic-family-keyword': null,
| 'block-opening-brace-space-before': 'always',
| 'property-no-unknown': null,
| 'no-empty-source': null,
| 'selector-class-pattern': null,
| 'value-list-comma-newline-after': 'never-multi-line',
| 'selector-pseudo-class-no-unknown': [
| true,
| {
| ignorePseudoClasses: ['deep', 'global', ':deep', ':export', '::input-placeholder'],
| },
| ],
| 'function-no-unknown': [
| true,
| {
| ignoreFunctions: [
| '/map.*/',
| 'getCssVar',
| 'boleGetCssVar',
| 'v-bind',
| 'getBorder',
| 'loginPx2Rem',
| 'parkScreenPx2Rem',
| 'getScreenCellMargin',
| ],
| },
| ],
| 'function-name-case': null,
| 'annotation-no-unknown': [
| true,
| {
| ignoreAnnotations: ['/^default/'],
| },
| ],
| // indentation: 4,
| 'at-rule-no-unknown': [
| true,
| {
| ignoreAtRules: [
| 'responsive',
| 'screen',
| 'function',
| 'if',
| 'each',
| 'include',
| 'mixin',
| 'use',
| 'forward',
| 'return',
| 'else',
| ],
| },
| ],
| 'order/properties-order': [
| 'position',
| 'top',
| 'right',
| 'bottom',
| 'left',
| 'z-index',
| 'display',
| 'justify-content',
| 'align-items',
| 'float',
| 'clear',
| 'overflow',
| 'overflow-x',
| 'overflow-y',
| 'margin',
| 'margin-top',
| 'margin-right',
| 'margin-bottom',
| 'margin-left',
| 'padding',
| 'padding-top',
| 'padding-right',
| 'padding-bottom',
| 'padding-left',
| 'width',
| 'min-width',
| 'max-width',
| 'height',
| 'min-height',
| 'max-height',
| 'font-size',
| 'font-family',
| 'font-weight',
| 'border',
| 'border-style',
| 'border-width',
| 'border-color',
| 'border-top',
| 'border-top-style',
| 'border-top-width',
| 'border-top-color',
| 'border-right',
| 'border-right-style',
| 'border-right-width',
| 'border-right-color',
| 'border-bottom',
| 'border-bottom-style',
| 'border-bottom-width',
| 'border-bottom-color',
| 'border-left',
| 'border-left-style',
| 'border-left-width',
| 'border-left-color',
| 'border-radius',
| 'text-align',
| 'text-justify',
| 'text-indent',
| 'text-overflow',
| 'text-decoration',
| 'white-space',
| 'color',
| 'background',
| 'background-position',
| 'background-repeat',
| 'background-size',
| 'background-color',
| 'background-clip',
| 'opacity',
| 'filter',
| 'list-style',
| 'outline',
| 'visibility',
| 'box-shadow',
| 'text-shadow',
| 'resize',
| 'transition',
| ],
| },
| ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts'],
| overrides: [
| {
| files: ['*.vue', '**/*.vue', '*.html', '**/*.html'],
| customSyntax: 'postcss-html',
| extends: ['stylelint-config-recommended', 'stylelint-config-html'],
| rules: {
| 'keyframes-name-pattern': null,
| 'selector-pseudo-class-no-unknown': [
| true,
| {
| ignorePseudoClasses: ['deep', 'global'],
| },
| ],
| 'selector-pseudo-element-no-unknown': [
| true,
| {
| ignorePseudoElements: ['v-deep', 'v-global', 'v-slotted', '::deep'],
| },
| ],
| },
| },
| ],
| };
|
|