developit / developit/microbundle

[Bug] build failed on deconstructing rest parameters

Abierto
#1,039 1 comentario 2 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
JavaScript
Estrellas
8.1k
Forks
358
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### 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)
```

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Reproduce el fallo con test.ts y `microbundle -i test.ts -o test.js`. Empieza por el manejador RestElement del plugin de Babel en dist/cli.js:134 y por el recorrido de Program en dist/cli.js:175; estará terminado cuando el ejemplo de parámetro rest desestructurado se compile sin el TypeError indicado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript, typescript
Área
build-system
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.