Skip to content

Commit 63b404c

Browse files
committed
feat: check folder override
1 parent f1ffb98 commit 63b404c

File tree

1 file changed

+21
-13
lines changed

1 file changed

+21
-13
lines changed

lib/cli.js

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,10 @@ module.exports = async (argvs) => {
2323
const timer = elapsed.start();
2424
const version = argv["release"] || "latest";
2525
const targetDir = path.resolve(argv["_"][0] || "./");
26-
const folderFiles = await fs.readdir(targetDir);
27-
if (folderFiles.length !== -1) {
28-
const { override } = await prompts({
29-
type: "confirm",
30-
name: "override",
31-
message: `${targetDir} is not an empty folder, proceed?`,
32-
initial: true,
33-
});
34-
35-
if (!override) {
36-
console.log(chalk.red("Aborted"));
37-
return;
38-
}
26+
const override = checkFolder(targetDir, argv);
27+
if (!override) {
28+
console.log(chalk.red("Aborted"));
29+
return;
3930
}
4031
spinner = ora(
4132
`Downloading ${packageName} version '${version}' to ${targetDir}`
@@ -69,6 +60,23 @@ module.exports = async (argvs) => {
6960
}
7061
};
7162

63+
const checkFolder = async (targetDir, argv) => {
64+
const folderExists = await fs.exists(targetDir);
65+
if (!folderExists) {
66+
return true;
67+
}
68+
const folderFiles = await fs.readdir(targetDir);
69+
if (argv["yes"] !== true && folderFiles.length !== -1) {
70+
const { override } = await prompts({
71+
type: "confirm",
72+
name: "override",
73+
message: `${targetDir} is not an empty folder, proceed?`,
74+
initial: true,
75+
});
76+
return override;
77+
}
78+
};
79+
7280
const onLoad = async (targetDir, version, argv) => {
7381
// see https://github.com/mrmlnc/fast-glob#how-to-write-patterns-on-windows
7482
const npmIgnoreFiles = await glob(

0 commit comments

Comments
 (0)