cnpmcore 4.4.0 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,5 +2,5 @@ import type { Registry } from '../../../core/entity/Registry.js';
2
2
  import { AbstractChangeStream, type ChangesStreamChange } from './AbstractChangesStream.js';
3
3
  export declare class NpmChangesStream extends AbstractChangeStream {
4
4
  getInitialSince(registry: Registry): Promise<string>;
5
- fetchChanges(registry: Registry, since: string): AsyncGenerator<ChangesStreamChange, void, unknown>;
5
+ fetchChanges(registry: Registry, since: string): AsyncGenerator<ChangesStreamChange>;
6
6
  }
@@ -15,6 +15,9 @@ let NpmChangesStream = class NpmChangesStream extends AbstractChangeStream {
15
15
  followRedirect: true,
16
16
  timeout: 10_000,
17
17
  dataType: 'json',
18
+ headers: {
19
+ 'npm-replication-opt-in': 'true',
20
+ },
18
21
  });
19
22
  const since = String(data.update_seq - 10);
20
23
  if (!data.update_seq) {
@@ -25,27 +28,35 @@ let NpmChangesStream = class NpmChangesStream extends AbstractChangeStream {
25
28
  }
26
29
  async *fetchChanges(registry, since) {
27
30
  const db = this.getChangesStreamUrl(registry, since);
28
- const { res } = await this.httpclient.request(db, {
29
- streaming: true,
31
+ const { data, headers } = await this.httpclient.request(db, {
30
32
  timeout: 60_000,
33
+ headers: {
34
+ // https://github.com/orgs/community/discussions/152515
35
+ 'npm-replication-opt-in': 'true',
36
+ },
37
+ dataType: 'json',
38
+ gzip: true,
31
39
  });
32
- let buf = '';
33
- for await (const chunk of res) {
34
- const text = chunk.toString();
35
- const lines = text.split('\n');
36
- for (const line of lines) {
37
- const content = buf + line;
38
- const match = /"seq":(\d+),"id":"([^"]+)"/g.exec(content);
39
- const seq = match?.[1];
40
- const fullname = match?.[2];
41
- if (seq && fullname) {
42
- buf = '';
43
- const change = { fullname, seq };
40
+ const count = data.results?.length;
41
+ const last_seq = data.last_seq;
42
+ this.logger.info('[NpmChangesStream.fetchChanges] %s, count: %s, last_seq: %s, headers: %j', db, count, last_seq, headers);
43
+ if (data.results?.length > 0) {
44
+ for (const change of data.results) {
45
+ // {
46
+ // seq: 2495018,
47
+ // id: 'ng-create-all-project',
48
+ // changes: [ { rev: '3-be3a014aab8e379ba28a28adb8e10142' }, [length]: 1 ],
49
+ // deleted: true
50
+ // },
51
+ const seq = String(change.seq);
52
+ const fullname = change.id;
53
+ if (seq && fullname && seq !== since) {
54
+ const change = {
55
+ fullname,
56
+ seq,
57
+ };
44
58
  yield change;
45
59
  }
46
- else {
47
- buf += line;
48
- }
49
60
  }
50
61
  }
51
62
  }
@@ -55,4 +66,4 @@ NpmChangesStream = __decorate([
55
66
  RegistryChangesStream(RegistryType.Npm)
56
67
  ], NpmChangesStream);
57
68
  export { NpmChangesStream };
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTnBtQ2hhbmdlc1N0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9jaGFuZ2VzU3RyZWFtL05wbUNoYW5nZXNTdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHFCQUFxQixHQUV0QixNQUFNLDRCQUE0QixDQUFDO0FBSTdCLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWlCLFNBQVEsb0JBQW9CO0lBQ3hELEtBQUssQ0FBQyxlQUFlLENBQUMsUUFBa0I7UUFDdEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNqRCxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ3pELGNBQWMsRUFBRSxJQUFJO1lBQ3BCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsUUFBUSxFQUFFLE1BQU07U0FDakIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksSUFBSSxDQUFDLCtCQUErQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2QsMkVBQTJFLEVBQzNFLFFBQVEsQ0FBQyxJQUFJLEVBQ2IsUUFBUSxDQUFDLFlBQVksRUFDckIsTUFBTSxFQUNOLElBQUksRUFDSixLQUFLLENBQ04sQ0FBQztRQUNGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFrQixFQUFFLEtBQWE7UUFDbkQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDaEQsU0FBUyxFQUFFLElBQUk7WUFDZixPQUFPLEVBQUUsTUFBTTtTQUNoQixDQUFDLENBQUM7UUFFSCxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLEtBQUssRUFBRSxNQUFNLEtBQUssSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUUvQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUN6QixNQUFNLE9BQU8sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixNQUFNLEtBQUssR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzFELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7b0JBQ3BCLEdBQUcsR0FBRyxFQUFFLENBQUM7b0JBQ1QsTUFBTSxNQUFNLEdBQXdCLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDO29CQUN0RCxNQUFNLE1BQU0sQ0FBQztnQkFDZixDQUFDO3FCQUFNLENBQUM7b0JBQ04sR0FBRyxJQUFJLElBQUksQ0FBQztnQkFDZCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQWxEWSxnQkFBZ0I7SUFGNUIsY0FBYyxFQUFFO0lBQ2hCLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUM7R0FDM0IsZ0JBQWdCLENBa0Q1QiJ9
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTnBtQ2hhbmdlc1N0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9jaGFuZ2VzU3RyZWFtL05wbUNoYW5nZXNTdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHFCQUFxQixHQUV0QixNQUFNLDRCQUE0QixDQUFDO0FBSTdCLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWlCLFNBQVEsb0JBQW9CO0lBQ3hELEtBQUssQ0FBQyxlQUFlLENBQUMsUUFBa0I7UUFDdEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNqRCxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ3pELGNBQWMsRUFBRSxJQUFJO1lBQ3BCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsUUFBUSxFQUFFLE1BQU07WUFDaEIsT0FBTyxFQUFFO2dCQUNQLHdCQUF3QixFQUFFLE1BQU07YUFDakM7U0FDRixDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxJQUFJLENBQUMsK0JBQStCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCwyRUFBMkUsRUFDM0UsUUFBUSxDQUFDLElBQUksRUFDYixRQUFRLENBQUMsWUFBWSxFQUNyQixNQUFNLEVBQ04sSUFBSSxFQUNKLEtBQUssQ0FDTixDQUFDO1FBQ0YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUNqQixRQUFrQixFQUNsQixLQUFhO1FBRWIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyRCxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQzFELE9BQU8sRUFBRSxNQUFNO1lBQ2YsT0FBTyxFQUFFO2dCQUNQLHVEQUF1RDtnQkFDdkQsd0JBQXdCLEVBQUUsTUFBTTthQUNqQztZQUNELFFBQVEsRUFBRSxNQUFNO1lBQ2hCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCwwRUFBMEUsRUFDMUUsRUFBRSxFQUNGLEtBQUssRUFDTCxRQUFRLEVBQ1IsT0FBTyxDQUNSLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdCLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNsQyxJQUFJO2dCQUNKLGtCQUFrQjtnQkFDbEIsaUNBQWlDO2dCQUNqQyw2RUFBNkU7Z0JBQzdFLGtCQUFrQjtnQkFDbEIsS0FBSztnQkFDTCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUMzQixJQUFJLEdBQUcsSUFBSSxRQUFRLElBQUksR0FBRyxLQUFLLEtBQUssRUFBRSxDQUFDO29CQUNyQyxNQUFNLE1BQU0sR0FBRzt3QkFDYixRQUFRO3dCQUNSLEdBQUc7cUJBQ0osQ0FBQztvQkFDRixNQUFNLE1BQU0sQ0FBQztnQkFDZixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQXRFWSxnQkFBZ0I7SUFGNUIsY0FBYyxFQUFFO0lBQ2hCLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUM7R0FDM0IsZ0JBQWdCLENBc0U1QiJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cnpmcore",
3
- "version": "4.4.0",
3
+ "version": "4.5.0",
4
4
  "description": "Private NPM Registry for Enterprise",
5
5
  "files": [
6
6
  "dist/**/*"