44 lines
2.1 KiB
JavaScript
Executable File
44 lines
2.1 KiB
JavaScript
Executable File
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.save = exports.getAllMarkdownFiles = exports.distPath = exports.jsPath = exports.faviconPath = exports.assetsPath = exports.stylesPath = exports.radarPath = exports.relativePath = void 0;
|
|
const fs_extra_1 = require("fs-extra");
|
|
const path_1 = __importDefault(require("path"));
|
|
const walk_1 = require("walk");
|
|
exports.relativePath = (...relativePath) => (
|
|
// path.resolve(__dirname, '..', ...relativePath)
|
|
path_1.default.resolve(...relativePath));
|
|
exports.radarPath = (...pathInSrc) => (exports.relativePath('radar', ...pathInSrc));
|
|
exports.stylesPath = (...pathInSrc) => (exports.relativePath('styles', ...pathInSrc));
|
|
exports.assetsPath = (...pathInSrc) => (exports.relativePath('assets', ...pathInSrc));
|
|
exports.faviconPath = (...pathInSrc) => (exports.relativePath('assets/favicon.ico', ...pathInSrc));
|
|
exports.jsPath = (...pathInSrc) => (exports.relativePath('js', ...pathInSrc));
|
|
exports.distPath = (...pathInDist) => (exports.relativePath('src', ...pathInDist));
|
|
exports.getAllMarkdownFiles = (folder) => (getAllFiles(folder, isMarkdownFile));
|
|
const getAllFiles = (folder, predicate) => (new Promise((resolve, reject) => {
|
|
const walker = walk_1.walk(folder, { followLinks: false });
|
|
const files = [];
|
|
walker.on("file", (root, fileStat, next) => {
|
|
if (predicate(fileStat.name)) {
|
|
files.push(path_1.default.resolve(root, fileStat.name));
|
|
}
|
|
next();
|
|
});
|
|
walker.on("errors", (root, nodeStatsArray, next) => {
|
|
nodeStatsArray.forEach(function (n) {
|
|
console.error("[ERROR] " + n.name);
|
|
if (n.error) {
|
|
console.error(n.error.message || (n.error.code + ": " + n.error.path));
|
|
}
|
|
});
|
|
next();
|
|
});
|
|
walker.on("end", () => {
|
|
resolve(files.sort());
|
|
});
|
|
}));
|
|
const isMarkdownFile = (name) => name.match(/\.md$/) !== null;
|
|
exports.save = (data, fileName) => fs_extra_1.outputFile(exports.distPath(fileName), data);
|