@ devbie/ style-guide (英语)
整个 devbie 生态系统代码样式的单一真理源
(新出/数出/出. 见ADR-010 in worldzhy/devbie。 。 。 .
出口
| 条目 | 目录 |
|---|---|
@devbie/style-guide/prettier | Canonic 更漂亮的配置( 所有重置) |
@devbie/style-guide/eslint/base | 节点类型平面配置基线 |
@devbie/style-guide/eslint/nest | 巢层(最特定规则,类型意识) |
@devbie/style-guide/eslint/next | Next.js 层 (canonical Next.js 规则) |
nest 财务报告和审定财务报表 next 为: 层,而不是单独的标准: 每个消费者
编曲 [...base, ...nest] 或者说 [...base, ...next]基线携带
共享语言级别规则并更漂亮; 一层只添加其
框架规则. base 仅涵盖国家清单、代码生成器、登记册和
SDKs (英语).
涵盖范围:每个回波使用的条目
| 还原 | 组成 |
|---|---|
| devbie 单列波根 | base + 键 nest 范围为 packages/newbie |
| 新启动器 | base + 键 nest |
| 数比启动器 | base + 键 next |
| 新单元 | base + 键 nest |
本表有两个结构事实:
newbie-modules是一个纯源登记册——模块源被复制到 消费者而不是建筑在原地 但这些来源是巢穴密码,所以 它会编曲[...base, ...nest]与injectable-should-be-provided缩小范围:登记册中没有用于规则的宿主模块图表 解析提供方对齐,主机将规则保留在允许的地方 图表存在.- Devbie 单列波根在一个配置中表示不同的包:
packages/newbie是巢穴框架代码,而CLI、生成器和 sDK是简单的节点 ESLint 平面配置不读package.json财务报告和审定财务报表 筑巢eslint.config.mjs文件没有继承, 所以每个包 区分必须在根配置中表示files范围界定 - 从未使用每包配置文件或package.json输入字段.
next (和 nest)必须装入框架的软件包
已安装 : eslint-config-next 需求 next 载荷时间(宣布为
可选的对等点,因此基础/nest消费者从不被迫安装Next.js,
和 Nest 层需要一个 TypeScript 工程,用于其四个类型意识
规则。 Nest 插件本身的对等声明包含其余内容——无
进口 class-validator 在运行时间.
使用量
更美丽
删除任何本地 .prettierrc 并引用共享配置
package.json数字 :
{
"prettier": "@devbie/style-guide/prettier"
}
.prettierignore 保留repo本地:它列出了repo特有的建筑文物,
不是风格决定.
斯林特(平面配置)
eslint.config.mjs 在消费回收中:
import base from "@devbie/style-guide/eslint/base";
// Nest apps: import nest from "@devbie/style-guide/eslint/nest";
// Next.js apps: import next from "@devbie/style-guide/eslint/next";
export default [
...base,
// ...nest or ...next, then repo-specific rules and ignores.
];
消费者需要 eslint (^9或^10), (中文(简体) ), prettier (^ 3.9.9)和 (中文(简体) ) typescript
安装为自己的 dev 依赖(声明为此软件包的同级).
版本政策
所有Devbie软件包在生态系统发射前一直停留在1.x线上; 断开样式变化起伏微小,而非主大小。 主要升级 更漂亮/更深层遵循整个生态系统的主要冻结政策: 默认,只是故意的里程碑.
更改日志
- 1.4.1-任择条款
next拓宽到^16.0.01.4.0 申报^16.4.2(模仿本软件包自身测试所使用的 dev 依赖性) npm对已安装的拷贝执行可选对等范围,所以 next.js 16.2上的消费者未能安装ERESOLVE。 现在的同伴 说明实际合同:任何Next.js 16. - 1.4.0——三项埃斯林特入船申报(出口图)
types并行default页:1next关闭层开关import/no-anonymous-default-export页:1eslint.config.*文件是这样 消费者可以使用平庸的export default [...base, ...next]。 。 。 .next被宣布为可选对等点. - 1.3.1 内部
core插入条目base并删除。 没什么 直接导入( e)base{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}是它唯一的消费者 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}保存两份档案 对于一个条目集,加载命令更难读取:nest财务报告和审定财务报表next每个结束prettierConfig,所以没有共享尾巴来考虑. - 1.3.0——新设
nest层由@darraghor/eslint-plugin-nestjs-typed(建议平面配置,四种类型意识规则),并next重塑成一个 层。 消费者现在作曲[...base, ...nest]编号 :[...base, ...next]· ; 这也让devbie monorepo 覆盖 Nest 层到packages/newbie通过files而不是把巢穴框架标准赋予其国家领导机构. - 1.2.0 -- -- 目标
backend重新命名为base财务报告和审定财务报表frontend已删除。 之后的坑和 newbie-cli加入新单曲(ADR-012/ADR-015),frontend没有 消费者左,并backend不再描述其消费者(CLI,代码) * 发电机、登记册——无后端。 双子现在被命名为 是什么来着base(默认)和next(下个Js专业). 放弃反应/反应-hooks/jsx-a11y插件依赖性;next获取这些层 从eslint-config-next。 。 。 . - 1.1.3. 国家
frontend针入规则评价的反演版本( 19. 0) 而不是 检测到它: 少许bie lints React 模板源react包已安装,其中检测只发出警告. - 1.1.2——固定:
next扩展core加上警犬 下一个规则集 (单位:千美元)eslint-config-next已经捆绑了 React/ react-houks/jsx-a11y,所以 传播frontend在顶端重新定义jsx-a11y并拒绝平面配置 ) (中文(简体) ). 这个frontend反应层现在被设定为 JSX/TSX 文件,所以节点代码 前端重播时不按反应规则评价,而按反应模板 来源是. - 1.1.1——固定:
frontend使用 eslint-plugin- react-hooks 的平面变体 (单位:千美元)configs.flat["recommended-latest"]); 1.1.0 运出遗留形状和 在平面配置下加载失败 . - 1.1.0——条目更名为
backend编号 :frontend和分层 :core实值 内部,frontend框架独立(只有反应规则),next添加了 Canonical Next.js 规则集.nest改为:backend。 。 。 . - 1.0.0——初步释放(
prettier, (中文(简体) ),eslint/nest, (中文(简体) ),eslint/next) (中文(简体) ).