UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

49 lines 3.68 kB
export class BugVersion { constructor(data) { this.data = data; } /** * List all package names that have bugs */ listAllPackagesHasBugs() { return Object.keys(this.data); } listBugVersions(pkgName) { const bugVersionPackage = this.data[pkgName]; if (!bugVersionPackage) { return []; } return Object.keys(bugVersionPackage); } hasBugVersions(pkgName) { return pkgName in this.data; } /** * get fix version advice for a package version */ fixVersion(pkgName, version) { const advice = this.data[pkgName] && this.data[pkgName][version]; if (!advice || advice.version === version) return undefined; return advice; } fixManifest(bugVersionManifest, fixVersionManifest) { // If the tarball is same, manifest has fixed. if (bugVersionManifest.dist?.tarball === fixVersionManifest.dist?.tarball) { return; } const advice = this.fixVersion(bugVersionManifest.name, bugVersionManifest.version); if (!advice) { return; } const newManifest = structuredClone(fixVersionManifest); const hotfixDeprecated = `[WARNING] Use ${advice.version} instead of ${bugVersionManifest.version}, reason: ${advice.reason}`; newManifest.deprecated = bugVersionManifest.deprecated ? `${bugVersionManifest.deprecated} (${hotfixDeprecated})` : hotfixDeprecated; // don't change version newManifest.version = bugVersionManifest.version; return newManifest; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnVnVmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL2VudGl0eS9CdWdWZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCQSxNQUFNLE9BQU8sVUFBVTtJQUdyQixZQUFZLElBQXdCO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNILHNCQUFzQjtRQUNwQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBZTtRQUM3QixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDdkIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFlO1FBQzVCLE9BQU8sT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVSxDQUFDLE9BQWUsRUFBRSxPQUFlO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssT0FBTztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQzVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxXQUFXLENBQ1Qsa0JBQThDLEVBQzlDLGtCQUE4QztRQUU5Qyw4Q0FBOEM7UUFDOUMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxLQUFLLGtCQUFrQixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUMxRSxPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDeEQsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBaUIsTUFBTSxDQUFDLE9BQU8sZUFBZSxrQkFBa0IsQ0FBQyxPQUFPLGFBQWEsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlILFdBQVcsQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLENBQUMsVUFBVTtZQUNwRCxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLEtBQUssZ0JBQWdCLEdBQUc7WUFDMUQsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO1FBQ3JCLHVCQUF1QjtRQUN2QixXQUFXLENBQUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztRQUNqRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0NBQ0YifQ==