npm 包 @tanshio/stylelint-config 使用教程

什么是 @tanshio/stylelint-config

@tanshio/stylelint-config 是一个基于 Stylelint 的规则配置包,旨在为开发者提供一套可靠的前端代码风格规范。

此规则配置包与 Airbnb CSS/Sass Styleguide 以及 BEM 命名规则相一致,确保了代码风格的统一性和可读性。

安装和使用

在项目的根目录下通过 npm 安装 @tanshio/stylelint-config

--- ------- ---------- -------------------------

在项目的 .stylelintrc.js 文件中导入并继承 @tanshio/stylelint-config

-------------- - -
  -------- ------------------------------
--

此时,你的项目规则已经基于 @tanshio/stylelint-config 进行了定制。

你可以在此基础上进行二次定制:

-------------- - -
  -------- ------------------------------
  ------ -
    -- --- -- -------- ----- ----
  --
--

此规则配置包包含以下规则:

  • at-rule-name-space-after: 要求在 at 规则的名称后跟一个或多个空格。
  • block-closing-brace-empty-line-before: 要求块的闭合括号之前没有空行。
  • block-closing-brace-newline-after: 在块的末尾制定一个新的行。
  • block-closing-brace-newline-before: 在块结束标志符前插入一个换行符。
  • block-closing-brace-space-after: 在块结束标志符后指定一个或多个空格。
  • block-closing-brace-space-before: 在块结束标志符前指定一个或多个空格。
  • block-opening-brace-newline-after: 在块开始的括号之后指定一个换行符。
  • block-opening-brace-newline-before: 在块的开始括号之前指定一个换行符。
  • block-opening-brace-space-after: 在块的开始括号之后指定一个或多个空格。
  • block-opening-brace-space-before: 在块的开始括号之前指定一个或多个空格。
  • color-hex-case: 将 16 进制颜色转换为小写。
  • color-hex-length: 强制使用短符号的 16 进制颜色。
  • color-no-invalid-hex: 禁止无效的 16 进制颜色。
  • comment-empty-line-before: 在注释块之前,要求一个空行。
  • comment-no-empty: 不允许空注释。
  • comment-whitespace-inside: 强制注释标记内的空格。
  • custom-property-empty-line-before: 在自定义属性块之前,要求一个空行。
  • declaration-bang-space-after: 在感叹号后至少需要一个空格或一个或多个空格。
  • declaration-bang-space-before: 在感叹号前插入一个空格。
  • declaration-block-no-duplicate-properties: 禁止在声明块中重复的属性。
  • declaration-block-no-shorthand-property-overrides: 禁止声明块中使用可缩写的属性拦截其自身的其他属性。
  • declaration-block-semicolon-newline-after: 要求声明块中的最后一个分号之前有一个换行符(在多行块中)。
  • declaration-block-semicolon-newline-before: 要求声明块中的分号之后有一个换行符(在多行块中)。
  • declaration-block-semicolon-space-after: 在声明块中的分号之后指定一个或多个空格。
  • declaration-block-semicolon-space-before: 在声明块中的分号之前指定一个或多个空格。
  • declaration-block-single-line-max-declarations: 限制仅在单行式声明块中包含的声明数量。.
  • declaration-block-trailing-semicolon: 要求声明块的最后一个声明结束后有一个分号。
  • declaration-colon-newline-after: 强制在声明中使用一个换行符。
  • declaration-colon-space-after: 在冒号之后指定一个或多个空格。
  • declaration-colon-space-before: 在冒号之前指定一个空格。
  • declaration-empty-line-before: 在声明之前要求一个空行。
  • font-family-name-quotes: 在字体名称中使用引号。
  • function-calc-no-unspaced-operator: 禁止未分隔操作符的计算方法。
  • function-comma-newline-after: 在函数中强制换行。
  • function-comma-newline-before: 强制在函数中换行符。
  • function-comma-space-after: 在函数中指定一个或多个空格。
  • function-comma-space-before: 在函数中指定一个空格。
  • function-linear-gradient-no-nonstandard-direction: 禁止使用不支持的方向名称定义的术语的 linear-gradient()。
  • function-name-case: 强制要求函数名称为小写。
  • function-parentheses-newline-inside: 在函数中强制换行符。
  • function-parentheses-space-inside: 强制括号内有空格。
  • function-url-quotes: 在 URL 中使用引号。
  • function-whitespace-after: 在函数后指定一个或多个空格。
  • indentation: 强制缩进的方式。
  • keyframe-declaration-no-important: 禁止在 @keyframe 块中使用 important。
  • keyframes-name-pattern: 在 @keyframes 中强制使用自定义名称模式。
  • length-zero-no-unit: 禁止在值为 0 时省略单位。
  • max-empty-lines: 连续空行的数量不得超过限制。
  • media-feature-colon-space-after: 在媒体功能冒号后指定一个或多个空格。
  • media-feature-colon-space-before: 在媒体功能冒号前插入一个空格。
  • media-feature-name-case: 强制要求媒体功能名称为小写。
  • media-feature-name-no-unknown: 禁止使用未知的媒体功能名称。
  • media-feature-name-no-vendor-prefix: 禁止使用浏览器引擎前缀。
  • media-feature-parentheses-space-inside: 强制媒体功能中的括号内使用空格。
  • media-feature-range-operator-space-after: 在媒体功能范围操作符之后指定一个或多个空格。
  • media-feature-range-operator-space-before: 在媒体功能范围操作符之前插入一个空格。
  • media-query-list-comma-newline-after: 强制在媒体查询中的逗号之后使用换行符。
  • media-query-list-comma-newline-before: 在媒体查询列表逗号之前强制使用换行符。
  • media-query-list-comma-space-after: 在媒体查询列表中的逗号之后指定一个或多个空格。
  • media-query-list-comma-space-before: 在媒体查询列表中逗号之前指定一个空格。
  • no-duplicate-selectors: 禁止选择器中的重复类。
  • no-empty-source: 禁止空样式文件。
  • no-eol-whitespace: 禁止行尾空格。
  • no-extra-semicolons: 禁止多余的分号。
  • no-invalid-double-slash-comments: 禁止无效的双斜杠注释。
  • no-missing-end-of-source-newline: 禁止在 CSS 中缺少末尾的空白行。
  • no-unknown-animations: 禁止未知的 keyframe 名称。
  • number-leading-zero: 禁止前导零,必须为整数省略 0。
  • number-no-trailing-zeros: 禁止尾随零。
  • property-case: 强制要求属性名称为小写。
  • property-no-unknown: 禁止使用未知属性。
  • property-no-vendor-prefix: 禁止使用浏览器引擎前缀。
  • rule-empty-line-before: 在规则块之前,要求一个空行。
  • selector-attribute-brackets-space-inside: 强制属性选择器内的括号内使用空格。
  • selector-attribute-operator-space-after: 在属性选择器的操作符之后指定一个或多个空格。
  • selector-attribute-operator-space-before: 在属性选择器的操作符之前插入一个空格。
  • selector-combinator-space-after: 在选择器组合器之后指定一个或多个空格。
  • selector-combinator-space-before: 在选择器组合器之前插入一个空格。
  • selector-descendant-combinator-no-non-space: 禁止后代组合器的非空值。
  • selector-pseudo-class-case: 强制要求伪类选择器名称为小写。
  • selector-pseudo-class-no-unknown: 禁止单词伪类名称,并禁止未知的伪类选择器。
  • selector-pseudo-class-parentheses-space-inside: 强制伪类选择器括号内的空格。
  • selector-pseudo-element-case: 强制要求伪元素选择器名称为小写。
  • selector-pseudo-element-colon-notation: 强制伪元素使用双冒号符号。
  • selector-pseudo-element-no-unknown: 禁止未知的伪元素选择器。
  • selector-type-case: 强制要求选择器类型名称为小写。
  • selector-type-no-unknown: 禁止未知的选择器类型。
  • selector-max-compound-selectors: 限制选择器中的复合选择器。
  • shorthand-property-no-redundant-values: 禁止属性负荷最大的简写中使用不必要的值。
  • string-no-newline: 禁止在字符串中使用换行符。
  • time-min-milliseconds: 限制潜在的不必要的小数位。
  • unit-case: 强制要求单位名称为小写。
  • unit-no-unknown: 禁止出现未知的单位。
  • value-keyword-case: 强制要求值关键字名称为小写。
  • value-list-comma-newline-after: 在值列表中强制使用换行符。
  • value-list-comma-newline-before: 在值列表中逗号之前强制使用换行符。
  • value-list-comma-space-after: 在值列表中的逗号之后指定一个或多个空格。
  • value-list-comma-space-before: 在值列表中的逗号之前指定一个空格。
  • value-no-vendor-prefix: 禁止使用浏览器引擎前缀。

