cdk-nextjs
Version:
Deploy Next.js apps on AWS with CDK
32 lines • 3.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.listFilePaths = listFilePaths;
exports.chunkArray = chunkArray;
const node_fs_1 = require("node:fs");
const node_path_1 = require("node:path");
/**
* Given path of directory, returns array of all file paths within directory
*/
function listFilePaths(dirPath) {
const filePaths = [];
const directory = (0, node_fs_1.readdirSync)(dirPath, { withFileTypes: true });
for (const d of directory) {
const filePath = (0, node_path_1.resolve)(dirPath, d.name);
if (d.isDirectory()) {
filePaths.push(...listFilePaths(filePath));
}
else {
filePaths.push(filePath);
}
}
return filePaths;
}
/**
* Helper for batching requests
*/
async function* chunkArray(array, chunkSize) {
for (let i = 0; i < array.length; i += chunkSize) {
yield array.slice(i, i + chunkSize);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xhbWJkYXMvYXNzZXRzLWRlcGxveW1lbnQvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBTUEsc0NBWUM7QUFLRCxnQ0FJQztBQTNCRCxxQ0FBc0M7QUFDdEMseUNBQW9DO0FBRXBDOztHQUVHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLE9BQWU7SUFDM0MsTUFBTSxTQUFTLEdBQWEsRUFBRSxDQUFDO0lBQy9CLE1BQU0sU0FBUyxHQUFHLElBQUEscUJBQVcsRUFBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRSxLQUFLLE1BQU0sQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUEsbUJBQU8sRUFBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDcEIsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRDs7R0FFRztBQUNJLEtBQUssU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQWUsRUFBRSxTQUFpQjtJQUNsRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksU0FBUyxFQUFFLENBQUM7UUFDakQsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFDdEMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkZGlyU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyByZXNvbHZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuXG4vKipcbiAqIEdpdmVuIHBhdGggb2YgZGlyZWN0b3J5LCByZXR1cm5zIGFycmF5IG9mIGFsbCBmaWxlIHBhdGhzIHdpdGhpbiBkaXJlY3RvcnlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpc3RGaWxlUGF0aHMoZGlyUGF0aDogc3RyaW5nKTogc3RyaW5nW10ge1xuICBjb25zdCBmaWxlUGF0aHM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGRpcmVjdG9yeSA9IHJlYWRkaXJTeW5jKGRpclBhdGgsIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KTtcbiAgZm9yIChjb25zdCBkIG9mIGRpcmVjdG9yeSkge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gcmVzb2x2ZShkaXJQYXRoLCBkLm5hbWUpO1xuICAgIGlmIChkLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIGZpbGVQYXRocy5wdXNoKC4uLmxpc3RGaWxlUGF0aHMoZmlsZVBhdGgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsZVBhdGhzLnB1c2goZmlsZVBhdGgpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZmlsZVBhdGhzO1xufVxuXG4vKipcbiAqIEhlbHBlciBmb3IgYmF0Y2hpbmcgcmVxdWVzdHNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uKiBjaHVua0FycmF5KGFycmF5OiBzdHJpbmdbXSwgY2h1bmtTaXplOiBudW1iZXIpIHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkgKz0gY2h1bmtTaXplKSB7XG4gICAgeWllbGQgYXJyYXkuc2xpY2UoaSwgaSArIGNodW5rU2l6ZSk7XG4gIH1cbn1cbiJdfQ==