升级 Node.js 模块后出现令人惊讶的 Babel 错误(摩纳哥编辑器)

Suprising Babel error after upgrading a Node.js module (monaco-editor)

我正在开发一个基于 React 的 Web 应用程序(使用 CRA 创建),因此它使用 Babel 来转换和打包我们的代码和 Node.js 模块。在我将 monaco-editor Node.js 模块从 0.20.0 升级到 0.21.2 之前,创建生产构建工作正常。之后开始出现错误,这完全出乎意料,可能是由 monaco-editor 中的(有效)代码更改引起的:

Creating an optimized production build...
Failed to compile.

./node_modules/monaco-editor/esm/vs/editor/contrib/suggest/wordDistance.js
Error: <path>/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/wordDistance.js: unknown Expression of type "ClassExpression"
    at Array.forEach (<anonymous>)

我很确定这不是 monaco-editor Node.js 模块的故障,我的网络搜索让我找到了一些代码,让我认为这是 Babel 输出的错误。除了其他人,我发现这个 pull request for Babel 修复了一个非常相似的错误消息。

错误消息中没有其他信息,所以我不能 100% 确定,因此我也非常欢迎任何我可以用来获取此错误消息的更多上下文的信息。

我创建了一个产生这种行为的最小示例,并允许证明 monaco-editor 升级是罪魁祸首:https://github.com/mike-lischke/babel-test

但由于这是有效的 JavaScript 代码,我认为真正的罪魁祸首是 Babel,它无法处理使用过的语法(或者我可能需要更新的版本,但因为这些都集成在CRA 使用较新版本的自动安装组件很棘手)。

目前没有其他办法,只能return到旧版本的 Monaco 编辑器。