cnpmcore
Version:
Private NPM Registry for Enterprise
94 lines • 7.6 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Event, Inject } from 'egg';
import { ForbiddenError } from 'egg/errors';
import { getScopeAndName } from "../../common/PackageUtil.js";
import { PACKAGE_TAG_ADDED, PACKAGE_TAG_CHANGED, PACKAGE_VERSION_ADDED } from "./index.js";
class SyncPackageVersionFileEvent {
async syncPackageVersionFile(fullname, version) {
// must set enableUnpkg and enableSyncUnpkgFiles = true both
if (!this.config.cnpmcore.enableUnpkg)
return;
if (!this.config.cnpmcore.enableSyncUnpkgFiles)
return;
// ignore sync on unittest
if (this.config.env === 'unittest' && fullname !== '@cnpm/unittest-unpkg-demo')
return;
const [scope, name] = getScopeAndName(fullname);
const { packageVersion } = await this.packageManagerService.showPackageVersionByVersionOrTag(scope, name, version);
if (!packageVersion)
return;
try {
await this.packageVersionFileService.syncPackageVersionFiles(packageVersion);
}
catch (err) {
if (err instanceof ForbiddenError) {
this.logger.info('[SyncPackageVersionFileEvent.syncPackageVersionFile] ignore sync files, cause: %s', err.message);
return;
}
throw err;
}
}
async syncPackageReadmeToLatestVersion(fullname) {
const [scope, name] = getScopeAndName(fullname);
const { pkg, packageVersion } = await this.packageManagerService.showPackageVersionByVersionOrTag(scope, name, 'latest');
if (!pkg || !packageVersion)
return;
await this.packageVersionFileService.syncPackageReadme(pkg, packageVersion);
}
}
__decorate([
Inject(),
__metadata("design:type", Object)
], SyncPackageVersionFileEvent.prototype, "config", void 0);
__decorate([
Inject(),
__metadata("design:type", Function)
], SyncPackageVersionFileEvent.prototype, "logger", void 0);
__decorate([
Inject(),
__metadata("design:type", Function)
], SyncPackageVersionFileEvent.prototype, "packageManagerService", void 0);
__decorate([
Inject(),
__metadata("design:type", Function)
], SyncPackageVersionFileEvent.prototype, "packageVersionFileService", void 0);
let PackageVersionAddedSyncPackageVersionFileEvent = class PackageVersionAddedSyncPackageVersionFileEvent extends SyncPackageVersionFileEvent {
async handle(fullname, version) {
await this.syncPackageVersionFile(fullname, version);
}
};
PackageVersionAddedSyncPackageVersionFileEvent = __decorate([
Event(PACKAGE_VERSION_ADDED)
], PackageVersionAddedSyncPackageVersionFileEvent);
export { PackageVersionAddedSyncPackageVersionFileEvent };
let PackageTagAddedSyncPackageVersionFileEvent = class PackageTagAddedSyncPackageVersionFileEvent extends SyncPackageVersionFileEvent {
async handle(fullname, tag) {
if (tag !== 'latest')
return;
await this.syncPackageReadmeToLatestVersion(fullname);
}
};
PackageTagAddedSyncPackageVersionFileEvent = __decorate([
Event(PACKAGE_TAG_ADDED)
], PackageTagAddedSyncPackageVersionFileEvent);
export { PackageTagAddedSyncPackageVersionFileEvent };
let PackageTagChangedSyncPackageVersionFileEvent = class PackageTagChangedSyncPackageVersionFileEvent extends SyncPackageVersionFileEvent {
async handle(fullname, tag) {
if (tag !== 'latest')
return;
await this.syncPackageReadmeToLatestVersion(fullname);
}
};
PackageTagChangedSyncPackageVersionFileEvent = __decorate([
Event(PACKAGE_TAG_CHANGED)
], PackageTagChangedSyncPackageVersionFileEvent);
export { PackageTagChangedSyncPackageVersionFileEvent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3luY1BhY2thZ2VWZXJzaW9uRmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL2V2ZW50L1N5bmNQYWNrYWdlVmVyc2lvbkZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWtCLE1BQU0sS0FBSyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzRixNQUFNLDJCQUEyQjtJQVVyQixLQUFLLENBQUMsc0JBQXNCLENBQUMsUUFBZ0IsRUFBRSxPQUFlO1FBQ3RFLDREQUE0RDtRQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVztZQUFFLE9BQU87UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLG9CQUFvQjtZQUFFLE9BQU87UUFDdkQsMEJBQTBCO1FBQzFCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssVUFBVSxJQUFJLFFBQVEsS0FBSywyQkFBMkI7WUFBRSxPQUFPO1FBQ3ZGLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25ILElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvRSxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksR0FBRyxZQUFZLGNBQWMsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxtRkFBbUYsRUFDbkYsR0FBRyxDQUFDLE9BQU8sQ0FDWixDQUFDO2dCQUNGLE9BQU87WUFDVCxDQUFDO1lBQ0QsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQztJQUVTLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFnQjtRQUMvRCxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGdDQUFnQyxDQUMvRixLQUFLLEVBQ0wsSUFBSSxFQUNKLFFBQVEsQ0FDVCxDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFPO1FBQ3BDLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQ0Y7QUF6Q29CO0lBRGxCLE1BQU0sRUFBRTs7MkRBQ3lCO0FBRWY7SUFEbEIsTUFBTSxFQUFFOzsyREFDeUI7QUFFakI7SUFEaEIsTUFBTSxFQUFFOzswRUFDcUQ7QUFFN0M7SUFEaEIsTUFBTSxFQUFFOzs4RUFDNkQ7QUFzQ2pFLElBQU0sOENBQThDLEdBQXBELE1BQU0sOENBQStDLFNBQVEsMkJBQTJCO0lBQzdGLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBZ0IsRUFBRSxPQUFlO1FBQzVDLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0YsQ0FBQTtBQUpZLDhDQUE4QztJQUQxRCxLQUFLLENBQUMscUJBQXFCLENBQUM7R0FDaEIsOENBQThDLENBSTFEOztBQUdNLElBQU0sMENBQTBDLEdBQWhELE1BQU0sMENBQTJDLFNBQVEsMkJBQTJCO0lBQ3pGLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBZ0IsRUFBRSxHQUFXO1FBQ3hDLElBQUksR0FBRyxLQUFLLFFBQVE7WUFBRSxPQUFPO1FBQzdCLE1BQU0sSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FDRixDQUFBO0FBTFksMENBQTBDO0lBRHRELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztHQUNaLDBDQUEwQyxDQUt0RDs7QUFHTSxJQUFNLDRDQUE0QyxHQUFsRCxNQUFNLDRDQUE2QyxTQUFRLDJCQUEyQjtJQUMzRixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQWdCLEVBQUUsR0FBVztRQUN4QyxJQUFJLEdBQUcsS0FBSyxRQUFRO1lBQUUsT0FBTztRQUM3QixNQUFNLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0YsQ0FBQTtBQUxZLDRDQUE0QztJQUR4RCxLQUFLLENBQUMsbUJBQW1CLENBQUM7R0FDZCw0Q0FBNEMsQ0FLeEQifQ==