chore: 初始化项目基础结构和资源文件
- 添加项目图标文件(app-icon.png、各平台图标) - 配置开发环境文件(.env、.nvmrc、.npmrc) - 添加静态资源文件(背景图片、字体、音频) - 初始化Tauri后端结构(build.rs、main.rs、模块文件) - 配置前端项目结构(TypeScript、Vue组件、样式) - 添加Node.js API服务基础结构 - 配置构建和开发工具(vite、prettier、gitignore)
This commit is contained in:
621
stylelint.config.js
Normal file
621
stylelint.config.js
Normal file
@ -0,0 +1,621 @@
|
||||
/** 是否为 uniapp */
|
||||
const isUniapp = true;
|
||||
|
||||
export default {
|
||||
// stylelint-config-html支持更多扩展: "stylelint-config-html/html", "stylelint-config-html/xml", "stylelint-config-html/vue", "stylelint-config-html/svelte", "stylelint-config-html/astro", "stylelint-config-html/php"
|
||||
extends: ['stylelint-config-recommended-scss', 'stylelint-config-html/vue'],
|
||||
plugins: ['stylelint-order', 'stylelint-scss'],
|
||||
overrides: [
|
||||
{
|
||||
files: ['*.html', '**/*.html', '*.nvue', '**/*.nvue', '*.uvue', '**/*.uvue'],
|
||||
customSyntax: 'postcss-html',
|
||||
},
|
||||
],
|
||||
// 在某些文件或文件夹中禁用检查
|
||||
ignoreFiles: ['index.html', 'dist/**', 'src/uni_modules/**', '!src/uni_modules/mxp-*/**/*', 'src/uni_modules/mxp-tool/sdk/'],
|
||||
|
||||
// 规则
|
||||
rules: {
|
||||
// 不允许使用这些规则降序
|
||||
'no-descending-specificity': null, // 不允许优先级较低性的选择器出现在覆盖较高优先级的选择器之后。
|
||||
// 禁止使用这些规则进行重复
|
||||
'declaration-block-no-duplicate-custom-properties': true, // 不允许重复自定义属性
|
||||
'declaration-block-no-duplicate-properties': [true, { ignoreProperties: ['image-rendering', 'position'] }], // 禁止声明块的重复属性。
|
||||
'font-family-no-duplicate-names': true, // 禁止使用重复的字体名称。
|
||||
'keyframe-block-no-duplicate-selectors': null, // 禁止关键帧块中的重复选择器。
|
||||
'no-duplicate-at-import-rules': true, // 禁止在样式表中使用重复的 @import 规则。
|
||||
'no-duplicate-selectors': true, // 禁止样式表中的重复选择器。
|
||||
|
||||
// 使用这些规则禁止空的东西
|
||||
'block-no-empty': true, // 禁止空块。
|
||||
'comment-no-empty': null, // 禁止空注释。 在scss/comment-no-empty 中启用该规则
|
||||
'no-empty-source': true, // 禁止空源码。
|
||||
// 禁止使用这些(有时是隐式)规则的无效语法
|
||||
'color-no-invalid-hex': true, // 禁止使用无效的十六进制颜色
|
||||
'function-calc-no-unspaced-operator': true, // 禁止在 calc 函数中使用没有间隔的运算符。
|
||||
'keyframe-declaration-no-important': true, // 在动画中禁止关键帧声明的 !important。
|
||||
'media-query-no-invalid': true, // 禁止无效的媒体查询。
|
||||
'named-grid-areas-no-invalid': true, // 禁止无效的命名网格区域。
|
||||
'no-invalid-double-slash-comments': true, // 不允许无效的双斜杠注释。
|
||||
'no-invalid-position-at-import-rule': true, // @import 只能在其他样式最前面
|
||||
'string-no-newline': true, // 禁止字符串中的(未转义)换行符。
|
||||
// 根据这些规则禁止不规则的事情
|
||||
'no-irregular-whitespace': true, // 禁止使用不规则空格
|
||||
// 禁止使用这些规则进行遗漏
|
||||
'custom-property-no-missing-var-function': true, // 自定义属性必须添加var()
|
||||
'font-family-no-missing-generic-family-keyword': [true, { ignoreFontFamilies: ['mxp-iconfont'] }], // 不允许在字体系列名称列表中缺少通用系列。
|
||||
// 禁止使用这些规则的非标准事物
|
||||
'function-linear-gradient-no-nonstandard-direction': true, // 禁止在 linear-gradient() 中调用不符合标准语法的无效方
|
||||
// 禁止使用这些规则进行覆盖
|
||||
'declaration-block-no-shorthand-property-overrides': true, // 禁止简写属性覆盖相关的扩写属性。
|
||||
// 不允许与这些规则相提并论的东西
|
||||
'selector-anb-no-unmatchable': true, // 禁止不匹配的 An+B 选择器。(:nth-child(0n+0) 这里报错,结果匹配不到任何元素) (15.3.0新增)
|
||||
// 用这些规则禁止未知的事物
|
||||
'annotation-no-unknown': [true, { ignoreAnnotations: 'default' }], // 不允许使用未知批注
|
||||
'at-rule-no-unknown': null, // 不允许未知的规则。 // 在 scss/at-rule-no-unknown中开启
|
||||
'declaration-property-value-no-unknown': isUniapp ? null : true, // 不允许声明中的属性出现未知值
|
||||
'function-no-unknown': null, // 禁止未知功能 在 "scss/function-no-unknown" 中开启
|
||||
'media-feature-name-no-unknown': true, // 禁止未知的媒体功能名。
|
||||
'media-feature-name-value-no-unknown': true, // 禁止媒体功能的未知值。
|
||||
'no-unknown-animations': true, // 禁止未知的动画。
|
||||
'no-unknown-custom-media': true, // 禁止未知自定义媒体查询
|
||||
'no-unknown-custom-properties': null, // 禁止未知自定义属性。
|
||||
'property-no-unknown': [
|
||||
null,
|
||||
{
|
||||
checkPrefixed: true,
|
||||
ignoreSelectors: [':export', ':root'],
|
||||
ignoreProperties: ['lines'],
|
||||
},
|
||||
], // 禁止未知的属性 使用 scss/property-no-unknown覆盖
|
||||
'selector-pseudo-class-no-unknown': [true, { ignorePseudoClasses: ['deep', 'global', 'export'] }], // 禁止未知的伪类选择器
|
||||
'selector-pseudo-element-no-unknown': true, // 禁止未知的伪元素选择器。
|
||||
'selector-type-no-unknown': [true, { ignoreTypes: ['page', 'text'] }], // 禁止未知的类型选择器。
|
||||
'unit-no-unknown': [true, { ignoreUnits: ['rpx'] }], // 禁止未知的单位。
|
||||
// 允许、不允许和必填
|
||||
// at-rule 相关
|
||||
'at-rule-allowed-list': null, // 指定允许的at-rules规则列表
|
||||
'at-rule-disallowed-list': ['extend'], //指定不允许的规则列表
|
||||
'at-rule-no-vendor-prefix': true, // 不允许使用供应商前缀作为 at 规则
|
||||
'at-rule-property-required-list': null, // 指定 at 规则的必需属性列表
|
||||
// 颜色
|
||||
'color-hex-alpha': 'never', // 要求或禁止十六进制颜色的 Alpha 通道。
|
||||
'color-named': 'never', // 禁止颜色使用名称 如不能 color: black ,而应该使用color: #000000
|
||||
'color-no-hex': null, // 禁止十六进制颜色。
|
||||
// 评论
|
||||
'comment-word-disallowed-list': [null, '/^TODO:/', 'badword'], // 指定注释中不允许的单词列表
|
||||
// 声明
|
||||
'declaration-no-important': null, // 禁止使用 !important
|
||||
'declaration-property-unit-allowed-list': null, // 限制属性的值的单位
|
||||
'declaration-property-unit-disallowed-list': null, //指定声明中不允许的属性和单位对的列表
|
||||
'declaration-property-value-allowed-list': null, // 指定声明中允许的属性和值对的列表
|
||||
'declaration-property-value-disallowed-list': null, // 指定声明中禁止的属性和值对的列表
|
||||
// function
|
||||
'function-allowed-list': null, // 指定允许的功能列表。
|
||||
'function-disallowed-list': null, // 指定不允许使用的功能列表。
|
||||
'function-url-no-scheme-relative': true, // 禁止相对协议 URL。
|
||||
'function-url-scheme-allowed-list': null, ///指定允许的 URL 方案列表。
|
||||
'function-url-scheme-disallowed-list': null, // 指定不允许的 URL 方案列表。
|
||||
// 参数
|
||||
'length-zero-no-unit': true, // 不允许使用零长度的单位
|
||||
// 媒体
|
||||
'media-feature-name-allowed-list': null, // 指定允许的媒体功能名称列表
|
||||
'media-feature-name-disallowed-list': null, // 指定不允许的媒体功能名称列表
|
||||
'media-feature-name-no-vendor-prefix': true, // 不允许使用媒体功能名称的供应商前缀
|
||||
'media-feature-name-unit-allowed-list': null, // 指定媒体功能中允许的名称和设备对的列表
|
||||
'media-feature-name-value-allowed-list': null, // 指定允许的媒体功能名称和值对的列表
|
||||
// 财产
|
||||
'property-allowed-list': null, //指定允许的属性列表。
|
||||
'property-disallowed-list': null, //指定不允许的属性列表。
|
||||
'property-no-vendor-prefix': [true, { ignoreProperties: ['mask-image', 'mask-size', 'user-select'] }], // 属性不允许出现供应商前缀(可自动修复)。
|
||||
// 统治
|
||||
'rule-selector-property-disallowed-list': null, // 指定每个元素不允许的属性
|
||||
// 选择器
|
||||
'selector-attribute-name-disallowed-list': ['id', '/^data-/'], // 指定不允许的属性名称的列表
|
||||
'selector-attribute-operator-allowed-list': ['=', '*=', '^='], // 指定允许的属性运算符的列表
|
||||
'selector-attribute-operator-disallowed-list': null, // 指定不允许的属性运算符的列表
|
||||
'selector-combinator-allowed-list': ['+', '>', ' '], //指定允许的组合器的列表
|
||||
'selector-combinator-disallowed-list': null, // 指定不允许的组合器的列表
|
||||
'selector-disallowed-list': null, // 指定不允许的选择器列表
|
||||
'selector-no-qualifying-type': [true, { ignore: ['class', 'attribute'] }], // 不允许按类型限定选择器
|
||||
'selector-no-vendor-prefix': true, // 不允许使用选择器的供应商前缀
|
||||
'selector-pseudo-class-allowed-list': null, // 指定允许的伪类选择器的列表
|
||||
'selector-pseudo-class-disallowed-list': null, // 指定不允许的伪类选择器的列表
|
||||
'selector-pseudo-element-allowed-list': null, // 指定允许的伪元素选择器的列表
|
||||
'selector-pseudo-element-disallowed-list': ['before', 'after'], // 指定不允许的伪元素选择器的列表
|
||||
|
||||
// 单位
|
||||
'unit-allowed-list': isUniapp ? ['px', 'rpx', 's', 'deg', '%', 'fr', 'em', 'vh', 'vw'] : ['px', 's', 'deg', '%', 'fr', 'em', 'vh', 'vw'], //指定允许的单位列表。
|
||||
'unit-disallowed-list': isUniapp ? ['rem', 'ms'] : ['rem', 'rpx', 'ms'], // 指定不允许的单位列表
|
||||
// 价值
|
||||
'value-no-vendor-prefix': [true, { ignoreValues: ['sticky', 'box'] }], // 值不允许出现供应商前缀(可自动修复)。
|
||||
// 使用这些规则为单词指定小写或大写
|
||||
'function-name-case': 'lower', // 指定函数名的大小写(可自动修复)。
|
||||
'selector-type-case': 'lower', // 指定类型选择器的大小写(可自动修复)。
|
||||
'value-keyword-case': 'lower', // 指定关键字值的大小写(可自动修复)。
|
||||
// 在构造之前强制执行或禁止使用这些规则的空行
|
||||
'at-rule-empty-line-before': [
|
||||
'always',
|
||||
{
|
||||
except: ['blockless-after-blockless', 'first-nested', 'blockless-after-same-name-blockless', 'after-same-name'],
|
||||
ignore: ['after-comment'],
|
||||
},
|
||||
], // 要求或禁止在 at 规则之前使用空行
|
||||
'comment-empty-line-before': ['always', { except: ['first-nested'], ignoreComments: ['/^#/'] }], // 要求或禁止在注释之前的空行(可自动修复)。
|
||||
'custom-property-empty-line-before': 'never', // 要求或禁止在自定义属性之前使用空行(可自动修复)。
|
||||
'declaration-empty-line-before': ['never', { ignore: 'after-comment' }], // 在声明之前要求或禁止空行。
|
||||
'rule-empty-line-before': ['always', { ignore: ['after-comment', 'first-nested'] }], // 要求或禁止在规则之前的空行(可自动修复)。
|
||||
// 使用这些和规则应用限制最大最小
|
||||
'declaration-block-single-line-max-declarations': 1, // 一行中最大允许的属性数量
|
||||
'declaration-property-max-values': null, // 限制属性的最大值
|
||||
'max-nesting-depth': null, // 限制嵌套的深度
|
||||
'number-max-precision': 4, // 限制数字中允许的小数位数
|
||||
'selector-max-attribute': 2, //限制选择器中的属性选择器的数量
|
||||
'selector-max-class': null, // 限制选择器中的类的最大数量
|
||||
'selector-max-combinators': null, // 限制选择器中组合器的最大数量 (组合器即: > + ~ 空格 等等)
|
||||
'selector-max-compound-selectors': null, // 所有选择器的最大数量 (包含id class 等选择器)
|
||||
'selector-max-id': 0, //限制选择器中 ID 选择器的最大数量
|
||||
'selector-max-pseudo-class': null, // 限制选择器中伪类的数量
|
||||
'selector-max-specificity': null, // 限制选择器的特异性
|
||||
'selector-max-type': null, // 限制选择器中类型选择器的数量
|
||||
'selector-max-universal': 0, // 限制选择器中通用选择器的数量
|
||||
'time-min-milliseconds': 10, // 指定时间值的最小毫秒数
|
||||
// 使用这些(有时是隐式)规则强制执行具有多个事物的一种表示形式
|
||||
|
||||
'alpha-value-notation': 'number', // 指定alpha值的百分比或数字表示法(可自动修复)。
|
||||
'color-function-notation': 'legacy', // 颜色代码同意使用逗号或空格分割
|
||||
'color-hex-length': 'long', // 为十六进制颜色指定短表示法或长表示法,即是:#ffffff 还是#fff "short" "long"
|
||||
'font-weight-notation': 'named-where-possible', //需要数字或命名(如果可能)font-weight值。此外,当需要命名值时,只需要有效的名称。
|
||||
'hue-degree-notation': 'angle', // 指定度数或角度表示法(可自动修复)。
|
||||
'import-notation': 'string', // 使用@import url("xxxx.scss"); 还是@import "xxxx.scss";
|
||||
'keyframe-selector-notation': 'percentage', // 禁止使用无效的十六进制颜色
|
||||
'lightness-notation': 'percentage', // 指定亮度的数字或百分比表示法。
|
||||
'media-feature-range-notation': 'prefix', // 指定媒体特征范围的上下文或前缀表示法
|
||||
'selector-not-notation': 'simple', // 为伪类指定简单或复杂表示法。:not()
|
||||
'selector-pseudo-element-colon-notation': 'single', // 指定伪元素适用单冒号还是双冒号表示法(可自动修复)。
|
||||
// 使用这些规则强制执行命名约定
|
||||
'comment-pattern': null, // 指定注释的规则
|
||||
'custom-media-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, // 指定自定义媒体查询名称的模式 (命名规则)
|
||||
'custom-property-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, // 指定自定义属性的命名规则
|
||||
'keyframes-name-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, //指定关键帧名称的模式(命名规则)
|
||||
'selector-class-pattern': /(^[a-z][a-z0-9]*(-[a-z0-9]+)*$)|(^el-[a-z-_]+[a-z]$)/, // 【 特殊 】 指定类选择器的模式(即class的命名规范)
|
||||
'selector-id-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, // 指定ID选择器的模式(即id的命名规范)
|
||||
'selector-nested-pattern': null, // 为嵌套在规则中的规则选择器指定规则
|
||||
// 要求或禁止使用这些规则的引号
|
||||
'font-family-name-quotes': 'always-where-required', // 指定是否应在字体系列名称周围使用引号(可自动修复)
|
||||
'function-url-quotes': 'always', // 要求或禁止 URL 的引号。(可自动修复)。
|
||||
'selector-attribute-quotes': 'always', // 要求在块的开大括号之前必须有一个空格或不能有空白符。
|
||||
// 不允许使用这些规则进行冗余
|
||||
'declaration-block-no-redundant-longhand-properties': true, // 禁止冗余的写法
|
||||
'shorthand-property-no-redundant-values': true, // 禁止简写属性的冗余值
|
||||
// 使用此规则要求或禁止内部的空格
|
||||
'comment-whitespace-inside': 'always', // 要求或禁止注释标记内侧的空白符(可自动修复)。
|
||||
|
||||
/* ****************************************** stylelint-config-standard-scss ****************************************** */
|
||||
|
||||
'scss/at-each-key-value-single-line': true, // 用于检查用户使用 map-keys 或 map.keys 执行循环并在循环内获取该键的值的情况
|
||||
|
||||
'scss/at-else-closing-brace-newline-after': 'always-last-in-chain', // 在语句的右大括号之后要求或不允许换行符(可自动修复)
|
||||
'scss/at-else-closing-brace-space-after': 'always-intermediate', // 需要单个空格或不允许在语句的右大括号后使用空格(自动修复)。@else
|
||||
'scss/at-else-empty-line-before': 'never', // 要求在 -else 之前使用空行或不允许空行(可自动修复)。@else
|
||||
'scss/at-else-if-parentheses-space-before': 'always', // 要求或不允许在括号前加空格(可自动修复)。@else if
|
||||
|
||||
'scss/at-extend-no-missing-placeholder': true, // 禁止缺少占位符的 @extend
|
||||
|
||||
'scss/at-function-named-arguments': 'never', // 需要或禁止在 SCSS 函数调用规则中指定参数名称 animation: animation($duration: 250ms) 或 animation: animation(250ms)
|
||||
'scss/at-function-parentheses-space-before': 'never', // 要求或不允许在括号前加空格
|
||||
'scss/at-function-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, // 为类似 Sass/SCSS 的函数名称指定命名规则
|
||||
|
||||
'scss/at-if-closing-brace-newline-after': 'always-last-in-chain', // 要求或禁止在语句的右大括号后使用换行符
|
||||
'scss/at-if-closing-brace-space-after': 'always-intermediate', // 需要单个空格或不允许在语句的右大括号后使用空格
|
||||
'scss/at-if-no-null': true, // 检查是否等于 null 是不必要的显式,因为在 Sass 中是 falsey 即 @if $x == null 可改写为 @if not $x
|
||||
|
||||
'scss/at-import-partial-extension-allowed-list': ['scss'], // 允许导入的后缀名
|
||||
'scss/at-import-partial-extension-disallowed-list': null, // 不允许导入的后缀名
|
||||
|
||||
'scss/at-mixin-argumentless-call-parentheses': 'always', // 在无参数调用中要求或禁止使用括号
|
||||
'scss/at-mixin-named-arguments': 'never', // 在 @include() 调用规则中需要命名参数或不允许使用参数 @include aa($bbb: 250ms) 或者 @include aa(250ms)
|
||||
'scss/at-mixin-no-risky-nesting-selector': true,
|
||||
'scss/at-mixin-parentheses-space-before': 'never', //要求或不允许在括号前加空格
|
||||
'scss/at-mixin-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, // 允许@import扩展名的白名单
|
||||
|
||||
'scss/at-rule-conditional-no-parentheses': true, // 不允许在@条件规则中使用括号(@if, @elsif, @while)
|
||||
'scss/at-rule-no-unknown': true, //要求或不允许在括号前加空格
|
||||
|
||||
'scss/at-use-no-unnamespaced': true, // 不允许使用没有命名空间的 @use
|
||||
'scss/at-use-no-redundant-alias': true, // 禁止冗余命名空间别名(即 )。@use "foo" as foo
|
||||
|
||||
'scss/dollar-variable-colon-newline-after': 'always-multi-line', // 在 $变量声明中,冒号后需要换行符
|
||||
'scss/dollar-variable-colon-space-after': 'always-single-line', // 在$变量声明中,需要或不允许在冒号后使用空格
|
||||
'scss/dollar-variable-colon-space-before': 'never', // 在$变量声明中,需要或不允许在冒号前使用空格
|
||||
'scss/dollar-variable-default': null, // $变量声明的需要标志!default
|
||||
// 需要空行或不允许在$变量声明后使用空行
|
||||
'scss/dollar-variable-empty-line-after': [
|
||||
'always',
|
||||
{
|
||||
except: ['last-nested', 'before-comment', 'before-dollar-variable'],
|
||||
ignore: ['before-comment', 'inside-single-line-block'],
|
||||
},
|
||||
],
|
||||
// 需要空行或不允许在$变量声明前使用空行
|
||||
'scss/dollar-variable-empty-line-before': [
|
||||
'always',
|
||||
{
|
||||
except: ['first-nested', 'after-comment', 'after-dollar-variable'],
|
||||
ignore: ['after-comment', 'inside-single-line-block', 'after-dollar-variable'],
|
||||
},
|
||||
],
|
||||
'scss/dollar-variable-first-in-block': [true, { ignore: ['comments', 'imports'] }], //要求将 -变量声明放在块(根或规则)的第一个位置
|
||||
'scss/dollar-variable-no-missing-interpolation': true, // 禁止使用未经插值的 Sass 变量与使用自定义标识符的 CSS 功能
|
||||
'scss/dollar-variable-no-namespaced-assignment': true, // 不允许分配到命名空间变量
|
||||
'scss/dollar-variable-pattern': /^[_a-z][a-z0-9]*(-[a-z0-9]+)*$/, // 为变量名称指定命名规则
|
||||
|
||||
'scss/percent-placeholder-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, // 为%占位符名称指定命名规则
|
||||
|
||||
// 要求或禁止在双斜杠注释之前使用空行
|
||||
'scss/double-slash-comment-empty-line-before': [
|
||||
null,
|
||||
{
|
||||
except: ['first-nested', 'inside-block'],
|
||||
ignore: ['between-comments', 'stylelint-commands', 'inside-block'],
|
||||
},
|
||||
],
|
||||
'scss/double-slash-comment-inline': null, // 要求或不允许 -注释为内联注释
|
||||
'scss/double-slash-comment-whitespace-inside': 'always', // 要求或不允许在注释后面留空格
|
||||
|
||||
'scss/block-no-redundant-nesting': true, // 如果单个块可以与其父块合并,则不允许嵌套该块
|
||||
|
||||
'scss/comment-no-empty': true, // 为变量名称指定命名规则
|
||||
'scss/comment-no-loud': true, // 禁止/** * */注释,而全部使用 双斜杠注释
|
||||
|
||||
'scss/declaration-nested-properties': 'never', // 要求或禁止名称中包含的属性采用嵌套组的形式
|
||||
'scss/declaration-nested-properties-no-divided-groups': true, // 不允许将同一“命名空间”的嵌套属性划分为多个组
|
||||
|
||||
'scss/dimension-no-non-numeric-values': true, // 用单位(例如 )插入值会产生字符串值,而不是数值。然后,此值不能在数值运算中使用。最好使用算术将单位应用于数字
|
||||
'scss/function-calculation-no-interpolation': true, //不允许在calc(),clamp(),min(),max()函数中插值。
|
||||
'scss/function-color-relative': true, // 鼓励使用刻度颜色
|
||||
'scss/function-disallowed-list': null, //定不允许的函数列表
|
||||
'scss/function-no-unknown': [true, { ignoreFunctions: ['constant'] }], // 禁止未知函数
|
||||
'scss/function-quote-no-quoted-strings-inside': true, // 不允许在引号函数中使用带引号的字符串
|
||||
'scss/function-unquote-no-unquoted-strings-inside': true, // 不允许在 unquote 函数中使用未加引号的字符串
|
||||
|
||||
'scss/map-keys-quotes': 'always', // 要求在Sass中key必须加引号
|
||||
|
||||
'scss/media-feature-value-dollar-variable': null, // 要求媒体功能值为 -变量或不允许媒体功能值中的 -变量
|
||||
|
||||
'scss/operator-no-newline-after': true, // 禁止在 Sass 运算符之后换行
|
||||
'scss/operator-no-newline-before': true, // 禁止在 Sass 运算符之前换行
|
||||
'scss/operator-no-unspaced': true, // 禁止在 Sass 操作中使用无间隔运算符
|
||||
|
||||
'scss/partial-no-import': true, // 不允许在部分文件中使用非 .CSS导入
|
||||
|
||||
'scss/property-no-unknown': [
|
||||
true,
|
||||
{
|
||||
ignoreProperties: ['appPagePadding', 'appHeaderHeight', 'appSideBarShowWidth', 'appSideBarHideWidth'],
|
||||
},
|
||||
], // 禁止未知属性.覆盖Stylelint的规则
|
||||
|
||||
'scss/selector-nest-combinators': null, // 要求或禁止在选择器中嵌套组合器
|
||||
'scss/selector-no-redundant-nesting-selector': true, // 禁止冗余嵌套选择器
|
||||
'scss/selector-no-union-class-name': true, // 不允许将类名与父选择器合并
|
||||
|
||||
'scss/load-no-partial-leading-underscore': true, // 禁止在@import路径中使用前缀下划线
|
||||
'scss/load-partial-extension': 'always', // 在 @import,@use,@forward 和 [meta.load-css] 命令中要求或禁止扩展。
|
||||
|
||||
'scss/no-dollar-variables': null, // 不允许在样式表中使用美元变量
|
||||
'scss/no-duplicate-dollar-variables': true, // 不允许在样式表中使用重复的美元变量
|
||||
'scss/no-duplicate-mixins': true, // 禁止在样式表中使用重复的mixin
|
||||
'scss/no-global-function-names': true, // 不允许使用全局函数名称,因为这些全局函数现在位于内置 Sass 模块中
|
||||
'scss/no-unused-private-members': true, // 禁止未使用的私有成员,例如函数、mixin、变量或占位符选择器。
|
||||
|
||||
// 排序
|
||||
'order/order': [
|
||||
// 排序
|
||||
'dollar-variables',
|
||||
'custom-properties',
|
||||
'at-rules',
|
||||
'declarations',
|
||||
{ type: 'at-rule', name: 'supports' },
|
||||
{ type: 'at-rule', name: 'media' },
|
||||
'rules',
|
||||
],
|
||||
|
||||
'order/properties-order': [
|
||||
{ properties: ['all'] },
|
||||
{
|
||||
properties: ['position', 'inset', 'inset-block', 'inset-inline', 'top', 'right', 'bottom', 'left', 'z-index'],
|
||||
},
|
||||
{ properties: ['box-sizing', 'display'] },
|
||||
{
|
||||
properties: ['flex', 'flex-basis', 'flex-direction', 'flex-flow', 'flex-grow', 'flex-shrink', 'flex-wrap'],
|
||||
},
|
||||
{
|
||||
properties: [
|
||||
'grid',
|
||||
'grid-area',
|
||||
'grid-template',
|
||||
'grid-template-areas',
|
||||
'grid-template-rows',
|
||||
'grid-template-columns',
|
||||
'grid-row',
|
||||
'grid-row-start',
|
||||
'grid-row-end',
|
||||
'grid-column',
|
||||
'grid-column-start',
|
||||
'grid-column-end',
|
||||
'grid-auto-rows',
|
||||
'grid-auto-columns',
|
||||
'grid-auto-flow',
|
||||
'grid-gap',
|
||||
'grid-row-gap',
|
||||
'grid-column-gap',
|
||||
],
|
||||
},
|
||||
{ properties: ['gap', 'row-gap', 'column-gap'] },
|
||||
{
|
||||
properties: [
|
||||
'place-content',
|
||||
'place-items',
|
||||
'place-self',
|
||||
'align-content',
|
||||
'align-items',
|
||||
'align-self',
|
||||
'justify-content',
|
||||
'justify-items',
|
||||
'justify-self',
|
||||
],
|
||||
},
|
||||
{ properties: ['order'] },
|
||||
{
|
||||
properties: [
|
||||
'float',
|
||||
'width',
|
||||
'min-width',
|
||||
'max-width',
|
||||
'height',
|
||||
'min-height',
|
||||
'max-height',
|
||||
'padding',
|
||||
'padding-top',
|
||||
'padding-right',
|
||||
'padding-bottom',
|
||||
'padding-left',
|
||||
'margin',
|
||||
'margin-top',
|
||||
'margin-right',
|
||||
'margin-bottom',
|
||||
'margin-left',
|
||||
'overflow',
|
||||
'overflow-x',
|
||||
'overflow-y',
|
||||
'-webkit-overflow-scrolling',
|
||||
'-ms-overflow-x',
|
||||
'-ms-overflow-y',
|
||||
'-ms-overflow-style',
|
||||
'overscroll-behavior',
|
||||
'overscroll-behavior-x',
|
||||
'overscroll-behavior-y',
|
||||
'overscroll-behavior-inline',
|
||||
'overscroll-behavior-block',
|
||||
'clip',
|
||||
'clip-path',
|
||||
'clear',
|
||||
],
|
||||
},
|
||||
{
|
||||
properties: [
|
||||
'font',
|
||||
'font-family',
|
||||
'font-size',
|
||||
'font-style',
|
||||
'font-weight',
|
||||
'font-feature-settings',
|
||||
'font-kerning',
|
||||
'font-variant',
|
||||
'font-variant-ligatures',
|
||||
'font-variant-caps',
|
||||
'font-variant-alternates',
|
||||
'font-variant-numeric',
|
||||
'font-variant-east-asian',
|
||||
'font-variant-position',
|
||||
'font-size-adjust',
|
||||
'font-stretch',
|
||||
'font-effect',
|
||||
'font-emphasize',
|
||||
'font-emphasize-position',
|
||||
'font-emphasize-style',
|
||||
'-webkit-font-smoothing',
|
||||
'-moz-osx-font-smoothing',
|
||||
'font-smooth',
|
||||
'hyphens',
|
||||
'line-height',
|
||||
'color',
|
||||
'text-align',
|
||||
'text-align-last',
|
||||
'text-emphasis',
|
||||
'text-emphasis-color',
|
||||
'text-emphasis-style',
|
||||
'text-emphasis-position',
|
||||
'text-decoration',
|
||||
'text-decoration-line',
|
||||
'text-decoration-thickness',
|
||||
'text-decoration-style',
|
||||
'text-decoration-color',
|
||||
'text-underline-position',
|
||||
'text-underline-offset',
|
||||
'text-indent',
|
||||
'text-justify',
|
||||
'text-outline',
|
||||
'-ms-text-overflow',
|
||||
'text-overflow',
|
||||
'text-overflow-ellipsis',
|
||||
'text-overflow-mode',
|
||||
'text-shadow',
|
||||
'text-transform',
|
||||
'text-wrap',
|
||||
'-webkit-text-size-adjust',
|
||||
'-ms-text-size-adjust',
|
||||
'letter-spacing',
|
||||
'word-break',
|
||||
'word-spacing',
|
||||
'word-wrap', // Legacy name for `overflow-wrap`
|
||||
'overflow-wrap',
|
||||
'tab-size',
|
||||
'white-space',
|
||||
'vertical-align',
|
||||
'list-style',
|
||||
'list-style-position',
|
||||
'list-style-type',
|
||||
'list-style-image',
|
||||
],
|
||||
},
|
||||
{
|
||||
properties: [
|
||||
'pointer-events',
|
||||
'-ms-touch-action',
|
||||
'touch-action',
|
||||
'cursor',
|
||||
'visibility',
|
||||
'zoom',
|
||||
'table-layout',
|
||||
'empty-cells',
|
||||
'caption-side',
|
||||
'border-spacing',
|
||||
'border-collapse',
|
||||
'content',
|
||||
'quotes',
|
||||
'counter-reset',
|
||||
'counter-increment',
|
||||
'resize',
|
||||
'user-select',
|
||||
'nav-index',
|
||||
'nav-up',
|
||||
'nav-right',
|
||||
'nav-down',
|
||||
'nav-left',
|
||||
],
|
||||
},
|
||||
{
|
||||
properties: [
|
||||
'background',
|
||||
'background-color',
|
||||
'background-image',
|
||||
"-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient",
|
||||
'filter:progid:DXImageTransform.Microsoft.gradient',
|
||||
'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader',
|
||||
'filter',
|
||||
'background-repeat',
|
||||
'background-attachment',
|
||||
'background-position',
|
||||
'background-position-x',
|
||||
'background-position-y',
|
||||
'background-clip',
|
||||
'background-origin',
|
||||
'background-size',
|
||||
'background-blend-mode',
|
||||
'isolation',
|
||||
'border',
|
||||
'border-color',
|
||||
'border-style',
|
||||
'border-width',
|
||||
'border-top',
|
||||
'border-top-color',
|
||||
'border-top-style',
|
||||
'border-top-width',
|
||||
'border-right',
|
||||
'border-right-color',
|
||||
'border-right-style',
|
||||
'border-right-width',
|
||||
'border-bottom',
|
||||
'border-bottom-color',
|
||||
'border-bottom-style',
|
||||
'border-bottom-width',
|
||||
'border-left',
|
||||
'border-left-color',
|
||||
'border-left-style',
|
||||
'border-left-width',
|
||||
'border-radius',
|
||||
'border-top-left-radius',
|
||||
'border-top-right-radius',
|
||||
'border-bottom-right-radius',
|
||||
'border-bottom-left-radius',
|
||||
'border-image',
|
||||
'border-image-source',
|
||||
'border-image-slice',
|
||||
'border-image-width',
|
||||
'border-image-outset',
|
||||
'border-image-repeat',
|
||||
'outline',
|
||||
'outline-width',
|
||||
'outline-style',
|
||||
'outline-color',
|
||||
'outline-offset',
|
||||
'box-shadow',
|
||||
'mix-blend-mode',
|
||||
'filter:progid:DXImageTransform.Microsoft.Alpha(Opacity',
|
||||
"-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha",
|
||||
'opacity',
|
||||
'-ms-interpolation-mode',
|
||||
],
|
||||
},
|
||||
{
|
||||
properties: [
|
||||
'alignment-baseline',
|
||||
'baseline-shift',
|
||||
'dominant-baseline',
|
||||
'text-anchor',
|
||||
'word-spacing',
|
||||
'writing-mode',
|
||||
|
||||
'fill',
|
||||
'fill-opacity',
|
||||
'fill-rule',
|
||||
'stroke',
|
||||
'stroke-dasharray',
|
||||
'stroke-dashoffset',
|
||||
'stroke-linecap',
|
||||
'stroke-linejoin',
|
||||
'stroke-miterlimit',
|
||||
'stroke-opacity',
|
||||
'stroke-width',
|
||||
|
||||
'color-interpolation',
|
||||
'color-interpolation-filters',
|
||||
'color-profile',
|
||||
'color-rendering',
|
||||
'flood-color',
|
||||
'flood-opacity',
|
||||
'image-rendering',
|
||||
'lighting-color',
|
||||
'marker-start',
|
||||
'marker-mid',
|
||||
'marker-end',
|
||||
'mask',
|
||||
'shape-rendering',
|
||||
'stop-color',
|
||||
'stop-opacity',
|
||||
],
|
||||
},
|
||||
{
|
||||
properties: [
|
||||
'transition',
|
||||
'transition-delay',
|
||||
'transition-timing-function',
|
||||
'transition-duration',
|
||||
'transition-property',
|
||||
'transform',
|
||||
'transform-origin',
|
||||
'animation',
|
||||
'animation-name',
|
||||
'animation-duration',
|
||||
'animation-play-state',
|
||||
'animation-timing-function',
|
||||
'animation-delay',
|
||||
'animation-iteration-count',
|
||||
'animation-direction',
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user