motion
Version:
motion - moving development forward
74 lines (56 loc) • 2.07 kB
JavaScript
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.file = file;
exports.app = app;
exports.getBabelConfig = getBabelConfig;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _motionTransform = require('motion-transform');
var _motionTransform2 = _interopRequireDefault(_motionTransform);
var _helpers = require('./helpers');
var _opts = require('../../opts');
var _opts2 = _interopRequireDefault(_opts);
var _deepmerge = require('deepmerge');
var _deepmerge2 = _interopRequireDefault(_deepmerge);
function file(config) {
var motionOpts = _extends({
basePath: _opts2['default']('appDir'),
production: _helpers.isProduction(),
selectorPrefix: _opts2['default']('config').selectorPrefix || '#_motionapp ',
routing: _opts2['default']('config').routing
}, config);
return getBabelConfig({
plugins: [_motionTransform2['default'].file(motionOpts)]
});
}
function app() {
return {
whitelist: [],
retainLines: true,
comments: true,
plugins: [_motionTransform2['default'].app({ name: _opts2['default']('saneName') })],
compact: true,
extra: { production: _helpers.isProduction() }
};
}
function getBabelConfig(_ref) {
var plugins = _ref.plugins;
var babelConf = {
breakConfig: true, // avoid reading .babelrc
jsxPragma: 'view.el',
stage: 1,
blacklist: ['es6.tailCall', 'strict'],
retainLines: _opts2['default']('config').pretty ? false : true,
comments: true,
optional: ['regenerator', 'runtime'],
plugins: plugins,
extra: {
production: _helpers.isProduction()
}
};
var userConf = _opts2['default']('config').babel;
if (userConf) return _deepmerge2['default'](babelConf, userConf);else return babelConf;
}
exports['default'] = {
app: app,
file: file
};