automin
Version:
"Create a minified mirror version of your js, css, html, json files"
32 lines (31 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = require("fs");
const path_1 = require("path");
;
;
const get_files = (folder, files, options) => {
const funcs = Object.assign({
filter_files: (dirname, filename) => true,
filter_folders: (dirname, filename) => true,
filter: (dirname, filename) => true
}, options);
let full_path;
(0, fs_1.readdirSync)(folder, {
withFileTypes: true
}).forEach((file) => {
full_path = (0, path_1.join)(folder, file.name);
if (!funcs.filter(full_path, file.name))
return;
if (file.isDirectory() && funcs.filter_folders(full_path, file.name))
get_files(full_path, files, options);
if (!file.isDirectory() && funcs.filter_files(full_path, file.name))
files.push(full_path);
});
return files;
};
exports.default = (dirname, options) => {
if (!(0, fs_1.existsSync)(dirname))
throw new TypeError("Directory does not exists");
return get_files(dirname, [], options);
};