motion
Version:
motion - moving development forward
110 lines (76 loc) • 3.33 kB
JavaScript
exports.__esModule = true;
var internals = _asyncToGenerator(function* () {
var opts = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
try {
_libFns.log.internals('internals');
yield _install.finishedInstalling();
if (opts.force || _disk2['default'].internalsIn.hasChanged()) {
yield _disk2['default'].internalsIn.write(function (current, write) {
write(_libRequireString2['default'](_cache2['default'].getExported(), {
prefix: './internal/',
removeExt: true
}));
});
yield packInternals();
_libMessages.onInternalInstalled();
}
} catch (e) {
_libFns.handleError(e);
}
});
exports.internals = internals;
var checkInternals = _asyncToGenerator(function* (file) {
if (_opts2['default']('hasRunInitialBuild') && _cache2['default'].isInternal(file) && !runningBundle) {
clearTimeout(runningBundle);
runningBundle = setTimeout(_asyncToGenerator(function* () {
yield internals();
runningBundle = null;
}), 100);
}
}
// let internals use externals
);
exports.checkInternals = checkInternals;
exports.webpackUserExternals = webpackUserExternals;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { var callNext = step.bind(null, 'next'); var callThrow = step.bind(null, 'throw'); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(callNext, callThrow); } } callNext(); }); }; }
var _install = require('./install');
var _libRequires = require('../lib/requires');
var _libMessages = require('./lib/messages');
var _libWebpackConfig = require('./lib/webpackConfig');
var _libWebpackConfig2 = _interopRequireDefault(_libWebpackConfig);
var _libGetWebpackErrors = require('./lib/getWebpackErrors');
var _libGetWebpackErrors2 = _interopRequireDefault(_libGetWebpackErrors);
var _libRequireString = require('./lib/requireString');
var _libRequireString2 = _interopRequireDefault(_libRequireString);
var _bridge = require('../bridge');
var _bridge2 = _interopRequireDefault(_bridge);
var _disk = require('../disk');
var _disk2 = _interopRequireDefault(_disk);
var _cache = require('../cache');
var _cache2 = _interopRequireDefault(_cache);
var _opts = require('../opts');
var _opts2 = _interopRequireDefault(_opts);
var _libFns = require('../lib/fns');
var runningBundle = null;
function webpackUserExternals() {
var imports = _cache2['default'].getExternals();
var externalsObj = imports.reduce(function (acc, cur) {
acc[cur] = cur;
return acc;
}, {});
return externalsObj;
}
function packInternals() {
_libFns.log.internals('packInternals');
return new Promise(function (resolve, reject) {
var conf = _libWebpackConfig2['default']('internals.js', {
entry: _opts2['default']('deps').internalsIn,
externals: webpackUserExternals()
});
_libRequires.webpack()(conf, function (err, stats) {
_libFns.logError(_libGetWebpackErrors2['default']('internals', err, stats));
resolve();
});
});
}