cnpmcore
Version:
99 lines • 7.78 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);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.PackageTagChanged = exports.PackageTagAdded = exports.PackageVersionAdded = void 0;
const tegg_1 = require("@eggjs/tegg");
const egg_errors_1 = require("egg-errors");
const index_1 = require("./index");
const PackageUtil_1 = require("../../common/PackageUtil");
const PackageManagerService_1 = require("../service/PackageManagerService");
const PackageVersionFileService_1 = require("../service/PackageVersionFileService");
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] = (0, PackageUtil_1.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 egg_errors_1.ForbiddenError) {
this.logger.info('[SyncPackageVersionFileEvent.syncPackageVersionFile] ignore sync files, cause: %s', err.message);
return;
}
throw err;
}
}
async syncPackageReadmeToLatestVersion(fullname) {
const [scope, name] = (0, PackageUtil_1.getScopeAndName)(fullname);
const { pkg, packageVersion } = await this.packageManagerService.showPackageVersionByVersionOrTag(scope, name, 'latest');
if (!pkg || !packageVersion)
return;
await this.packageVersionFileService.syncPackageReadme(pkg, packageVersion);
}
}
__decorate([
(0, tegg_1.Inject)(),
__metadata("design:type", Object)
], SyncPackageVersionFileEvent.prototype, "config", void 0);
__decorate([
(0, tegg_1.Inject)(),
__metadata("design:type", Object)
], SyncPackageVersionFileEvent.prototype, "logger", void 0);
__decorate([
(0, tegg_1.Inject)(),
__metadata("design:type", PackageManagerService_1.PackageManagerService)
], SyncPackageVersionFileEvent.prototype, "packageManagerService", void 0);
__decorate([
(0, tegg_1.Inject)(),
__metadata("design:type", PackageVersionFileService_1.PackageVersionFileService)
], SyncPackageVersionFileEvent.prototype, "packageVersionFileService", void 0);
let PackageVersionAdded = class PackageVersionAdded extends SyncPackageVersionFileEvent {
async handle(fullname, version) {
await this.syncPackageVersionFile(fullname, version);
}
};
exports.PackageVersionAdded = PackageVersionAdded;
exports.PackageVersionAdded = PackageVersionAdded = __decorate([
(0, tegg_1.Event)(index_1.PACKAGE_VERSION_ADDED)
], PackageVersionAdded);
let PackageTagAdded = class PackageTagAdded extends SyncPackageVersionFileEvent {
async handle(fullname, tag) {
if (tag !== 'latest')
return;
await this.syncPackageReadmeToLatestVersion(fullname);
}
};
exports.PackageTagAdded = PackageTagAdded;
exports.PackageTagAdded = PackageTagAdded = __decorate([
(0, tegg_1.Event)(index_1.PACKAGE_TAG_ADDED)
], PackageTagAdded);
let PackageTagChanged = class PackageTagChanged extends SyncPackageVersionFileEvent {
async handle(fullname, tag) {
if (tag !== 'latest')
return;
await this.syncPackageReadmeToLatestVersion(fullname);
}
};
exports.PackageTagChanged = PackageTagChanged;
exports.PackageTagChanged = PackageTagChanged = __decorate([
(0, tegg_1.Event)(index_1.PACKAGE_TAG_CHANGED)
], PackageTagChanged);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3luY1BhY2thZ2VWZXJzaW9uRmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL2V2ZW50L1N5bmNQYWNrYWdlVmVyc2lvbkZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsc0NBQTRDO0FBSTVDLDJDQUE0QztBQUM1QyxtQ0FBd0Y7QUFDeEYsMERBQTJEO0FBQzNELDRFQUF5RTtBQUN6RSxvRkFBaUY7QUFFakYsTUFBTSwyQkFBMkI7SUFVckIsS0FBSyxDQUFDLHNCQUFzQixDQUFDLFFBQWdCLEVBQUUsT0FBZTtRQUN0RSw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFBRSxPQUFPO1FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0I7WUFBRSxPQUFPO1FBQ3ZELDBCQUEwQjtRQUMxQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLFVBQVUsSUFBSSxRQUFRLEtBQUssMkJBQTJCO1lBQUUsT0FBTztRQUN2RixNQUFNLENBQUUsS0FBSyxFQUFFLElBQUksQ0FBRSxHQUFHLElBQUEsNkJBQWUsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxNQUFNLEVBQUUsY0FBYyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0NBQWdDLENBQzFGLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFPO1FBQzVCLElBQUk7WUFDRixNQUFNLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM5RTtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osSUFBSSxHQUFHLFlBQVksMkJBQWMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUZBQW1GLEVBQ2xHLEdBQUcsQ0FBQyxPQUFPLENBQ1osQ0FBQztnQkFDRixPQUFPO2FBQ1I7WUFDRCxNQUFNLEdBQUcsQ0FBQztTQUNYO0lBQ0gsQ0FBQztJQUVTLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFnQjtRQUMvRCxNQUFNLENBQUUsS0FBSyxFQUFFLElBQUksQ0FBRSxHQUFHLElBQUEsNkJBQWUsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxNQUFNLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGdDQUFnQyxDQUMvRixLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTztRQUNwQyxNQUFNLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDOUUsQ0FBQztDQUNGO0FBdENvQjtJQURsQixJQUFBLGFBQU0sR0FBRTs7MkRBQytCO0FBRXJCO0lBRGxCLElBQUEsYUFBTSxHQUFFOzsyREFDNEI7QUFFcEI7SUFEaEIsSUFBQSxhQUFNLEdBQUU7OEJBQytCLDZDQUFxQjswRUFBQztBQUU3QztJQURoQixJQUFBLGFBQU0sR0FBRTs4QkFDbUMscURBQXlCOzhFQUFDO0FBbUNqRSxJQUFNLG1CQUFtQixHQUF6QixNQUFNLG1CQUFvQixTQUFRLDJCQUEyQjtJQUNsRSxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQWdCLEVBQUUsT0FBZTtRQUM1QyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztDQUNGLENBQUE7QUFKWSxrREFBbUI7OEJBQW5CLG1CQUFtQjtJQUQvQixJQUFBLFlBQUssRUFBQyw2QkFBcUIsQ0FBQztHQUNoQixtQkFBbUIsQ0FJL0I7QUFHTSxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFnQixTQUFRLDJCQUEyQjtJQUM5RCxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQWdCLEVBQUUsR0FBVztRQUN4QyxJQUFJLEdBQUcsS0FBSyxRQUFRO1lBQUUsT0FBTztRQUM3QixNQUFNLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0YsQ0FBQTtBQUxZLDBDQUFlOzBCQUFmLGVBQWU7SUFEM0IsSUFBQSxZQUFLLEVBQUMseUJBQWlCLENBQUM7R0FDWixlQUFlLENBSzNCO0FBR00sSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBa0IsU0FBUSwyQkFBMkI7SUFDaEUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFnQixFQUFFLEdBQVc7UUFDeEMsSUFBSSxHQUFHLEtBQUssUUFBUTtZQUFFLE9BQU87UUFDN0IsTUFBTSxJQUFJLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUNGLENBQUE7QUFMWSw4Q0FBaUI7NEJBQWpCLGlCQUFpQjtJQUQ3QixJQUFBLFlBQUssRUFBQywyQkFBbUIsQ0FBQztHQUNkLGlCQUFpQixDQUs3QiJ9