New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🐛 [BUG] 执行删除国际化命令报错 #10452
Comments
执行 |
复现步骤 | Recurrence steps 相同 这个怎么解决? |
node_modules/@umijs/lint/dist/config/eslint/index.js 这样能解决问题, 目前应该是依赖的 eslint 有版本问题 |
请问官方脚手架新建项目什么时候能修复这个问题呢? |
执行 |
@helloJincheng ,抱歉我刚刚接触前端框架,请问这里您提到的“然后修改node_modules/@umijs/lint/dist/config/eslint/index.js文件注释”中文件注释是什么意思,我不明白应该怎么操作才算有效?是直接在文件中写入注释“// es2022: true”吗? 此外,在 env 中本身有 es2022:true 的语句,我尝试了改成 es2021:true,发现可以正常执行国家化移除,但在前端界面中的侧边栏内容也跟着被移除了。 原文件中的内容如下: var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
// src/config/eslint/index.ts
var import_recommended = __toESM(require("./rules/recommended"));
var import_setup = require("./setup");
module.exports = {
parser: require.resolve("@babel/eslint-parser"),
plugins: ["react", "react-hooks"],
settings: {
react: {
version: "detect"
}
},
env: {
browser: true,
node: true,
es2022: true,
jest: true
},
rules: import_recommended.default,
overrides: [
{
parser: require.resolve("@typescript-eslint/parser"),
plugins: ["@typescript-eslint/eslint-plugin"],
files: ["**/*.{ts,tsx}"],
rules: import_recommended.typescript
},
{
settings: {
jest: {
version: detectJestVersion()
}
},
files: ["**/*.{test,spec,unit,e2e}.{ts,tsx,js,jsx}"],
plugins: ["jest"],
rules: import_recommended.jest
}
],
parserOptions: {
ecmaFeatures: {
jsx: true
},
babelOptions: {
babelrc: false,
configFile: false,
browserslistConfigFile: false,
presets: [require.resolve("@umijs/babel-preset-umi")]
},
requireConfigFile: false
}
};
function detectJestVersion() {
try {
const pkg = require.resolve("jest/package.json", {
paths: [process.cwd()]
});
return require(pkg).version;
} catch {
return 29;
}
} |
运行 i18n-remove 两个问题: |
@PowerOfLov |
我也会自动移除侧边栏,你最后怎么解决的? |
简单的说就是,eslint跟当前的ant design pro不合。目前的解决方案总是有问题,会改掉route.tsx文件 这是修改前的route.tsx文件 export default [
{
path: '/user',
layout: false,
routes: [
{
name: 'login',
path: '/user/login',
component: './User/Login',
},
],
},
{
path: '/welcome',
name: 'welcome',
icon: 'smile',
component: './Welcome',
},
{
path: '/admin',
name: 'admin',
icon: 'crown',
access: 'canAdmin',
routes: [
{
path: '/admin',
redirect: '/admin/sub-page',
},
{
path: '/admin/sub-page',
name: 'sub-page',
component: './Admin',
},
],
},
{
name: 'list.table-list',
icon: 'table',
path: '/list',
component: './TableList',
},
{
path: '/',
redirect: '/welcome',
},
{
path: '*',
layout: false,
component: './404',
},
]; 这是修改后的文件 export default [
{ path: '/user', layout: false, routes: [{ path: '/user/login', component: './User/Login' }] },
{ path: '/welcome', icon: 'smile', component: './Welcome' },
{
path: '/admin',
icon: 'crown',
access: 'canAdmin',
routes: [
{ path: '/admin', redirect: '/admin/sub-page' },
{ path: '/admin/sub-page', component: './Admin' },
],
},
{ icon: 'table', path: '/list', component: './TableList' },
{ path: '/', redirect: '/welcome' },
{ path: '*', layout: false, component: './404' },
]; 对比会发现,中间少了好多好多东西。所以,大家还是退回到UMI v3吧。 |
我也遇到了 |
所以目前为止,这个问题还没修复吗? |
@YOOYY 我的解决方法看我上面的方式。 |
烦啊,早知道不用umi4 + ant-design-pro 了,pro-components 和 ant 也存在版本问题 |
1 similar comment
烦啊,早知道不用umi4 + ant-design-pro 了,pro-components 和 ant 也存在版本问题 |
日期问题已经解决 antd v5 手工 import 'dayjs/locale/zh-cn'; umi4 配置无效 |
遇到两次这个bug了 把 es2022: true 这行注释掉就行了(官方什么时候修复啊!) |
为什么我在路由加了name也反应呀 |
按这个方法解决了,谢谢 |
问题真多,官方真的不知道有没有看的。 ✂️ remove locale for src/app.tsx./home/dev/workspaces/test/t1/node_modules/@ant-design/pro-cli/node_modules/@eslint/eslintrc/lib/config-array/config-array.js:202
throw new PluginConflictError(key, [
^
PluginConflictError: Plugin "react" was conflicted between ".eslintrc.js » /home/dev/workspaces/test/t1/node_modules/@umijs/lint/dist/config/eslint/index.js" and "BaseConfig".
at mergePlugins (/home/dev/workspaces/test/t1/node_modules/@ant-design/pro-cli/node_modules/@eslint/eslintrc/lib/config-array/config-array.js:202:19)
at createConfig (/home/dev/workspaces/test/t1/node_modules/@ant-design/pro-cli/node_modules/@eslint/eslintrc/lib/config-array/config-array.js:305:9)
at ConfigArray.extractConfig (/home/dev/workspaces/test/t1/node_modules/@ant-design/pro-cli/node_modules/@eslint/eslintrc/lib/config-array/config-array.js:481:33)
at Linter._verifyWithConfigArray (/home/dev/workspaces/test/t1/node_modules/@ant-design/pro-cli/node_modules/eslint/lib/linter/linter.js:1262:36)
at Linter.verify (/home/dev/workspaces/test/t1/node_modules/@ant-design/pro-cli/node_modules/eslint/lib/linter/linter.js:1235:25)
at Linter.verifyAndFix (/home/dev/workspaces/test/t1/node_modules/@ant-design/pro-cli/node_modules/eslint/lib/linter/linter.js:1428:29)
at verifyText (/home/dev/workspaces/test/t1/node_modules/@ant-design/pro-cli/node_modules/eslint/lib/cli-engine/cli-engine.js:240:48)
at CLIEngine.executeOnText (/home/dev/workspaces/test/t1/node_modules/@ant-design/pro-cli/node_modules/eslint/lib/cli-engine/cli-engine.js:902:26)
at eslintJS (/home/dev/workspaces/test/t1/node_modules/@ant-design/pro-cli/src/i18n/eslintJs.js:10:25)
at /home/dev/workspaces/test/t1/node_modules/@ant-design/pro-cli/src/i18n/index.js:63:32 {
messageTemplate: 'plugin-conflict',
messageData: {
pluginId: 'react',
plugins: [
{
filePath: '/home/dev/workspaces/test/t1/node_modules/@umijs/lint/node_modules/eslint-plugin-react/index.js',
importerName: '.eslintrc.js » /home/dev/workspaces/test/t1/node_modules/@umijs/lint/dist/config/eslint/index.js'
},
{
filePath: '/home/dev/workspaces/test/t1/node_modules/eslint-plugin-react/index.js',
importerName: 'BaseConfig'
}
]
}
}
Node.js v18.16.0 |
把node_modules删掉执行没有报错 |
这都4202年了,还不解决这个bug吗 |
已经解决了嘛?有人知道么。我用了新版还是同样的问题 |
🐛 bug 描述
执行
i18n-remove
终端报错Error: Failed to load config "prettier" to extend from.
📷 复现步骤 | Recurrence steps
1、执行
pro create ant-app
2、选择 umi4
3、执行
yarn install
4、执行
i18n-remove
5、终端报错
Error: Failed to load config "prettier" to extend from.
🏞 期望结果 | Expected results
删除国际化相关配置
© 版本信息
🚑 其他信息
package.json
【报错信息】
The text was updated successfully, but these errors were encountered: