diff --git a/cli/main.ts b/cli/main.ts index d49556e..bf0b0cd 100644 --- a/cli/main.ts +++ b/cli/main.ts @@ -20,13 +20,17 @@ const args = parse(Deno.args, { }); const files: string[] = []; +const includeExtensions = Array.from( + String(args["include"] || "*.png, *.jpg").matchAll(/\*\.([\w]+)/g), +).map(([_, group]) => group); args["_"].forEach((arg) => { arg = arg.toString(); if (Deno.statSync(arg).isDirectory) { - Array.from(Deno.readDirSync(arg)).forEach((entry) => - files.push(`${arg}/${entry.name}`) - ); + Array.from(Deno.readDirSync(arg)).filter((entry) => + includeExtensions.length == 0 || + includeExtensions.some((ext) => entry.name.endsWith(ext)) + ).forEach((entry) => files.push(`${arg}/${entry.name}`)); } else { files.push(arg); }