@pubinfo/config 2.0.0-beta.26 → 2.0.0-beta.27
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/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/themes/index.d.mts +2 -4
- package/dist/themes/index.d.ts +2 -4
- package/dist/themes/index.mjs +17 -33
- package/dist/unocss/index.d.mts +4 -1
- package/dist/unocss/index.d.ts +4 -1
- package/dist/unocss/index.mjs +11 -6
- package/package.json +3 -2
- package/src/eslint/config/ignores.ts +10 -0
- package/src/eslint/config/stylistic.ts +21 -0
- package/src/eslint/config/vue.ts +54 -0
- package/src/eslint/factory.ts +20 -0
- package/src/eslint/globs.ts +86 -0
- package/src/eslint/index.ts +3 -0
- package/src/index.ts +4 -0
- package/src/stylelint.ts +135 -0
- package/src/themes/index.ts +3 -0
- package/src/themes/system/dark/dark.ts +47 -0
- package/src/themes/system/dark/dracula.ts +47 -0
- package/src/themes/system/dark/luxury.ts +47 -0
- package/src/themes/system/dark/night.ts +47 -0
- package/src/themes/system/dark/stone.ts +47 -0
- package/src/themes/system/dark/synthwave.ts +47 -0
- package/src/themes/system/light/barbie.ts +47 -0
- package/src/themes/system/light/classic.ts +47 -0
- package/src/themes/system/light/cyberpunk.ts +47 -0
- package/src/themes/system/light/light.ts +47 -0
- package/src/themes/system/light/naive.ts +47 -0
- package/src/themes/system/light/winter.ts +47 -0
- package/src/themes/theme.ts +18 -0
- package/src/themes/unocss-utils.ts +52 -0
- package/src/themes/utils.ts +81 -0
- package/src/unocss/index.ts +61 -0
- package/src/unocss/presetThemes.ts +57 -0
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { p as eslint } from './shared/config.CSqBb4YU.mjs';
|
|
2
2
|
export { default as stylelint } from './stylelint.mjs';
|
|
3
|
-
export { colorScheme, cssVarKey, customColorKey, defineTheme,
|
|
3
|
+
export { colorScheme, cssVarKey, customColorKey, defineTheme, getThemes, globalTheme, themeOptions } from './themes/index.mjs';
|
|
4
4
|
export { default as presetPubinfo } from './unocss/index.mjs';
|
|
5
5
|
import '@antfu/eslint-config';
|
|
6
6
|
import 'unocss';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { p as eslint } from './shared/config.CSqBb4YU.js';
|
|
2
2
|
export { default as stylelint } from './stylelint.js';
|
|
3
|
-
export { colorScheme, cssVarKey, customColorKey, defineTheme,
|
|
3
|
+
export { colorScheme, cssVarKey, customColorKey, defineTheme, getThemes, globalTheme, themeOptions } from './themes/index.js';
|
|
4
4
|
export { default as presetPubinfo } from './unocss/index.js';
|
|
5
5
|
import '@antfu/eslint-config';
|
|
6
6
|
import 'unocss';
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { p as eslint } from './shared/config.D4FYsBnQ.mjs';
|
|
2
2
|
export { default as stylelint } from './stylelint.mjs';
|
|
3
|
-
export { customColorKey, defineTheme,
|
|
3
|
+
export { customColorKey, defineTheme, getThemes } from './themes/index.mjs';
|
|
4
4
|
export { default as presetPubinfo } from './unocss/index.mjs';
|
|
5
5
|
import '@antfu/eslint-config';
|
|
6
6
|
import 'unocss';
|
package/dist/themes/index.d.mts
CHANGED
|
@@ -21,9 +21,7 @@ declare const customColorKey: readonly ["--ui-primary", "--ui-text"];
|
|
|
21
21
|
interface globalTheme {
|
|
22
22
|
[key: string]: colorScheme;
|
|
23
23
|
}
|
|
24
|
-
declare function
|
|
24
|
+
declare function getThemes(): globalTheme;
|
|
25
25
|
declare function defineTheme(theme: themeOptions): globalTheme;
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
export { type colorScheme, type cssVarKey, customColorKey, defineTheme, type globalTheme, mergeTheme, type themeOptions, themes };
|
|
27
|
+
export { type colorScheme, type cssVarKey, customColorKey, defineTheme, getThemes, type globalTheme, type themeOptions };
|
package/dist/themes/index.d.ts
CHANGED
|
@@ -21,9 +21,7 @@ declare const customColorKey: readonly ["--ui-primary", "--ui-text"];
|
|
|
21
21
|
interface globalTheme {
|
|
22
22
|
[key: string]: colorScheme;
|
|
23
23
|
}
|
|
24
|
-
declare function
|
|
24
|
+
declare function getThemes(): globalTheme;
|
|
25
25
|
declare function defineTheme(theme: themeOptions): globalTheme;
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
export { type colorScheme, type cssVarKey, customColorKey, defineTheme, type globalTheme, mergeTheme, type themeOptions, themes };
|
|
27
|
+
export { type colorScheme, type cssVarKey, customColorKey, defineTheme, getThemes, type globalTheme, type themeOptions };
|
package/dist/themes/index.mjs
CHANGED
|
@@ -36,9 +36,9 @@ function parseHexColor(str) {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
const customColorKey = ["--ui-primary", "--ui-text"];
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return
|
|
39
|
+
let themeColorMap = {};
|
|
40
|
+
function getThemes() {
|
|
41
|
+
return themeColorMap;
|
|
42
42
|
}
|
|
43
43
|
function normalizeColor(colors) {
|
|
44
44
|
for (const key of customColorKey) {
|
|
@@ -51,10 +51,11 @@ function defineTheme(theme) {
|
|
|
51
51
|
const { name, colors } = theme;
|
|
52
52
|
const colorScheme = /* @__PURE__ */ Object.create(null);
|
|
53
53
|
colorScheme[name] = normalizeColor(colors);
|
|
54
|
+
themeColorMap = Object.assign(themeColorMap, colorScheme);
|
|
54
55
|
return colorScheme;
|
|
55
56
|
}
|
|
56
57
|
|
|
57
|
-
|
|
58
|
+
defineTheme({
|
|
58
59
|
name: "dark",
|
|
59
60
|
colors: {
|
|
60
61
|
"label": "\u58A8\u591C\u5E7D",
|
|
@@ -100,7 +101,7 @@ const dark = defineTheme({
|
|
|
100
101
|
}
|
|
101
102
|
});
|
|
102
103
|
|
|
103
|
-
|
|
104
|
+
defineTheme({
|
|
104
105
|
name: "dracula",
|
|
105
106
|
colors: {
|
|
106
107
|
"label": "\u6697\u84DD\u79D8",
|
|
@@ -146,7 +147,7 @@ const dracula = defineTheme({
|
|
|
146
147
|
}
|
|
147
148
|
});
|
|
148
149
|
|
|
149
|
-
|
|
150
|
+
defineTheme({
|
|
150
151
|
name: "luxury",
|
|
151
152
|
colors: {
|
|
152
153
|
"label": "\u91D1\u534E\u4E3D",
|
|
@@ -192,7 +193,7 @@ const luxury = defineTheme({
|
|
|
192
193
|
}
|
|
193
194
|
});
|
|
194
195
|
|
|
195
|
-
|
|
196
|
+
defineTheme({
|
|
196
197
|
name: "night",
|
|
197
198
|
colors: {
|
|
198
199
|
"label": "\u591C\u84DD\u68A6",
|
|
@@ -238,7 +239,7 @@ const night = defineTheme({
|
|
|
238
239
|
}
|
|
239
240
|
});
|
|
240
241
|
|
|
241
|
-
|
|
242
|
+
defineTheme({
|
|
242
243
|
name: "stone",
|
|
243
244
|
colors: {
|
|
244
245
|
"label": "\u77F3\u9752\u6DA6",
|
|
@@ -284,7 +285,7 @@ const stone = defineTheme({
|
|
|
284
285
|
}
|
|
285
286
|
});
|
|
286
287
|
|
|
287
|
-
|
|
288
|
+
defineTheme({
|
|
288
289
|
name: "synthwave",
|
|
289
290
|
colors: {
|
|
290
291
|
"label": "\u7D2B\u7535\u6D41",
|
|
@@ -330,7 +331,7 @@ const synthwave = defineTheme({
|
|
|
330
331
|
}
|
|
331
332
|
});
|
|
332
333
|
|
|
333
|
-
|
|
334
|
+
defineTheme({
|
|
334
335
|
name: "barbie",
|
|
335
336
|
colors: {
|
|
336
337
|
"label": "\u68A6\u9732\u7C89",
|
|
@@ -376,7 +377,7 @@ const barbie = defineTheme({
|
|
|
376
377
|
}
|
|
377
378
|
});
|
|
378
379
|
|
|
379
|
-
|
|
380
|
+
defineTheme({
|
|
380
381
|
name: "classic",
|
|
381
382
|
colors: {
|
|
382
383
|
"label": "\u84DD\u53E4\u96C5",
|
|
@@ -422,7 +423,7 @@ const classic = defineTheme({
|
|
|
422
423
|
}
|
|
423
424
|
});
|
|
424
425
|
|
|
425
|
-
|
|
426
|
+
defineTheme({
|
|
426
427
|
name: "cyberpunk",
|
|
427
428
|
colors: {
|
|
428
429
|
"label": "\u9EC4\u672A\u6765",
|
|
@@ -468,7 +469,7 @@ const cyberpunk = defineTheme({
|
|
|
468
469
|
}
|
|
469
470
|
});
|
|
470
471
|
|
|
471
|
-
|
|
472
|
+
defineTheme({
|
|
472
473
|
name: "light",
|
|
473
474
|
colors: {
|
|
474
475
|
"label": "\u5E7D\u5F71\u9ED1",
|
|
@@ -514,7 +515,7 @@ const light = defineTheme({
|
|
|
514
515
|
}
|
|
515
516
|
});
|
|
516
517
|
|
|
517
|
-
|
|
518
|
+
defineTheme({
|
|
518
519
|
name: "naive",
|
|
519
520
|
colors: {
|
|
520
521
|
"label": "\u9752\u5B87\u53E4",
|
|
@@ -560,7 +561,7 @@ const naive = defineTheme({
|
|
|
560
561
|
}
|
|
561
562
|
});
|
|
562
563
|
|
|
563
|
-
|
|
564
|
+
defineTheme({
|
|
564
565
|
name: "winter",
|
|
565
566
|
colors: {
|
|
566
567
|
"label": "\u51B0\u96EA\u84DD",
|
|
@@ -606,21 +607,4 @@ const winter = defineTheme({
|
|
|
606
607
|
}
|
|
607
608
|
});
|
|
608
609
|
|
|
609
|
-
|
|
610
|
-
// --亮色主题--
|
|
611
|
-
light,
|
|
612
|
-
classic,
|
|
613
|
-
naive,
|
|
614
|
-
barbie,
|
|
615
|
-
winter,
|
|
616
|
-
cyberpunk,
|
|
617
|
-
// --暗色主题--
|
|
618
|
-
dark,
|
|
619
|
-
dracula,
|
|
620
|
-
night,
|
|
621
|
-
luxury,
|
|
622
|
-
synthwave,
|
|
623
|
-
stone
|
|
624
|
-
]);
|
|
625
|
-
|
|
626
|
-
export { customColorKey, defineTheme, mergeTheme, themes };
|
|
610
|
+
export { customColorKey, defineTheme, getThemes };
|
package/dist/unocss/index.d.mts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import * as unocss from 'unocss';
|
|
2
|
+
import { globalTheme } from '../themes/index.mjs';
|
|
2
3
|
|
|
3
|
-
declare const _default: unocss.PresetFactory<object,
|
|
4
|
+
declare const _default: unocss.PresetFactory<object, {
|
|
5
|
+
themes?: globalTheme[];
|
|
6
|
+
}>;
|
|
4
7
|
|
|
5
8
|
export { _default as default };
|
package/dist/unocss/index.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import * as unocss from 'unocss';
|
|
2
|
+
import { globalTheme } from '../themes/index.js';
|
|
2
3
|
|
|
3
|
-
declare const _default: unocss.PresetFactory<object,
|
|
4
|
+
declare const _default: unocss.PresetFactory<object, {
|
|
5
|
+
themes?: globalTheme[];
|
|
6
|
+
}>;
|
|
4
7
|
|
|
5
8
|
export { _default as default };
|
package/dist/unocss/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { definePreset as definePreset$1, transformerDirectives, presetUno, presetAttributify, presetTypography, presetIcons } from 'unocss';
|
|
2
2
|
import { definePreset, entriesToCss, toArray } from '@unocss/core';
|
|
3
|
-
import {
|
|
3
|
+
import { getThemes } from '../themes/index.mjs';
|
|
4
4
|
|
|
5
5
|
const suffix = [["", " *", "::before", "::after"], ["::backdrop"]];
|
|
6
6
|
function createCssVar(key, themeName) {
|
|
@@ -19,10 +19,15 @@ function createCssVar(key, themeName) {
|
|
|
19
19
|
};
|
|
20
20
|
return map[key](themeName);
|
|
21
21
|
}
|
|
22
|
-
function
|
|
22
|
+
function mergeTheme(themes) {
|
|
23
|
+
const themeColor = Object.assign({}, ...themes);
|
|
24
|
+
return themeColor;
|
|
25
|
+
}
|
|
26
|
+
function normalizePreflights(_themes = []) {
|
|
23
27
|
return {
|
|
24
28
|
getCSS: () => {
|
|
25
29
|
const injectionCss = [];
|
|
30
|
+
const themes = Object.assign(getThemes(), mergeTheme(_themes));
|
|
26
31
|
Object.keys(themes).forEach((key) => {
|
|
27
32
|
delete themes[key].label;
|
|
28
33
|
const css = entriesToCss(Object.entries(themes[key]));
|
|
@@ -36,20 +41,20 @@ function normalizePreflights() {
|
|
|
36
41
|
}
|
|
37
42
|
};
|
|
38
43
|
}
|
|
39
|
-
const presetThemes = definePreset(() => {
|
|
44
|
+
const presetThemes = definePreset((options) => {
|
|
40
45
|
return {
|
|
41
46
|
name: "@wsys/preset-themes",
|
|
42
47
|
preflights: [
|
|
43
|
-
normalizePreflights()
|
|
48
|
+
normalizePreflights(options?.themes)
|
|
44
49
|
]
|
|
45
50
|
};
|
|
46
51
|
});
|
|
47
52
|
|
|
48
|
-
const index = definePreset$1(() => {
|
|
53
|
+
const index = definePreset$1((options) => {
|
|
49
54
|
return {
|
|
50
55
|
name: "preset-pubinfo",
|
|
51
56
|
presets: [
|
|
52
|
-
presetThemes(),
|
|
57
|
+
presetThemes({ themes: options?.themes }),
|
|
53
58
|
presetUno(),
|
|
54
59
|
presetAttributify(),
|
|
55
60
|
presetTypography(),
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pubinfo/config",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.0.0-beta.
|
|
4
|
+
"version": "2.0.0-beta.27",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
"module": "./dist/index.mjs",
|
|
29
29
|
"types": "./dist/index.d.ts",
|
|
30
30
|
"files": [
|
|
31
|
-
"dist"
|
|
31
|
+
"dist",
|
|
32
|
+
"src"
|
|
32
33
|
],
|
|
33
34
|
"peerDependencies": {
|
|
34
35
|
"eslint": "^9.21.0",
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TypedFlatConfigItem } from '@antfu/eslint-config';
|
|
2
|
+
|
|
3
|
+
export async function stylistic(): Promise<TypedFlatConfigItem[]> {
|
|
4
|
+
return [
|
|
5
|
+
{
|
|
6
|
+
rules: {
|
|
7
|
+
'eslint-comments/no-unlimited-disable': 'off',
|
|
8
|
+
'curly': ['error', 'all'],
|
|
9
|
+
'antfu/consistent-list-newline': 'off',
|
|
10
|
+
'regexp/no-unused-capturing-group': 'off',
|
|
11
|
+
'unused-imports/no-unused-vars': 'off',
|
|
12
|
+
'unicorn/consistent-function-scoping': 'off',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
rules: {
|
|
17
|
+
'style/semi': ['error', 'always'],
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
];
|
|
21
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { TypedFlatConfigItem } from '@antfu/eslint-config';
|
|
2
|
+
|
|
3
|
+
export async function vue(): Promise<TypedFlatConfigItem[]> {
|
|
4
|
+
return [
|
|
5
|
+
{
|
|
6
|
+
files: [
|
|
7
|
+
'**/*.vue',
|
|
8
|
+
],
|
|
9
|
+
rules: {
|
|
10
|
+
'vue/block-order': ['error', {
|
|
11
|
+
order: [
|
|
12
|
+
'route',
|
|
13
|
+
'i18n',
|
|
14
|
+
'script',
|
|
15
|
+
'template',
|
|
16
|
+
'style',
|
|
17
|
+
],
|
|
18
|
+
}],
|
|
19
|
+
'vue/component-api-style': ['error',
|
|
20
|
+
['script-setup', 'composition'],
|
|
21
|
+
],
|
|
22
|
+
'vue/match-component-import-name': ['error'],
|
|
23
|
+
'vue/new-line-between-multi-line-property': ['error'],
|
|
24
|
+
'vue/no-empty-component-block': ['error'],
|
|
25
|
+
'vue/no-potential-component-option-typo': ['error', {
|
|
26
|
+
presets: ['all'],
|
|
27
|
+
}],
|
|
28
|
+
'vue/prefer-define-options': ['error'],
|
|
29
|
+
'vue/valid-define-options': ['error'],
|
|
30
|
+
'vue/require-macro-variable-name': ['error', {
|
|
31
|
+
defineProps: 'props',
|
|
32
|
+
defineEmits: 'emit',
|
|
33
|
+
defineSlots: 'slots',
|
|
34
|
+
useSlots: 'slots',
|
|
35
|
+
useAttrs: 'attrs',
|
|
36
|
+
}],
|
|
37
|
+
'vue/no-unused-emit-declarations': ['error'],
|
|
38
|
+
'vue/attribute-hyphenation': [
|
|
39
|
+
'warn',
|
|
40
|
+
'always',
|
|
41
|
+
{},
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
files: [
|
|
47
|
+
'**/views/**/*.vue',
|
|
48
|
+
],
|
|
49
|
+
rules: {
|
|
50
|
+
'vue/no-multiple-template-root': ['error'],
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { TypedFlatConfigItem } from '@antfu/eslint-config';
|
|
2
|
+
|
|
3
|
+
import antfu from '@antfu/eslint-config';
|
|
4
|
+
import { ignores } from './config/ignores';
|
|
5
|
+
import { stylistic } from './config/stylistic';
|
|
6
|
+
import { vue } from './config/vue';
|
|
7
|
+
|
|
8
|
+
export async function pubinfo(
|
|
9
|
+
...userConfigs: Parameters<typeof antfu>[1][]
|
|
10
|
+
): Promise<TypedFlatConfigItem[]> {
|
|
11
|
+
return antfu(
|
|
12
|
+
{
|
|
13
|
+
unocss: false,
|
|
14
|
+
},
|
|
15
|
+
vue(),
|
|
16
|
+
stylistic(),
|
|
17
|
+
ignores(),
|
|
18
|
+
...userConfigs,
|
|
19
|
+
);
|
|
20
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export const GLOB_SRC_EXT = '?([cm])[jt]s?(x)';
|
|
2
|
+
export const GLOB_SRC = '**/*.?([cm])[jt]s?(x)';
|
|
3
|
+
|
|
4
|
+
export const GLOB_JS = '**/*.?([cm])js';
|
|
5
|
+
export const GLOB_JSX = '**/*.?([cm])jsx';
|
|
6
|
+
|
|
7
|
+
export const GLOB_TS = '**/*.?([cm])ts';
|
|
8
|
+
export const GLOB_TSX = '**/*.?([cm])tsx';
|
|
9
|
+
|
|
10
|
+
export const GLOB_STYLE = '**/*.{c,le,sc}ss';
|
|
11
|
+
export const GLOB_CSS = '**/*.css';
|
|
12
|
+
export const GLOB_POSTCSS = '**/*.{p,post}css';
|
|
13
|
+
export const GLOB_LESS = '**/*.less';
|
|
14
|
+
export const GLOB_SCSS = '**/*.scss';
|
|
15
|
+
|
|
16
|
+
export const GLOB_JSON = '**/*.json';
|
|
17
|
+
export const GLOB_JSON5 = '**/*.json5';
|
|
18
|
+
export const GLOB_JSONC = '**/*.jsonc';
|
|
19
|
+
|
|
20
|
+
export const GLOB_MARKDOWN = '**/*.md';
|
|
21
|
+
export const GLOB_MARKDOWN_IN_MARKDOWN = '**/*.md/*.md';
|
|
22
|
+
export const GLOB_SVELTE = '**/*.svelte';
|
|
23
|
+
export const GLOB_VUE = '**/*.vue';
|
|
24
|
+
export const GLOB_YAML = '**/*.y?(a)ml';
|
|
25
|
+
export const GLOB_TOML = '**/*.toml';
|
|
26
|
+
export const GLOB_HTML = '**/*.htm?(l)';
|
|
27
|
+
|
|
28
|
+
export const GLOB_MARKDOWN_CODE = `${GLOB_MARKDOWN}/${GLOB_SRC}`;
|
|
29
|
+
|
|
30
|
+
export const GLOB_TESTS = [
|
|
31
|
+
`**/__tests__/**/*.${GLOB_SRC_EXT}`,
|
|
32
|
+
`**/*.spec.${GLOB_SRC_EXT}`,
|
|
33
|
+
`**/*.test.${GLOB_SRC_EXT}`,
|
|
34
|
+
`**/*.bench.${GLOB_SRC_EXT}`,
|
|
35
|
+
`**/*.benchmark.${GLOB_SRC_EXT}`,
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
export const GLOB_ALL_SRC = [
|
|
39
|
+
GLOB_SRC,
|
|
40
|
+
GLOB_STYLE,
|
|
41
|
+
GLOB_JSON,
|
|
42
|
+
GLOB_JSON5,
|
|
43
|
+
GLOB_MARKDOWN,
|
|
44
|
+
GLOB_SVELTE,
|
|
45
|
+
GLOB_VUE,
|
|
46
|
+
GLOB_YAML,
|
|
47
|
+
GLOB_HTML,
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
export const GLOB_EXCLUDE = [
|
|
51
|
+
'**/node_modules',
|
|
52
|
+
'**/dist',
|
|
53
|
+
'**/package-lock.json',
|
|
54
|
+
'**/yarn.lock',
|
|
55
|
+
'**/pnpm-lock.yaml',
|
|
56
|
+
'**/bun.lockb',
|
|
57
|
+
|
|
58
|
+
'**/output',
|
|
59
|
+
'**/coverage',
|
|
60
|
+
'**/temp',
|
|
61
|
+
'**/.temp',
|
|
62
|
+
'**/tmp',
|
|
63
|
+
'**/.tmp',
|
|
64
|
+
'**/.history',
|
|
65
|
+
'**/.vitepress/cache',
|
|
66
|
+
'**/.nuxt',
|
|
67
|
+
'**/.next',
|
|
68
|
+
'**/.vercel',
|
|
69
|
+
'**/.changeset',
|
|
70
|
+
'**/.idea',
|
|
71
|
+
'**/.cache',
|
|
72
|
+
'**/.output',
|
|
73
|
+
'**/.vite-inspect',
|
|
74
|
+
'**/es',
|
|
75
|
+
'**/lib',
|
|
76
|
+
|
|
77
|
+
'**/CHANGELOG*.md',
|
|
78
|
+
'**/*.min.*',
|
|
79
|
+
'**/LICENSE*',
|
|
80
|
+
'**/__snapshots__',
|
|
81
|
+
'**/auto-import?(s).d.ts',
|
|
82
|
+
'**/components.d.ts',
|
|
83
|
+
'**/*.cjs',
|
|
84
|
+
'**/*.mjs',
|
|
85
|
+
'**/assets/**/*.json',
|
|
86
|
+
];
|
package/src/index.ts
ADDED
package/src/stylelint.ts
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
extends: [
|
|
3
|
+
'stylelint-config-recess-order',
|
|
4
|
+
],
|
|
5
|
+
plugins: [
|
|
6
|
+
'stylelint-scss',
|
|
7
|
+
'@stylistic/stylelint-plugin',
|
|
8
|
+
],
|
|
9
|
+
overrides: [
|
|
10
|
+
{
|
|
11
|
+
files: ['**/*.(css|html|vue)'],
|
|
12
|
+
customSyntax: 'postcss-html',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
files: ['*.less', '**/*.less'],
|
|
16
|
+
customSyntax: 'postcss-less',
|
|
17
|
+
extends: ['stylelint-config-standard-less', 'stylelint-config-standard-vue'],
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
files: ['*.scss', '**/*.scss'],
|
|
21
|
+
customSyntax: 'postcss-scss',
|
|
22
|
+
extends: ['stylelint-config-standard-scss', 'stylelint-config-standard-vue/scss'],
|
|
23
|
+
rule: {
|
|
24
|
+
'scss/double-slash-comment-empty-line-before': null,
|
|
25
|
+
'scss/no-global-function-names': null,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
rules: {
|
|
30
|
+
'at-rule-no-unknown': null,
|
|
31
|
+
'no-descending-specificity': null,
|
|
32
|
+
'property-no-unknown': null,
|
|
33
|
+
'font-family-no-missing-generic-family-keyword': null,
|
|
34
|
+
'selector-class-pattern': null,
|
|
35
|
+
'function-no-unknown': [
|
|
36
|
+
true,
|
|
37
|
+
{
|
|
38
|
+
ignoreFunctions: [
|
|
39
|
+
'v-bind',
|
|
40
|
+
'map-get',
|
|
41
|
+
'lighten',
|
|
42
|
+
'darken',
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
'selector-pseudo-element-no-unknown': [
|
|
47
|
+
true,
|
|
48
|
+
{
|
|
49
|
+
ignorePseudoElements: [
|
|
50
|
+
'/^view-transition/',
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
// 提取自 https://github.com/elirasza/stylelint-stylistic/blob/main/config/index.js
|
|
55
|
+
'@stylistic/at-rule-name-case': 'lower',
|
|
56
|
+
'@stylistic/at-rule-name-space-after': 'always-single-line',
|
|
57
|
+
'@stylistic/at-rule-semicolon-newline-after': 'always',
|
|
58
|
+
'@stylistic/block-closing-brace-empty-line-before': 'never',
|
|
59
|
+
'@stylistic/block-closing-brace-newline-before': 'always-multi-line',
|
|
60
|
+
'@stylistic/block-closing-brace-space-before': 'always-single-line',
|
|
61
|
+
'@stylistic/block-opening-brace-newline-after': 'always-multi-line',
|
|
62
|
+
'@stylistic/block-opening-brace-space-after': 'always-single-line',
|
|
63
|
+
'@stylistic/block-opening-brace-space-before': 'always',
|
|
64
|
+
'@stylistic/color-hex-case': 'lower',
|
|
65
|
+
'@stylistic/declaration-bang-space-after': 'never',
|
|
66
|
+
'@stylistic/declaration-bang-space-before': 'always',
|
|
67
|
+
'@stylistic/declaration-block-semicolon-newline-after': 'always-multi-line',
|
|
68
|
+
'@stylistic/declaration-block-semicolon-space-after': 'always-single-line',
|
|
69
|
+
'@stylistic/declaration-block-semicolon-space-before': 'never',
|
|
70
|
+
'@stylistic/declaration-block-trailing-semicolon': 'always',
|
|
71
|
+
'@stylistic/declaration-colon-newline-after': 'always-multi-line',
|
|
72
|
+
'@stylistic/declaration-colon-space-after': 'always-single-line',
|
|
73
|
+
'@stylistic/declaration-colon-space-before': 'never',
|
|
74
|
+
'@stylistic/function-comma-newline-after': 'always-multi-line',
|
|
75
|
+
'@stylistic/function-comma-space-after': 'always-single-line',
|
|
76
|
+
'@stylistic/function-comma-space-before': 'never',
|
|
77
|
+
'@stylistic/function-max-empty-lines': 0,
|
|
78
|
+
'@stylistic/function-parentheses-newline-inside': 'always-multi-line',
|
|
79
|
+
'@stylistic/function-parentheses-space-inside': 'never-single-line',
|
|
80
|
+
'@stylistic/function-whitespace-after': 'always',
|
|
81
|
+
'@stylistic/indentation': 2,
|
|
82
|
+
'@stylistic/max-empty-lines': 1,
|
|
83
|
+
'@stylistic/media-feature-colon-space-after': 'always',
|
|
84
|
+
'@stylistic/media-feature-colon-space-before': 'never',
|
|
85
|
+
'@stylistic/media-feature-name-case': 'lower',
|
|
86
|
+
'@stylistic/media-feature-parentheses-space-inside': 'never',
|
|
87
|
+
'@stylistic/media-feature-range-operator-space-after': 'always',
|
|
88
|
+
'@stylistic/media-feature-range-operator-space-before': 'always',
|
|
89
|
+
'@stylistic/media-query-list-comma-newline-after': 'always-multi-line',
|
|
90
|
+
'@stylistic/media-query-list-comma-space-after': 'always-single-line',
|
|
91
|
+
'@stylistic/media-query-list-comma-space-before': 'never',
|
|
92
|
+
'@stylistic/no-empty-first-line': true,
|
|
93
|
+
'@stylistic/no-eol-whitespace': true,
|
|
94
|
+
'@stylistic/no-extra-semicolons': true,
|
|
95
|
+
'@stylistic/no-missing-end-of-source-newline': true,
|
|
96
|
+
'@stylistic/number-leading-zero': 'always',
|
|
97
|
+
'@stylistic/number-no-trailing-zeros': true,
|
|
98
|
+
'@stylistic/property-case': 'lower',
|
|
99
|
+
'@stylistic/selector-attribute-brackets-space-inside': 'never',
|
|
100
|
+
'@stylistic/selector-attribute-operator-space-after': 'never',
|
|
101
|
+
'@stylistic/selector-attribute-operator-space-before': 'never',
|
|
102
|
+
'@stylistic/selector-combinator-space-after': 'always',
|
|
103
|
+
'@stylistic/selector-combinator-space-before': 'always',
|
|
104
|
+
'@stylistic/selector-descendant-combinator-no-non-space': true,
|
|
105
|
+
'@stylistic/selector-list-comma-newline-after': 'always',
|
|
106
|
+
'@stylistic/selector-list-comma-space-before': 'never',
|
|
107
|
+
'@stylistic/selector-max-empty-lines': 0,
|
|
108
|
+
'@stylistic/selector-pseudo-class-case': 'lower',
|
|
109
|
+
'@stylistic/selector-pseudo-class-parentheses-space-inside': 'never',
|
|
110
|
+
'@stylistic/selector-pseudo-element-case': 'lower',
|
|
111
|
+
'@stylistic/string-quotes': 'double',
|
|
112
|
+
'@stylistic/unit-case': 'lower',
|
|
113
|
+
'@stylistic/value-list-comma-newline-after': 'always-multi-line',
|
|
114
|
+
'@stylistic/value-list-comma-space-after': 'always-single-line',
|
|
115
|
+
'@stylistic/value-list-comma-space-before': 'never',
|
|
116
|
+
'@stylistic/value-list-max-empty-lines': 0,
|
|
117
|
+
// 根据需要覆盖部分规则
|
|
118
|
+
'@stylistic/max-line-length': null,
|
|
119
|
+
'@stylistic/block-closing-brace-newline-after': [
|
|
120
|
+
'always',
|
|
121
|
+
{
|
|
122
|
+
ignoreAtRules: ['if', 'else'],
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
allowEmptyInput: true,
|
|
127
|
+
ignoreFiles: [
|
|
128
|
+
'**/node_modules/**/*',
|
|
129
|
+
'**/dist*/**/*',
|
|
130
|
+
'**/src/assets/fonts/**/*',
|
|
131
|
+
'**/*.cjs',
|
|
132
|
+
'**/*.ejs',
|
|
133
|
+
'**/.pubinfo/**/*',
|
|
134
|
+
],
|
|
135
|
+
};
|