cnpmcore
Version:
Private NPM Registry for Enterprise
56 lines • 4.92 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;
};
import { SingletonProto } from 'egg';
import { E500 } from 'egg/errors';
import { RegistryType } from "../../../common/enum/Registry.js";
import { AbstractChangeStream, RegistryChangesStream } from "./AbstractChangesStream.js";
let CnpmcoreChangesStream = class CnpmcoreChangesStream extends AbstractChangeStream {
async getInitialSince(registry) {
const db = new URL(registry.changeStream).origin;
const { status, data } = await this.httpClient.request(db, {
followRedirect: true,
timeout: 10_000,
dataType: 'json',
});
if (!data.update_seq) {
throw new E500(`get getInitialSince failed: ${data.update_seq}`);
}
const since = String(data.update_seq - 10);
this.logger.warn('[NpmChangesStream.getInitialSince:firstSeq] GET %s status: %s, data: %j, since: %s', registry.name, status, data, since);
return since;
}
async *fetchChanges(registry, since) {
const db = this.getChangesStreamUrl(registry, since);
// json mode
const { data } = await this.httpClient.request(db, {
followRedirect: true,
timeout: 30_000,
dataType: 'json',
gzip: true,
});
if (data.results?.length > 0) {
for (const change of data.results) {
const seq = String(change.seq);
const fullname = change.id;
// cnpmcore 默认返回 >= 需要做特殊判断
if (seq && fullname && seq !== since) {
const change = {
fullname,
seq,
};
yield change;
}
}
}
}
};
CnpmcoreChangesStream = __decorate([
SingletonProto(),
RegistryChangesStream(RegistryType.Cnpmcore)
], CnpmcoreChangesStream);
export { CnpmcoreChangesStream };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ25wbWNvcmVDaGFuZ2VzU3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXBwL2NvbW1vbi9hZGFwdGVyL2NoYW5nZXNTdHJlYW0vQ25wbWNvcmVDaGFuZ2VzU3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDckMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVsQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJbEYsSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBc0IsU0FBUSxvQkFBb0I7SUFDN0QsS0FBSyxDQUFDLGVBQWUsQ0FBQyxRQUFrQjtRQUN0QyxNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2pELE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDekQsY0FBYyxFQUFFLElBQUk7WUFDcEIsT0FBTyxFQUFFLE1BQU07WUFDZixRQUFRLEVBQUUsTUFBTTtTQUNqQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxJQUFJLENBQUMsK0JBQStCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxvRkFBb0YsRUFDcEYsUUFBUSxDQUFDLElBQUksRUFDYixNQUFNLEVBQ04sSUFBSSxFQUNKLEtBQUssQ0FDTixDQUFDO1FBQ0YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQWtCLEVBQUUsS0FBYTtRQUNuRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JELFlBQVk7UUFDWixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDakQsY0FBYyxFQUFFLElBQUk7WUFDcEIsT0FBTyxFQUFFLE1BQU07WUFDZixRQUFRLEVBQUUsTUFBTTtZQUNoQixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0IsS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQy9CLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLDJCQUEyQjtnQkFDM0IsSUFBSSxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsS0FBSyxLQUFLLEVBQUUsQ0FBQztvQkFDckMsTUFBTSxNQUFNLEdBQUc7d0JBQ2IsUUFBUTt3QkFDUixHQUFHO3FCQUNKLENBQUM7b0JBQ0YsTUFBTSxNQUFNLENBQUM7Z0JBQ2YsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUEvQ1kscUJBQXFCO0lBRmpDLGNBQWMsRUFBRTtJQUNoQixxQkFBcUIsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0dBQ2hDLHFCQUFxQixDQStDakMifQ==