motion
Version:
motion - moving development forward
88 lines (65 loc) • 2.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.init = undefined;
let init = exports.init = function () {
var ref = _asyncToGenerator(function* () {
var _ref = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
var _ref$once = _ref.once;
let once = _ref$once === undefined ? false : _ref$once;
try {
const inFiles = yield (0, _fns.glob)(_helpers.SCRIPTS_GLOB);
const _outFiles = yield (0, _fns.readdir)((0, _opts2.default)('outDir'));
const outFiles = _outFiles.map(function (file) {
return file.path;
}).filter(function (path) {
return path.slice(-4) !== '.map';
});
// cleanup out dir since last run
const deleted = _fns._.difference(outFiles, inFiles);
const deletedPaths = deleted.map(function (f) {
return (0, _fns.p)((0, _opts2.default)('outDir'), f);
});
yield Promise.all(deletedPaths.map(function (f) {
return (0, _fns.rm)(f);
}));
_fns.log.gulp('deleted', deletedPaths);
(0, _scripts.scripts)({ inFiles, outFiles });
} catch (e) {
(0, _fns.handleError)(e);
}
});
return function init(_x) {
return ref.apply(this, arguments);
};
}();
// listen to gulp events
exports.event = event;
var _fns = require('../lib/fns');
var _opts = require('../opts');
var _opts2 = _interopRequireDefault(_opts);
var _helpers = require('./lib/helpers');
var _scripts = require('./scripts');
var _styles = require('./styles');
var _app = require('./app');
var _assets = require('./assets');
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) { 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 { return Promise.resolve(value).then(function (value) { return step("next", value); }, function (err) { return step("throw", err); }); } } return step("next"); }); }; }
let listeners = {};
function event(name, cb) {
listeners[name] = listeners[name] || [];
listeners[name].push(cb);
}
event.run = (name, file, data) => listeners[name] && listeners[name].forEach(cb => cb(file, data));
// exports
exports.default = {
init,
scripts: _scripts.scripts,
afterBuild: _scripts.afterBuild,
assets: _assets.assets,
app: _app.app,
event,
styles: _styles.styles
};
//# sourceMappingURL=index.js.map