UNPKG

parse-package-name

Version:

Parse npm package name into name, version and path

18 lines (17 loc) 425 B
// src/index.ts var RE_SCOPED = /^(@[^\/]+\/[^@\/]+)(?:@([^\/]+))?(\/.*)?$/; var RE_NON_SCOPED = /^([^@\/]+)(?:@([^\/]+))?(\/.*)?$/; function parse(input) { const m = RE_SCOPED.exec(input) || RE_NON_SCOPED.exec(input); if (!m) { throw new Error(`[parse-package-name] invalid package name: ${input}`); } return { name: m[1] || "", version: m[2] || "latest", path: m[3] || "" }; } export { parse };