motion
Version:
motion - moving development forward
131 lines (88 loc) • 4.01 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; };
var startup = _asyncToGenerator(function* () {
var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
if (process.env.MOTION_DEBUG) {
print('total startup time: ', Date.now() - process.env.startedat);
}
if (started) return;
started = true;
print();
// order important!
yield _opts2['default'].init(options);
_libFns.log.setLogging();
yield _disk2['default'].init(); // reads versions and sets up readers/writers
yield _builder2['default'].clear.init(); // ensures internal directories set up
yield Promise.all([_opts2['default'].serialize(), // write out opts to state file
_cache2['default'].init(), _bundler2['default'].init()]);
_libWatchDeletes2['default']();
});
exports.startup = startup;
var gulpScripts = _asyncToGenerator(function* (opts) {
yield _gulp2['default'].init(opts);
yield _gulp2['default'].afterBuild();
});
var build = _asyncToGenerator(function* () {
var opts = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
try {
yield startup(_extends({}, opts, { build: true }));
yield Promise.all([_bundler2['default'].remakeInstallDir(), _builder2['default'].clear.buildDir()]);
yield Promise.all([_gulp2['default'].assets(), gulpScripts({ once: opts.once })]);
yield _bundler2['default'].all();
yield _builder2['default'].build();
if (opts.once) return;
print();
process.exit();
} catch (e) {
_libFns.handleError(e);
}
});
exports.build = build;
var run = _asyncToGenerator(function* (opts) {
try {
yield startup(opts);
if (opts.watch) _gulp2['default'].assets();
yield _server2['default'].run();
activateEditor(_bridge2['default']);
_bridge2['default'].activate();
yield gulpScripts();
_cache2['default'].serialize(); // write out cache
yield _bundler2['default'].all();
if (opts.watch) yield _builder2['default'].build();
_keys2['default'].init();
} catch (e) {
_libFns.handleError(e);
}
});
exports.run = run;
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 _bridge = require('./bridge');
var _bridge2 = _interopRequireDefault(_bridge);
var _server = require('./server');
var _server2 = _interopRequireDefault(_server);
var _bundler = require('./bundler');
var _bundler2 = _interopRequireDefault(_bundler);
var _builder = require('./builder');
var _builder2 = _interopRequireDefault(_builder);
var _opts = require('./opts');
var _opts2 = _interopRequireDefault(_opts);
var _disk = require('./disk');
var _disk2 = _interopRequireDefault(_disk);
var _gulp = require('./gulp');
var _gulp2 = _interopRequireDefault(_gulp);
var _cache = require('./cache');
var _cache2 = _interopRequireDefault(_cache);
var _keys = require('./keys');
var _keys2 = _interopRequireDefault(_keys);
var _libWatchDeletes = require('./lib/watchDeletes');
var _libWatchDeletes2 = _interopRequireDefault(_libWatchDeletes);
var _libFns = require('./lib/fns');
var _editor = require('./editor');
var _editor2 = _interopRequireDefault(_editor);
// welcome to motion!
var started = false;
function activateEditor(bridge) {
var editor = new _editor2['default']();
editor.activate(bridge);
}