๐Ÿ“ฆ motiz88 / babel-plugin-transform-react-loadable

Experimental Babel plugin to make advanced usage of react-loadable easier.

โ˜… 2 stars โ‘‚ 0 forks ๐Ÿ‘ 2 watching โš–๏ธ MIT License
babel-plugindeprecatedreact-loadable
๐Ÿ“ฅ Clone https://github.com/motiz88/babel-plugin-transform-react-loadable.git
HTTPS git clone https://github.com/motiz88/babel-plugin-transform-react-loadable.git
SSH git clone git@github.com:motiz88/babel-plugin-transform-react-loadable.git
CLI gh repo clone motiz88/babel-plugin-transform-react-loadable
Moti Zilberman Moti Zilberman Update README.md 18a5cbe 8 years ago ๐Ÿ“ History
๐Ÿ“‚ master View all commits โ†’
๐Ÿ“ .vscode
๐Ÿ“ decls
๐Ÿ“ scripts
๐Ÿ“ src
๐Ÿ“ test
๐Ÿ“„ .babelrc
๐Ÿ“„ .editorconfig
๐Ÿ“„ .eslintignore
๐Ÿ“„ .eslintrc
๐Ÿ“„ .flowconfig
๐Ÿ“„ .gitignore
๐Ÿ“„ circle.yml
๐Ÿ“„ LICENSE
๐Ÿ“„ package.json
๐Ÿ“„ README.md
๐Ÿ“„ README.md

Announcement

This plugin is now react-loadable/babel!


babel-plugin-transform-react-loadable

Greenkeeper badge circle npm coverage

semantic release js-semistandard-style MIT License

Experimental Babel plugin to make advanced usage of react-loadable easier.

Examples

Please see the main react-loadable example as a reference.

Example 1 - server side rendering

In

let LoadableMyComponent = Loadable({
  loader: () => import('./MyComponent'),
  LoadingComponent: MyLoadingComponent,
});

Out

let LoadableMyComponent = Loadable({
  loader: () => import('./MyComponent'),
  LoadingComponent: MyLoadingComponent,
  serverSideRequirePath: path.join(__dirname, './MyComponent'),
});

Example 2 - Webpack synchronous loading support

To enable this transformation, pass the webpack: true option to the plugin (see below).

In

let LoadableMyComponent = Loadable({
  loader: () => import('./MyComponent'),
  LoadingComponent: MyLoadingComponent,
});

Out

let LoadableMyComponent = Loadable({
  loader: () => import('./MyComponent'),
  LoadingComponent: MyLoadingComponent,
  serverSideRequirePath: path.join(__dirname, './MyComponent'),
  webpackRequireWeakId: () => require.resolveWeak('./MyComponent'),
});

Installation

$ npm install --save-dev babel-plugin-transform-react-loadable

Usage

Via .babelrc (Recommended)

.babelrc

// without options
{
  "plugins": ["transform-react-loadable"]
}

// with options
{
  "plugins": [
    ["transform-react-loadable", {
      "server": true, // default
      "webpack": true
    }]
  ]
}

Via CLI

$ babel --plugins transform-react-loadable script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-react-loadable"]
});