cnpmcore 3.62.2 → 3.63.1

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.
Files changed (32) hide show
  1. package/dist/app/common/adapter/NPMRegistry.d.ts +1 -1
  2. package/dist/app/common/adapter/NPMRegistry.js +1 -1
  3. package/dist/app/common/constants.d.ts +3 -0
  4. package/dist/app/common/constants.js +5 -2
  5. package/dist/app/common/enum/Task.d.ts +1 -0
  6. package/dist/app/common/enum/Task.js +2 -1
  7. package/dist/app/core/entity/ProxyCache.d.ts +19 -0
  8. package/dist/app/core/entity/ProxyCache.js +30 -0
  9. package/dist/app/core/entity/Task.d.ts +14 -0
  10. package/dist/app/core/entity/Task.js +27 -1
  11. package/dist/app/core/service/ProxyCacheService.d.ts +33 -0
  12. package/dist/app/core/service/ProxyCacheService.js +264 -0
  13. package/dist/app/port/controller/ProxyCacheController.d.ts +22 -0
  14. package/dist/app/port/controller/ProxyCacheController.js +180 -0
  15. package/dist/app/port/controller/package/DownloadPackageVersionTar.d.ts +5 -0
  16. package/dist/app/port/controller/package/DownloadPackageVersionTar.js +52 -4
  17. package/dist/app/port/controller/package/ShowPackageController.d.ts +1 -0
  18. package/dist/app/port/controller/package/ShowPackageController.js +24 -6
  19. package/dist/app/port/controller/package/ShowPackageVersionController.d.ts +2 -1
  20. package/dist/app/port/controller/package/ShowPackageVersionController.js +24 -10
  21. package/dist/app/port/schedule/CheckProxyCacheUpdateWorker.d.ts +7 -0
  22. package/dist/app/port/schedule/CheckProxyCacheUpdateWorker.js +70 -0
  23. package/dist/app/port/schedule/CheckRecentlyUpdatedPackages.js +2 -2
  24. package/dist/app/port/schedule/SyncProxyCacheWorker.d.ts +6 -0
  25. package/dist/app/port/schedule/SyncProxyCacheWorker.js +70 -0
  26. package/dist/app/repository/ProxyCacheRepository.d.ts +14 -0
  27. package/dist/app/repository/ProxyCacheRepository.js +75 -0
  28. package/dist/app/repository/model/ProxyCache.d.ts +11 -0
  29. package/dist/app/repository/model/ProxyCache.js +55 -0
  30. package/dist/config/binaries.d.ts +2 -5
  31. package/dist/config/binaries.js +3 -6
  32. package/package.json +2 -1
@@ -28,6 +28,6 @@ export declare class NPMRegistry {
28
28
  remoteAuthToken?: string;
29
29
  }): Promise<RegistryResponse>;
30
30
  private request;
31
- private genAuthorizationHeader;
31
+ genAuthorizationHeader(remoteAuthToken?: string): string;
32
32
  }
33
33
  export {};
@@ -113,4 +113,4 @@ exports.NPMRegistry = NPMRegistry = __decorate([
113
113
  accessLevel: tegg_1.AccessLevel.PUBLIC,
114
114
  })
115
115
  ], NPMRegistry);
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTlBNUmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29tbW9uL2FkYXB0ZXIvTlBNUmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsOENBQTZDO0FBQzdDLHNDQUlxQjtBQVlyQixNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUM7QUFRN0IsSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBVztJQUFqQjtRQU9HLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFvRjFCLENBQUM7SUFqRkMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztJQUNsRSxDQUFDO0lBRU0sZUFBZSxDQUFDLFlBQVksR0FBRyxFQUFFO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFTSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBZ0IsRUFBRSxjQUErRDtRQUM3RyxJQUFJLE9BQU8sR0FBRyxjQUFjLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQztRQUMzQyxxREFBcUQ7UUFDckQsc0NBQXNDO1FBQ3RDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQztRQUN2RixJQUFJLFNBQWMsQ0FBQztRQUNuQixPQUFPLE9BQU8sR0FBRyxDQUFDLEVBQUU7WUFDbEIsSUFBSTtnQkFDRiw4REFBOEQ7Z0JBQzlELDhDQUE4QztnQkFDOUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUMsQ0FBQztnQkFDbkYsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVB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
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTlBNUmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29tbW9uL2FkYXB0ZXIvTlBNUmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsOENBQTZDO0FBQzdDLHNDQUlxQjtBQVlyQixNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUM7QUFRN0IsSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBVztJQUFqQjtRQU9HLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFvRjFCLENBQUM7SUFqRkMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztJQUNsRSxDQUFDO0lBRU0sZUFBZSxDQUFDLFlBQVksR0FBRyxFQUFFO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFTSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBZ0IsRUFBRSxjQUErRDtRQUM3RyxJQUFJLE9BQU8sR0FBRyxjQUFjLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQztRQUMzQyxxREFBcUQ7UUFDckQsc0NBQXNDO1FBQ3RDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQztRQUN2RixJQUFJLFNBQWMsQ0FBQztRQUNuQixPQUFPLE9BQU8sR0FBRyxDQUFDLEVBQUU7WUFDbEIsSUFBSTtnQkFDRiw4REFBOEQ7Z0JBQzlELDhDQUE4QztnQkFDOUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUMsQ0FBQztnQkFDbkYsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVB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
@@ -1,10 +1,13 @@
1
1
  export declare const BUG_VERSIONS = "bug-versions";
2
2
  export declare const LATEST_TAG = "latest";
3
3
  export declare const GLOBAL_WORKER = "GLOBAL_WORKER";
