Skip to content

Commit 21a870e

Browse files
committed
Fix: issue related to repeated name files
1 parent 3d50320 commit 21a870e

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

commands/basec/index.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,19 @@ module.exports = (args, api) => {
99
const prefix = args.prefix ? capitalize(args.prefix) : "Base";
1010

1111
if (componentName || scaffoldButton) {
12-
const filename = componentName ? `${prefix + capitalize(componentName)}` : "BaseButton";
12+
let filename = componentName ? `${prefix + capitalize(componentName)}` : "BaseButton";
1313
let directory = `src/components/base/${filename}.vue`;
1414
let dirPath = api.resolve(directory);
15+
let auxFilename = filename;
1516
while (fs.existsSync(dirPath)) {
16-
directory = `src/components/base/${filename}-${Math.random().toString(36).slice(-5)}.vue`;
17+
auxFilename = `${filename}-${Math.random().toString(36).slice(-5)}`;
18+
directory = `src/components/base/${auxFilename}.vue`;
1719
dirPath = api.resolve(directory);
1820
}
21+
if (filename != auxFilename) {
22+
console.log(`\n${filename} already existed.`);
23+
filename = auxFilename;
24+
}
1925
const content = replaceContent(`${__dirname}/templates/Base${scaffoldButton ? "Button" : ""}.vue`, /name: "base",/, ` name: "${filename}",`);
2026
fs.writeFileSync(dirPath, content.join(EOL), { encoding: "utf-8" });
2127
console.log(`\n${filename} created succesfully`);

0 commit comments

Comments
 (0)