@aphrody/eslint-plugin-m3

中文文档
1.4.7发布于 2026/10/23Apache-2.0TypeScriptES Module零依赖近 30 天下载 1706

使用取材-web(@aphrody/m3-react + 取材符号)的站点的林特规则——运行在本地的bun lint(jsPlugins)下.

中文使用文档
文档目录3 节
  1. 第(8)条
  2. 预设( ESLint平面配置)
  3. 发展

@aphrody/eslint-plugin-m3 (英语)

Lint 规则,用于使用材料网络的代码(@aphrody/m3-react Md* 包装器, md-* 页:1 bun lint (单位:千美元)jsPlugins)或ESLint兼容主机.

bun add -d @aphrody/eslint-plugin-m3
{
  "jsPlugins": ["./node_modules/@aphrody/eslint-plugin-m3/index.js"],
  "rules": {
    "m3/valid-icon-name": "error",
    "m3/valid-color-role": "error",
    "m3/no-sx-prop": "error",
    "m3/no-mui-prop-on-md": "error",
    "m3/no-mui-import": "warn",
    "m3/prefer-icon-token": "warn",
    "m3/require-icon-button-label": "warn",
    "m3/no-hardcoded-color": "warn"
  }
}

这是 .oxlintrc.json 页:1 bun lint; 数据 jsPlugins 路径相对于该文件。 普通的无害环境管理,不转录.

许可证: Apache-2.0(LICENSE) (中文(简体) ). 安装指南 : 文件/材料/立方米/INSTALL.md。 。 。 .

它与对 @aphrody/m3-codemods: 编码器留下的 MIGRATION-TODO这些规则继续捕捉.

第(8)条

规则职等修补接头
m3/valid-icon-name错误自动<md-icon> 编号 : <MdIcon> 文本不是材料符号; 修正 MUI PascalCase 所剩的文本( 对照 4253 格Delete) (中文(简体) ).
m3/valid-color-role错误- 说吧var(--md-sys-color-<role>) 带有角色素材-web不出(typos,MUI或Tailwind名);建议最接近的角色.
m3/no-sx-prop错误- 说吧sx 一个 md-* 元素,在无效果的情况下 className 财务报告和审定财务报表 --md-sys-* 标志.
m3/no-mui-prop-on-md错误自动包装上留下的MUI道具名称(checked 改为 selected, (中文(简体) ), title 改为 text, (中文(简体) ), open 改为 opened, (中文(简体) ), value 改为 activeTabIndex) (中文(简体) ).
m3/no-mui-import警告( e)- 说吧剩余 @mui/material, (中文(简体) ), @mui/icons-material 或者说 @mui/x-* 进口.
m3/prefer-icon-token警告( e)- 说吧内入 fontVariationSettings 图标上; 使用 --md-icon-fill, (中文(简体) ), --md-icon-wght, (中文(简体) ), --md-icon-grad, (中文(简体) ), --md-icon-opsz。 。 。 .
m3/require-icon-button-label警告( e)- 说吧无可访问名称的图标按钮( E)aria-label, (中文(简体) ), aria-labelledby, (中文(简体) ), title; WCAG 4.1.2. (中文(简体) ).
m3/no-hardcoded-color警告( e)- 说吧硬码 #hex 编号 : rgb() 内 style 或者说 sx 一、导 言 md-* 元素; 使用 a var(--md-sys-color-*) 角色。 。 .

bun lint --fix 应用两个自定义(valid-icon-name, (中文(简体) ), no-mui-prop-on-md) (中文(简体) ).

预设( ESLint平面配置)

import m3 from "@aphrody/eslint-plugin-m3";

export default [m3.configs.recommended]; // or m3.configs.strict: every rule as an error

发展

bun test/run.ts                    # bun lint over the fixtures (every rule fires on bad, none on good)
bun scripts/sync-symbol-names.ts   # regenerate data/material-symbols-names.js

格莱克列表( :data/material-symbols-names.js)产生自 ../m3-codemods/data/material-symbols-names.json (官方代码: google/material-design-icons, Apache-2.0; (中文(简体) ); prepack 运行同步 .

版本与发布记录

@aphrody/eslint-plugin-m3 共发布 12 个版本,首次发布于 2026/06/04;过去 12 个月发布了 12 个版本。

版本发布日期距今
1.4.7latest2026/10/2317 天前
1.4.42026/10/1822 天前
3.3.72026/10/101 个月前
3.3.62026/10/101 个月前
3.3.52026/10/091 个月前
3.3.42026/10/071 个月前

关于 @aphrody/eslint-plugin-m3 的常见问题

@aphrody/eslint-plugin-m3 是什么?

使用取材-web(@aphrody/m3-react + 取材符号)的站点的林特规则——运行在本地的bun lint(jsPlugins)下.

如何安装 @aphrody/eslint-plugin-m3?

在项目目录运行 npm install @aphrody/eslint-plugin-m3,或使用 pnpm add / yarn add / bun add。

@aphrody/eslint-plugin-m3 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aphrody/eslint-plugin-m3 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@aphrody/eslint-plugin-m3 可以商用吗?

@aphrody/eslint-plugin-m3 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@aphrody/eslint-plugin-m3 的下载量有多少?

根据 npm 官方下载统计,@aphrody/eslint-plugin-m3 在 2026/10/06 – 2026/11/04 这 30 天内被下载 1,706 次,日均约 57 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aphrody/eslint-plugin-m3 还在维护吗?

最新版本 1.4.7 发布于 2026/10/23(17 天前);至今共发布 12 个版本,其中过去 12 个月发布了 12 个;首次发布于 2026/06/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。