4
+ export declare const PROXY_CACHE_DIR_NAME = "proxy-cache-packages";
5
+ export declare const ABBREVIATED_META_TYPE = "application/vnd.npm.install-v1+json";
4
6
  export declare const NOT_IMPLEMENTED_PATH: string[];
5
7
  export declare enum SyncMode {
6
8
  none = "none",
7
9
  admin = "admin",
10
+ proxy = "proxy",
8
11
  exist = "exist",
9
12
  all = "all"
10
13
  }
@@ -1,14 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PackageAccessLevel = exports.PresetRegistryName = exports.SyncDeleteMode = exports.ChangesStreamMode = exports.SyncMode = exports.NOT_IMPLEMENTED_PATH = exports.GLOBAL_WORKER = exports.LATEST_TAG = exports.BUG_VERSIONS = void 0;
3
+ exports.PackageAccessLevel = exports.PresetRegistryName = exports.SyncDeleteMode = exports.ChangesStreamMode = exports.SyncMode = exports.NOT_IMPLEMENTED_PATH = exports.ABBREVIATED_META_TYPE = exports.PROXY_CACHE_DIR_NAME = exports.GLOBAL_WORKER = exports.LATEST_TAG = exports.BUG_VERSIONS = void 0;
4
4
  exports.BUG_VERSIONS = 'bug-versions';
5
5
  exports.LATEST_TAG = 'latest';
6
6
  exports.GLOBAL_WORKER = 'GLOBAL_WORKER';
7
+ exports.PROXY_CACHE_DIR_NAME = 'proxy-cache-packages';
8
+ exports.ABBREVIATED_META_TYPE = 'application/vnd.npm.install-v1+json';
7
9
  exports.NOT_IMPLEMENTED_PATH = ['/-/npm/v1/security/audits/quick', '/-/npm/v1/security/advisories/bulk'];
8
10
  var SyncMode;
9
11
  (function (SyncMode) {
10
12
  SyncMode["none"] = "none";
11
13
  SyncMode["admin"] = "admin";
14
+ SyncMode["proxy"] = "proxy";
12
15
  SyncMode["exist"] = "exist";
13
16
  SyncMode["all"] = "all";
14
17
  })(SyncMode || (exports.SyncMode = SyncMode = {}));
@@ -33,4 +36,4 @@ var PackageAccessLevel;
33
36
  PackageAccessLevel["write"] = "write";
34
37
  PackageAccessLevel["read"] = "read";
35
38
  })(PackageAccessLevel || (exports.PackageAccessLevel = PackageAccessLevel = {}));
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBwL2NvbW1vbi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxZQUFZLEdBQUcsY0FBYyxDQUFDO0FBQzlCLFFBQUEsVUFBVSxHQUFHLFFBQVEsQ0FBQztBQUN0QixRQUFBLGFBQWEsR0FBRyxlQUFlLENBQUM7QUFDaEMsUUFBQSxvQkFBb0IsR0FBRyxDQUFFLGlDQUFpQyxFQUFFLG9DQUFvQyxDQUFFLENBQUM7QUFDaEgsSUFBWSxRQUtYO0FBTEQsV0FBWSxRQUFRO0lBQ2xCLHlCQUFhLENBQUE7SUFDYiwyQkFBZSxDQUFBO0lBQ2YsMkJBQWUsQ0FBQTtJQUNmLHVCQUFXLENBQUE7QUFDYixDQUFDLEVBTFcsUUFBUSx3QkFBUixRQUFRLFFBS25CO0FBQ0QsSUFBWSxpQkFHWDtBQUhELFdBQVksaUJBQWlCO0lBQzNCLGtDQUFhLENBQUE7SUFDYiw0Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsaUJBQWlCLGlDQUFqQixpQkFBaUIsUUFHNUI7QUFDRCxJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsbUNBQWlCLENBQUE7SUFDakIsaUNBQWUsQ0FBQTtJQUNmLG1DQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxjQUFjLDhCQUFkLGNBQWMsUUFJekI7QUFFRCxJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIsbUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxrQkFBa0Isa0NBQWxCLGtCQUFrQixRQUc3QjtBQUVELElBQVksa0JBR1g7QUFIRCxXQUFZLGtCQUFrQjtJQUM1QixxQ0FBZSxDQUFBO0lBQ2YsbUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxrQkFBa0Isa0NBQWxCLGtCQUFrQixRQUc3QiJ9
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBwL2NvbW1vbi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxZQUFZLEdBQUcsY0FBYyxDQUFDO0FBQzlCLFFBQUEsVUFBVSxHQUFHLFFBQVEsQ0FBQztBQUN0QixRQUFBLGFBQWEsR0FBRyxlQUFlLENBQUM7QUFDaEMsUUFBQSxvQkFBb0IsR0FBRyxzQkFBc0IsQ0FBQztBQUM5QyxRQUFBLHFCQUFxQixHQUFHLHFDQUFxQyxDQUFDO0FBQzlELFFBQUEsb0JBQW9CLEdBQUcsQ0FBRSxpQ0FBaUMsRUFBRSxvQ0FBb0MsQ0FBRSxDQUFDO0FBRWhILElBQVksUUFNWDtBQU5ELFdBQVksUUFBUTtJQUNsQix5QkFBYSxDQUFBO0lBQ2IsMkJBQWUsQ0FBQTtJQUNmLDJCQUFlLENBQUE7SUFDZiwyQkFBZSxDQUFBO0lBQ2YsdUJBQVcsQ0FBQTtBQUNiLENBQUMsRUFOVyxRQUFRLHdCQUFSLFFBQVEsUUFNbkI7QUFDRCxJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDM0Isa0NBQWEsQ0FBQTtJQUNiLDRDQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFIVyxpQkFBaUIsaUNBQWpCLGlCQUFpQixRQUc1QjtBQUNELElBQVksY0FJWDtBQUpELFdBQVksY0FBYztJQUN4QixtQ0FBaUIsQ0FBQTtJQUNqQixpQ0FBZSxDQUFBO0lBQ2YsbUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGNBQWMsOEJBQWQsY0FBYyxRQUl6QjtBQUVELElBQVksa0JBR1g7QUFIRCxXQUFZLGtCQUFrQjtJQUM1Qix5Q0FBbUIsQ0FBQTtJQUNuQixtQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLGtCQUFrQixrQ0FBbEIsa0JBQWtCLFFBRzdCO0FBRUQsSUFBWSxrQkFHWDtBQUhELFdBQVksa0JBQWtCO0lBQzVCLHFDQUFlLENBQUE7SUFDZixtQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLGtCQUFrQixrQ0FBbEIsa0JBQWtCLFFBRzdCIn0=
@@ -2,6 +2,7 @@ export declare enum TaskType {
2
2
  SyncPackage = "sync_package",
3
3
  ChangesStream = "changes_stream",
4
4
  SyncBinary = "sync_binary",
5
+ UpdateProxyCache = "update_proxy_cache",
5
6
  CreateHook = "create_hook",
6
7
  TriggerHook = "trigger_hook"
7
8
  }
