1 | 'use strict';
|
2 |
|
3 | 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) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
|
4 |
|
5 | const path = require('path');
|
6 | const fse = require('fs-extra');
|
7 |
|
8 | const 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()}
|
14 | module.exports = (url) => urls[url]
|
15 | `;
|
16 | };
|
17 |
|
18 | const 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 |
|
36 | module.exports = generateIncludes;
|
37 |
|
\ | No newline at end of file |