UNPKG

create-prisma-generator

Version:
44 lines 2.36 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateGeneratorName = void 0; const validate_npm_package_name_1 = __importDefault(require("validate-npm-package-name")); const chalk_1 = __importDefault(require("chalk")); const flags_1 = require("../flags"); const validateGeneratorName = (pkgName) => { var _a, _b; const validPkgName = (0, validate_npm_package_name_1.default)(pkgName.replace(flags_1.flags.skipPrismaNamingConventionFlag, '').trim()); if (!validPkgName.validForNewPackages) { console.log(chalk_1.default.red(`\n"${pkgName}" isn't a valid package name!`)); (_a = validPkgName.errors) === null || _a === void 0 ? void 0 : _a.forEach((e) => console.log(chalk_1.default.cyan(e))); (_b = validPkgName.warnings) === null || _b === void 0 ? void 0 : _b.forEach((e) => console.log(chalk_1.default.yellow(e))); return false; } else { const sanitizedPkgName = pkgName.trim(); const namingConvention = 'prisma-generator-'; const org = sanitizedPkgName.startsWith('@') ? sanitizedPkgName.split('/')[0] : null; const skipCheck = sanitizedPkgName.trim().split(' ')[1] === flags_1.flags.skipPrismaNamingConventionFlag; if (!skipCheck) { if (!sanitizedPkgName.includes(namingConvention) || sanitizedPkgName.length < namingConvention.length + 1) { if (org) { console.log(chalk_1.default.cyan(`\nPrisma recommends you to use this naming convention:\n`), chalk_1.default.yellow(`${org}/${namingConvention}<custom-name>\n`)); } else { console.log(chalk_1.default.cyan(`\n\nPrisma recommends you to use this naming convention:\n`), chalk_1.default.yellow(`${namingConvention}<custom-name>`)); } console.log(chalk_1.default.grey(`use the \`${flags_1.flags.skipPrismaNamingConventionFlag}\` flag to skip prisma's recommendation.\n`)); return false; } } return true; } }; exports.validateGeneratorName = validateGeneratorName; //# sourceMappingURL=generatorName.js.map