diff --git a/package.json b/package.json
index f6c99fe77..f905243ed 100644
--- a/package.json
+++ b/package.json
@@ -25,7 +25,7 @@
"clean:lib": "rimraf node_modules",
"lint:eslint": "eslint --cache --max-warnings 0 \"src/**/*.{vue,ts,tsx}\" --fix",
"lint:prettier": "prettier --write \"src/**/*.{js,json,ts,tsx,css,less,scss,vue,html,md}\"",
- "lint:style": "stylelint --cache --fix \"**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/",
+ "lint:stylelint": "stylelint \"**/*.{vue,css,less,postcss,scss}\" --fix --cache --cache-location node_modules/.cache/stylelint/",
"lint:lint-staged": "lint-staged",
"npm:check": "npx npm-check-updates",
"reinstall": "rimraf pnpm-lock.yaml && rimraf package.lock.json && rimraf node_modules && npm run bootstrap",
@@ -112,8 +112,10 @@
"stylelint": "^15.6.0",
"stylelint-config-recommended": "^12.0.0",
"stylelint-config-recommended-vue": "^1.4.0",
+ "stylelint-config-recess-order": "^4.0.0",
"stylelint-config-standard": "^33.0.0",
"stylelint-order": "^6.0.3",
+ "stylelint-prettier": "^3.0.0",
"terser": "^5.17.1",
"typescript": "^5.0.4",
"unplugin-vue-setup-extend-plus": "^1.0.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a35742e54..91dd9f519 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -228,6 +228,9 @@ devDependencies:
stylelint:
specifier: ^15.6.0
version: 15.6.0
+ stylelint-config-recess-order:
+ specifier: ^4.0.0
+ version: 4.0.0(stylelint@15.6.0)
stylelint-config-recommended:
specifier: ^12.0.0
version: 12.0.0(stylelint@15.6.0)
@@ -240,6 +243,9 @@ devDependencies:
stylelint-order:
specifier: ^6.0.3
version: 6.0.3(stylelint@15.6.0)
+ stylelint-prettier:
+ specifier: ^3.0.0
+ version: 3.0.0(prettier@2.8.8)(stylelint@15.6.0)
terser:
specifier: ^5.17.1
version: 5.17.1
@@ -7852,6 +7858,15 @@ packages:
stylelint: 15.6.0
dev: true
+ /stylelint-config-recess-order@4.0.0(stylelint@15.6.0):
+ resolution: {integrity: sha512-sOb+OofMryBR91CbzgV2FavpONqiIeAE7cfrgyUHqePblWBKsYzoUuWThI5EjPRA7KKeovm6ykr7twWYLeafPQ==}
+ peerDependencies:
+ stylelint: '>=15'
+ dependencies:
+ stylelint: 15.6.0
+ stylelint-order: 6.0.3(stylelint@15.6.0)
+ dev: true
+
/stylelint-config-recommended-vue@1.4.0(postcss-html@1.5.0)(stylelint@15.6.0):
resolution: {integrity: sha512-DVJqyX2KvMCn9U0+keL12r7xlsH26K4Vg8NrIZuq5MoF7g82DpMp326Om4E0Q+Il1o+bTHuUyejf2XAI0iD04Q==}
engines: {node: ^12 || >=14}
@@ -7893,6 +7908,18 @@ packages:
stylelint: 15.6.0
dev: true
+ /stylelint-prettier@3.0.0(prettier@2.8.8)(stylelint@15.6.0):
+ resolution: {integrity: sha512-kIks1xw6np0zElokMT2kP6ar3S4MBoj6vUtPJuND1pFELMpZxVS/0uHPR4HDAVn0WAD3I5oF0IA3qBFxBpMkLg==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ prettier: '>=2.0.0'
+ stylelint: '>=14.0.0'
+ dependencies:
+ prettier: 2.8.8
+ prettier-linter-helpers: 1.0.0
+ stylelint: 15.6.0
+ dev: true
+
/stylelint@15.6.0:
resolution: {integrity: sha512-Cqzpc8tvJm77KaM8qUbhpJ/UYK55Ia0whQXj4b9IId9dlPICO7J8Lyo15SZWiHxKjlvy3p5FQor/3n6i8ignXg==}
engines: {node: ^14.13.1 || >=16.0.0}
diff --git a/src/components/Application/src/AppDarkModeToggle.vue b/src/components/Application/src/AppDarkModeToggle.vue
index e50aa2ca3..b38803cef 100644
--- a/src/components/Application/src/AppDarkModeToggle.vue
+++ b/src/components/Application/src/AppDarkModeToggle.vue
@@ -46,6 +46,8 @@ html[data-theme='dark'] {
.@{prefix-cls} {
position: relative;
display: flex;
+ align-items: center;
+ justify-content: space-between;
width: 50px;
height: 26px;
padding: 0 6px;
@@ -53,8 +55,6 @@ html[data-theme='dark'] {
cursor: pointer;
background-color: #151515;
border-radius: 30px;
- justify-content: space-between;
- align-items: center;
&-inner {
position: absolute;
diff --git a/src/components/Application/src/AppLogo.vue b/src/components/Application/src/AppLogo.vue
index 91dd329a7..c4f7e4c33 100644
--- a/src/components/Application/src/AppLogo.vue
+++ b/src/components/Application/src/AppLogo.vue
@@ -70,8 +70,8 @@ function goHome() {
&__title {
font-size: 16px;
font-weight: 700;
- transition: all 0.5s;
line-height: normal;
+ transition: all 0.5s;
}
}
diff --git a/src/components/Application/src/search/AppSearchFooter.vue b/src/components/Application/src/search/AppSearchFooter.vue
index 8174d3595..459b918fe 100644
--- a/src/components/Application/src/search/AppSearchFooter.vue
+++ b/src/components/Application/src/search/AppSearchFooter.vue
@@ -23,6 +23,8 @@ const { t } = useI18n()
.@{prefix-cls} {
position: relative;
display: flex;
+ flex-shrink: 0;
+ align-items: center;
height: 44px;
padding: 0 16px;
font-size: 12px;
@@ -30,11 +32,11 @@ const { t } = useI18n()
background-color: @component-background;
border-top: 1px solid @border-color-base;
border-radius: 0 0 16px 16px;
- align-items: center;
- flex-shrink: 0;
&-item {
display: flex;
+ align-items: center;
+ justify-content: center;
width: 20px;
height: 18px;
padding-bottom: 2px;
@@ -42,8 +44,6 @@ const { t } = useI18n()
background-color: linear-gradient(-225deg, #d5dbe4, #f8f8f8);
border-radius: 2px;
box-shadow: inset 0 -2px 0 0 #cdcde6, inset 0 0 1px 1px #fff, 0 1px 2px 1px rgb(30 35 90 / 40%);
- align-items: center;
- justify-content: center;
&:nth-child(2),
&:nth-child(3),
diff --git a/src/components/Application/src/search/AppSearchModal.vue b/src/components/Application/src/search/AppSearchModal.vue
index d63ffe750..6c66dcb77 100644
--- a/src/components/Application/src/search/AppSearchModal.vue
+++ b/src/components/Application/src/search/AppSearchModal.vue
@@ -114,11 +114,11 @@ function handleClose() {
left: 0;
z-index: 800;
display: flex;
+ justify-content: center;
width: 100%;
height: 100%;
padding-top: 50px;
background-color: rgb(0 0 0 / 25%);
- justify-content: center;
&--mobile {
padding: 0;
@@ -159,19 +159,19 @@ function handleClose() {
&-content {
position: relative;
+ flex-direction: column;
width: 632px;
margin: 0 auto auto;
background-color: @component-background;
border-radius: 16px;
box-shadow: 0 25px 50px -12px rgb(0 0 0 / 25%);
- flex-direction: column;
}
&-input__wrapper {
display: flex;
- padding: 14px 14px 0;
- justify-content: space-between;
align-items: center;
+ justify-content: space-between;
+ padding: 14px 14px 0;
}
&-input {
@@ -194,12 +194,12 @@ function handleClose() {
&-not-data {
display: flex;
+ align-items: center;
+ justify-content: center;
width: 100%;
height: 100px;
font-size: 0.9;
color: rgb(150 159 175);
- align-items: center;
- justify-content: center;
}
&-list {
@@ -213,6 +213,7 @@ function handleClose() {
&__item {
position: relative;
display: flex;
+ align-items: center;
width: 100%;
height: 56px;
padding-bottom: 4px;
@@ -224,7 +225,6 @@ function handleClose() {
background-color: @component-background;
border-radius: 4px;
box-shadow: 0 1px 3px 0 #d4d9e1;
- align-items: center;
> div:first-child,
> div:last-child {
diff --git a/src/components/Basic/src/BasicArrow.vue b/src/components/Basic/src/BasicArrow.vue
index 2761f7813..10fbddccf 100644
--- a/src/components/Basic/src/BasicArrow.vue
+++ b/src/components/Basic/src/BasicArrow.vue
@@ -49,8 +49,8 @@ const getClass = computed(() => {
.@{prefix-cls} {
display: inline-block;
cursor: pointer;
- transform: rotate(0deg);
transition: all 0.3s ease 0.1s;
+ transform: rotate(0deg);
transform-origin: center center;
&--active {
diff --git a/src/components/Basic/src/BasicTitle.vue b/src/components/Basic/src/BasicTitle.vue
index 2979d870e..50fe9ac2c 100644
--- a/src/components/Basic/src/BasicTitle.vue
+++ b/src/components/Basic/src/BasicTitle.vue
@@ -64,8 +64,8 @@ const getClass = computed(() => [
width: 3px;
height: 16px;
margin-right: 4px;
- background-color: @primary-color;
content: '';
+ background-color: @primary-color;
}
&-help {
diff --git a/src/components/Container/src/collapse/CollapseContainer.vue b/src/components/Container/src/collapse/CollapseContainer.vue
index 50dc48eba..cf94bcd54 100644
--- a/src/components/Container/src/collapse/CollapseContainer.vue
+++ b/src/components/Container/src/collapse/CollapseContainer.vue
@@ -97,9 +97,9 @@ export default defineComponent({
&__header {
display: flex;
- height: 32px;
- justify-content: space-between;
align-items: center;
+ justify-content: space-between;
+ height: 32px;
border-bottom: 1px solid @border-color-light;
}
@@ -109,10 +109,10 @@ export default defineComponent({
&__action {
display: flex;
- text-align: right;
flex: 1;
align-items: center;
justify-content: flex-end;
+ text-align: right;
}
}
diff --git a/src/components/ContextMenu/src/ContextMenu.vue b/src/components/ContextMenu/src/ContextMenu.vue
index 5bdc6f460..97ac3a78c 100644
--- a/src/components/ContextMenu/src/ContextMenu.vue
+++ b/src/components/ContextMenu/src/ContextMenu.vue
@@ -172,12 +172,12 @@ export default defineComponent({
width: 156px;
margin: 0;
list-style: none;
+ user-select: none;
background-color: @component-background;
+ background-clip: padding-box;
border: 1px solid rgb(0 0 0 / 8%);
border-radius: 0.25rem;
box-shadow: 0 2px 2px 0 rgb(0 0 0 / 14%), 0 3px 1px -2px rgb(0 0 0 / 10%), 0 1px 5px 0 rgb(0 0 0 / 6%);
- background-clip: padding-box;
- user-select: none;
&__item {
margin: 0 !important;
diff --git a/src/components/Cropper/src/CopperModal.vue b/src/components/Cropper/src/CopperModal.vue
index 7859de688..f8e559ea3 100644
--- a/src/components/Cropper/src/CopperModal.vue
+++ b/src/components/Cropper/src/CopperModal.vue
@@ -204,8 +204,8 @@ async function handleOk() {
&-toolbar {
display: flex;
- justify-content: space-between;
align-items: center;
+ justify-content: space-between;
margin-top: 10px;
}
@@ -225,11 +225,11 @@ async function handleOk() {
&-group {
display: flex;
+ align-items: center;
+ justify-content: space-around;
padding-top: 8px;
margin-top: 8px;
border-top: 1px solid @border-color-base;
- justify-content: space-around;
- align-items: center;
}
}
diff --git a/src/components/Cropper/src/CropperAvatar.vue b/src/components/Cropper/src/CropperAvatar.vue
index 97dfd61f8..5f31b1c60 100644
--- a/src/components/Cropper/src/CropperAvatar.vue
+++ b/src/components/Cropper/src/CropperAvatar.vue
@@ -90,14 +90,14 @@ defineExpose({ openModal: openModal.bind(null, true), closeModal })
}
&-image-mask {
- opacity: 0;
position: absolute;
width: inherit;
height: inherit;
- border-radius: inherit;
- border: inherit;
- background: rgb(0 0 0 / 40%);
cursor: pointer;
+ background: rgb(0 0 0 / 40%);
+ border: inherit;
+ border-radius: inherit;
+ opacity: 0;
transition: opacity 0.4s;
:deep(svg) {
diff --git a/src/components/Drawer/src/BasicDrawer.vue b/src/components/Drawer/src/BasicDrawer.vue
index 256f1ff81..ceb224097 100644
--- a/src/components/Drawer/src/BasicDrawer.vue
+++ b/src/components/Drawer/src/BasicDrawer.vue
@@ -191,11 +191,11 @@ function handleOk() {
position: absolute;
.ant-drawer-header {
+ box-sizing: border-box;
width: 100%;
height: @detail-header-height;
padding: 0;
border-top: 1px solid @border-color-base;
- box-sizing: border-box;
}
.ant-drawer-title {
diff --git a/src/components/Drawer/src/components/DrawerHeader.vue b/src/components/Drawer/src/components/DrawerHeader.vue
index f61243d3b..c3e4e42d6 100644
--- a/src/components/Drawer/src/components/DrawerHeader.vue
+++ b/src/components/Drawer/src/components/DrawerHeader.vue
@@ -42,8 +42,8 @@ function handleClose() {
@footer-height: 60px;
.@{prefix-cls} {
display: flex;
- height: 100%;
align-items: center;
+ height: 100%;
&__back {
padding: 0 12px;
diff --git a/src/components/Form/src/BasicForm.vue b/src/components/Form/src/BasicForm.vue
index cf13db953..adbbe40f6 100644
--- a/src/components/Form/src/BasicForm.vue
+++ b/src/components/Form/src/BasicForm.vue
@@ -299,10 +299,10 @@ const getFormActionBindProps = computed((): Recordable => ({ ...getProps.value,
.suffix {
display: inline-flex;
+ align-items: center;
padding-left: 6px;
margin-top: 1px;
line-height: 1;
- align-items: center;
}
}
}
diff --git a/src/components/FormDesign/src/components/VFormDesign/components/FormOptions.vue b/src/components/FormDesign/src/components/VFormDesign/components/FormOptions.vue
index d514fdfd9..fbbc39618 100644
--- a/src/components/FormDesign/src/components/VFormDesign/components/FormOptions.vue
+++ b/src/components/FormDesign/src/components/VFormDesign/components/FormOptions.vue
@@ -94,14 +94,14 @@ export default defineComponent({
}
.options-delete {
+ flex-shrink: 0;
width: 30px;
height: 30px;
- flex-shrink: 0;
line-height: 30px;
- text-align: center;
- border-radius: 50%;
- background: #f5f5f5;
color: #666;
+ text-align: center;
+ background: #f5f5f5;
+ border-radius: 50%;
&:hover {
background: #ff4d4f;
diff --git a/src/components/FormDesign/src/components/VFormDesign/components/RuleProps.vue b/src/components/FormDesign/src/components/VFormDesign/components/RuleProps.vue
index 64dccc0f0..f7d8bf6a9 100644
--- a/src/components/FormDesign/src/components/VFormDesign/components/RuleProps.vue
+++ b/src/components/FormDesign/src/components/VFormDesign/components/RuleProps.vue
@@ -237,9 +237,9 @@ export default defineComponent({
:deep(.icon) {
width: 1em;
height: 1em;
+ overflow: hidden;
vertical-align: -0.15em;
fill: currentcolor;
- overflow: hidden;
}
.rule-props-content {
@@ -249,10 +249,10 @@ export default defineComponent({
.rule-props-item {
position: relative;
- background-color: #f0eded;
padding: 3px 2px;
- border-radius: 5px;
margin-bottom: 5px;
+ background-color: #f0eded;
+ border-radius: 5px;
:deep(.ant-form-item) {
border: 0 !important;
@@ -262,11 +262,11 @@ export default defineComponent({
position: absolute;
top: -5px;
right: -5px;
+ z-index: 999;
color: #ccc;
cursor: pointer;
- border-radius: 7px;
background-color: #a3a0a0;
- z-index: 999;
+ border-radius: 7px;
&:hover {
color: #00c;
diff --git a/src/components/FormDesign/src/components/VFormDesign/modules/CollapseItem.vue b/src/components/FormDesign/src/components/VFormDesign/modules/CollapseItem.vue
index a785ff270..85bcf1196 100644
--- a/src/components/FormDesign/src/components/VFormDesign/modules/CollapseItem.vue
+++ b/src/components/FormDesign/src/components/VFormDesign/modules/CollapseItem.vue
@@ -68,28 +68,28 @@ export default defineComponent({
@import url('../styles/variable.less');
ul {
- padding: 5px;
- list-style: none;
display: flex;
- margin-bottom: 0;
flex-wrap: wrap;
+ padding: 5px;
+ margin-bottom: 0;
+ list-style: none;
// background: #efefef;
li {
- padding: 8px 12px;
- transition: all 0.3s;
width: calc(50% - 6px);
- margin: 2.7px;
height: 36px;
+ padding: 8px 12px;
+ margin: 2.7px;
line-height: 20px;
cursor: move;
border: 1px solid @border-color;
border-radius: 3px;
+ transition: all 0.3s;
&:hover {
+ position: relative;
color: @primary-color;
border: 1px solid @primary-color;
- position: relative;
// z-index: 1;
box-shadow: 0 2px 6px @primary-color;
}
diff --git a/src/components/FormDesign/src/components/VFormDesign/modules/FormComponentPanel.vue b/src/components/FormDesign/src/components/VFormDesign/modules/FormComponentPanel.vue
index 0ab94b387..893e6bbf1 100644
--- a/src/components/FormDesign/src/components/VFormDesign/modules/FormComponentPanel.vue
+++ b/src/components/FormDesign/src/components/VFormDesign/modules/FormComponentPanel.vue
@@ -94,8 +94,8 @@ export default defineComponent({
.list-main {
display: flex;
flex-wrap: wrap;
- justify-content: flex-start;
align-content: flex-start;
+ justify-content: flex-start;
.layout-width {
width: 100%;
@@ -113,24 +113,24 @@ export default defineComponent({
height: 100%;
.empty-text {
- color: #aaa;
- height: 150px;
- inset: -10% 0 0;
- margin: auto;
position: absolute;
+ inset: -10% 0 0;
z-index: 100;
+ height: 150px;
+ margin: auto;
+ color: #aaa;
}
.draggable-box {
// width: 100%;
.drag-move {
- cursor: move;
min-height: 62px;
+ cursor: move;
}
.list-main {
- overflow: auto;
height: 100%;
+ overflow: auto;
// 列表动画
.list-enter-active {
transition: all 0.5s;
diff --git a/src/components/FormDesign/src/components/VFormDesign/modules/PropsPanel.vue b/src/components/FormDesign/src/components/VFormDesign/modules/PropsPanel.vue
index 7e2b8fb1b..699766a42 100644
--- a/src/components/FormDesign/src/components/VFormDesign/modules/PropsPanel.vue
+++ b/src/components/FormDesign/src/components/VFormDesign/modules/PropsPanel.vue
@@ -60,12 +60,12 @@ export default defineComponent({
box-sizing: border-box;
form {
- width: 100%;
position: absolute;
+ width: 100%;
height: calc(100% - 50px);
margin-right: 10px;
- overflow-y: auto;
overflow-x: hidden;
+ overflow-y: auto;
}
.hint-box {
@@ -74,9 +74,9 @@ export default defineComponent({
.ant-form-item,
.ant-slider-with-marks {
- margin-left: 10px;
margin-right: 20px;
margin-bottom: 0;
+ margin-left: 10px;
}
.ant-form-item {
diff --git a/src/components/FormDesign/src/components/VFormDesign/modules/Toolbar.vue b/src/components/FormDesign/src/components/VFormDesign/modules/Toolbar.vue
index b48704b66..45cd10bfe 100644
--- a/src/components/FormDesign/src/components/VFormDesign/modules/Toolbar.vue
+++ b/src/components/FormDesign/src/components/VFormDesign/modules/Toolbar.vue
@@ -99,24 +99,23 @@ export default defineComponent({
diff --git a/src/components/Table/src/components/editable/EditableCell.vue b/src/components/Table/src/components/editable/EditableCell.vue
index 1b369f471..bf66423b5 100644
--- a/src/components/Table/src/components/editable/EditableCell.vue
+++ b/src/components/Table/src/components/editable/EditableCell.vue
@@ -498,11 +498,11 @@ export default defineComponent({
.ellipsis-cell {
.cell-content {
- overflow-wrap: break-word;
- word-break: break-word;
overflow: hidden;
- white-space: nowrap;
text-overflow: ellipsis;
+ word-break: break-word;
+ overflow-wrap: break-word;
+ white-space: nowrap;
}
}
diff --git a/src/components/Upload/src/UploadModal.vue b/src/components/Upload/src/UploadModal.vue
index f225a97c3..1d86b1be7 100644
--- a/src/components/Upload/src/UploadModal.vue
+++ b/src/components/Upload/src/UploadModal.vue
@@ -268,9 +268,9 @@ async function handleCloseFunc() {
margin-bottom: 8px;
&__btn {
+ flex: 1;
margin-left: 8px;
text-align: right;
- flex: 1;
}
}
}
diff --git a/src/components/Verifition/src/Verify.vue b/src/components/Verifition/src/Verify.vue
index 576a7b8de..ca4c8e4fe 100644
--- a/src/components/Verifition/src/Verify.vue
+++ b/src/components/Verifition/src/Verify.vue
@@ -145,30 +145,30 @@ export default {
diff --git a/src/views/base/lock/LockPage.vue b/src/views/base/lock/LockPage.vue
index 9a2f4d041..e90923e72 100644
--- a/src/views/base/lock/LockPage.vue
+++ b/src/views/base/lock/LockPage.vue
@@ -127,12 +127,12 @@ function handleShowForm(show = false) {
&__hour,
&__minute {
display: flex;
+ align-items: center;
+ justify-content: center;
font-weight: 700;
color: #bababa;
background-color: #141313;
border-radius: 30px;
- justify-content: center;
- align-items: center;
@media screen and (max-width: @screen-md) {
span:not(.meridiem) {
@@ -176,12 +176,12 @@ function handleShowForm(show = false) {
top: 0;
left: 0;
display: flex;
+ align-items: center;
+ justify-content: center;
width: 100%;
height: 100%;
background-color: rgb(0 0 0 / 50%);
backdrop-filter: blur(8px);
- justify-content: center;
- align-items: center;
&-content {
width: 260px;
diff --git a/src/views/base/login/Login.vue b/src/views/base/login/Login.vue
index 8f9bc6fa0..c9ab497bb 100644
--- a/src/views/base/login/Login.vue
+++ b/src/views/base/login/Login.vue
@@ -125,11 +125,11 @@ html[data-theme='dark'] {
width: 100%;
height: 100%;
margin-left: -48%;
- background-image: url('@/assets/svg/login-bg.svg');
- background-position: 100%;
- background-repeat: no-repeat;
- background-size: auto 100%;
content: '';
+ background-image: url('@/assets/svg/login-bg.svg');
+ background-repeat: no-repeat;
+ background-position: 100%;
+ background-size: auto 100%;
@media (max-width: @screen-xl) {
display: none;
diff --git a/stylelint.config.js b/stylelint.config.js
index 9a254fea7..a58161187 100644
--- a/stylelint.config.js
+++ b/stylelint.config.js
@@ -1,15 +1,29 @@
module.exports = {
root: true,
- plugins: ['stylelint-order'],
- extends: ['stylelint-config-standard'],
- customSyntax: 'postcss-html',
+ plugins: ['stylelint-order', 'stylelint-prettier'],
+ extends: ['stylelint-config-standard', 'stylelint-config-recess-order'],
+ overrides: [
+ {
+ files: ['**/*.(css|html|vue)'],
+ customSyntax: 'postcss-html'
+ },
+ {
+ files: ['*.less', '**/*.less'],
+ customSyntax: 'postcss-less',
+ extends: ['stylelint-config-standard', 'stylelint-config-recommended-vue']
+ }
+ ],
rules: {
+ 'prettier/prettier': true,
+ 'at-rule-no-unknown': null,
+ 'selector-not-notation': null,
+ 'import-notation': null,
'function-no-unknown': null,
'selector-class-pattern': null,
'selector-pseudo-class-no-unknown': [
true,
{
- ignorePseudoClasses: ['global']
+ ignorePseudoClasses: ['global', 'deep']
}
],
'selector-pseudo-element-no-unknown': [
@@ -24,19 +38,19 @@ module.exports = {
ignoreAtRules: ['tailwind', 'apply', 'variants', 'responsive', 'screen', 'function', 'if', 'each', 'include', 'mixin']
}
],
+ 'media-feature-range-notation': null,
'no-empty-source': null,
+ 'string-quotes': null,
'import-notation': null,
'named-grid-areas-no-invalid': null,
'no-descending-specificity': null,
'font-family-no-missing-generic-family-keyword': null,
- // 'declaration-block-trailing-semicolon': 'always',
'rule-empty-line-before': [
'always',
{
ignore: ['after-comment', 'first-nested']
}
],
- 'unit-no-unknown': [true, { ignoreUnits: ['rpx'] }],
'order/order': [
[
'dollar-variables',
@@ -51,36 +65,14 @@ module.exports = {
type: 'at-rule',
name: 'media'
},
+ {
+ type: 'at-rule',
+ name: 'include'
+ },
'rules'
],
- { severity: 'warning' }
+ { severity: 'error' }
]
},
- ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts'],
- overrides: [
- {
- files: ['*.vue', '**/*.vue', '*.html', '**/*.html'],
- extends: ['stylelint-config-recommended'],
- 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']
- }
- ]
- }
- },
- {
- files: ['*.less', '**/*.less'],
- customSyntax: 'postcss-less',
- extends: ['stylelint-config-standard', 'stylelint-config-recommended-vue']
- }
- ]
+ ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts']
}