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 類型
缺陷
描述清晰度
基本清楚
活躍度
停滯
技術堆疊
javascript, typescript
領域
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

環境準備

這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

developit/microbundle 的其他 Issue

查看 developit/microbundle 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。