From dd84b9d64fb98746a230cd24233ff50a562c39c9 Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Fri, 28 Apr 2023 01:36:44 +0800 Subject: --- packages/create-turbo/src/utils/isFolderEmpty.ts | 37 ++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 packages/create-turbo/src/utils/isFolderEmpty.ts (limited to 'packages/create-turbo/src/utils/isFolderEmpty.ts') 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; +} { + 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 }; +} -- cgit v1.2.3-70-g09d2