kentcdodds/babel-plugin-macros

Namespace import crashes the plugin

Open

#111 aberto em 16 de mai. de 2019

Ver no GitHub
 (9 comments) (0 reactions) (0 assignees)JavaScript (138 forks)github user discovery
enhancementhelp wanted

Métricas do repositório

Stars
 (2.635 stars)
Métricas de merge de PR
 (Métricas PR pendentes)

Description

  • babel-plugin-macros version: 2.5.1

Relevant code or config

import * as foo from 'foo.macro'

What happened: Compiler fails with the following message

./src/App.jsx
TypeError: Cannot read property 'name' of undefined
    at Array.map (<anonymous>)

Problem description: ImportNamespaceSpecifier node is not handled properly here and the error message is not helpful. Offending code: https://github.com/kentcdodds/babel-plugin-macros/blob/e0ebca780856be76cbe1c5841d09a922fdde533b/src/index.js#L78-L80

Suggested solution: ImportNamespaceSpecifier should either be handled as default case or as a separate namespace case. Or maybe both variants are valid and there should be a config option akin to allowSyntheticDefaultImports in TypeScript

Quick fix:

(s.type === 'ImportDefaultSpecifier' || s.type === 'ImportNamespaceSpecifier')
  ? 'default'
  : s.imported.name,

Guia do colaborador