Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[Bug] build failed on deconstructing rest parameters

未关闭
#1,039 1 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
领域
build-system

调研方向

使用 test.ts 和 microbundle -i test.ts -o test.js 重现该失败。从 dist/cli.js:134 中 Babel 插件的 RestElement 处理器以及 dist/cli.js:175 中的 Program 遍历开始;当解构 rest 参数示例能够在不出现所报告的 TypeError 的情况下构建时,即表示完成。

由索引模型根据 Issue 内容生成。

描述

Description

Build failed when deconstructing rest parameters

Version

microbundle@^0.15.1

Reproduce steps
  1. input file
// test.ts

export function A(...[a, b]: any[]) {}
  1. build
    microbundle -i test.ts -o test.js

  2. build failed

(babel plugin) TypeError: ~/node-demo/test.ts: Cannot read properties of undefined (reading 'referencePaths')
TypeError: ~/node-demo/test.ts: Cannot read properties of undefined (reading 'referencePaths')
    at Map.RestElement (~/node-demo/node_modules/microbundle/dist/cli.js:134:19)
    at NodePath._call (~/node-demo/node_modules/@babel/traverse/lib/path/context.js:45:20)
    at NodePath.call (~/node-demo/node_modules/@babel/traverse/lib/path/context.js:35:17)
    at NodePath.visit (~/node-demo/node_modules/@babel/traverse/lib/path/context.js:80:31)
    at TraversalContext.visitQueue (~/node-demo/node_modules/@babel/traverse/lib/context.js:86:16)
    at TraversalContext.visitMultiple (~/node-demo/node_modules/@babel/traverse/lib/context.js:61:17)
    at TraversalContext.visit (~/node-demo/node_modules/@babel/traverse/lib/context.js:107:19)
    at traverseNode (~/node-demo/node_modules/@babel/traverse/lib/traverse-node.js:18:17)
    at NodePath.visit (~/node-demo/node_modules/@babel/traverse/lib/path/context.js:86:52)
    at TraversalContext.visitQueue (~/node-demo/node_modules/@babel/traverse/lib/context.js:86:16)
    at TraversalContext.visitSingle (~/node-demo/node_modules/@babel/traverse/lib/context.js:65:19)
    at TraversalContext.visit (~/node-demo/node_modules/@babel/traverse/lib/context.js:109:19)
    at traverseNode (~/node-demo/node_modules/@babel/traverse/lib/traverse-node.js:18:17)
    at NodePath.visit (~/node-demo/node_modules/@babel/traverse/lib/path/context.js:86:52)
    at TraversalContext.visitQueue (~/node-demo/node_modules/@babel/traverse/lib/context.js:86:16)
    at TraversalContext.visitMultiple (~/node-demo/node_modules/@babel/traverse/lib/context.js:61:17)
    at TraversalContext.visit (~/node-demo/node_modules/@babel/traverse/lib/context.js:107:19)
    at traverseNode (~/node-demo/node_modules/@babel/traverse/lib/traverse-node.js:18:17)
    at traverse (~/node-demo/node_modules/@babel/traverse/lib/index.js:49:34)
    at NodePath.traverse (~/node-demo/node_modules/@babel/traverse/lib/path/index.js:108:24)
    at PluginPass.Program (~/node-demo/node_modules/microbundle/dist/cli.js:175:14)
    at newFn (~/node-demo/node_modules/@babel/traverse/lib/visitors.js:149:21)
    at NodePath._call (~/node-demo/node_modules/@babel/traverse/lib/path/context.js:45:20)
    at NodePath.call (~/node-demo/node_modules/@babel/traverse/lib/path/context.js:35:17)
    at NodePath.visit (~/node-demo/node_modules/@babel/traverse/lib/path/context.js:80:31)
    at TraversalContext.visitQueue (~/node-demo/node_modules/@babel/traverse/lib/context.js:86:16)
    at TraversalContext.visitSingle (~/node-demo/node_modules/@babel/traverse/lib/context.js:65:19)
    at TraversalContext.visit (~/node-demo/node_modules/@babel/traverse/lib/context.js:109:19)
    at traverseNode (~/node-demo/node_modules/@babel/traverse/lib/traverse-node.js:18:17)
    at traverse (~/node-demo/node_modules/@babel/traverse/lib/index.js:49:34)
    at transformFile (~/node-demo/node_modules/@babel/core/lib/transformation/index.js:81:29)
    at transformFile.next (<anonymous>)
    at run (~/node-demo/node_modules/@babel/core/lib/transformation/index.js:24:12)
    at run.next (<anonymous>)
    at transform (~/node-demo/node_modules/@babel/core/lib/transform.js:22:41)
    at transform.next (<anonymous>)
    at step (~/node-demo/node_modules/gensync/index.js:261:32)
    at ~/node-demo/node_modules/gensync/index.js:273:13
    at async.call.result.err.err (~/node-demo/node_modules/gensync/index.js:223:11)
主要语言
JavaScript
星标
8.1k
派生
358
PR 合并指标
30 天内没有已合并 PR

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

developit/microbundle 的其他 Issue

查看 developit/microbundle 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。