UNPKG

novu

Version:

Novu CLI. Run Novu Studio and sync workflows with Novu Cloud

59 lines (58 loc) 1.84 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isFolderEmpty = isFolderEmpty; const picocolors_1 = require("picocolors"); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); function isFolderEmpty(root, name) { const validFiles = [ '.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', ]; const conflicts = fs_1.default.readdirSync(root).filter((file) => !validFiles.includes(file) && !/\.iml$/.test(file)); if (conflicts.length > 0) { console.log(`The directory ${(0, picocolors_1.green)(name)} contains files that could conflict:`); console.log(); for (const file of conflicts) { try { const stats = fs_1.default.lstatSync(path_1.default.join(root, file)); if (stats.isDirectory()) { console.log(` ${(0, picocolors_1.blue)(file)}/`); } else { console.log(` ${file}`); } } catch (_a) { console.log(` ${file}`); } } console.log(); console.log('Either try using a new directory name, or remove the files listed above.'); console.log(); return false; } return true; }