-
Notifications
You must be signed in to change notification settings - Fork 137
Open
Labels
Description
babel-plugin-macrosversion: 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:
babel-plugin-macros/src/index.js
Lines 78 to 80 in e0ebca7
| s.type === 'ImportDefaultSpecifier' | |
| ? 'default' | |
| : s.imported.name, |
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,