Skip to content

Commit a08c350

Browse files
committed
fix: remove duplicate URL processing loop and improve URL validation error handling
1 parent e24cc40 commit a08c350

File tree

1 file changed

+18
-19
lines changed

1 file changed

+18
-19
lines changed

src/run/index.ts

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,10 @@ export default async (cmd) => {
146146
process.exit(11);
147147
}
148148

149-
let urlTest = new URL(cmd.url);
150-
if (!urlTest) {
151-
console.log(chalk.red("[!] Invalid URL"));
149+
try {
150+
new URL(cmd.url);
151+
} catch (e) {
152+
console.log(chalk.red(`[!] Invalid URL: ${cmd.url}`));
152153
process.exit(12);
153154
}
154155

@@ -178,23 +179,21 @@ export default async (cmd) => {
178179
fs.mkdirSync(toolOutputDir);
179180

180181
for (const url of urls) {
181-
for (const url of urls) {
182-
// Validate URL only
183-
let urlObj;
184-
try {
185-
urlObj = new URL(url);
186-
} catch {
187-
console.log(chalk.bgRed(`[!] Invalid URL: ${url}`));
188-
continue;
189-
}
190-
191-
const thisTargetWorkingDir = `${toolOutputDir}/${urlObj.host.replace(":", "_")}`;
192-
if (!fs.existsSync(thisTargetWorkingDir)) {
193-
fs.mkdirSync(thisTargetWorkingDir, { recursive: true });
194-
}
195-
const outputDir = `${thisTargetWorkingDir}/output`;
196-
await processUrl(url, outputDir, thisTargetWorkingDir, cmd, true);
182+
// Validate URL only
183+
let urlObj;
184+
try {
185+
urlObj = new URL(url);
186+
} catch {
187+
console.log(chalk.bgRed(`[!] Invalid URL: ${url}`));
188+
continue;
197189
}
190+
191+
const thisTargetWorkingDir = `${toolOutputDir}/${urlObj.host.replace(":", "_")}`;
192+
if (!fs.existsSync(thisTargetWorkingDir)) {
193+
fs.mkdirSync(thisTargetWorkingDir, { recursive: true });
194+
}
195+
const outputDir = `${thisTargetWorkingDir}/output`;
196+
await processUrl(url, outputDir, thisTargetWorkingDir, cmd, true);
198197
}
199198
}
200199
};

0 commit comments

Comments
 (0)