UNPKG

rollup-plugin-require-context2

Version:
37 lines (33 loc) 1 kB
const fs = require('fs'); const Path = require('path'); function readDirRecursive(dir) { return fs.statSync(dir).isDirectory() ? Array.prototype.concat( ...fs.readdirSync(dir).map(f => readDirRecursive(Path.join(dir, f))) ) : dir; } function readDir(dir, recursive) { const isDirectory = fs.statSync(dir).isDirectory(); if (recursive) { return readDirRecursive(dir); } else if (isDirectory) { const files = fs.readdirSync(dir); if (files) { return files.map(file => Path.resolve(dir, file)); } } else { return [ dir ]; } } module.exports = function resolveRequireModules(baseDirname = './', recursive = false, regexp = /^\.\//) { let files = readDir(baseDirname, recursive); if (!Array.isArray(files)) { files = [files]; } files = files.map(file => { const fileAbsolutePath = `./${Path.relative(baseDirname, file)}`; return fileAbsolutePath; }); return files.filter(file => regexp.test(file.replace(/\\/g, '/'))); };