@@ -6,6 +6,7 @@ var TaskType;
6
6
  TaskType["SyncPackage"] = "sync_package";
7
7
  TaskType["ChangesStream"] = "changes_stream";
8
8
  TaskType["SyncBinary"] = "sync_binary";
9
+ TaskType["UpdateProxyCache"] = "update_proxy_cache";
9
10
  TaskType["CreateHook"] = "create_hook";
10
11
  TaskType["TriggerHook"] = "trigger_hook";
11
12
  })(TaskType || (exports.TaskType = TaskType = {}));
@@ -17,4 +18,4 @@ var TaskState;
17
18
  TaskState["Fail"] = "fail";
18
19
  TaskState["Timeout"] = "timeout";
19
20
  })(TaskState || (exports.TaskState = TaskState = {}));
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb21tb24vZW51bS9UYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksUUFNWDtBQU5ELFdBQVksUUFBUTtJQUNsQix3Q0FBNEIsQ0FBQTtJQUM1Qiw0Q0FBZ0MsQ0FBQTtJQUNoQyxzQ0FBMEIsQ0FBQTtJQUMxQixzQ0FBMEIsQ0FBQTtJQUMxQix3Q0FBNEIsQ0FBQTtBQUM5QixDQUFDLEVBTlcsUUFBUSx3QkFBUixRQUFRLFFBTW5CO0FBRUQsSUFBWSxTQU1YO0FBTkQsV0FBWSxTQUFTO0lBQ25CLGdDQUFtQixDQUFBO0lBQ25CLHNDQUF5QixDQUFBO0lBQ3pCLGdDQUFtQixDQUFBO0lBQ25CLDBCQUFhLENBQUE7SUFDYixnQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTlcsU0FBUyx5QkFBVCxTQUFTLFFBTXBCIn0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb21tb24vZW51bS9UYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksUUFPWDtBQVBELFdBQVksUUFBUTtJQUNsQix3Q0FBNEIsQ0FBQTtJQUM1Qiw0Q0FBZ0MsQ0FBQTtJQUNoQyxzQ0FBMEIsQ0FBQTtJQUMxQixtREFBdUMsQ0FBQTtJQUN2QyxzQ0FBMEIsQ0FBQTtJQUMxQix3Q0FBNEIsQ0FBQTtBQUM5QixDQUFDLEVBUFcsUUFBUSx3QkFBUixRQUFRLFFBT25CO0FBRUQsSUFBWSxTQU1YO0FBTkQsV0FBWSxTQUFTO0lBQ25CLGdDQUFtQixDQUFBO0lBQ25CLHNDQUF5QixDQUFBO0lBQ3pCLGdDQUFtQixDQUFBO0lBQ25CLDBCQUFhLENBQUE7SUFDYixnQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTlcsU0FBUyx5QkFBVCxTQUFTLFFBTXBCIn0=
@@ -0,0 +1,19 @@
1
+ import { Entity, EntityData } from './Entity';
2
+ import { EasyData } from '../util/EntityUtil';
3
+ import { DIST_NAMES } from './Package';
4
+ interface ProxyCacheData extends EntityData {
5
+ fullname: string;
6
+ fileType: DIST_NAMES;
7
+ version?: string;
8
+ }
9
+ export type CreateProxyCacheData = Omit<EasyData<ProxyCacheData, 'id'>, 'id' | 'filePath'>;
10
+ export declare class ProxyCache extends Entity {
11
+ readonly fullname: string;
12
+ readonly fileType: DIST_NAMES;
13
+ readonly filePath: string;
14
+ readonly version?: string;
15
+ constructor(data: ProxyCacheData);
16
+ static create(data: CreateProxyCacheData): ProxyCache;
17
+ static update(data: ProxyCache): ProxyCache;
18
+ }
19
+ export {};
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProxyCache = void 0;
4
+ const Entity_1 = require("./Entity");
5
+ const ProxyCacheService_1 = require("../service/ProxyCacheService");
6
+ const constants_1 = require("../../common/constants");
7
+ class ProxyCache extends Entity_1.Entity {
8
+ constructor(data) {
9
+ super(data);
10
+ this.fullname = data.fullname;
11
+ this.fileType = data.fileType;
12
+ this.version = data.version;
13
+ if ((0, ProxyCacheService_1.isPkgManifest)(data.fileType)) {
14
+ this.filePath = `/${constants_1.PROXY_CACHE_DIR_NAME}/${data.fullname}/${data.fileType}`;
15
+ }
16
+ else {
17
+ this.filePath = `/${constants_1.PROXY_CACHE_DIR_NAME}/${data.fullname}/${data.version}/${data.fileType}`;
18
+ }
19
+ }
20
+ static create(data) {
21
+ const newData = { ...data, createdAt: new Date(), updatedAt: new Date() };
22
+ return new ProxyCache(newData);
23
+ }
24
+ static update(data) {
25
+ data.updatedAt = new Date();
26
+ return data;
27
+ }
28
+ }
29
+ exports.ProxyCache = ProxyCache;
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJveHlDYWNoZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL2VudGl0eS9Qcm94eUNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUE4QztBQUc5QyxvRUFBNkQ7QUFDN0Qsc0RBQThEO0FBUzlELE1BQWEsVUFBVyxTQUFRLGVBQU07SUFNcEMsWUFBWSxJQUFvQjtRQUM5QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLElBQUEsaUNBQWEsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGdDQUFvQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzlFO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZ0NBQW9CLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM5RjtJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQTBCO1FBQzdDLE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMxRSxPQUFPLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQWdCO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FFRjtBQTVCRCxnQ0E0QkMifQ==
@@ -1,6 +1,7 @@
1
1
  import { Entity, EntityData } from './Entity';
