embark-plasma/babel.config.js
emizzle 2a8f0bd937
initial commit
Add init, deposit, send console commands to interact with the Plasma chain

Add plasma exit command and function

working in embark and browser

Remove browser codeAll browser code is now required through embarkjs-omg
2019-06-06 20:05:02 +10:00

63 lines
1.3 KiB
JavaScript

/* global module require */
const cloneDeep = require('lodash.clonedeep');
module.exports = (api) => {
const env = api.env();
const base = {
babelrcRoots: [
'.',
'packages/*'
],
plugins: [
'babel-plugin-macros',
['@babel/plugin-proposal-decorators', {
legacy: true
}],
'@babel/plugin-syntax-dynamic-import',
['@babel/plugin-proposal-class-properties', {
loose: true
}],
'@babel/plugin-proposal-optional-chaining',
['@babel/plugin-transform-runtime', {
corejs: 2
}]
],
presets: [
'@babel/preset-env'
]
};
if (env === 'base' || env.startsWith('base:')) {
return base;
}
const browser = cloneDeep(base);
browser.plugins[browser.plugins.length - 1][1].useESModules = true;
browser.presets[0] = [browser.presets[0], {
modules: false,
targets: { browsers: ['last 1 version', 'not dead', '> 0.2%'] }
}];
if (env === 'browser' || env.startsWith('browser:')) {
return browser;
}
const node = cloneDeep(base);
node.plugins.splice(
node.plugins.indexOf('@babel/plugin-syntax-dynamic-import') + 1,
0,
'babel-plugin-dynamic-import-node'
);
node.presets[0] = [node.presets[0], {
targets: { node: '8.11.3' }
}];
if (env === 'node' || env.startsWith('node:')) {
return node;
}
return {};
};