:milky_way: Babel seamless integration
Last updated 4 years ago by aymericbeaumet .
CC0-1.0 · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install babel-origin 
SYNC missed versions from official npm registry.


:milky_way: Babel seamless integration


babel-origin allows to easily setup Babel, similar to how it used to be set back in the time of Babel 5. The following features work out of the box with 0 configuration:

The Babel configuration is also exposed in a standard way, so all the external tools will be able to use it as usual, to name a few:

All of this with a single line of code!


I found myself wanted to create a lot of projects, but I want to keep them as simple as possible to make the maintenance easier. Though I want to use babel to compile my sources, I find it to be too complex for my basic needs, which appear to be always the same:

  • support for latest ECMAScript version (including stage 0 features)
  • support for JSX notation
  • integration with Jest, Ava, Webpack
  • disable ES6 modules while using Webpack 2

This package encapsulate the babel complexity so that a one can leverage its power with minimal configuration, and easier maintenance.


$ npm install -D babel-origin


Add the following to your package.json:

  "babel": { "extends": "babel-origin" }

Then it just works!

  "scripts": {
    "prepublish": "babel src --out-dir=lib"


babel-origin supports a production environment, adding stuff commonly needed in production, like:

To enable this mode, you should define either BABEL_ENV=production or NODE_ENV=production. I recommended the later as it also allows for dead-code elimination in some libraries (e.g.: React).


You use babel-origin by extending its configuration, if the need arises you still have total control. Which means you can overload it however you want:

  "babel": {
    "extends": "babel-origin",
    "comments": false


Add this to your package.json:

  "ava": {
    "require": [
    "babel": "inherit"


Working out of the box!

Webpack 1

Add this to your Webpack configuration:

module: {
  loaders: [
      test: /\.jsx?$/,
      exclude: /node_modules/,
      loader: 'babel-loader'

Webpack 2

Add this to your Webpack configuration:

module: {
  rules: [
      test: /\.jsx?$/,
      exclude: /node_modules/,
      loader: 'babel-loader',


All the tools will still work the same as with a standard Babel setup. See the official documentation for more information.


If you face any issue, please report it on the bug tracker.


If you want to improve this software by adding new features, or fixing bugs, please fork the project and create a pull request.



Creative Commons — CC0 1.0 Universal

To the extent possible under law, Aymeric Beaumet has waived all copyright and related or neighboring rights to this work.

Current Tags

  • 1.8.0                                ...           latest (4 years ago)

9 Versions

  • 1.8.0                                ...           4 years ago
  • 1.7.0                                ...           4 years ago
  • 1.6.0                                ...           4 years ago
  • 1.5.0                                ...           4 years ago
  • 1.4.0                                ...           4 years ago
  • 1.3.0                                ...           4 years ago
  • 1.2.0                                ...           4 years ago
  • 1.1.0                                ...           4 years ago
  • 1.0.0                                ...           4 years ago
Maintainers (1)
Today 0
This Week 2
This Month 5
Last Day 1
Last Week 2
Last Month 2
Dev Dependencies (0)
Dependents (0)

Copyright 2014 - 2016 © |