示例代码

-- --------------- --
-------------- - -
  -------- ------------------------------
  ------ -
    -- --- -- -------- ----- ----
  --
--

总结

使用 @tanshio/stylelint-config 可以更方便地为项目定制代码风格规范,减少代码冲突与操作成本。希望本文可以对前端开发者有所帮助。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600554df81e8991b448d212c


猜你喜欢

  • npm 包 bluecup 使用教程

    bluecup 是一个用于构建 Web 应用程序的 JavaScript 工具库,具有简单易用、可重用、可扩展等特点。本文将介绍如何使用 bluecup 构建 Web 应用程序。

    2 年前
  • npm 包 kwapi-wrapper-js 使用教程

    简介 Kwapi 是一种监控数据收集工具,而 Kwapi-wrapper-js 是一个基于 JavaScript 封装的 Kwapi 客户端。 npm 包 kwapi-wrapper-js 将 Kwa...

    2 年前
  • npm 包 site-scheme 使用教程

    前言 site-scheme 是一个强大的 npm 包,可以帮助前端开发人员在网站或者应用中快速实现深色/黑暗模式。本文将针对 site-scheme 的使用进行详细介绍,帮助开发人员快速上手使用。

    2 年前
  • npm 包 auth0-rule-sandbox 使用教程

    背景 Auth0 是目前市场上一个比较常用的身份认证平台,它提供了各种集成方案,如 OAuth2.0、 Open ID Connect 等等,为网站或移动应用提供了一个简单而有效的身份认证标准。

    2 年前
  • npm 包 md-react-teste 使用教程

    在开发前端的过程中,我们经常需要在页面中加入一些具有丰富效果的文本内容,这时候可以使用 Markdown 来进行书写,而 md-react-teste 这个 npm 包则是为了让 Markdown 在...

    2 年前
  • npm 包 js-type-convert 使用教程

    在前端开发中,我们经常会遇到需要将不同类型的数据进行转换的情况。此时,npm 包 js-type-convert 提供了一种快速有效的解决方案。本篇文章将详细介绍如何使用此包进行类型转换,并提供实用的...

    2 年前
  • NPM 包 Octopug 使用教程

    简介 Octopug 是一款基于 Node.js 的模板引擎,可以帮助前端开发人员更方便地添加模板文件和模板函数,提高开发效率。本文将介绍 Octopug 的使用方法,包括安装和配置,语法,兼容性和相...

    2 年前
  • npm 包 react-input-range-minmax-label 使用教程

    前言 在前端开发中,输入范围组件是一个常见的需求,例如一个价格过滤器或者一个时间段选择器。在这个领域,React 框架拥有大量的组件库和插件,使得开发者可以轻易地实现这些功能。

    2 年前
  • npm 包 spco 使用教程

    在前端开发中,我们常常需要使用各种各样的第三方库和工具来提升开发效率和解决问题。而 npm(Node Package Manager)则是我们常用的包管理工具之一,可以让我们轻松地安装、更新和卸载各种...

    2 年前
  • npm 包 wedashmo 使用教程

    Wedashmo 是一个基于 Node.js 的 Web 开发框架,旨在提高前端开发人员的工作效率和开发质量。它提供了一系列的工具和组件来简化开发过程,并为 Web 应用程序提供高性能和扩展性。

    2 年前
  • npm 包 is-json-file 使用教程

    随着前端技术的不断发展,现在的前端工程师需要掌握越来越多的工具和技术。而其中一个非常重要的技能就是使用 npm 包,npm 包可以帮助我们更好地处理前端项目中的各种问题。

    2 年前
  • npm 包 hyperkit 使用教程

    在前端开发中,我们经常需要使用各种工具来提高开发效率,其中 npm 包就是一个非常重要的工具。而 hyperkit 是一个 npm 包,提供了一些有用的功能,可以帮助我们更加方便地开发和测试前端应用程...

    2 年前
  • npm 包 thue 使用教程

    什么是 thue? thue 是一个轻量级的 JavaScript 工具库,它提供了一些实用的方法,可以帮助我们更便捷地开发 Web 应用。thue 可以在浏览器端和 Node.js 环境下使用,它的...

    2 年前
  • npm 包 fly-rename 使用教程

    介绍 npm 包 fly-rename 是一个轻量级的前端开发工具,它可以帮助我们在项目中批量重命名文件或目录。对于开发中需要大量更改名称的情况,fly-rename 可以提高我们的工作效率。

    2 年前
  • npm 包 dbind 使用教程

    随着前端开发的不断发展,我们不再满足于简单的静态页面展示,越来越多的前端库和框架涌现出来。其中,npm 是我们经常使用的前端包管理器,能够方便地进行依赖管理和模块加载。

    2 年前
  • npm 包 freelancer 使用教程

    Freelancer 是一个优秀的 npm 包之一,它能够帮助前端开发者更有效地处理异步或并发的请求和操作。在本教程中,我们将探索如何使用 freelancer 包来简化前端开发中的异步数据管理和通信...

    2 年前
  • npm 包 name-comparer 使用教程

    如果你经常使用 npm 下载安装包来进行 Web 开发,那么你一定会遇到这样的情况:在众多的包中,该使用哪一个包呢?包名的相似度很高,选择起来非常困难。这个问题可以通过 npm 包 name-comp...

    2 年前
  • npm 包 ycc-node-readability 使用教程

    在 Web 开发过程中,很多时候需要进行网页内容的抓取和解析。有许多不同的工具可以帮助我们实现这个目的,其中一种非常好用的工具就是 npm 包 ycc-node-readability。

    2 年前
  • npm 包 cf-server 使用教程

    cf-server 是一个基于 Node.js 和 Express 的轻量级后端服务器框架。它可以用于快速搭建一个简单的 Web 服务器,并且提供了一些常用的功能如路由、文件上传、错误处理等。

    2 年前
  • npm 包 entitizer.core 使用教程

    entitizer.core 是一个流行的 npm 包,它提供了一组用于实体识别和标记的工具。这个库允许您在文本中查找和标记属于特定文本类型的实体,并从中提取信息。

    2 年前

相关推荐

    暂无文章