ng-afelio
Version:
Extended Angular CLI
20 lines (19 loc) • 690 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parsePackageName = void 0;
// Parsed a scoped package name into name, version, and path.
const RE_SCOPED = /^(@[^\/]+\/[^@\/]+)(?:@([^\/]+))?(\/.*)?$/;
// Parsed a non-scoped package name into name, version, path
const RE_NON_SCOPED = /^([^@\/]+)(?:@([^\/]+))?(\/.*)?$/;
function parsePackageName(input) {
const m = RE_SCOPED.exec(input) || RE_NON_SCOPED.exec(input);
if (!m) {
throw new Error(`invalid package name: ${input}`);
}
return {
name: m[1] || '',
version: m[2] || 'latest',
path: m[3] || '',
};
}
exports.parsePackageName = parsePackageName;