kentcdodds/babel-plugin-macros

Namespace import crashes the plugin

Open

#111 ouverte le 16 mai 2019

Voir sur GitHub
 (9 commentaires) (0 réactions) (0 assignés)JavaScript (138 forks)github user discovery
enhancementhelp wanted

Métriques du dépôt

Stars
 (2 635 stars)
Métriques de merge PR
 (Métriques PR en attente)

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,

Guide contributeur