Angular 11升18后迁移TSlint到ESlint遇命令不支持错误求助
解决Angular 18迁移TSlint到ESlint时
convert-tslint-to-eslint不支持的问题 错误原因
适配Angular 18的@angular-eslint v18.x版本已移除convert-tslint-to-eslint迁移 schematic。TSlint早已停止维护,官方不再提供该自动迁移工具,转而推荐手动迁移或借助第三方工具完成规则转换。
手动迁移步骤
- 卸载TSlint相关依赖
执行命令移除项目中所有TSlint相关包:
npm uninstall tslint tslint-config-angular tslint-eslint-rules --save-dev
(根据项目实际依赖调整要卸载的包)
- 安装并初始化Angular ESlint
安装适配Angular 18的angular-eslint依赖:
npm install @angular-eslint/schematics @angular-eslint/eslint-plugin @angular-eslint/eslint-plugin-template @angular-eslint/template-parser --save-dev
给项目添加ESlint配置:
ng g @angular-eslint/schematics:add-eslint-to-project
该命令会自动生成.eslintrc.json、.eslintignore等配置文件,并更新angular.json中的lint任务配置。
- 迁移TSlint规则到ESlint
对照tslint.json中的规则,映射为对应的Angular ESlint规则:
- TSlint的
component-class-suffix对应@angular-eslint/component-class-suffix - TSlint的
no-unused-variable对应@typescript-eslint/no-unused-vars - TSlint的
template-no-negated-async对应@angular-eslint/template/no-negated-async
根据规则对应关系调整.eslintrc.json中的配置项。
- 清理TSlint残留文件
- 删除项目根目录下的
tslint.json文件 - 检查
angular.json,确保所有lint任务切换为ESlint,移除TSlint相关配置
- 验证迁移结果
执行ESlint检查命令,确认正常运行并逐步修复规则报错:
ng lint
半自动迁移工具(可选)
使用第三方工具快速转换规则配置:
npx tslint-to-eslint-config
工具会自动生成适配的ESlint配置,之后需手动调整配置以适配Angular ESlint的专属规则,确保与项目Angular版本兼容。
内容的提问来源于stack exchange,提问作者Igor
相关产品推荐
相关产品推荐

