@commercial-klaus/eslint-config-sfcc (英语)
可共享的ESLint平面配置用于销售力量商业云项目. 钓到鱼了 SFCC 脚本运行时间 相容性问题和平台特定错误在代码到达沙盒之前.
要点
- 检测不支持的语法和标准库 API
- 检查 SFCC 模块路径、 钩和自定义 API 导出
- 针对犀牛的处理
const和范围界定行为 - 包括SFCC和SiteGenesis规则
- 提供 Storefront Next, PWA, SFRA, 和 SiteGenesis 策略预设
- 为更古老的SFCC兼容模式提供添加剂预设
- 提供可审查的、安全的批次移出SFCC
empty()全球 - 包括面向行动的用于
empty()移徙清单 - 使用自定义属性和站点首选元数据来增强自信
empty()移徙指导 - 连接解析自定义 API 请求机构生成 OAS 操作类型
- 为在元数据边界执行生成的项目类型提供选入预设
- 提供选入
sfcc-test用于相继运行时间使用、延迟导入墨盒、管理测试全局和安全模拟设置的预设 - 支持 ESLint 和一个与 Oxlint 兼容的预设
- 为推荐、兼容、生成类型、空移、存储前置架构和SFCC测试配置提供等同的 Oxlint 覆盖构建器
更喜欢Oxlint的日常行走. 它为正常发展和CI提供了快回馈回回回路并运行与ESLint相同的服务器侧弹匣文件上推荐的JavaScript规则. 使用ESLint进行完整的迁移和审计 .ds 文件, E4X 类似语法, JavaScript 类型说明, JSON 元数据, 或复杂推断类型需要它的解析器和 TypeScript 服务. 完整的向导记录了聚焦的 ESLint 为四条规则 Oxlint 无法运行的倒置.
安装
pnpm add -D eslint @commerce-klaus/eslint-config-sfcc
npm install -D eslint @commerce-klaus/eslint-config-sfcc
yarn add -D eslint @commerce-klaus/eslint-config-sfcc
vp install -D eslint @commerce-klaus/eslint-config-sfcc
import sfcc from "@commerce-klaus/eslint-config-sfcc"
import { defineConfig } from "eslint/config"
export default defineConfig(sfcc.configs.recommended)
产生申报的项目 @commerce-klaus/typescript-sfcc 能够添加
generated-types 预设于 recommended数字 :
export default defineConfig(sfcc.configs.recommended, sfcc.configs["generated-types"])
预设检查已注册的工作步骤功能,SFCC系统钩子执行,自定义 API 处理器,以及本地自定义 API 成功响应值对照其生成的类型.
下面推荐的配置检查服务器侧 JavaScript cartridges/ 不包括客户端和静态资产文件夹.
它也禁用从更早的平面配置条目中继承的Node.js和浏览器Globals,同时保留了CommonJS和SFCC运行时Globals.
它还禁用ESLint核心/推荐中选定的不兼容规则, eslint-plugin-unicorn, (中文(简体) ), typescript-eslint,以及 eslint-plugin-sonarjs。这可以使这些预设与 SFCC 代码一起使用,而不建议语法、 API 或 SFCC 脚本运行时间不支持的模块模式。 见文档相容性覆盖的配置指南 .
建议的配置遵循目前的SFCC脚本 API. 使用老年人的项目
兼容模式可以在 recommended数字 :
export default defineConfig(sfcc.configs.recommended, sfcc.configs["compatibility-21.2"])
兼容模式的预设可用 21.2 财务报告和审定财务报表 22.7编辑 22.7 预设
目前与建议的API基线相匹配,并建立一个明确的版本
未来脚本 API 添加合同。 这个 21.2 预设还防止独角兽
从建议Bigint, globalThis,或 Object.fromEntries 作为替代.
文档
见 完整的配置指南和规则参考。 。 。 .
许可证
麻省理工学院