aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/create-turbo/src/utils/isFolderEmpty.ts
diff options
context:
space:
mode:
author简律纯 <hsiangnianian@outlook.com>2023-04-28 01:36:44 +0800
committer简律纯 <hsiangnianian@outlook.com>2023-04-28 01:36:44 +0800
commitdd84b9d64fb98746a230cd24233ff50a562c39c9 (patch)
treeb583261ef00b3afe72ec4d6dacb31e57779a6faf /packages/create-turbo/src/utils/isFolderEmpty.ts
parent0b46fcd72ac34382387b2bcf9095233efbcc52f4 (diff)
downloadHydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.tar.gz
HydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.zip
Diffstat (limited to 'packages/create-turbo/src/utils/isFolderEmpty.ts')
-rw-r--r--packages/create-turbo/src/utils/isFolderEmpty.ts37
1 files changed, 37 insertions, 0 deletions
diff --git a/packages/create-turbo/src/utils/isFolderEmpty.ts b/packages/create-turbo/src/utils/isFolderEmpty.ts
new file mode 100644
index 0000000..4de2d58
--- /dev/null
+++ b/packages/create-turbo/src/utils/isFolderEmpty.ts
@@ -0,0 +1,37 @@
+import fs from "fs-extra";
+
+const VALID_FILES = [
+ ".DS_Store",
+ ".git",
+ ".gitattributes",
+ ".gitignore",
+ ".gitlab-ci.yml",
+ ".hg",
+ ".hgcheck",
+ ".hgignore",
+ ".idea",
+ ".npmignore",
+ ".travis.yml",
+ "LICENSE",
+ "Thumbs.db",
+ "docs",
+ "mkdocs.yml",
+ "npm-debug.log",
+ "yarn-debug.log",
+ "yarn-error.log",
+ "yarnrc.yml",
+ ".yarn",
+];
+
+export function isFolderEmpty(root: string): {
+ isEmpty: boolean;
+ conflicts: Array<string>;
+} {
+ const conflicts = fs
+ .readdirSync(root)
+ .filter((file) => !VALID_FILES.includes(file))
+ // Support IntelliJ IDEA-based editors
+ .filter((file) => !/\.iml$/.test(file));
+
+ return { isEmpty: conflicts.length === 0, conflicts };
+}