@cbs-咨询/工具
@cbs-consulting/tools 是一个配置软件包,为开发SAPUI5和/或SAP Cloud应用编程模型(SAP CAP)应用程序提供共享的ESLint配置. 此外,它还包括一个Pretier配置,以确保各项目一致的代码格式.
ESLint 语录
版本要求
- 节点.js
^20.19.0 || ^22.13.0 || >=24.0.0需要时间. eslint>=10需要时间.prettier>=3用于Pretier配置使用.@sap/cds>=9是可选的,只有在使用 CAP 规则集时才需要.@sap/eslint-plugin-cds>=4是可选的,只有在使用 CAP 规则集时才需要.
安装
每个框架和语言都有单独的规则集. 所有这些规则集都是基于共同的规则集.
SAPUI5 (爪哇脚本)
对于使用 JavaScript 的 SAPUI5 工程, 安装以下 dev 依赖性 :
npm install --save-dev @cbs-consulting/tools eslint
SAPUI5 (脚本)
对于使用 TypeScript 的 SAPUI5 项目,安装以下非依赖性:
npm install --save-dev @cbs-consulting/tools eslint
SAP CAP (爪哇脚本)
对于使用JavaScript的SAP CAP项目,安装以下非依赖性:
npm install --save-dev @cbs-consulting/tools eslint @sap/cds @sap/eslint-plugin-cds
SAP CAP( 电视脚本)
对于使用 TypeScript 的 SAP CAP 项目,安装以下依赖性:
npm install --save-dev @cbs-consulting/tools eslint @sap/cds @sap/eslint-plugin-cds
typescript-eslint与@cbs-consulting/tools,因此不需要自己安装。 安装您自己的副本可导致eslint同侪依赖性冲突(较老的)typescript-eslint可能不支持ESLint 10.
使用量
要使用 ESLint 配置, 创建或扩展其中的相关配置 eslint.config.mjs 文档.
SAPUI5 软件
Java 脚本
import ui5JsConfig from "@cbs-consulting/tools/eslint/ui5/js/eslint.config.mjs";
export default ui5JsConfig;
类型脚本
import ui5TsConfig from "@cbs-consulting/tools/eslint/ui5/ts/eslint.config.mjs";
export default ui5TsConfig;
SAP 联合呼吁程序
Java 脚本
import capJsConfig from "@cbs-consulting/tools/eslint/cap/js/eslint.config.mjs";
export default capJsConfig;
类型脚本
import capTsConfig from "@cbs-consulting/tools/eslint/cap/ts/eslint.config.mjs";
export default capTsConfig;
高级
安装
通过 npm 安装必要的软件包 :
npm install --save-dev @cbs-consulting/tools prettier prettier-plugin-organize-imports @prettier/plugin-xml
要使用 Pretier 配置, 请在您的 prettier.config.mjs 文件 :
import prettierConfig from "@cbs-consulting/tools/prettier/prettier.config.mjs";
export default prettierConfig;
UI5 线条
npm install --save-dev @cbs-consulting/tools @ui5/linter
要使用UI5 Linter 配置, 请创建配置文件 ui5lint.config.mjs。 。 。 .
import ui5LinterConfig from "@cbs-consulting/tools/ui5-linter/ui5lint.config.mjs";
export default ui5LinterConfig;
单曲
UI5 Linter 从它运行的文件夹中解析它的配置, 所以在一个
每个UI5应用程序都从自己的目录中运行 linter. 保持单身
ui5lint.config.mjs 在工作空间根部,并通过它指向每个应用程序
--config数字 :
// app/<my-app>/package.json
{
"scripts": {
"ui5lint": "ui5lint --config ../../ui5lint.config.mjs",
"ui5lint-fix": "ui5lint --fix --config ../../ui5lint.config.mjs"
}
}
在工作空间根上添加汇总脚本以运行每个应用程序 :
// package.json (root)
{
"scripts": {
"ui5lint": "npm run ui5lint --workspaces --if-present",
"ui5lint-fix": "npm run ui5lint-fix --workspaces --if-present"
}
}
在沙盒或 CI 环境中, 墨盒可以打印一个
@ui5/linter update check failed框引用~/.config这是一个无害的更新检查 警告,且不影响倾斜的结果.
移动
从 cbs-tools 改为 @cbs-consulting/tools
软件包从 cbs-tools 改为 @cbs-consulting/tools替换
依赖并相应更新每个导入规格
(单位:千美元)cbs-tools/... → @cbs-consulting/tools/...) (中文(简体) ).
升级到ESLint 10
@cbs-consulting/[email protected] 需求 ESLint 10 (英语) (单位:千美元)eslint@^10) (中文(简体) ). 何时
升级 :
- 弹出
eslint改为^10。 。 。 . - 弹出
@sap/eslint-plugin-cds改为>=4.2(4.1只支持ESLint 9). - 删除任何工程级别
@typescript-eslint/*或者说typescript-eslint针 - 兼容typescript-eslint与此软件包相捆绑。 旧针头 (例如:.8.53.0)不支持ESLint 10,并将断开npm install。 。 。 .
许可证
这个包裹根据麻省理工学院的许可证获得许可.