UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

69 lines 5.96 kB
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 NpmChangesStream = class NpmChangesStream 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', headers: { 'npm-replication-opt-in': 'true', }, }); const since = String(data.update_seq - 10); if (!data.update_seq) { throw new E500(`get getInitialSince failed: ${data.update_seq}`); } this.logger.warn('[NpmChangesStream.getInitialSince] GET %s status: %s, data: %j, since: %s', registry.name, registry.changeStream, status, data, since); return since; } async *fetchChanges(registry, since) { // https://github.com/orgs/community/discussions/152515 const db = this.getChangesStreamUrl(registry, since); const { data, headers } = await this.httpClient.request(db, { timeout: 60_000, headers: { 'npm-replication-opt-in': 'true', }, dataType: 'json', gzip: true, }); const count = data.results?.length; const last_seq = data.last_seq; this.logger.info('[NpmChangesStream.fetchChanges] %s, count: %s, last_seq: %s, headers: %j', db, count, last_seq, headers); if (data.results?.length > 0) { for (const change of data.results) { // { // seq: 2495018, // id: 'ng-create-all-project', // changes: [ { rev: '3-be3a014aab8e379ba28a28adb8e10142' }, [length]: 1 ], // deleted: true // }, const seq = String(change.seq); const fullname = change.id; if (seq && fullname && seq !== since) { const change = { fullname, seq, }; yield change; } } } } }; NpmChangesStream = __decorate([ SingletonProto(), RegistryChangesStream(RegistryType.Npm) ], NpmChangesStream); export { NpmChangesStream }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTnBtQ2hhbmdlc1N0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9jaGFuZ2VzU3RyZWFtL05wbUNoYW5nZXNTdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUNyQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQTRCLE1BQU0sNEJBQTRCLENBQUM7QUFJNUcsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBaUIsU0FBUSxvQkFBb0I7SUFDeEQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxRQUFrQjtRQUN0QyxNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2pELE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDekQsY0FBYyxFQUFFLElBQUk7WUFDcEIsT0FBTyxFQUFFLE1BQU07WUFDZixRQUFRLEVBQUUsTUFBTTtZQUNoQixPQUFPLEVBQUU7Z0JBQ1Asd0JBQXdCLEVBQUUsTUFBTTthQUNqQztTQUNGLENBQUMsQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLElBQUksQ0FBQywrQkFBK0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLDJFQUEyRSxFQUMzRSxRQUFRLENBQUMsSUFBSSxFQUNiLFFBQVEsQ0FBQyxZQUFZLEVBQ3JCLE1BQU0sRUFDTixJQUFJLEVBQ0osS0FBSyxDQUNOLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBa0IsRUFBRSxLQUFhO1FBQ25ELHVEQUF1RDtRQUN2RCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JELE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDMUQsT0FBTyxFQUFFLE1BQU07WUFDZixPQUFPLEVBQUU7Z0JBQ1Asd0JBQXdCLEVBQUUsTUFBTTthQUNqQztZQUNELFFBQVEsRUFBRSxNQUFNO1lBQ2hCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCwwRUFBMEUsRUFDMUUsRUFBRSxFQUNGLEtBQUssRUFDTCxRQUFRLEVBQ1IsT0FBTyxDQUNSLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdCLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNsQyxJQUFJO2dCQUNKLGtCQUFrQjtnQkFDbEIsaUNBQWlDO2dCQUNqQyw2RUFBNkU7Z0JBQzdFLGtCQUFrQjtnQkFDbEIsS0FBSztnQkFDTCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUMzQixJQUFJLEdBQUcsSUFBSSxRQUFRLElBQUksR0FBRyxLQUFLLEtBQUssRUFBRSxDQUFDO29CQUNyQyxNQUFNLE1BQU0sR0FBRzt3QkFDYixRQUFRO3dCQUNSLEdBQUc7cUJBQ0osQ0FBQztvQkFDRixNQUFNLE1BQU0sQ0FBQztnQkFDZixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQW5FWSxnQkFBZ0I7SUFGNUIsY0FBYyxFQUFFO0lBQ2hCLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUM7R0FDM0IsZ0JBQWdCLENBbUU1QiJ9