meteor / babel

Babel wrapper package for use with Meteor
Other
46 stars 20 forks source link

babel-plugin-import + React = forgotten variable alias #15

Open dandevs opened 7 years ago

dandevs commented 7 years ago

When babel parses React elements, it forgets the variables alias

import React from "react";
import ReactDOM from "react-dom";
import { Meteor } from "meteor/meteor";

import { LocaleProvider } from "antd";
import enUS from "antd/lib/locale-provider/en_US";

console.log(LocaleProvider);

Meteor.startup(() => {
    ReactDOM.render(
        <LocaleProvider locale={enUS}>
            <h1>Hello World</h1>
        </LocaleProvider>,
        document.getElementById("render-target")
    );
});

Compiles into:

//  ...............

module.importSync("antd/lib/locale-provider/style/css", {
    style: function (v) {
        _style = v;
    }
}, 0);

var _default = void 0;

module.importSync("antd/lib/locale-provider", {
    "default": function (v) {
        _default = v;
    }
}, 1);

//  ...............

console.log(_default); //LocaleProvider=_default.... Right!
Meteor.startup(function () {
    ReactDOM.render(React.createElement(
        LocaleProvider, // <- babel forgot its supposed to be _default
        {
            locale: enUS
        },
        React.createElement(
            "h1",
            null,
            "Hello World"
        )
    ), document.getElementById("render-target"));
});