developit / developit/microbundle

[Bug] build failed on deconstructing rest parameters

Aberta
#1,039 1 comentário 2 reações 0 responsáveis Ver no GitHub
Linguagem predominante
JavaScript
Estrelas
8.1k
Forks
358
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

### 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[]) {}
```

2. build
`microbundle -i test.ts -o test.js`

3. 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 ()
at run (~/node-demo/node_modules/@babel/core/lib/transformation/index.js:24:12)
at run.next ()
at transform (~/node-demo/node_modules/@babel/core/lib/transform.js:22:41)
at transform.next ()
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)
```

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Reproduza a falha com test.ts e `microbundle -i test.ts -o test.js`. Comece pelo handler RestElement do plugin do Babel em dist/cli.js:134 e pela travessia de Program em dist/cli.js:175; está concluído quando o exemplo de parâmetro rest desestruturado for compilado sem o TypeError relatado.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
javascript, typescript
Domínio
build-system
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.