Stylelint北极星
一组styelint规则,用来促进在消费应用中采用北极星设计系统。
安装
例子@shopify/style -polaris style - int
注意:
stylelint-polaris
的对等依赖项stylelint@ > = 14.15.0
使用
扩展@shopify / stylelint-polaris
在你的Stylelint配置.的例子package.json
例子{“stylelint”:{“扩展”:[“@shopify / stylelint-polaris”]}}
重要的是:
@shopify / stylelint-polaris
必须加在扩展
数组
打开过滤器
例子NPX style '**/*.{css,scss}'
运行过滤器并自动修复故障
例子NPX style——fix '**/*.{css,scss}'
忽略现有的故障
启用筛选器可能会导致现有代码库中出现大量警告和错误。提前修复尽可能多的故障是很重要的,但这不应该阻止添加过滤器。的styles-insert-stylelint-disable迁移插入忽略评论这样就实现了stylelint-polaris
可以解封。
迁移将插入如下注释:
例子+// style - font -disable-next-line——由polaris-migrator生成填充:1快速眼动;
执行以下命令替换<路径>
使用要运行的文件的glob模式:
例子NPX @shopify/polaris-migrator style -insert-style -disable
规则
在Stylelint Polaris中配置了超过40条规则,以帮助您避免错误,并在为Shopify管理构建时遵循风格和非风格约定。这些规则帮助我们衡量北极星设计系统在Shopify管理代码库中的覆盖率,使用以下类别:
版本对位
@shopify / stylelint-polaris | @shopify /北极星 |
---|---|
1.0.0 | 9.13.0 |
2.0.0 | 9.16.0 |
3.0.0 | 9.19.0 |
4.0.0 | 9.20.0 |
5.0.0 | 10.14.0 |
0 | 10.28.1 |
7.0.0 | 10.31.0 |
8.0.0 | 10.32.0 |
9.0.0 | 10.36.0 |
10.0.0 | 10.44.0 |
*@shopify/ styllint -polaris v5.0.0是第一个稳定版本
发展
添加新规则
- 导航到根目录
stylelint-polaris
配置 - 定位
stylelint-polaris /报道
选项 - 为新规则确定适当的类别
- 使用标准Stylelint插入规则规则配置
- 为规则添加文档,其中包含将作为问题报告的代码示例和将修复问题的代码
- 例如,标题应该是类别+样式int规则名称
# # #颜色/叫做
例子模块.出口={规则:{“北极星/覆盖”:{颜色:{…},//标准样式规则布局:{…},//标准样式规则运动:{“新规则”:“new-rule-options”,},},},};
构建自定义规则
添加自定义消息
自定义消息与默认消息一起出现在命令行、CI和受支持的编辑器中stylelint
规则信息。它们被添加到根级配置中,旨在提供关于如何解决规则违规的更多见解。
在大多数情况下,默认规则消息是清晰而简洁的。然而,它们并不总是引导开发人员获得期望的结果。因此,我们建议使用两种机制来改进和提供自定义规则消息:
控件上设置通用自定义消息消息
属性为给定的次要选项stylelint-polaris /报道
类别。这条消息被附加到默认规则消息中,我们预计它将涵盖大多数情况。
例子模块.出口={规则:{“北极星/覆盖”:{颜色:[{”叫做“:“永远”“color-no-hex”:真正的,},{消息:“请使用北极星颜色代币:https://polaris.shopify.com/tokens/color”},],},},}
失败消息示例:
例子-意外命名颜色“红色”(color-named)+意外命名颜色“红色”(颜色命名)请使用北极星颜色标记
设置自定义消息消息
的财产样式int规则配置的次要选项如果支持。此消息在提供时被附加到默认规则消息中,而不是附加到通用类别消息中。
例子模块.出口={规则:{“北极星/覆盖”:{布局:[{“property-disallowed-list”:[[“位置”],{消息:“请使用北极星“粘性”组件”},],},{消息:“请使用北极星布局组件”},],},},};
失败消息示例:
例子-属性“position”的意外值“sticky”(declaration-property-value-disallowed-list+属性“position”的意外值“sticky”请使用Polaris“sticky”组件
测试stylelint-polaris
更新在polaris-react
打开终端到根目录
北极星
monorepo:
- 安装和符号链接依赖项
例子线安装
- 构建
@shopify /北极星
依赖关系,但不是@shopify /北极星
本身
例子Yarn build -- --filter=@shopify/polaris^…
注意:删除
^
品格,如果你想建立@shopify /北极星
- 运行
stylelint
在polaris-react
所有文件
例子Yarn turbo run lint:styles—filter=@shopify/polaris
具体的文件
例子Yarn运行stylesint path/to/component.scss// yarn run styelint polaris-react/src/components/TopBar/TopBar.scss