Thanks to visit codestin.com
Credit goes to github.com

Skip to content

bug: Babel版本过低导致编译失败 #2294

@Markyeahjr

Description

@Markyeahjr

Version

4.4.11

OS Version

macOS 15.5

Node.js Version

22.16.0

Browser Version

Chrome 137.0.7151.120

Link to minimal reproduction

no

Steps to reproduce

  1. eslint规则配置
rules: {
    '@typescript-eslint/no-use-before-define': 'off',
  },
  1. 输入以下代码
const foo = () => {
  const bar = 0 ? mkList() : [];

  return [...bar];
};

function mkList(): any[] {
  return [];
}

What is expected?

编译通过

What is actually happening?

编译失败并输出以下日志:

error - ./src/Foo/index.tsx
Module build failed (from ./node_modules/.pnpm/@[email protected][email protected][email protected][email protected]_@[email protected]_@[email protected]__/node_modules/@umijs/bundler-webpack/compiled/babel-loader/index.js):
TypeError: /Users/shenjjingrong/cvte/dev/demo/dumi-demo/src/Foo/index.tsx: Property types[1] of TSUnionType expected node to be of a type ["TSType"] but instead got "GenericTypeAnnotation"
    at validate (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:91588:11)
    at validator (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:91564:7)
    at Object.validate (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:91664:7)
    at validateField (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:96384:9)
    at validate (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:96378:3)
    at validateNode (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:87366:27)
    at tsUnionType (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:85496:36)
    at createTSUnionType (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:87342:35)
    at createUnionType (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:79616:16)
    at NodePath.ConditionalExpression (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:79495:36)
    at NodePath._getTypeAnnotation (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:79138:22)
    at NodePath.getTypeAnnotation (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:79102:15)
    at NodePath.VariableDeclarator (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:79439:27)
    at NodePath._getTypeAnnotation (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:79138:22)
    at NodePath.getTypeAnnotation (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:79102:15)
    at NodePath.isGenericType (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:79197:21)
    at Scope.toArray (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:81556:63)
    at getSpreadLiteral (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:72900:20)
    at build (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:72925:29)
    at PluginPass.ArrayExpression (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:72947:23)
    at newFn (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:82331:14)
    at NodePath._call (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77505:20)
    at NodePath.call (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77495:17)
    at NodePath.visit (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77541:31)
    at TraversalContext.visitQueue (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77084:16)
    at TraversalContext.visitSingle (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77063:19)
    at TraversalContext.visit (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77107:19)
    at traverseNode (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:82156:17)
    at NodePath.visit (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77547:52)
    at TraversalContext.visitQueue (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77084:16)
    at TraversalContext.visitMultiple (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77059:17)
    at TraversalContext.visit (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77105:19)
    at traverseNode (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:82156:17)
    at NodePath.visit (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77547:52)
    at TraversalContext.visitQueue (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77084:16)
    at TraversalContext.visitSingle (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77063:19)
    at TraversalContext.visit (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77107:19)
    at traverseNode (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:82156:17)
    at NodePath.visit (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77547:52)
    at TraversalContext.visitQueue (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77084:16)
    at TraversalContext.visitSingle (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77063:19)
    at TraversalContext.visit (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77107:19)
    at traverseNode (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:82156:17)
    at NodePath.visit (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77547:52)
    at TraversalContext.visitQueue (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77084:16)
    at TraversalContext.visitMultiple (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77059:17)
    at TraversalContext.visit (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77105:19)
    at traverseNode (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:82156:17)
    at NodePath.visit (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77547:52)
    at TraversalContext.visitQueue (/Users/shenjjingrong/cvte/dev/demo/dumi-demo/node_modules/.pnpm/@[email protected]/node_modules/@umijs/bundler-utils/compiled/babel/index.js:77084:16)

Any additional comments? (optional)

这个问题babel已经修复了:babel/babel#15380, @babel/traverse 修复版本是v7.23.9

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions