UNPKG

1.42 kBJavaScriptView Raw
1'use strict';
2
3function _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) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
4
5const path = require('path');
6const fse = require('fs-extra');
7
8const createIncludes = files => {
9 const buildUrls = () => files.reduce((str, file) => {
10 return str.concat(`urls['/${path.basename(file)}'] = require('raw-loader!${file}')\n`);
11 }, '');
12 return `const urls = {}
13${buildUrls()}
14module.exports = (url) => urls[url]
15`;
16};
17
18const generateIncludes = (() => {
19 var _ref = _asyncToGenerator(function* (dest, src) {
20 const list = yield fse.readdir(src);
21 const filtered = list.filter(function (file) {
22 return ['.js', '.txt'].includes(path.extname(file));
23 });
24 const files = filtered.map(function (file) {
25 return path.resolve(src, file);
26 });
27 const code = createIncludes(files);
28 return fse.writeFile(dest, code);
29 });
30
31 return function generateIncludes(_x, _x2) {
32 return _ref.apply(this, arguments);
33 };
34})();
35
36module.exports = generateIncludes;
37//# sourceMappingURL=generateIncludes.js.map
\No newline at end of file