Skip to content

Commit

Permalink
Merge pull request #14 from KleeGroup/feature-updates-and-polyfill
Browse files Browse the repository at this point in the history
Feature updates and polyfill
  • Loading branch information
Hartorn authored Sep 8, 2017
2 parents 80e6384 + 8ddba91 commit d25fb10
Show file tree
Hide file tree
Showing 9 changed files with 98 additions and 156 deletions.
20 changes: 0 additions & 20 deletions .babelrc

This file was deleted.

2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
node_modules
dist
.history
3 changes: 0 additions & 3 deletions .npmignore

This file was deleted.

28 changes: 3 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,9 @@

> Babel preset for focus plugins
## What's inside ?

```json
{
"presets": ["stage-0", "react", "es2015"],
"plugins": [
"transform-class-properties",
"transform-decorators-legacy",
"add-module-exports",
"transform-proto-to-assign",
[
"transform-es2015-classes",
{
"loose": true
}
]
],
"env": {
"development": {
"presets": ["react-hmre"]
}
}
}

```
[![Dependencies Status](https://david-dm.org/KleeGroup/babel-preset-focus.svg)](https://david-dm.org/KleeGroup/babel-preset-focus)
[![Dev Dependencies Status](https://david-dm.org/KleeGroup/babel-preset-focus/dev-status.svg)](https://david-dm.org/KleeGroup/babel-preset-focus?type=dev)
[![Peer Dependencies Status](https://david-dm.org/KleeGroup/babel-preset-focus/peer-status.svg)](https://david-dm.org/KleeGroup/babel-preset-focus?type=peer)

## Install

Expand Down
50 changes: 0 additions & 50 deletions babelify.js

This file was deleted.

3 changes: 0 additions & 3 deletions focus-polyfill.js

This file was deleted.

103 changes: 80 additions & 23 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,83 @@
var decoratorLegacyPlugin = require('babel-plugin-transform-decorators-legacy');
//see https://github.com/babel/babel/commit/b5b7e346a04c99da8793e2c65cc3b3c7c720253d
let env = process.env.BABEL_ENV || process.env.NODE_ENV;
if (env !== 'development' && env !== 'test' && env !== 'production') {
throw new Error(
'Using `focus-preset-babel` requires that you specify `NODE_ENV` or ' +
'`BABEL_ENV` environment variables. Valid values are "development" ' +
'"test", and "production". Instead, received: ' +
JSON.stringify(env) +
'.'
);
}
let LEGACY_EXPORTS;
if (process.env.LEGACY_EXPORTS) {
LEGACY_EXPORTS = JSON.parse(process.env.LEGACY_EXPORTS)
} else {
LEGACY_EXPORTS = false;
}

let LEGACY_LODASH;
if (process.env.LEGACY_LODASH) {
LEGACY_LODASH = JSON.parse(process.env.LEGACY_LODASH)
} else {
LEGACY_LODASH = false;
}


let browsers = process.env.BROWSERS || ">1%|last 4 versions|Firefox ESR|not ie < 9";

const plugins = [
'babel-plugin-transform-decorators-legacy',
'babel-plugin-transform-class-properties',
['babel-plugin-transform-object-rest-spread', { useBuiltIns: true }],
'babel-plugin-transform-function-bind',
['babel-plugin-transform-react-jsx', { useBuiltIns: true }],
['babel-plugin-transform-runtime', { helpers: false, polyfill: false, regenerator: true }],
['babel-plugin-transform-regenerator', { async: false }],
'babel-plugin-syntax-dynamic-import'
// 'babel-plugin-transform-proto-to-assign',
// ['babel-plugin-transform-es2015-classes', { loose: true }]
];

if (!LEGACY_LODASH) {
plugins.push('babel-plugin-lodash');
}

if (LEGACY_EXPORTS) {
plugins.push('babel-plugin-add-module-exports');
}

module.exports = {
presets: [
require('babel-preset-stage-0'),
require('babel-preset-react'),
require('babel-preset-es2015')
],
plugins: [
require('babel-plugin-transform-class-properties'),
decoratorLegacyPlugin.__esModule ? decoratorLegacyPlugin.default: decoratorLegacyPlugin,
require('babel-plugin-add-module-exports'),
require('babel-plugin-transform-proto-to-assign'),
[require('babel-plugin-transform-es2015-classes'), {loose: true}]
],
env: {
development: {
presets: [
require('babel-preset-react-hmre')
]
},
production: {
plugins: ["transform-react-remove-prop-types"]
presets: [
// Latest stable ECMAScript features
[
'babel-preset-env',
{
targets: {
browsers: browsers.split('|'),
},
// forceAllTransforms: !!process.env.HOT_RELOAD,
uglify: !!process.env.HOT_RELOAD || LEGACY_EXPORTS,
// Enable polyfill transforms
useBuiltIns: true,
// Do not transform modules to CJS
modules: LEGACY_EXPORTS ? 'commonjs' : false
},
],
'babel-preset-react'
],
plugins,
env: {
development: {
plugins: [
'babel-plugin-transform-react-jsx-source',
'babel-plugin-transform-react-jsx-self',
'react-hot-loader/babel'
]
},
production: {
plugins: [
'transform-react-remove-prop-types'
]
}
}
}
};
38 changes: 14 additions & 24 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
{
"name": "babel-preset-focus",
"version": "0.7.0",
"version": "1.0.0-beta1",
"description": "Focus config for babel use.",
"main": "index.js",
"scripts": {
"build": "webpack",
"prepublish": "npm run build"
},
"repository": {
"type": "git",
"url": "git+https://github.com/KleeGroup/babel-focus.git"
Expand All @@ -29,26 +25,20 @@
},
"homepage": "https://github.com/KleeGroup/babel-focus#readme",
"dependencies": {
"babel-core": "6.23.1",
"babel-eslint": "7.1.1",
"babel-loader": "6.4.0",
"babel-core": "6.26.0",
"babel-plugin-add-module-exports": "0.2.1",
"babel-plugin-runtime": "1.0.7",
"babel-plugin-transform-class-properties": "6.23.0",
"babel-plugin-lodash": "3.2.11",
"babel-plugin-syntax-dynamic-import": "6.18.0",
"babel-plugin-transform-class-properties": "6.24.1",
"babel-plugin-transform-decorators-legacy": "1.3.4",
"babel-plugin-transform-es2015-classes": "6.23.0",
"babel-plugin-transform-proto-to-assign": "6.23.0",
"babel-plugin-transform-react-remove-prop-types": "0.3.2",
"babel-polyfill": "6.23.0",
"babel-preset-es2015": "6.22.0",
"babel-preset-react": "6.23.0",
"babel-preset-react-hmre": "1.1.1",
"babel-preset-stage-0": "6.22.0",
"classlist-polyfill": "1.0.3",
"es5-shim": "4.5.9",
"react-hot-loader": "3.0.0-beta.6 "
},
"devDependencies": {
"webpack": "1.14.0"
"babel-plugin-transform-function-bind": "6.22.0",
"babel-plugin-transform-object-rest-spread": "6.26.0",
"babel-plugin-transform-react-jsx": "6.24.1",
"babel-plugin-transform-react-remove-prop-types": "0.4.8",
"babel-plugin-transform-regenerator": "6.26.0",
"babel-plugin-transform-runtime": "6.23.0",
"babel-preset-env": "1.6.0",
"babel-preset-react": "6.24.1",
"react-hot-loader": "3.0.0-beta.7 "
}
}
7 changes: 0 additions & 7 deletions webpack.config.js

This file was deleted.

0 comments on commit d25fb10

Please sign in to comment.