mirror of
https://github.com/GoogleChromeLabs/squoosh.git
synced 2025-11-14 01:37:26 +00:00
allow passing entire directories as input
This commit is contained in:
@@ -183,9 +183,14 @@ function progressTracker(results) {
|
|||||||
return tracker;
|
return tracker;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function checkInputFilesValid(files) {
|
async function getInputFiles(paths) {
|
||||||
const validFiles = [];
|
const validFiles = [];
|
||||||
|
|
||||||
|
for (const path of paths) {
|
||||||
|
//allow paths ending in / of \ to get all files in that directory
|
||||||
|
const files = path.endsWith('/') || path.endsWith('\\')
|
||||||
|
? await fs.readdir(paths)
|
||||||
|
: [path];
|
||||||
for (const file of files) {
|
for (const file of files) {
|
||||||
try {
|
try {
|
||||||
await fsp.stat(file);
|
await fsp.stat(file);
|
||||||
@@ -202,12 +207,13 @@ async function checkInputFilesValid(files) {
|
|||||||
|
|
||||||
validFiles.push(file);
|
validFiles.push(file);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return validFiles;
|
return validFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function processFiles(files) {
|
async function processFiles(files) {
|
||||||
files = await checkInputFilesValid(files);
|
files = await getInputFiles(files);
|
||||||
|
|
||||||
const parallelism = cpus().length;
|
const parallelism = cpus().length;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user