2
2
  import { TaskType, TaskState } from '../../common/enum/Task';
3
3
  import { HookEvent } from './HookEvent';
4
+ import { DIST_NAMES } from './Package';
4
5
  export declare const HOST_NAME: string;
5
6
  export declare const PID: number;
6
7
  export interface TaskBaseData {
@@ -30,6 +31,11 @@ export type SyncPackageTaskOptions = {
30
31
  registryId?: string;
31
32
  specificVersions?: Array<string>;
32
33
  };
34
+ export type UpdateProxyCacheTaskOptions = {
35
+ fullname: string;
36
+ version?: string;
37
+ fileType: DIST_NAMES;
38
+ };
33
39
  export interface CreateHookTaskData extends TaskBaseData {
34
40
  hookEvent: HookEvent;
35
41
  }
@@ -45,6 +51,12 @@ export interface CreateSyncPackageTaskData extends TaskBaseData {
45
51
  forceSyncHistory?: boolean;
46
52
  specificVersions?: Array<string>;
47
53
  }
54
+ export interface CreateUpdateProxyCacheTaskData extends TaskBaseData {
55
+ fullname: string;
56
+ version?: string;
57
+ fileType: DIST_NAMES;
58
+ filePath: string;
59
+ }
48
60
  export interface ChangesStreamTaskData extends TaskBaseData {
49
61
  since: string;
50
62
  last_package?: string;
@@ -60,6 +72,7 @@ export type CreateHookTask = Task<CreateHookTaskData>;
60
72
  export type TriggerHookTask = Task<TriggerHookTaskData>;
61
73
  export type CreateSyncPackageTask = Task<CreateSyncPackageTaskData>;
62
74
  export type ChangesStreamTask = Task<ChangesStreamTaskData>;
75
+ export type CreateUpdateProxyCacheTask = Task<CreateUpdateProxyCacheTaskData>;
63
76
  export declare class Task<T extends TaskBaseData = TaskBaseData> extends Entity {
64
77
  taskId: string;
65
78
  type: TaskType;
@@ -85,6 +98,7 @@ export declare class Task<T extends TaskBaseData = TaskBaseData> extends Entity
85
98
  static createTriggerHookTask(hookEvent: HookEvent, hookId: string): TriggerHookTask;
86
99
  static createSyncBinary(targetName: string, lastData: any): Task;
87
100
  static needMergeWhenWaiting(type: TaskType): boolean;
101
+ static createUpdateProxyCache(targetName: string, options: UpdateProxyCacheTaskOptions): CreateUpdateProxyCacheTask;
88
102
  start(): TaskUpdateCondition;
89
103
  }
90
104
  export type SyncInfo = {
@@ -9,7 +9,10 @@ const path_1 = __importDefault(require("path"));
9
9
  const Entity_1 = require("./Entity");
10
10
  const EntityUtil_1 = require("../util/EntityUtil");
11
11
  const Task_1 = require("../../common/enum/Task");
12
+ const constants_1 = require("../../common/constants");
12
13
  const dayjs_1 = __importDefault(require("../../common/dayjs"));
14
+ const ProxyCacheService_1 = require("../service/ProxyCacheService");
15
+ const egg_errors_1 = require("egg-errors");
13
16
  exports.HOST_NAME = os_1.default.hostname();
14
17
  exports.PID = process.pid;
15
18
  class Task extends Entity_1.Entity {
@@ -145,6 +148,29 @@ class Task extends Entity_1.Entity {
145
148
  static needMergeWhenWaiting(type) {
146
149
  return [Task_1.TaskType.SyncBinary, Task_1.TaskType.SyncPackage].includes(type);
147
150
  }
151
+ static createUpdateProxyCache(targetName, options) {
152
+ if (!(0, ProxyCacheService_1.isPkgManifest)(options.fileType)) {
153
+ throw new egg_errors_1.InternalServerError('should not update package version manifest.');
154
+ }
155
+ const filePath = `/${constants_1.PROXY_CACHE_DIR_NAME}/${options.fullname}/${options.fileType}`;
156
+ const data = {
157
+ type: Task_1.TaskType.UpdateProxyCache,
158
+ state: Task_1.TaskState.Waiting,
159
+ targetName,
160
+ authorId: `pid_${exports.PID}`,
161
+ authorIp: exports.HOST_NAME,
162
+ data: {
163
+ taskWorker: '',
164
+ fullname: options.fullname,
165
+ version: options?.version,
166
+ fileType: options.fileType,
167
+ filePath,
168
+ },
169
+ };
170
+ const task = this.create(data);
171
+ task.logPath = `/${constants_1.PROXY_CACHE_DIR_NAME}/${options.fullname}/update-manifest-log/${options.fileType.split('.json')[0]}-${(0, dayjs_1.default)().format('YYYY/MM/DDHHmm')}-${task.taskId}.log`;
172
+ return task;
173
+ }
148
174
  start() {
149
175
  const condition = {
150
176
  taskId: this.taskId,
@@ -157,4 +183,4 @@ class Task extends Entity_1.Entity {
157
183
  }
158
184
  }
159
185
  exports.Task = Task;
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL2VudGl0eS9UYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDRDQUFvQjtBQUNwQixnREFBd0I7QUFDeEIscUNBQThDO0FBQzlDLG1EQUEwRDtBQUMxRCxpREFBNkQ7QUFDN0QsK0RBQXVDO0FBRzFCLFFBQUEsU0FBUyxHQUFHLFlBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUMxQixRQUFBLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO0FBcUUvQixNQUFhLElBQTRDLFNBQVEsZUFBTTtJQWVyRSxZQUFZLElBQWlCO1FBQzNCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJ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
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL2VudGl0eS9UYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDRDQUFvQjtBQUNwQixnREFBd0I7QUFDeEIscUNBQThDO0FBQzlDLG1EQUEwRDtBQUMxRCxpREFBNkQ7QUFDN0Qsc0RBQThEO0FBQzlELCtEQUF1QztBQUd2QyxvRUFBNkQ7QUFDN0QsMkNBQWlEO0FBRXBDLFFBQUEsU0FBUyxHQUFHLFlBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUMxQixRQUFBLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO0FBbUYvQixNQUFhLElBQTRDLFNBQVEsZUFBTTtJQWVyRSxZQUFZLElBQWlCO1FBQzNCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFD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
@@ -0,0 +1,33 @@
1
+ import { HttpClientResponse } from 'egg';
2
+ import { EggContext } from '@eggjs/tegg';
3
+ import { AbstractService } from '../../common/AbstractService';
4
+ import { Task, UpdateProxyCacheTaskOptions, CreateUpdateProxyCacheTask } from '../entity/Task';
5
+ import { DIST_NAMES } from '../entity/Package';
6
+ import type { AbbreviatedPackageManifestType, AbbreviatedPackageJSONType, PackageManifestType, PackageJSONType } from '../../repository/PackageRepository';
7
+ export declare function isPkgManifest(fileType: DIST_NAMES): boolean;
8
+ type GetSourceManifestAndCacheReturnType<T> = T extends DIST_NAMES.ABBREVIATED | DIST_NAMES.MANIFEST ? AbbreviatedPackageJSONType | PackageJSONType : T extends DIST_NAMES.FULL_MANIFESTS | DIST_NAMES.ABBREVIATED_MANIFESTS ? AbbreviatedPackageManifestType | PackageManifestType : never;
9
+ export declare class ProxyCacheService extends AbstractService {
10
+ private readonly httpclient;
11
+ private readonly npmRegistry;
12
+ private readonly nfsAdapter;
13
+ private readonly proxyCacheRepository;
14
+ private readonly registryManagerService;
15
+ private readonly taskService;
16
+ private readonly cacheService;
17
+ private readonly backgroundTaskHelper;
18
+ getPackageVersionTarResponse(fullname: string, ctx: EggContext): Promise<HttpClientResponse>;
19
+ getPackageManifest(fullname: string, fileType: DIST_NAMES.FULL_MANIFESTS | DIST_NAMES.ABBREVIATED_MANIFESTS): Promise<AbbreviatedPackageManifestType | PackageManifestType>;
20
+ getPackageVersionManifest(fullname: string, fileType: DIST_NAMES.ABBREVIATED | DIST_NAMES.MANIFEST, versionOrTag: string): Promise<AbbreviatedPackageJSONType | PackageJSONType>;
21
+ removeProxyCache(fullname: string, fileType: DIST_NAMES, version?: string): Promise<void>;
22
+ createTask(targetName: string, options: UpdateProxyCacheTaskOptions): Promise<CreateUpdateProxyCacheTask>;
23
+ findExecuteTask(): Promise<Task<import("../entity/Task").TaskBaseData> | null>;
24
+ executeTask(task: Task): Promise<void>;
25
+ getRewrittenManifest<T extends DIST_NAMES>(fullname: string, fileType: T, versionOrTag?: string): Promise<GetSourceManifestAndCacheReturnType<T>>;
26
+ private storeRewrittenManifest;
27
+ private getProxyResponse;
28
+ private getUpstreamFullManifests;
29
+ private getUpstreamAbbreviatedManifests;
30
+ private getUpstreamPackageVersionManifest;
31
+ private getUpstreamAbbreviatedPackageVersionManifest;
32
+ }
33
+ export {};
@@ -0,0 +1,264 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ProxyCacheService = exports.isPkgManifest = void 0;
13
+ const egg_errors_1 = require("egg-errors");
14
+ const tegg_1 = require("@eggjs/tegg");
15
+ const tegg_background_task_1 = require("@eggjs/tegg-background-task");
16
+ const semver_1 = require("semver");
17
+ const AbstractService_1 = require("../../common/AbstractService");
18
+ const TaskService_1 = require("./TaskService");
19
+ const CacheService_1 = require("./CacheService");
20
+ const RegistryManagerService_1 = require("./RegistryManagerService");
21
+ const NPMRegistry_1 = require("../../common/adapter/NPMRegistry");
22
+ const NFSAdapter_1 = require("../../common/adapter/NFSAdapter");
23
+ const ProxyCache_1 = require("../entity/ProxyCache");
24
+ const Task_1 = require("../entity/Task");
25
+ const ProxyCacheRepository_1 = require("../../repository/ProxyCacheRepository");
26
+ const Task_2 = require("../../common/enum/Task");
27
+ const PackageUtil_1 = require("../../common/PackageUtil");
28
+ const constants_1 = require("../../common/constants");
29
+ const Package_1 = require("../entity/Package");
30
+ function isoNow() {
31
+ return new Date().toISOString();
32
+ }
33
+ function isPkgManifest(fileType) {
34
+ return fileType === Package_1.DIST_NAMES.FULL_MANIFESTS || fileType === Package_1.DIST_NAMES.ABBREVIATED_MANIFESTS;
35
+ }
36
+ exports.isPkgManifest = isPkgManifest;
37
+ let ProxyCacheService = class ProxyCacheService extends AbstractService_1.AbstractService {
38
+ async getPackageVersionTarResponse(fullname, ctx) {
39
+ if (this.config.cnpmcore.syncPackageBlockList.includes(fullname)) {
40
+ throw new egg_errors_1.ForbiddenError(`stop proxy by block list: ${JSON.stringify(this.config.cnpmcore.syncPackageBlockList)}`);
41
+ }
42
+ return await this.getProxyResponse(ctx);
43
+ }
44
+ async getPackageManifest(fullname, fileType) {
45
+ const cachedStoreKey = (await this.proxyCacheRepository.findProxyCache(fullname, fileType))?.filePath;
46
+ if (cachedStoreKey) {
47
+ const nfsBytes = await this.nfsAdapter.getBytes(cachedStoreKey);
48
+ const nfsString = Buffer.from(nfsBytes).toString();
49
+ const nfsPkgManifgest = JSON.parse(nfsString);
50
+ return nfsPkgManifgest;
51
+ }
52
+ const manifest = await this.getRewrittenManifest(fullname, fileType);
53
+ this.backgroundTaskHelper.run(async () => {
54
+ await this.storeRewrittenManifest(manifest, fullname, fileType);
55
+ const cachedFiles = ProxyCache_1.ProxyCache.create({ fullname, fileType });
56
+ await this.proxyCacheRepository.saveProxyCache(cachedFiles);
57
+ });
58
+ return manifest;
59
+ }
60
+ // used by GET /:fullname/:versionOrTag
61
+ async getPackageVersionManifest(fullname, fileType, versionOrTag) {
62
+ let version;
63
+ if ((0, semver_1.valid)(versionOrTag)) {
64
+ version = versionOrTag;
65
+ }
66
+ else {
67
+ const pkgManifest = await this.getPackageManifest(fullname, Package_1.DIST_NAMES.ABBREVIATED_MANIFESTS);
68
+ const distTags = pkgManifest['dist-tags'] || {};
69
+ version = distTags[versionOrTag] ? distTags[versionOrTag] : versionOrTag;
70
+ }
71
+ const cachedStoreKey = (await this.proxyCacheRepository.findProxyCache(fullname, fileType, version))?.filePath;
72
+ if (cachedStoreKey) {
73
+ const nfsBytes = await this.nfsAdapter.getBytes(cachedStoreKey);
74
+ const nfsString = Buffer.from(nfsBytes).toString();
75
+ return JSON.parse(nfsString);
76
+ }
77
+ const manifest = await this.getRewrittenManifest(fullname, fileType, versionOrTag);
78
+ this.backgroundTaskHelper.run(async () => {
79
+ await this.storeRewrittenManifest(manifest, fullname, fileType);
80
+ const cachedFiles = ProxyCache_1.ProxyCache.create({ fullname, fileType, version });
81
+ await this.proxyCacheRepository.saveProxyCache(cachedFiles);
82
+ });
83
+ return manifest;
84
+ }
85
+ async removeProxyCache(fullname, fileType, version) {
86
+ const storeKey = isPkgManifest(fileType)
87
+ ? `/${constants_1.PROXY_CACHE_DIR_NAME}/${fullname}/${fileType}`
88
+ : `/${constants_1.PROXY_CACHE_DIR_NAME}/${fullname}/${version}/${fileType}`;
89
+ await this.nfsAdapter.remove(storeKey);
90
+ await this.proxyCacheRepository.removeProxyCache(fullname, fileType, version);
91
+ }
92
+ async createTask(targetName, options) {
93
+ return await this.taskService.createTask(Task_1.Task.createUpdateProxyCache(targetName, options), false);
94
+ }
95
+ async findExecuteTask() {
96
+ return await this.taskService.findExecuteTask(Task_2.TaskType.UpdateProxyCache);
97
+ }
98
+ async executeTask(task) {
99
+ const logs = [];
100
+ const fullname = task.data.fullname;
101
+ const { fileType, version } = task.data;
102
+ let cachedManifest;
103
+ logs.push(`[${isoNow()}] 🚧🚧🚧🚧🚧 Start update "${fullname}-${fileType}" 🚧🚧🚧🚧🚧`);
104
+ try {
105
+ const cachedFiles = await this.proxyCacheRepository.findProxyCache(fullname, fileType);
106
+ if (!cachedFiles)
107
+ throw new Error('task params error, can not found record in repo.');
108
+ cachedManifest = await this.getRewrittenManifest(fullname, fileType);
109
+ await this.storeRewrittenManifest(cachedManifest, fullname, fileType);
110
+ ProxyCache_1.ProxyCache.update(cachedFiles);
111
+ await this.proxyCacheRepository.saveProxyCache(cachedFiles);
112
+ }
113
+ catch (error) {
114
+ task.error = error;
115
+ logs.push(`[${isoNow()}] ❌ ${task.error}`);
116
+ logs.push(`[${isoNow()}] ❌❌❌❌❌ ${fullname}-${fileType} ${version ?? ''} ❌❌❌❌❌`);
117
+ await this.taskService.finishTask(task, Task_2.TaskState.Fail, logs.join('\n'));
118
+ this.logger.info('[ProxyCacheService.executeTask:fail] taskId: %s, targetName: %s, %s', task.taskId, task.targetName, task.error);
119
+ return;
120
+ }
121
+ logs.push(`[${isoNow()}] 🟢 Update Success.`);
122
+ const isFullManifests = fileType === Package_1.DIST_NAMES.FULL_MANIFESTS;
123
+ const cachedKey = await this.cacheService.getPackageEtag(fullname, isFullManifests);
124
+ if (cachedKey) {
125
+ const cacheBytes = Buffer.from(JSON.stringify(cachedManifest));
126
+ const { shasum: etag } = await (0, PackageUtil_1.calculateIntegrity)(cacheBytes);
127
+ await this.cacheService.savePackageEtagAndManifests(fullname, isFullManifests, etag, cacheBytes);
128
+ logs.push(`[${isoNow()}] 🟢 Update Cache Success.`);
129
+ }
130
+ await this.taskService.finishTask(task, Task_2.TaskState.Success, logs.join('\n'));
131
+ }
132
+ async getRewrittenManifest(fullname, fileType, versionOrTag) {
133
+ let responseResult;
134
+ switch (fileType) {
135
+ case Package_1.DIST_NAMES.FULL_MANIFESTS:
136
+ responseResult = await this.getUpstreamFullManifests(fullname);
137
+ break;
138
+ case Package_1.DIST_NAMES.ABBREVIATED_MANIFESTS:
139
+ responseResult = await this.getUpstreamAbbreviatedManifests(fullname);
140
+ break;
141
+ case Package_1.DIST_NAMES.MANIFEST:
142
+ responseResult = await this.getUpstreamPackageVersionManifest(fullname, versionOrTag);
143
+ break;
144
+ case Package_1.DIST_NAMES.ABBREVIATED:
145
+ responseResult = await this.getUpstreamAbbreviatedPackageVersionManifest(fullname, versionOrTag);
146
+ break;
147
+ default:
148
+ break;
149
+ }
150
+ // replace tarball url
151
+ const manifest = responseResult.data;
152
+ const { sourceRegistry, registry } = this.config.cnpmcore;
153
+ if (isPkgManifest(fileType)) {
154
+ // pkg manifest
155
+ const versionMap = manifest.versions || {};
156
+ for (const key in versionMap) {
157
+ const versionItem = versionMap[key];
158
+ if (versionItem?.dist?.tarball) {
159
+ versionItem.dist.tarball = versionItem.dist.tarball.replace(sourceRegistry, registry);
160
+ }
161
+ }
162
+ }
163
+ else {
164
+ // pkg version manifest
165
+ const distItem = manifest.dist || {};
166
+ if (distItem.tarball) {
167
+ distItem.tarball = distItem.tarball.replace(sourceRegistry, registry);
168
+ }
169
+ }
170
+ return manifest;
171
+ }
172
+ async storeRewrittenManifest(manifest, fullname, fileType) {
173
+ let storeKey;
174
+ if (isPkgManifest(fileType)) {
175
+ storeKey = `/${constants_1.PROXY_CACHE_DIR_NAME}/${fullname}/${fileType}`;
176
+ }
177
+ else {
178
+ const version = manifest.version;
179
+ storeKey = `/${constants_1.PROXY_CACHE_DIR_NAME}/${fullname}/${version}/${fileType}`;
180
+ }
181
+ const nfsBytes = Buffer.from(JSON.stringify(manifest));
182
+ await this.nfsAdapter.uploadBytes(storeKey, nfsBytes);
183
+ }
184
+ async getProxyResponse(ctx, options) {
185
+ const registry = this.npmRegistry.registry;
186
+ const remoteAuthToken = await this.registryManagerService.getAuthTokenByRegistryHost(registry);
187
+ const authorization = this.npmRegistry.genAuthorizationHeader(remoteAuthToken);
188
+ const url = `${this.npmRegistry.registry}${ctx.url}`;
189
+ const res = await this.httpclient.request(url, {
190
+ timing: true,
191
+ followRedirect: true,
192
+ // once redirection is also count as a retry
193
+ retry: 7,
194
+ dataType: 'stream',
195
+ timeout: 10000,
196
+ compressed: true,
197
+ ...options,
198
+ headers: {
199
+ accept: ctx.header?.accept,
200
+ 'user-agent': ctx.header?.['user-agent'],
201
+ authorization,
202
+ 'x-forwarded-for': ctx?.ip,
203
+ via: `1.1, ${this.config.cnpmcore.registry}`,
204
+ },
205
+ });
206
+ this.logger.info('[ProxyCacheService:getProxyStreamResponse] %s, status: %s', url, res.status);
207
+ return res;
208
+ }
209
+ async getUpstreamFullManifests(fullname) {
210
+ const url = `/${encodeURIComponent(fullname)}?t=${Date.now()}&cache=0`;
211
+ return await this.getProxyResponse({ url }, { dataType: 'json' });
212
+ }
213
+ async getUpstreamAbbreviatedManifests(fullname) {
214
+ const url = `/${encodeURIComponent(fullname)}?t=${Date.now()}&cache=0`;
215
+ return await this.getProxyResponse({ url, headers: { accept: constants_1.ABBREVIATED_META_TYPE } }, { dataType: 'json' });
216
+ }
217
+ async getUpstreamPackageVersionManifest(fullname, versionOrTag) {
218
+ const url = `/${encodeURIComponent(fullname)}/${encodeURIComponent(versionOrTag)}`;
219
+ return await this.getProxyResponse({ url }, { dataType: 'json' });
220
+ }
221
+ async getUpstreamAbbreviatedPackageVersionManifest(fullname, versionOrTag) {
222
+ const url = `/${encodeURIComponent(fullname)}/${encodeURIComponent(versionOrTag)}`;
223
+ return await this.getProxyResponse({ url, headers: { accept: constants_1.ABBREVIATED_META_TYPE } }, { dataType: 'json' });
224
+ }
225
+ };
226
+ exports.ProxyCacheService = ProxyCacheService;
227
+ __decorate([
228
+ (0, tegg_1.Inject)(),
229
+ __metadata("design:type", Object)
230
+ ], ProxyCacheService.prototype, "httpclient", void 0);
231
+ __decorate([
232
+ (0, tegg_1.Inject)(),
233
+ __metadata("design:type", NPMRegistry_1.NPMRegistry)
234
+ ], ProxyCacheService.prototype, "npmRegistry", void 0);
235
+ __decorate([
236
+ (0, tegg_1.Inject)(),
237
+ __metadata("design:type", NFSAdapter_1.NFSAdapter)
238
+ ], ProxyCacheService.prototype, "nfsAdapter", void 0);
239
+ __decorate([
240
+ (0, tegg_1.Inject)(),
241
+ __metadata("design:type", ProxyCacheRepository_1.ProxyCacheRepository)
242
+ ], ProxyCacheService.prototype, "proxyCacheRepository", void 0);
243
+ __decorate([
244
+ (0, tegg_1.Inject)(),
245
+ __metadata("design:type", RegistryManagerService_1.RegistryManagerService)
246
+ ], ProxyCacheService.prototype, "registryManagerService", void 0);
247
+ __decorate([
248
+ (0, tegg_1.Inject)(),
249
+ __metadata("design:type", TaskService_1.TaskService)
250
+ ], ProxyCacheService.prototype, "taskService", void 0);
251
+ __decorate([
252
+ (0, tegg_1.Inject)(),
253
+ __metadata("design:type", CacheService_1.CacheService)
254
+ ], ProxyCacheService.prototype, "cacheService", void 0);
255
+ __decorate([
256
+ (0, tegg_1.Inject)(),
257
+ __metadata("design:type", tegg_background_task_1.BackgroundTaskHelper)
258
+ ], ProxyCacheService.prototype, "backgroundTaskHelper", void 0);
259
+ exports.ProxyCacheService = ProxyCacheService = __decorate([
260
+ (0, tegg_1.SingletonProto)({
261
+ accessLevel: tegg_1.AccessLevel.PUBLIC,
262
+ })
263
+ ], ProxyCacheService);
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJveHlDYWNoZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9zZXJ2aWNlL1Byb3h5Q2FjaGVTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLDJDQUE0QztBQUM1QyxzQ0FBOEU7QUFDOUUsc0VBQW1FO0FBQ25FLG1DQUE4QztBQUM5QyxrRUFBK0Q7QUFDL0QsK0NBQTRDO0FBQzVDLGlEQUE4QztBQUM5QyxxRUFBa0U7QUFDbEUsa0VBQStEO0FBQy9ELGdFQUE2RDtBQUM3RCxxREFBa0Q7QUFDbEQseUNBQStGO0FBQy9GLGdGQUE2RTtBQUM3RSxpREFBNkQ7QUFDN0QsMERBQThEO0FBQzlELHNEQUFxRjtBQUNyRiwrQ0FBK0M7QUFHL0MsU0FBUyxNQUFNO0lBQ2IsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ2xDLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUMsUUFBb0I7SUFDaEQsT0FBTyxRQUFRLEtBQUssb0JBQVUsQ0FBQyxjQUFjLElBQUksUUFBUSxLQUFLLG9CQUFVLENBQUMscUJBQXFCLENBQUM7QUFDakcsQ0FBQztBQUZELHNDQUVDO0FBU00sSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBa0IsU0FBUSxpQ0FBZTtJQWtCcEQsS0FBSyxDQUFDLDRCQUE0QixDQUFDLFFBQWdCLEVBQUUsR0FBZTtRQUNsRSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNoRSxNQUFNLElBQUksMkJBQWMsQ0FBQyw2QkFBNkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNwSDtRQUNELE9BQU8sTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FB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
@@ -0,0 +1,22 @@
1
+ import { EggContext } from '@eggjs/tegg';
2
+ import { AbstractController } from './AbstractController';
3
+ import { Static } from 'egg-typebox-validate/typebox';
4
+ import { QueryPageOptions } from '../typebox';
5
+ export declare class ProxyCacheController extends AbstractController {
6
+ private readonly proxyCacheRepository;
7
+ private readonly proxyCacheService;
8
+ private readonly nfsAdapter;
9
+ listProxyCache(pageSize: Static<typeof QueryPageOptions>['pageSize'], pageIndex: Static<typeof QueryPageOptions>['pageIndex']): Promise<import("../../core/util/EntityUtil").PageResult<import("../../core/entity/ProxyCache").ProxyCache>>;
10
+ showProxyCaches(pageSize: Static<typeof QueryPageOptions>['pageSize'], pageIndex: Static<typeof QueryPageOptions>['pageIndex'], fullname: string): Promise<import("../../core/util/EntityUtil").PageResult<import("../../core/entity/ProxyCache").ProxyCache>>;
11
+ refreshProxyCaches(fullname: string): Promise<{
12
+ ok: boolean;
13
+ tasks: import("../../core/entity/Task").CreateUpdateProxyCacheTask[];
14
+ }>;
15
+ removeProxyCaches(ctx: EggContext, fullname: string): Promise<{
16
+ ok: boolean;
17
+ result: import("leoric").Collection<import("../../repository/model/ProxyCache").ProxyCache>;
18
+ }>;
19
+ truncateProxyCaches(ctx: EggContext): Promise<{
20
+ ok: boolean;
21
+ }>;
22
+ }