@tomjs/stylelint 1.0.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 ADDED
@@ -0,0 +1,53 @@
1
+ # @tomjs/stylelint
2
+
3
+ 前端项目 [stylelint](https://stylelint.io/) 样式规范配置。
4
+
5
+ ## 使用说明
6
+
7
+ - 安装依赖
8
+
9
+ ```bash
10
+ pnpm add -D stylelint prettier @tomjs/stylelint
11
+ ```
12
+
13
+ - 修改 `.stylelintrc.{js,cjs}` 配置
14
+
15
+ ```js
16
+ module.exports = {
17
+ extends: [require.resolve('@tomjs/stylelint')],
18
+ };
19
+ ```
20
+
21
+ ### vue
22
+
23
+ vue 项目 stylelint 配置
24
+
25
+ #### 修改配置
26
+
27
+ 修改 `.stylelintrc.{js,cjs}` 配置,如
28
+
29
+ ```js
30
+ module.exports = {
31
+ extends: [require.resolve('@tomjs/stylelint/vue')],
32
+ };
33
+ ```
34
+
35
+ #### 制作配置
36
+
37
+ ```bash
38
+ pnpm add --save-peer prettier stylelint
39
+ pnpm add postcss postcss-html postcss-less postcss-scss
40
+ pnpm add stylelint-prettier stylelint-config-standard stylelint-config-standard-scss stylelint-config-recommended-vue
41
+ pnpm add stylelint-order stylelint-config-property-sort-order-smacss
42
+ ```
43
+
44
+ - [stylelint-prettier](https://www.npmjs.com/package/stylelint-prettier):将 Prettier 作为 stylelint 规则运行,并将差异报告为单个 stylelint 问题
45
+ - [stylelint-config-standard](https://www.npmjs.com/package/stylelint-config-standard):它扩展了 stylelint-config-recommended,并开启了附加规则,以执行 CSS 规范中的现代约定
46
+ - [stylelint-config-standard-scss](https://www.npmjs.com/package/stylelint-config-standard-scss):stylelint 的标准 scss 共享配置
47
+ - [stylelint-config-recommended-vue](https://www.npmjs.com/package/stylelint-config-recommended-vue):stylelint 的推荐 vue 共享配置
48
+ - [stylelint-order](https://www.npmjs.com/package/stylelint-order):为 stylelint 提供的与排序相关的提示规则的插件包
49
+ - [stylelint-config-property-sort-order-smacss](https://www.npmjs.com/package/stylelint-config-property-sort-order-smacss):基于 [SMACSS](http://smacss.com/) 方法的属性排序
50
+
51
+ ## 参考项目
52
+
53
+ - [vue-vben-admin](https://github.com/vbenjs/vue-vben-admin)
package/es/index.d.ts ADDED
@@ -0,0 +1,55 @@
1
+ declare const _default: {
2
+ plugins: string[];
3
+ extends: string[];
4
+ overrides: ({
5
+ files: string[];
6
+ customSyntax: string;
7
+ extends: string[];
8
+ rule?: undefined;
9
+ } | {
10
+ files: string[];
11
+ customSyntax: string;
12
+ extends: string[];
13
+ rule: {
14
+ 'scss/percent-placeholder-pattern': null;
15
+ };
16
+ })[];
17
+ rules: {
18
+ 'no-duplicate-selectors': null;
19
+ 'media-feature-range-notation': string;
20
+ 'color-function-notation': null;
21
+ 'alpha-value-notation': string;
22
+ 'selector-not-notation': null;
23
+ 'import-notation': null;
24
+ 'function-no-unknown': null;
25
+ 'selector-class-pattern': null;
26
+ 'selector-pseudo-class-no-unknown': (boolean | {
27
+ ignorePseudoClasses: string[];
28
+ })[];
29
+ 'selector-pseudo-element-no-unknown': (boolean | {
30
+ ignorePseudoElements: string[];
31
+ })[];
32
+ 'at-rule-no-unknown': (boolean | {
33
+ ignoreAtRules: string[];
34
+ })[];
35
+ 'no-empty-source': null;
36
+ 'string-quotes': null;
37
+ 'named-grid-areas-no-invalid': null;
38
+ 'no-descending-specificity': null;
39
+ 'font-family-no-missing-generic-family-keyword': null;
40
+ 'rule-empty-line-before': (string | {
41
+ ignore: string[];
42
+ })[];
43
+ 'unit-no-unknown': (boolean | {
44
+ ignoreUnits: string[];
45
+ })[];
46
+ 'order/order': ((string | {
47
+ type: string;
48
+ name: string;
49
+ })[] | {
50
+ severity: string;
51
+ })[];
52
+ };
53
+ ignoreFiles: string[];
54
+ };
55
+ export default _default;
package/es/index.js ADDED
@@ -0,0 +1,93 @@
1
+ const index = {
2
+ plugins: ["stylelint-order", "stylelint-prettier"],
3
+ extends: ["stylelint-config-standard", "stylelint-config-property-sort-order-smacss"],
4
+ overrides: [
5
+ {
6
+ files: ["*.less", "**/*.less"],
7
+ customSyntax: "postcss-less",
8
+ extends: ["stylelint-config-standard"]
9
+ },
10
+ {
11
+ files: ["*.scss", "**/*.scss"],
12
+ customSyntax: "postcss-scss",
13
+ extends: ["stylelint-config-standard-scss"],
14
+ rule: {
15
+ "scss/percent-placeholder-pattern": null
16
+ }
17
+ }
18
+ ],
19
+ rules: {
20
+ "no-duplicate-selectors": null,
21
+ "media-feature-range-notation": "prefix",
22
+ "color-function-notation": null,
23
+ "alpha-value-notation": "number",
24
+ "selector-not-notation": null,
25
+ "import-notation": null,
26
+ "function-no-unknown": null,
27
+ "selector-class-pattern": null,
28
+ "selector-pseudo-class-no-unknown": [
29
+ true,
30
+ {
31
+ ignorePseudoClasses: ["global", "deep"]
32
+ }
33
+ ],
34
+ "selector-pseudo-element-no-unknown": [
35
+ true,
36
+ {
37
+ ignorePseudoElements: ["v-deep"]
38
+ }
39
+ ],
40
+ "at-rule-no-unknown": [
41
+ true,
42
+ {
43
+ ignoreAtRules: [
44
+ "tailwind",
45
+ "apply",
46
+ "variants",
47
+ "responsive",
48
+ "screen",
49
+ "function",
50
+ "if",
51
+ "each",
52
+ "include",
53
+ "mixin",
54
+ "extend"
55
+ ]
56
+ }
57
+ ],
58
+ "no-empty-source": null,
59
+ "string-quotes": null,
60
+ "named-grid-areas-no-invalid": null,
61
+ "no-descending-specificity": null,
62
+ "font-family-no-missing-generic-family-keyword": null,
63
+ "rule-empty-line-before": [
64
+ "always",
65
+ {
66
+ ignore: ["after-comment", "first-nested"]
67
+ }
68
+ ],
69
+ "unit-no-unknown": [true, { ignoreUnits: ["rpx"] }],
70
+ "order/order": [
71
+ [
72
+ "dollar-variables",
73
+ "custom-properties",
74
+ "at-rules",
75
+ "declarations",
76
+ {
77
+ type: "at-rule",
78
+ name: "supports"
79
+ },
80
+ {
81
+ type: "at-rule",
82
+ name: "media"
83
+ },
84
+ "rules"
85
+ ],
86
+ { severity: "error" }
87
+ ]
88
+ },
89
+ ignoreFiles: ["**/*.js", "**/*.jsx", "**/*.tsx", "**/*.ts"]
90
+ };
91
+ export {
92
+ index as default
93
+ };
package/es/vue.d.ts ADDED
@@ -0,0 +1,60 @@
1
+ declare const _default: {
2
+ plugins: string[];
3
+ extends: string[];
4
+ overrides: ({
5
+ files: string[];
6
+ customSyntax: string;
7
+ extends?: undefined;
8
+ rule?: undefined;
9
+ } | {
10
+ files: string[];
11
+ customSyntax: string;
12
+ extends: string[];
13
+ rule?: undefined;
14
+ } | {
15
+ files: string[];
16
+ customSyntax: string;
17
+ extends: string[];
18
+ rule: {
19
+ 'scss/percent-placeholder-pattern': null;
20
+ };
21
+ })[];
22
+ rules: {
23
+ 'no-duplicate-selectors': null;
24
+ 'media-feature-range-notation': string;
25
+ 'color-function-notation': null;
26
+ 'alpha-value-notation': string;
27
+ 'selector-not-notation': null;
28
+ 'import-notation': null;
29
+ 'function-no-unknown': null;
30
+ 'selector-class-pattern': null;
31
+ 'selector-pseudo-class-no-unknown': (boolean | {
32
+ ignorePseudoClasses: string[];
33
+ })[];
34
+ 'selector-pseudo-element-no-unknown': (boolean | {
35
+ ignorePseudoElements: string[];
36
+ })[];
37
+ 'at-rule-no-unknown': (boolean | {
38
+ ignoreAtRules: string[];
39
+ })[];
40
+ 'no-empty-source': null;
41
+ 'string-quotes': null;
42
+ 'named-grid-areas-no-invalid': null;
43
+ 'no-descending-specificity': null;
44
+ 'font-family-no-missing-generic-family-keyword': null;
45
+ 'rule-empty-line-before': (string | {
46
+ ignore: string[];
47
+ })[];
48
+ 'unit-no-unknown': (boolean | {
49
+ ignoreUnits: string[];
50
+ })[];
51
+ 'order/order': ((string | {
52
+ type: string;
53
+ name: string;
54
+ })[] | {
55
+ severity: string;
56
+ })[];
57
+ };
58
+ ignoreFiles: string[];
59
+ };
60
+ export default _default;
package/es/vue.js ADDED
@@ -0,0 +1,97 @@
1
+ const vue = {
2
+ plugins: ["stylelint-order", "stylelint-prettier"],
3
+ extends: ["stylelint-config-standard", "stylelint-config-property-sort-order-smacss"],
4
+ overrides: [
5
+ {
6
+ files: ["**/*.(css|html|vue)"],
7
+ customSyntax: "postcss-html"
8
+ },
9
+ {
10
+ files: ["*.less", "**/*.less"],
11
+ customSyntax: "postcss-less",
12
+ extends: ["stylelint-config-standard", "stylelint-config-recommended-vue"]
13
+ },
14
+ {
15
+ files: ["*.scss", "**/*.scss"],
16
+ customSyntax: "postcss-scss",
17
+ extends: ["stylelint-config-standard-scss", "stylelint-config-recommended-vue/scss"],
18
+ rule: {
19
+ "scss/percent-placeholder-pattern": null
20
+ }
21
+ }
22
+ ],
23
+ rules: {
24
+ "no-duplicate-selectors": null,
25
+ "media-feature-range-notation": "prefix",
26
+ "color-function-notation": null,
27
+ "alpha-value-notation": "number",
28
+ "selector-not-notation": null,
29
+ "import-notation": null,
30
+ "function-no-unknown": null,
31
+ "selector-class-pattern": null,
32
+ "selector-pseudo-class-no-unknown": [
33
+ true,
34
+ {
35
+ ignorePseudoClasses: ["global", "deep"]
36
+ }
37
+ ],
38
+ "selector-pseudo-element-no-unknown": [
39
+ true,
40
+ {
41
+ ignorePseudoElements: ["v-deep"]
42
+ }
43
+ ],
44
+ "at-rule-no-unknown": [
45
+ true,
46
+ {
47
+ ignoreAtRules: [
48
+ "tailwind",
49
+ "apply",
50
+ "variants",
51
+ "responsive",
52
+ "screen",
53
+ "function",
54
+ "if",
55
+ "each",
56
+ "include",
57
+ "mixin",
58
+ "extend"
59
+ ]
60
+ }
61
+ ],
62
+ "no-empty-source": null,
63
+ "string-quotes": null,
64
+ "named-grid-areas-no-invalid": null,
65
+ "no-descending-specificity": null,
66
+ "font-family-no-missing-generic-family-keyword": null,
67
+ "rule-empty-line-before": [
68
+ "always",
69
+ {
70
+ ignore: ["after-comment", "first-nested"]
71
+ }
72
+ ],
73
+ "unit-no-unknown": [true, { ignoreUnits: ["rpx"] }],
74
+ "order/order": [
75
+ [
76
+ "dollar-variables",
77
+ "custom-properties",
78
+ "at-rules",
79
+ "declarations",
80
+ {
81
+ type: "at-rule",
82
+ name: "supports"
83
+ },
84
+ {
85
+ type: "at-rule",
86
+ name: "media"
87
+ },
88
+ "rules"
89
+ ],
90
+ { severity: "error" }
91
+ ]
92
+ },
93
+ ignoreFiles: ["**/*.js", "**/*.jsx", "**/*.tsx", "**/*.ts"]
94
+ };
95
+ export {
96
+ vue as default
97
+ };
package/lib/index.d.ts ADDED
@@ -0,0 +1,55 @@
1
+ declare const _default: {
2
+ plugins: string[];
3
+ extends: string[];
4
+ overrides: ({
5
+ files: string[];
6
+ customSyntax: string;
7
+ extends: string[];
8
+ rule?: undefined;
9
+ } | {
10
+ files: string[];
11
+ customSyntax: string;
12
+ extends: string[];
13
+ rule: {
14
+ 'scss/percent-placeholder-pattern': null;
15
+ };
16
+ })[];
17
+ rules: {
18
+ 'no-duplicate-selectors': null;
19
+ 'media-feature-range-notation': string;
20
+ 'color-function-notation': null;
21
+ 'alpha-value-notation': string;
22
+ 'selector-not-notation': null;
23
+ 'import-notation': null;
24
+ 'function-no-unknown': null;
25
+ 'selector-class-pattern': null;
26
+ 'selector-pseudo-class-no-unknown': (boolean | {
27
+ ignorePseudoClasses: string[];
28
+ })[];
29
+ 'selector-pseudo-element-no-unknown': (boolean | {
30
+ ignorePseudoElements: string[];
31
+ })[];
32
+ 'at-rule-no-unknown': (boolean | {
33
+ ignoreAtRules: string[];
34
+ })[];
35
+ 'no-empty-source': null;
36
+ 'string-quotes': null;
37
+ 'named-grid-areas-no-invalid': null;
38
+ 'no-descending-specificity': null;
39
+ 'font-family-no-missing-generic-family-keyword': null;
40
+ 'rule-empty-line-before': (string | {
41
+ ignore: string[];
42
+ })[];
43
+ 'unit-no-unknown': (boolean | {
44
+ ignoreUnits: string[];
45
+ })[];
46
+ 'order/order': ((string | {
47
+ type: string;
48
+ name: string;
49
+ })[] | {
50
+ severity: string;
51
+ })[];
52
+ };
53
+ ignoreFiles: string[];
54
+ };
55
+ export default _default;
package/lib/index.js ADDED
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ const index = {
3
+ plugins: ["stylelint-order", "stylelint-prettier"],
4
+ extends: ["stylelint-config-standard", "stylelint-config-property-sort-order-smacss"],
5
+ overrides: [
6
+ {
7
+ files: ["*.less", "**/*.less"],
8
+ customSyntax: "postcss-less",
9
+ extends: ["stylelint-config-standard"]
10
+ },
11
+ {
12
+ files: ["*.scss", "**/*.scss"],
13
+ customSyntax: "postcss-scss",
14
+ extends: ["stylelint-config-standard-scss"],
15
+ rule: {
16
+ "scss/percent-placeholder-pattern": null
17
+ }
18
+ }
19
+ ],
20
+ rules: {
21
+ "no-duplicate-selectors": null,
22
+ "media-feature-range-notation": "prefix",
23
+ "color-function-notation": null,
24
+ "alpha-value-notation": "number",
25
+ "selector-not-notation": null,
26
+ "import-notation": null,
27
+ "function-no-unknown": null,
28
+ "selector-class-pattern": null,
29
+ "selector-pseudo-class-no-unknown": [
30
+ true,
31
+ {
32
+ ignorePseudoClasses: ["global", "deep"]
33
+ }
34
+ ],
35
+ "selector-pseudo-element-no-unknown": [
36
+ true,
37
+ {
38
+ ignorePseudoElements: ["v-deep"]
39
+ }
40
+ ],
41
+ "at-rule-no-unknown": [
42
+ true,
43
+ {
44
+ ignoreAtRules: [
45
+ "tailwind",
46
+ "apply",
47
+ "variants",
48
+ "responsive",
49
+ "screen",
50
+ "function",
51
+ "if",
52
+ "each",
53
+ "include",
54
+ "mixin",
55
+ "extend"
56
+ ]
57
+ }
58
+ ],
59
+ "no-empty-source": null,
60
+ "string-quotes": null,
61
+ "named-grid-areas-no-invalid": null,
62
+ "no-descending-specificity": null,
63
+ "font-family-no-missing-generic-family-keyword": null,
64
+ "rule-empty-line-before": [
65
+ "always",
66
+ {
67
+ ignore: ["after-comment", "first-nested"]
68
+ }
69
+ ],
70
+ "unit-no-unknown": [true, { ignoreUnits: ["rpx"] }],
71
+ "order/order": [
72
+ [
73
+ "dollar-variables",
74
+ "custom-properties",
75
+ "at-rules",
76
+ "declarations",
77
+ {
78
+ type: "at-rule",
79
+ name: "supports"
80
+ },
81
+ {
82
+ type: "at-rule",
83
+ name: "media"
84
+ },
85
+ "rules"
86
+ ],
87
+ { severity: "error" }
88
+ ]
89
+ },
90
+ ignoreFiles: ["**/*.js", "**/*.jsx", "**/*.tsx", "**/*.ts"]
91
+ };
92
+ module.exports = index;
package/lib/vue.d.ts ADDED
@@ -0,0 +1,60 @@
1
+ declare const _default: {
2
+ plugins: string[];
3
+ extends: string[];
4
+ overrides: ({
5
+ files: string[];
6
+ customSyntax: string;
7
+ extends?: undefined;
8
+ rule?: undefined;
9
+ } | {
10
+ files: string[];
11
+ customSyntax: string;
12
+ extends: string[];
13
+ rule?: undefined;
14
+ } | {
15
+ files: string[];
16
+ customSyntax: string;
17
+ extends: string[];
18
+ rule: {
19
+ 'scss/percent-placeholder-pattern': null;
20
+ };
21
+ })[];
22
+ rules: {
23
+ 'no-duplicate-selectors': null;
24
+ 'media-feature-range-notation': string;
25
+ 'color-function-notation': null;
26
+ 'alpha-value-notation': string;
27
+ 'selector-not-notation': null;
28
+ 'import-notation': null;
29
+ 'function-no-unknown': null;
30
+ 'selector-class-pattern': null;
31
+ 'selector-pseudo-class-no-unknown': (boolean | {
32
+ ignorePseudoClasses: string[];
33
+ })[];
34
+ 'selector-pseudo-element-no-unknown': (boolean | {
35
+ ignorePseudoElements: string[];
36
+ })[];
37
+ 'at-rule-no-unknown': (boolean | {
38
+ ignoreAtRules: string[];
39
+ })[];
40
+ 'no-empty-source': null;
41
+ 'string-quotes': null;
42
+ 'named-grid-areas-no-invalid': null;
43
+ 'no-descending-specificity': null;
44
+ 'font-family-no-missing-generic-family-keyword': null;
45
+ 'rule-empty-line-before': (string | {
46
+ ignore: string[];
47
+ })[];
48
+ 'unit-no-unknown': (boolean | {
49
+ ignoreUnits: string[];
50
+ })[];
51
+ 'order/order': ((string | {
52
+ type: string;
53
+ name: string;
54
+ })[] | {
55
+ severity: string;
56
+ })[];
57
+ };
58
+ ignoreFiles: string[];
59
+ };
60
+ export default _default;
package/lib/vue.js ADDED
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ const vue = {
3
+ plugins: ["stylelint-order", "stylelint-prettier"],
4
+ extends: ["stylelint-config-standard", "stylelint-config-property-sort-order-smacss"],
5
+ overrides: [
6
+ {
7
+ files: ["**/*.(css|html|vue)"],
8
+ customSyntax: "postcss-html"
9
+ },
10
+ {
11
+ files: ["*.less", "**/*.less"],
12
+ customSyntax: "postcss-less",
13
+ extends: ["stylelint-config-standard", "stylelint-config-recommended-vue"]
14
+ },
15
+ {
16
+ files: ["*.scss", "**/*.scss"],
17
+ customSyntax: "postcss-scss",
18
+ extends: ["stylelint-config-standard-scss", "stylelint-config-recommended-vue/scss"],
19
+ rule: {
20
+ "scss/percent-placeholder-pattern": null
21
+ }
22
+ }
23
+ ],
24
+ rules: {
25
+ "no-duplicate-selectors": null,
26
+ "media-feature-range-notation": "prefix",
27
+ "color-function-notation": null,
28
+ "alpha-value-notation": "number",
29
+ "selector-not-notation": null,
30
+ "import-notation": null,
31
+ "function-no-unknown": null,
32
+ "selector-class-pattern": null,
33
+ "selector-pseudo-class-no-unknown": [
34
+ true,
35
+ {
36
+ ignorePseudoClasses: ["global", "deep"]
37
+ }
38
+ ],
39
+ "selector-pseudo-element-no-unknown": [
40
+ true,
41
+ {
42
+ ignorePseudoElements: ["v-deep"]
43
+ }
44
+ ],
45
+ "at-rule-no-unknown": [
46
+ true,
47
+ {
48
+ ignoreAtRules: [
49
+ "tailwind",
50
+ "apply",
51
+ "variants",
52
+ "responsive",
53
+ "screen",
54
+ "function",
55
+ "if",
56
+ "each",
57
+ "include",
58
+ "mixin",
59
+ "extend"
60
+ ]
61
+ }
62
+ ],
63
+ "no-empty-source": null,
64
+ "string-quotes": null,
65
+ "named-grid-areas-no-invalid": null,
66
+ "no-descending-specificity": null,
67
+ "font-family-no-missing-generic-family-keyword": null,
68
+ "rule-empty-line-before": [
69
+ "always",
70
+ {
71
+ ignore: ["after-comment", "first-nested"]
72
+ }
73
+ ],
74
+ "unit-no-unknown": [true, { ignoreUnits: ["rpx"] }],
75
+ "order/order": [
76
+ [
77
+ "dollar-variables",
78
+ "custom-properties",
79
+ "at-rules",
80
+ "declarations",
81
+ {
82
+ type: "at-rule",
83
+ name: "supports"
84
+ },
85
+ {
86
+ type: "at-rule",
87
+ name: "media"
88
+ },
89
+ "rules"
90
+ ],
91
+ { severity: "error" }
92
+ ]
93
+ },
94
+ ignoreFiles: ["**/*.js", "**/*.jsx", "**/*.tsx", "**/*.ts"]
95
+ };
96
+ module.exports = vue;
package/package.json ADDED
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "@tomjs/stylelint",
3
+ "version": "1.0.0",
4
+ "description": "stylelint config for tomjs",
5
+ "keywords": [
6
+ "lint",
7
+ "stylelint",
8
+ "style",
9
+ "css",
10
+ "less",
11
+ "scss"
12
+ ],
13
+ "author": {
14
+ "name": "tom",
15
+ "email": "tom@tomgao.cc"
16
+ },
17
+ "license": "MIT",
18
+ "files": [
19
+ "es",
20
+ "lib",
21
+ "*.md"
22
+ ],
23
+ "main": "./lib/index.js",
24
+ "module": "./es/index.js",
25
+ "exports": {
26
+ ".": {
27
+ "require": "./lib/index.js",
28
+ "import": "./es/index.js",
29
+ "types": "./es/index.d.ts"
30
+ },
31
+ "./vue": {
32
+ "require": "./lib/vue.js",
33
+ "import": "./es/vue.js",
34
+ "types": "./es/vue.d.ts"
35
+ }
36
+ },
37
+ "dependencies": {
38
+ "postcss": "^8.4.29",
39
+ "postcss-html": "^1.5.0",
40
+ "postcss-less": "^6.0.0",
41
+ "postcss-scss": "^4.0.8",
42
+ "stylelint-config-property-sort-order-smacss": "^9.1.0",
43
+ "stylelint-config-recommended-vue": "^1.5.0",
44
+ "stylelint-config-standard": "^34.0.0",
45
+ "stylelint-config-standard-scss": "^11.0.0",
46
+ "stylelint-order": "^6.0.3",
47
+ "stylelint-prettier": "^4.0.2"
48
+ },
49
+ "peerDependencies": {
50
+ "prettier": ">=3.0.0",
51
+ "stylelint": "^15.10.0"
52
+ },
53
+ "engines": {
54
+ "node": ">=16"
55
+ },
56
+ "scripts": {
57
+ "build": "npm run clean && vite build",
58
+ "clean": "rimraf ./es ./lib"
59
+ }
60
+ }