UNPKG

sbg-api

Version:

Pre-processing all source posts before rendering from hexo. Useful for low-end devices to prevent using large number of hexo plugins.

47 lines 2.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var cross_spawn_1 = tslib_1.__importDefault(require("cross-spawn")); var gulp_1 = tslib_1.__importDefault(require("gulp")); var sbg_utility_1 = require("sbg-utility"); var through2_1 = tslib_1.__importDefault(require("through2")); var upath_1 = require("upath"); /** * run all _*.standalone.js inside src-posts (_config_yml.post_dir) * @returns */ function standaloneRunner() { sbg_utility_1.Logger.log('[standalone] Running scripts...\n'); return gulp_1.default .src((0, upath_1.join)((0, sbg_utility_1.getConfig)().cwd, '**/_*.standalone.js'), { cwd: (0, sbg_utility_1.getConfig)().cwd, ignore: ['**/tmp/**'] }) .pipe(through2_1.default.obj(function (file, _enc, next) { return tslib_1.__awaiter(this, void 0, void 0, function () { var _a, _b, _c, child; return tslib_1.__generator(this, function (_d) { switch (_d.label) { case 0: sbg_utility_1.Logger.log('='.repeat(10) + ' input ' + '='.repeat(10)); _b = (_a = sbg_utility_1.Logger).log; _c = "node ".concat; return [4 /*yield*/, (0, sbg_utility_1.replacePath)(file.path, (0, sbg_utility_1.getConfig)().cwd, '')]; case 1: _b.apply(_a, [_c.apply("node ", [_d.sent()])]); sbg_utility_1.Logger.log('='.repeat(10) + ' ouput ' + '='.repeat(10)); child = cross_spawn_1.default.spawn('node', [file.path], { stdio: 'inherit' }); child.on('close', function () { // drop file next(); }); return [2 /*return*/]; } }); }); })) .pipe(gulp_1.default.dest((0, upath_1.join)((0, sbg_utility_1.getConfig)().cwd, 'tmp/standalone'))) .once('end', function () { sbg_utility_1.Logger.log('\n[standalone] stopped'); }); } gulp_1.default.task('post:standalone', standaloneRunner); exports.default = standaloneRunner; //# sourceMappingURL=standalone.js.map