Commit f79af80
fix(init): use opendir for listDir and validate symlinks during traversal
Replace the recursive readdirSync walk with fs.promises.opendir({ recursive, bufferSize: 1024 })
for cleaner iteration. Add symlink validation via safePath on each entry so symlinks pointing
outside the project directory are excluded from listings.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 828ebfc commit f79af80
File tree
4 files changed
+72
-38
lines changed- src/lib/init
- test/lib/init
4 files changed
+72
-38
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
284 | 284 | | |
285 | 285 | | |
286 | 286 | | |
287 | | - | |
288 | | - | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
289 | 291 | | |
290 | 292 | | |
291 | 293 | | |
| |||
344 | 346 | | |
345 | 347 | | |
346 | 348 | | |
347 | | - | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
348 | 353 | | |
349 | 354 | | |
350 | 355 | | |
| |||
353 | 358 | | |
354 | 359 | | |
355 | 360 | | |
356 | | - | |
357 | | - | |
358 | | - | |
359 | | - | |
360 | | - | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
361 | 366 | | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
366 | | - | |
367 | | - | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
368 | 373 | | |
369 | | - | |
370 | | - | |
371 | | - | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
372 | 383 | | |
373 | 384 | | |
374 | | - | |
375 | | - | |
376 | | - | |
| 385 | + | |
377 | 386 | | |
378 | | - | |
379 | | - | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | | - | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
385 | 394 | | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
386 | 398 | | |
| 399 | + | |
| 400 | + | |
387 | 401 | | |
388 | 402 | | |
389 | | - | |
390 | 403 | | |
391 | 404 | | |
392 | 405 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
623 | 623 | | |
624 | 624 | | |
625 | 625 | | |
626 | | - | |
| 626 | + | |
627 | 627 | | |
628 | 628 | | |
629 | 629 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
462 | 462 | | |
463 | 463 | | |
464 | 464 | | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
465 | 485 | | |
466 | 486 | | |
467 | 487 | | |
| |||
906 | 926 | | |
907 | 927 | | |
908 | 928 | | |
909 | | - | |
| 929 | + | |
910 | 930 | | |
911 | 931 | | |
912 | 932 | | |
913 | | - | |
| 933 | + | |
914 | 934 | | |
915 | 935 | | |
916 | 936 | | |
| |||
926 | 946 | | |
927 | 947 | | |
928 | 948 | | |
929 | | - | |
930 | | - | |
| 949 | + | |
| 950 | + | |
931 | 951 | | |
932 | 952 | | |
933 | 953 | | |
934 | | - | |
| 954 | + | |
935 | 955 | | |
936 | 956 | | |
937 | 957 | | |
938 | | - | |
| 958 | + | |
939 | 959 | | |
940 | 960 | | |
941 | 961 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
196 | | - | |
197 | | - | |
198 | | - | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
199 | 200 | | |
200 | 201 | | |
201 | 202 | | |
| |||
0 commit comments