UNPKG

create-nx-workspace

Version:

Smart Repos · Fast Builds

29 lines (28 loc) 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getPackageNameFromThirdPartyPreset = getPackageNameFromThirdPartyPreset; const validate_npm_package_1 = require("../validate-npm-package"); const preset_1 = require("./preset"); /** * This function is used to check if a preset is a third party preset. * @param preset * @returns * - undefined if the preset is a known Nx preset or invalid. * - packageName if the preset is a third party preset. * - throws an error if the preset is invalid. */ function getPackageNameFromThirdPartyPreset(preset) { if (!preset || (0, preset_1.isKnownPreset)(preset)) { return; } // extract the package name from the preset const packageName = preset.match(/.+@/) ? preset[0] + preset.substring(1).split('@')[0] : preset; const validateResult = (0, validate_npm_package_1.validateNpmPackage)(packageName); if (!validateResult.validForNewPackages) { throw new Error(`Invalid preset npm package ${packageName}. There was an error with the preset npm package you provided: ` + (validateResult.errors ?? []).join('\n')); } return packageName; }