motion
Version:
motion - moving development forward
77 lines (60 loc) • 2.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _fns = require('../lib/fns');
var _opts = require('../opts');
var _opts2 = _interopRequireDefault(_opts);
var _log = require('../lib/log');
var _log2 = _interopRequireDefault(_log);
var _handleError = require('../lib/handleError');
var _handleError2 = _interopRequireDefault(_handleError);
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 OPTS;
exports.default = function () {
var ref = _asyncToGenerator(function* () {
try {
OPTS = (0, _opts2.default)();
const outFile = (0, _fns.p)(OPTS.buildDir, 'index.html');
const indexFile = yield (0, _fns.readFile)((0, _fns.p)(OPTS.motionDir, 'index.html'));
let template = indexFile.replace(/\/static/g, '/_/static').replace('<!-- STYLES -->', '<link rel="stylesheet" href="/_/styles.css" />')
// .replace('<!-- EXTERNAL STYLES -->', externalStyles)
.replace('<!-- SCRIPTS -->', ['<script src="/_/react.prod.js"></script>', ' <script src="/_/motion.prod.js"></script>', `
<script>
var Motion = exports['motion']
Motion.init()
</script>
`, ' <script src="/_/externals.js"></script>', ' <script src="/_/internals.js"></script>', ' <script src="/_/' + OPTS.saneName + '.js"></script>', `
<script>
Motion.run("${ OPTS.saneName }")
</script>
`].join("\n"));
(0, _log2.default)('makeTemplate writing...');
yield (0, _fns.writeFile)(outFile, template);
} catch (e) {
(0, _handleError2.default)(e);
}
});
return function makeTemplate() {
return ref.apply(this, arguments);
};
}();
function makeIsomorphic() {
// TODO: motion build --isomorphic
// if (OPTS.isomorphic) {
// var Motion = require('client/dist/motion.node')
// var app = require(p(OPTS.buildDir, '_', OPTS.saneName))
//
// var MotionApp = app(false, { Motion }, async function(output) {
// template = template.replace(
// '<div id="_motionapp"></div>',
// '<div id="_motionapp">' + output + '</div>'
// )
//
// await writeFile(out, template)
// })
// return
// }
}
//# sourceMappingURL=makeTemplate.js.map