cnpmcore 3.62.2 → 3.63.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.
Files changed (30) 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/package.json +2 -1
@@ -0,0 +1,180 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ProxyCacheController = void 0;
16
+ const tegg_1 = require("@eggjs/tegg");
17
+ const egg_errors_1 = require("egg-errors");
18
+ const AbstractController_1 = require("./AbstractController");
19
+ const ProxyCacheRepository_1 = require("../../repository/ProxyCacheRepository");
20
+ const PackageUtil_1 = require("../../common/PackageUtil");
21
+ const ProxyCacheService_1 = require("../../core/service/ProxyCacheService");
22
+ const constants_1 = require("../../common/constants");
23
+ const NFSAdapter_1 = require("../../common/adapter/NFSAdapter");
24
+ let ProxyCacheController = class ProxyCacheController extends AbstractController_1.AbstractController {
25
+ async listProxyCache(pageSize, pageIndex) {
26
+ if (this.config.cnpmcore.syncMode !== constants_1.SyncMode.proxy) {
27
+ throw new egg_errors_1.ForbiddenError('proxy mode is not enabled');
28
+ }
29
+ return await this.proxyCacheRepository.listCachedFiles({
30
+ pageSize,
31
+ pageIndex,
32
+ });
33
+ }
34
+ async showProxyCaches(pageSize, pageIndex, fullname) {
35
+ if (this.config.cnpmcore.syncMode !== constants_1.SyncMode.proxy) {
36
+ throw new egg_errors_1.ForbiddenError('proxy mode is not enabled');
37
+ }
38
+ return await this.proxyCacheRepository.listCachedFiles({
39
+ pageSize,
40
+ pageIndex,
41
+ }, fullname);
42
+ }
43
+ async refreshProxyCaches(fullname) {
44
+ if (this.config.cnpmcore.syncMode !== constants_1.SyncMode.proxy) {
45
+ throw new egg_errors_1.ForbiddenError('proxy mode is not enabled');
46
+ }
47
+ const refreshList = await this.proxyCacheRepository.findProxyCaches(fullname);
48
+ if (refreshList.length === 0) {
49
+ throw new egg_errors_1.NotFoundError();
50
+ }
51
+ const taskList = refreshList
52
+ // 仅manifests需要更新,指定版本的package.json文件发布后不会改变
53
+ .filter(i => (0, ProxyCacheService_1.isPkgManifest)(i.fileType))
54
+ .map(async (item) => {
55
+ const task = await this.proxyCacheService.createTask(`${item.fullname}/${item.fileType}`, {
56
+ fullname: item.fullname,
57
+ fileType: item.fileType,
58
+ });
59
+ return task;
60
+ });
61
+ return {
62
+ ok: true,
63
+ tasks: await Promise.all(taskList),
64
+ };
65
+ }
66
+ async removeProxyCaches(ctx, fullname) {
67
+ const isAdmin = await this.userRoleManager.isAdmin(ctx);
68
+ if (!isAdmin) {
69
+ throw new egg_errors_1.UnauthorizedError('only admin can do this');
70
+ }
71
+ if (this.config.cnpmcore.syncMode !== constants_1.SyncMode.proxy) {
72
+ throw new egg_errors_1.ForbiddenError('proxy mode is not enabled');
73
+ }
74
+ const proxyCachesList = await this.proxyCacheRepository.findProxyCaches(fullname);
75
+ if (proxyCachesList.length === 0) {
76
+ throw new egg_errors_1.NotFoundError();
77
+ }
78
+ const removingList = proxyCachesList.map(item => {
79
+ return this.proxyCacheService.removeProxyCache(item.fullname, item.fileType, item.version);
80
+ });
81
+ await Promise.all(removingList);
82
+ return {
83
+ ok: true,
84
+ result: proxyCachesList,
85
+ };
86
+ }
87
+ async truncateProxyCaches(ctx) {
88
+ const isAdmin = await this.userRoleManager.isAdmin(ctx);
89
+ if (!isAdmin) {
90
+ throw new egg_errors_1.UnauthorizedError('only admin can do this');
91
+ }
92
+ if (this.config.cnpmcore.syncMode !== constants_1.SyncMode.proxy) {
93
+ throw new egg_errors_1.ForbiddenError('proxy mode is not enabled');
94
+ }
95
+ await this.proxyCacheRepository.truncateProxyCache();
96
+ // 尝试删除proxy cache目录,若失败可手动管理
97
+ ctx.runInBackground(async () => {
98
+ try {
99
+ await this.nfsAdapter.remove(`/${constants_1.PROXY_CACHE_DIR_NAME}`);
100
+ }
101
+ catch (err) {
102
+ this.logger.error('[ProxyCacheService.truncateProxyCaches] remove proxy cache dir error: %s', err);
103
+ }
104
+ });
105
+ return {
106
+ ok: true,
107
+ };
108
+ }
109
+ };
110
+ exports.ProxyCacheController = ProxyCacheController;
111
+ __decorate([
112
+ (0, tegg_1.Inject)(),
113
+ __metadata("design:type", ProxyCacheRepository_1.ProxyCacheRepository)
114
+ ], ProxyCacheController.prototype, "proxyCacheRepository", void 0);
115
+ __decorate([
116
+ (0, tegg_1.Inject)(),
117
+ __metadata("design:type", ProxyCacheService_1.ProxyCacheService)
118
+ ], ProxyCacheController.prototype, "proxyCacheService", void 0);
119
+ __decorate([
120
+ (0, tegg_1.Inject)(),
121
+ __metadata("design:type", NFSAdapter_1.NFSAdapter)
122
+ ], ProxyCacheController.prototype, "nfsAdapter", void 0);
123
+ __decorate([
124
+ (0, tegg_1.HTTPMethod)({
125
+ method: tegg_1.HTTPMethodEnum.GET,
126
+ path: '/-/proxy-cache',
127
+ }),
128
+ __param(0, (0, tegg_1.HTTPQuery)()),
129
+ __param(1, (0, tegg_1.HTTPQuery)()),
130
+ __metadata("design:type", Function),
131
+ __metadata("design:paramtypes", [Object, Object]),
132
+ __metadata("design:returntype", Promise)
133
+ ], ProxyCacheController.prototype, "listProxyCache", null);
134
+ __decorate([
135
+ (0, tegg_1.HTTPMethod)({
136
+ method: tegg_1.HTTPMethodEnum.GET,
137
+ path: `/-/proxy-cache/:fullname(${PackageUtil_1.FULLNAME_REG_STRING})`,
138
+ }),
139
+ __param(0, (0, tegg_1.HTTPQuery)()),
140
+ __param(1, (0, tegg_1.HTTPQuery)()),
141
+ __param(2, (0, tegg_1.HTTPParam)()),
142
+ __metadata("design:type", Function),
143
+ __metadata("design:paramtypes", [Object, Object, String]),
144
+ __metadata("design:returntype", Promise)
145
+ ], ProxyCacheController.prototype, "showProxyCaches", null);
146
+ __decorate([
147
+ (0, tegg_1.HTTPMethod)({
148
+ method: tegg_1.HTTPMethodEnum.PATCH,
149
+ path: `/-/proxy-cache/:fullname(${PackageUtil_1.FULLNAME_REG_STRING})`,
150
+ }),
151
+ __param(0, (0, tegg_1.HTTPParam)()),
152
+ __metadata("design:type", Function),
153
+ __metadata("design:paramtypes", [String]),
154
+ __metadata("design:returntype", Promise)
155
+ ], ProxyCacheController.prototype, "refreshProxyCaches", null);
156
+ __decorate([
157
+ (0, tegg_1.HTTPMethod)({
158
+ method: tegg_1.HTTPMethodEnum.DELETE,
159
+ path: `/-/proxy-cache/:fullname(${PackageUtil_1.FULLNAME_REG_STRING})`,
160
+ }),
161
+ __param(0, (0, tegg_1.Context)()),
162
+ __param(1, (0, tegg_1.HTTPParam)()),
163
+ __metadata("design:type", Function),
164
+ __metadata("design:paramtypes", [Object, String]),
165
+ __metadata("design:returntype", Promise)
166
+ ], ProxyCacheController.prototype, "removeProxyCaches", null);
167
+ __decorate([
168
+ (0, tegg_1.HTTPMethod)({
169
+ method: tegg_1.HTTPMethodEnum.DELETE,
170
+ path: '/-/proxy-cache',
171
+ }),
172
+ __param(0, (0, tegg_1.Context)()),
173
+ __metadata("design:type", Function),
174
+ __metadata("design:paramtypes", [Object]),
175
+ __metadata("design:returntype", Promise)
176
+ ], ProxyCacheController.prototype, "truncateProxyCaches", null);
177
+ exports.ProxyCacheController = ProxyCacheController = __decorate([
178
+ (0, tegg_1.HTTPController)()
179
+ ], ProxyCacheController);
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJveHlDYWNoZUNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvcG9ydC9jb250cm9sbGVyL1Byb3h5Q2FjaGVDb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNDQVNxQjtBQUNyQiwyQ0FBOEU7QUFDOUUsNkRBQTBEO0FBQzFELGdGQUE2RTtBQUc3RSwwREFBK0Q7QUFDL0QsNEVBRzhDO0FBQzlDLHNEQUF3RTtBQUN4RSxnRUFBNkQ7QUFHdEQsSUFBTSxvQkFBb0IsR0FBMUIsTUFBTSxvQkFBcUIsU0FBUSx1Q0FBa0I7SUFZcEQsQUFBTixLQUFLLENBQUMsY0FBYyxDQUNMLFFBQXFELEVBQ3JELFNBQXVEO1FBRXBFLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLG9CQUFRLENBQUMsS0FBSyxFQUFFO1lBQ3BELE1BQU0sSUFBSSwyQkFBYyxDQUFDLDJCQUEyQixDQUFDLENBQUM7U0FDdkQ7UUFDRCxPQUFPLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQztZQUNyRCxRQUFRO1lBQ1IsU0FBUztTQUNWLENBQUMsQ0FBQztJQUNMLENBQUM7SUFNSyxBQUFOLEtBQUssQ0FBQyxlQUFlLENBQWMsUUFBcUQsRUFDM0UsU0FBdUQsRUFBZSxRQUFnQjtRQUNqRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsS0FBSyxvQkFBUSxDQUFDLEtBQUssRUFBRTtZQUNwRCxNQUFNLElBQUksMkJBQWMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsT0FBTyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUM7WUFDckQsUUFBUTtZQUNSLFNBQVM7U0FDVixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQU1LLEFBQU4sS0FBSyxDQUFDLGtCQUFrQixDQUFj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
@@ -1,10 +1,15 @@
1
1
  /// <reference types="node" />
2
2
  import { EggContext } from '@eggjs/tegg';
3
3
  import { AbstractController } from '../AbstractController';
4
+ import { RegistryManagerService } from '../../../core/service/RegistryManagerService';
4
5
  export declare class DownloadPackageVersionTarController extends AbstractController {
5
6
  private packageManagerService;
7
+ registryManagerService: RegistryManagerService;
8
+ private proxyCacheService;
9
+ private packageSyncerService;
6
10
  private nfsAdapter;
7
11
  downloadForOptions(ctx: EggContext): Promise<void>;
8
12
  download(ctx: EggContext, fullname: string, filenameWithVersion: string): Promise<import("stream").Readable | undefined>;
9
13
  deprecatedDownload(ctx: EggContext, fullname: string, fullnameWithVersion: string): Promise<import("stream").Readable | undefined>;
14
+ private getTgzProxyStream;
10
15
  }
@@ -13,13 +13,17 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.DownloadPackageVersionTarController = void 0;
16
+ const node_stream_1 = require("node:stream");
16
17
  const egg_errors_1 = require("egg-errors");
17
18
  const tegg_1 = require("@eggjs/tegg");
18
19
  const AbstractController_1 = require("../AbstractController");
19
20
  const PackageUtil_1 = require("../../../common/PackageUtil");
21
+ const constants_1 = require("../../../common/constants");
20
22
  const NFSAdapter_1 = require("../../../common/adapter/NFSAdapter");
21
23
  const PackageManagerService_1 = require("../../../core/service/PackageManagerService");
22
- const constants_1 = require("../../../common/constants");
24
+ const ProxyCacheService_1 = require("../../../core/service/ProxyCacheService");
25
+ const PackageSyncerService_1 = require("../../../core/service/PackageSyncerService");
26
+ const RegistryManagerService_1 = require("../../../core/service/RegistryManagerService");
23
27
  let DownloadPackageVersionTarController = class DownloadPackageVersionTarController extends AbstractController_1.AbstractController {
24
28
  // Support OPTIONS Request on tgz download
25
29
  async downloadForOptions(ctx) {
@@ -40,8 +44,24 @@ let DownloadPackageVersionTarController = class DownloadPackageVersionTarControl
40
44
  }
41
45
  // check package version in database
42
46
  const allowSync = this.getAllowSync(ctx);
43
- const pkg = await this.getPackageEntityByFullname(fullname, allowSync);
44
- const packageVersion = await this.getPackageVersionEntity(pkg, version, allowSync);
47
+ let pkg;
48
+ let packageVersion;
49
+ try {
50
+ pkg = await this.getPackageEntityByFullname(fullname, allowSync);
51
+ packageVersion = await this.getPackageVersionEntity(pkg, version, allowSync);
52
+ }
53
+ catch (error) {
54
+ if (this.config.cnpmcore.syncMode === constants_1.SyncMode.proxy) {
55
+ // proxy mode package version not found.
56
+ const tgzStream = await this.getTgzProxyStream(ctx, fullname, version);
57
+ this.packageManagerService.plusPackageVersionCounter(fullname, version);
58
+ const passThroughRemoteStream = new node_stream_1.PassThrough();
59
+ tgzStream.pipe(passThroughRemoteStream);
60
+ ctx.attachment(`${filenameWithVersion}.tgz`);
61
+ return passThroughRemoteStream;
62
+ }
63
+ throw error;
64
+ }
45
65
  // read by nfs url
46
66
  if (downloadUrl) {
47
67
  this.packageManagerService.plusPackageVersionCounter(fullname, version);
@@ -68,12 +88,40 @@ let DownloadPackageVersionTarController = class DownloadPackageVersionTarControl
68
88
  const filenameWithVersion = (0, PackageUtil_1.getScopeAndName)(fullnameWithVersion)[1];
69
89
  return await this.download(ctx, fullname, filenameWithVersion);
70
90
  }
91
+ async getTgzProxyStream(ctx, fullname, version) {
92
+ const { headers, status, res } = await this.proxyCacheService.getPackageVersionTarResponse(fullname, ctx);
93
+ ctx.status = status;
94
+ ctx.set(headers);
95
+ ctx.runInBackground(async () => {
96
+ const task = await this.packageSyncerService.createTask(fullname, {
97
+ authorIp: ctx.ip,
98
+ authorId: `pid_${process.pid}`,
99
+ tips: `Sync specific version in proxy mode cause by "${ctx.href}"`,
100
+ skipDependencies: true,
101
+ specificVersions: [version],
102
+ });
103
+ ctx.logger.info('[DownloadPackageVersionTarController.createSyncTask:success] taskId: %s, fullname: %s', task.taskId, fullname);
104
+ });
105
+ return res;
106
+ }
71
107
  };
72
108
  exports.DownloadPackageVersionTarController = DownloadPackageVersionTarController;
73
109
  __decorate([
74
110
  (0, tegg_1.Inject)(),
75
111
  __metadata("design:type", PackageManagerService_1.PackageManagerService)
76
112
  ], DownloadPackageVersionTarController.prototype, "packageManagerService", void 0);
113
+ __decorate([
114
+ (0, tegg_1.Inject)(),
115
+ __metadata("design:type", RegistryManagerService_1.RegistryManagerService)
116
+ ], DownloadPackageVersionTarController.prototype, "registryManagerService", void 0);
117
+ __decorate([
118
+ (0, tegg_1.Inject)(),
119
+ __metadata("design:type", ProxyCacheService_1.ProxyCacheService)
120
+ ], DownloadPackageVersionTarController.prototype, "proxyCacheService", void 0);
121
+ __decorate([
122
+ (0, tegg_1.Inject)(),
123
+ __metadata("design:type", PackageSyncerService_1.PackageSyncerService)
124
+ ], DownloadPackageVersionTarController.prototype, "packageSyncerService", void 0);
77
125
  __decorate([
78
126
  (0, tegg_1.Inject)(),
79
127
  __metadata("design:type", NFSAdapter_1.NFSAdapter)
@@ -118,4 +166,4 @@ __decorate([
118
166
  exports.DownloadPackageVersionTarController = DownloadPackageVersionTarController = __decorate([
119
167
  (0, tegg_1.HTTPController)()
120
168
  ], DownloadPackageVersionTarController);
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG93bmxvYWRQYWNrYWdlVmVyc2lvblRhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9wb3J0L2NvbnRyb2xsZXIvcGFja2FnZS9Eb3dubG9hZFBhY2thZ2VWZXJzaW9uVGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUVvQjtBQUNwQixzQ0FRcUI7QUFDckIsOERBQTJEO0FBQzNELDZEQUFtRjtBQUNuRixtRUFBZ0U7QUFDaEUsdUZBQW9GO0FBQ3BGLHlEQUFxRDtBQUc5QyxJQUFNLG1DQUFtQyxHQUF6QyxNQUFNLG1DQUFvQyxTQUFRLHVDQUFrQjtJQU16RSwwQ0FBMEM7SUFNcEMsQUFBTixLQUFLLENBQUMsa0JBQWtCLENBQVksR0FBZTtRQUNqRCxHQUFHLENBQUMsR0FBRyxDQUFDLDZCQUE2QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLEdBQUcsQ0FBQyxHQUFHLENBQUMsOEJBQThCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDcEQsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDbkIsQ0FBQztJQU9LLEFBQU4sS0FBSyxDQUFDLFFBQVEsQ0FBWSxHQUFlLEVBQWUsUUFBZ0IsRUFBZSxtQkFBMkI7UUFDaEgseUVBQXlFO1FBQ3pFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDeEYsTUFBTSxRQUFRLEdBQUcsYUFBYSxRQUFRLElBQUksT0FBTyxJQUFJLG1CQUFtQixNQUFNLENBQUM7UUFDL0UsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsS0FBSyxvQkFBUSxDQUFDLEdBQUcsSUFBSSxXQUFXLEVBQUU7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
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG93bmxvYWRQYWNrYWdlVmVyc2lvblRhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9wb3J0L2NvbnRyb2xsZXIvcGFja2FnZS9Eb3dubG9hZFBhY2thZ2VWZXJzaW9uVGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEwQztBQUMxQywyQ0FFb0I7QUFDcEIsc0NBUXFCO0FBQ3JCLDhEQUEyRDtBQUMzRCw2REFBbUY7QUFDbkYseURBQXFEO0FBQ3JELG1FQUFnRTtBQUNoRSx1RkFBb0Y7QUFDcEYsK0VBQTRFO0FBQzVFLHFGQUFrRjtBQUNsRix5RkFBc0Y7QUFHL0UsSUFBTSxtQ0FBbUMsR0FBekMsTUFBTSxtQ0FBb0MsU0FBUSx1Q0FBa0I7SUFZekUsMENBQTBDO0lBTXBDLEFBQU4sS0FBSyxDQUFDLGtCQUFrQixDQUFZLEdBQWU7UUFDakQsR0FBRyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM1QyxHQUFHLENBQUMsR0FBRyxDQUFDLDhCQUE4QixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ25CLENBQUM7SUFPSyxBQUFOLEtBQUssQ0FBQyxRQUFRLENBQVksR0FBZSxFQUFlLFFBQWdCLEVBQWUsbUJBQTJCO1FBQ2hILHlFQUF5RTtRQUN6RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sUUFBUSxHQUFHLGFBQWEsUUFBUSxJQUFJLE9BQU8sSUFBSSxtQkFBbUIsTUFBTSxDQUFDO1FBQy9FLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFD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
@@ -5,5 +5,6 @@ import { AbstractController } from '../AbstractController';
5
5
  export declare class ShowPackageController extends AbstractController {
6
6
  private packageManagerService;
7
7
  private cacheService;
8
+ private proxyCacheService;
8
9
  show(ctx: EggContext, fullname: string): Promise<Buffer | undefined>;
9
10
  }
@@ -19,12 +19,15 @@ const PackageUtil_1 = require("../../../common/PackageUtil");
19
19
  const SyncUtil_1 = require("../../../common/SyncUtil");
20
20
  const PackageManagerService_1 = require("../../../core/service/PackageManagerService");
21
21
  const CacheService_1 = require("../../../core/service/CacheService");
22
+ const constants_1 = require("../../../common/constants");
23
+ const ProxyCacheService_1 = require("../../../core/service/ProxyCacheService");
24
+ const PackageUtil_2 = require("../../../common/PackageUtil");
25
+ const Package_1 = require("../../../core/entity/Package");
22
26
  let ShowPackageController = class ShowPackageController extends AbstractController_1.AbstractController {
23
27
  async show(ctx, fullname) {
24
28
  const [scope, name] = (0, PackageUtil_1.getScopeAndName)(fullname);
25
29
  const isSync = (0, SyncUtil_1.isSyncWorkerRequest)(ctx);
26
- const abbreviatedMetaType = 'application/vnd.npm.install-v1+json';
27
- const isFullManifests = ctx.accepts(['json', abbreviatedMetaType]) !== abbreviatedMetaType;
30
+ const isFullManifests = ctx.accepts(['json', constants_1.ABBREVIATED_META_TYPE]) !== constants_1.ABBREVIATED_META_TYPE;
28
31
  // handle cache
29
32
  // fallback to db when cache error
30
33
  try {
@@ -57,11 +60,22 @@ let ShowPackageController = class ShowPackageController extends AbstractControll
57
60
  }
58
61
  // handle cache miss
59
62
  let result;
60
- if (isFullManifests) {
61
- result = await this.packageManagerService.listPackageFullManifests(scope, name, isSync);
63
+ if (this.config.cnpmcore.syncMode === constants_1.SyncMode.proxy) {
64
+ // proxy mode
65
+ const fileType = isFullManifests ? Package_1.DIST_NAMES.FULL_MANIFESTS : Package_1.DIST_NAMES.ABBREVIATED_MANIFESTS;
66
+ const pkgManifest = await this.proxyCacheService.getPackageManifest(fullname, fileType);
67
+ const nfsBytes = Buffer.from(JSON.stringify(pkgManifest));
68
+ const { shasum: etag } = await (0, PackageUtil_2.calculateIntegrity)(nfsBytes);
69
+ result = { data: pkgManifest, etag, blockReason: '' };
62
70
  }
63
71
  else {
64
- result = await this.packageManagerService.listPackageAbbreviatedManifests(scope, name, isSync);
72
+ // sync mode
73
+ if (isFullManifests) {
74
+ result = await this.packageManagerService.listPackageFullManifests(scope, name, isSync);
75
+ }
76
+ else {
77
+ result = await this.packageManagerService.listPackageAbbreviatedManifests(scope, name, isSync);
78
+ }
65
79
  }
66
80
  const { etag, data, blockReason } = result;
67
81
  // 404, no data
@@ -100,6 +114,10 @@ __decorate([
100
114
  (0, tegg_1.Inject)(),
101
115
  __metadata("design:type", CacheService_1.CacheService)
102
116
  ], ShowPackageController.prototype, "cacheService", void 0);
117
+ __decorate([
118
+ (0, tegg_1.Inject)(),
119
+ __metadata("design:type", ProxyCacheService_1.ProxyCacheService)
120
+ ], ShowPackageController.prototype, "proxyCacheService", void 0);
103
121
  __decorate([
104
122
  (0, tegg_1.HTTPMethod)({
105
123
  // GET /:fullname
@@ -116,4 +134,4 @@ __decorate([
116
134
  exports.ShowPackageController = ShowPackageController = __decorate([
117
135
  (0, tegg_1.HTTPController)()
118
136
  ], ShowPackageController);
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hvd1BhY2thZ2VDb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXBwL3BvcnQvY29udHJvbGxlci9wYWNrYWdlL1Nob3dQYWNrYWdlQ29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzQ0FRcUI7QUFDckIsOERBQTJEO0FBQzNELDZEQUFtRjtBQUNuRix1REFBK0Q7QUFDL0QsdUZBQW9GO0FBQ3BGLHFFQUFrRTtBQUczRCxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFzQixTQUFRLHVDQUFrQjtJQVlyRCxBQUFOLEtBQUssQ0FBQyxJQUFJLENBQVksR0FBZSxFQUFlLFFBQWdCO1FBQ2xFLE1BQU0sQ0FBRSxLQUFLLEVBQUUsSUFBSSxDQUFFLEdBQUcsSUFBQSw2QkFBZSxFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sTUFBTSxHQUFHLElBQUEsOEJBQW1CLEVBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxtQkFBbUIsR0FBRyxxQ0FBcUMsQ0FBQztRQUNsRSxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUUsTUFBTSxFQUFFLG1CQUFtQixDQUFFLENBQUMsS0FBSyxtQkFBbUIsQ0FBQztRQUU3RixlQUFlO1FBQ2Ysa0NBQWtDO1FBQ2xDLElBQUk7WUFDRixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQztZQUNwRixJQUFJLENBQUMsTUFBTSxJQUFJLFNBQVMsRUFBRTtnQkFDeEIsSUFBSSxXQUFXLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ25ELElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDaEMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFT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
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hvd1BhY2thZ2VDb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXBwL3BvcnQvY29udHJvbGxlci9wYWNrYWdlL1Nob3dQYWNrYWdlQ29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzQ0FRcUI7QUFDckIsOERBQTJEO0FBQzNELDZEQUFtRjtBQUNuRix1REFBK0Q7QUFDL0QsdUZBQW9GO0FBQ3BGLHFFQUFrRTtBQUNsRSx5REFBNEU7QUFDNUUsK0VBQTRFO0FBQzVFLDZEQUFpRTtBQUNqRSwwREFBMEQ7QUFHbkQsSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBc0IsU0FBUSx1Q0FBa0I7SUFjckQsQUFBTixLQUFLLENBQUMsSUFBSSxDQUFZLEdBQWUsRUFBZSxRQUFnQjtRQUNsRSxNQUFNLENBQUUsS0FBSyxFQUFFLElBQUksQ0FBRSxHQUFHLElBQUEsNkJBQWUsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxNQUFNLE1BQU0sR0FBRyxJQUFBLDhCQUFtQixFQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBRSxNQUFNLEVBQUUsaUNBQXFCLENBQUUsQ0FBQyxLQUFLLGlDQUFxQixDQUFDO1FBRWpHLGVBQWU7UUFDZixrQ0FBa0M7UUFDbEMsSUFBSTtZQUNGLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQ3BGLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFFO2dCQUN4QixJQUFJLFdBQVcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNoQyxXQUFXLEdB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
@@ -2,5 +2,6 @@ import { EggContext } from '@eggjs/tegg';
2
2
  import { AbstractController } from '../AbstractController';
3
3
  export declare class ShowPackageVersionController extends AbstractController {
4
4
  private packageManagerService;
5
- show(ctx: EggContext, fullname: string, versionSpec: string): Promise<import("../../../repository/PackageRepository").PackageJSONType>;
5
+ private proxyCacheService;
6
+ show(ctx: EggContext, fullname: string, versionSpec: string): Promise<import("../../../repository/PackageRepository").PackageJSONType | import("../../../repository/PackageRepository").AbbreviatedPackageJSONType>;
6
7
  }
@@ -14,31 +14,41 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ShowPackageVersionController = void 0;
16
16
  const tegg_1 = require("@eggjs/tegg");
17
- const egg_errors_1 = require("egg-errors");
18
17
  const AbstractController_1 = require("../AbstractController");
19
18
  const PackageUtil_1 = require("../../../common/PackageUtil");
20
19
  const SyncUtil_1 = require("../../../common/SyncUtil");
21
20
  const PackageManagerService_1 = require("../../../core/service/PackageManagerService");
21
+ const ProxyCacheService_1 = require("../../../core/service/ProxyCacheService");
22
22
  const typebox_1 = require("../../../port/typebox");
23
+ const constants_1 = require("../../../common/constants");
24
+ const Package_1 = require("../../../core/entity/Package");
25
+ const egg_errors_1 = require("egg-errors");
23
26
  let ShowPackageVersionController = class ShowPackageVersionController extends AbstractController_1.AbstractController {
24
27
  async show(ctx, fullname, versionSpec) {
25
28
  // https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#full-metadata-format
26
29
  ctx.tValidate(typebox_1.Spec, `${fullname}@${versionSpec}`);
27
30
  const [scope, name] = (0, PackageUtil_1.getScopeAndName)(fullname);
28
31
  const isSync = (0, SyncUtil_1.isSyncWorkerRequest)(ctx);
29
- const abbreviatedMetaType = 'application/vnd.npm.install-v1+json';
30
- const isFullManifests = ctx.accepts(['json', abbreviatedMetaType]) !== abbreviatedMetaType;
32
+ const isFullManifests = ctx.accepts(['json', constants_1.ABBREVIATED_META_TYPE]) !== constants_1.ABBREVIATED_META_TYPE;
31
33
  const { blockReason, manifest, pkg } = await this.packageManagerService.showPackageVersionManifest(scope, name, versionSpec, isSync, isFullManifests);
32
- if (!pkg) {
33
- const allowSync = this.getAllowSync(ctx);
34
- throw this.createPackageNotFoundErrorWithRedirect(fullname, undefined, allowSync);
35
- }
34
+ const allowSync = this.getAllowSync(ctx);
36
35
  if (blockReason) {
37
36
  this.setCDNHeaders(ctx);
38
37
  throw this.createPackageBlockError(blockReason, fullname, versionSpec);
39
38
  }
40
- if (!manifest) {
41
- throw new egg_errors_1.NotFoundError(`${fullname}@${versionSpec} not found`);
39
+ if (!pkg || !manifest) {
40
+ if (this.config.cnpmcore.syncMode === constants_1.SyncMode.proxy) {
41
+ const fileType = isFullManifests
42
+ ? Package_1.DIST_NAMES.MANIFEST
43
+ : Package_1.DIST_NAMES.ABBREVIATED;
44
+ return await this.proxyCacheService.getPackageVersionManifest(fullname, fileType, versionSpec);
45
+ }
46
+ if (!pkg) {
47
+ throw this.createPackageNotFoundErrorWithRedirect(fullname, undefined, allowSync);
48
+ }
49
+ if (!manifest) {
50
+ throw new egg_errors_1.NotFoundError(`${fullname}@${versionSpec} not found`);
51
+ }
42
52
  }
43
53
  this.setCDNHeaders(ctx);
44
54
  return manifest;
@@ -49,6 +59,10 @@ __decorate([
49
59
  (0, tegg_1.Inject)(),
50
60
  __metadata("design:type", PackageManagerService_1.PackageManagerService)
51
61
  ], ShowPackageVersionController.prototype, "packageManagerService", void 0);
62
+ __decorate([
63
+ (0, tegg_1.Inject)(),
64
+ __metadata("design:type", ProxyCacheService_1.ProxyCacheService)
65
+ ], ShowPackageVersionController.prototype, "proxyCacheService", void 0);
52
66
  __decorate([
53
67
  (0, tegg_1.HTTPMethod)({
54
68
  // GET /:fullname/:versionSpec
@@ -65,4 +79,4 @@ __decorate([
65
79
  exports.ShowPackageVersionController = ShowPackageVersionController = __decorate([
66
80
  (0, tegg_1.HTTPController)()
67
81
  ], ShowPackageVersionController);
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hvd1BhY2thZ2VWZXJzaW9uQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9wb3J0L2NvbnRyb2xsZXIvcGFja2FnZS9TaG93UGFja2FnZVZlcnNpb25Db250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNDQVFxQjtBQUNyQiwyQ0FBMkM7QUFDM0MsOERBQTJEO0FBQzNELDZEQUFtRjtBQUNuRix1REFBK0Q7QUFDL0QsdUZBQW9GO0FBQ3BGLG1EQUE2QztBQUd0QyxJQUFNLDRCQUE0QixHQUFsQyxNQUFNLDRCQUE2QixTQUFRLHVDQUFrQjtJQVM1RCxBQUFOLEtBQUssQ0FBQyxJQUFJLENBQVksR0FBZSxFQUFlLFFBQWdCLEVBQWUsV0FBbUI7UUFDcEcsc0dBQXNHO1FBQ3RHLEdBQUcsQ0FBQyxTQUFTLENBQUMsY0FBSSxFQUFFLEdBQUcsUUFBUSxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDbEQsTUFBTSxDQUFFLEtBQUssRUFBRSxJQUFJLENBQUUsR0FBRyxJQUFBLDZCQUFlLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsSUFBQSw4QkFBbUIsRUFBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxNQUFNLG1CQUFtQixHQUFHLHFDQUFxQyxDQUFDO1FBQ2xFLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBRSxNQUFNLEVBQUUsbUJBQW1CLENBQUUsQ0FBQyxLQUFLLG1CQUFtQixDQUFDO1FBRTdGLE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLDBCQUEwQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQztRQUN0SixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxNQUFNLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ25GO1FBQ0QsSUFBSSxXQUFXLEVBQUU7WUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDeEU7UUFDRCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsTUFBTSxJQUFJLDBCQUFhLENBQUMsR0FBRyxRQUFRLElBQUksV0FBVyxZQUFZLENBQUMsQ0FBQztTQUNqRTtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGLENBQUE7QUFoQ1ksb0VBQTRCO0FBRS9CO0lBRFAsSUFBQSxhQUFNLEdBQUU7OEJBQ3NCLDZDQUFxQjsyRUFBQztBQU8vQztJQUxMLElBQUEsaUJBQVUsRUFBQztRQUNWLDhCQUE4QjtRQUM5QixJQUFJLEVBQUUsY0FBYyxpQ0FBbUIsZ0JBQWdCO1FBQ3ZELE1BQU0sRUFBRSxxQkFBYyxDQUFDLEdBQUc7S0FDM0IsQ0FBQztJQUNVLFdBQUEsSUFBQSxjQUFPLEdBQUUsQ0FBQTtJQUFtQixXQUFBLElBQUEsZ0JBQVMsR0FBRSxDQUFBO0lBQW9CLFdBQUEsSUFBQSxnQkFBUyxHQUFFLENBQUE7Ozs7d0RBc0JqRjt1Q0EvQlUsNEJBQTRCO0lBRHhDLElBQUEscUJBQWMsR0FBRTtHQUNKLDRCQUE0QixDQWdDeEMifQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hvd1BhY2thZ2VWZXJzaW9uQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9wb3J0L2NvbnRyb2xsZXIvcGFja2FnZS9TaG93UGFja2FnZVZlcnNpb25Db250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNDQVFxQjtBQUNyQiw4REFBMkQ7QUFDM0QsNkRBR3FDO0FBQ3JDLHVEQUErRDtBQUMvRCx1RkFBb0Y7QUFDcEYsK0VBQTRFO0FBQzVFLG1EQUE2QztBQUM3Qyx5REFBNEU7QUFDNUUsMERBQTBEO0FBQzFELDJDQUEyQztBQUdwQyxJQUFNLDRCQUE0QixHQUFsQyxNQUFNLDRCQUE2QixTQUFRLHVDQUFrQjtJQVc1RCxBQUFOLEtBQUssQ0FBQyxJQUFJLENBQ0csR0FBZSxFQUNiLFFBQWdCLEVBQ2hCLFdBQW1CO1FBRWhDLHNHQUFzRztRQUN0RyxHQUFHLENBQUMsU0FBUyxDQUFDLGNBQUksRUFBRSxHQUFHLFFBQVEsSUFBSSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sQ0FBRSxLQUFLLEVBQUUsSUFBSSxDQUFFLEdBQUcsSUFBQSw2QkFBZSxFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sTUFBTSxHQUFHLElBQUEsOEJBQW1CLEVBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxlQUFlLEdBQ25CLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBRSxNQUFNLEVBQUUsaUNBQXFCLENBQUUsQ0FBQyxLQUFLLGlDQUFxQixDQUFDO1FBRTNFLE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUNsQyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQywwQkFBMEIsQ0FDekQsS0FBSyxFQUNMLElBQUksRUFDSixXQUFXLEVBQ1gsTUFBTSxFQUNOLGVBQWUsQ0FDaEIsQ0FBQztRQUNKLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFekMsSUFBSSxXQUFXLEVBQUU7WUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDeEU7UUFFRCxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3JCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLG9CQUFRLENBQUMsS0FBSyxFQUFFO2dCQUNwRCxNQUFNLFFBQVEsR0FBRyxlQUFlO29CQUM5QixDQUFDLENBQUMsb0JBQVUsQ0FBQyxRQUFRO29CQUNyQixDQUFDLENBQUMsb0JBQVUsQ0FBQyxXQUFXLENBQUM7Z0JBQzNCLE9BQU8sTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMseUJBQXlCLENBQzNELFFBQVEsRUFDUixRQUFRLEVBQ1IsV0FBVyxDQUNaLENBQUM7YUFDSDtZQUVELElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1IsTUFBTSxJQUFJLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUNuRjtZQUNELElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2IsTUFBTSxJQUFJLDBCQUFhLENBQUMsR0FBRyxRQUFRLElBQUksV0FBVyxZQUFZLENBQUMsQ0FBQzthQUNqRTtTQUNGO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0YsQ0FBQTtBQTdEWSxvRUFBNEI7QUFFL0I7SUFEUCxJQUFBLGFBQU0sR0FBRTs4QkFDc0IsNkNBQXFCOzJFQUFDO0FBRTdDO0lBRFAsSUFBQSxhQUFNLEdBQUU7OEJBQ2tCLHFDQUFpQjt1RUFBQztBQU92QztJQUxMLElBQUEsaUJBQVUsRUFBQztRQUNWLDhCQUE4QjtRQUM5QixJQUFJLEVBQUUsY0FBYyxpQ0FBbUIsZ0JBQWdCO1FBQ3ZELE1BQU0sRUFBRSxxQkFBYyxDQUFDLEdBQUc7S0FDM0IsQ0FBQztJQUVDLFdBQUEsSUFBQSxjQUFPLEdBQUUsQ0FBQTtJQUNULFdBQUEsSUFBQSxnQkFBUyxHQUFFLENBQUE7SUFDWCxXQUFBLElBQUEsZ0JBQVMsR0FBRSxDQUFBOzs7O3dEQThDYjt1Q0E1RFUsNEJBQTRCO0lBRHhDLElBQUEscUJBQWMsR0FBRTtHQUNKLDRCQUE0QixDQTZEeEMifQ==
@@ -0,0 +1,7 @@
1
+ export declare class CheckProxyCacheUpdateWorker {
2
+ private readonly config;
3
+ private readonly logger;
4
+ private proxyCacheService;
5
+ private readonly proxyCacheRepository;
6
+ subscribe(): Promise<void>;
7
+ }
@@ -0,0 +1,70 @@
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.CheckProxyCacheUpdateWorker = void 0;
13
+ const schedule_1 = require("@eggjs/tegg/schedule");
14
+ const tegg_1 = require("@eggjs/tegg");
15
+ const ProxyCacheRepository_1 = require("../../repository/ProxyCacheRepository");
16
+ const constants_1 = require("../../common/constants");
17
+ const ProxyCacheService_1 = require("../../core/service/ProxyCacheService");
18
+ let CheckProxyCacheUpdateWorker = class CheckProxyCacheUpdateWorker {
19
+ async subscribe() {
20
+ if (this.config.cnpmcore.syncMode !== constants_1.SyncMode.proxy)
21
+ return;
22
+ let pageIndex = 0;
23
+ let { data: list } = await this.proxyCacheRepository.listCachedFiles({ pageSize: 5, pageIndex });
24
+ while (list.length !== 0) {
25
+ for (const item of list) {
26
+ try {
27
+ if ((0, ProxyCacheService_1.isPkgManifest)(item.fileType)) {
28
+ // 仅manifests需要更新,指定版本的package.json文件发布后不会改变
29
+ const task = await this.proxyCacheService.createTask(`${item.fullname}/${item.fileType}`, {
30
+ fullname: item.fullname,
31
+ fileType: item.fileType,
32
+ });
33
+ this.logger.info('[CheckProxyCacheUpdateWorker.subscribe:createTask][%s] taskId: %s, targetName: %s', pageIndex, task.taskId, task.targetName);
34
+ }
35
+ }
36
+ catch (err) {
37
+ this.logger.error(err);
38
+ }
39
+ }
40
+ pageIndex++;
41
+ list = (await this.proxyCacheRepository.listCachedFiles({ pageSize: 5, pageIndex })).data;
42
+ }
43
+ }
44
+ };
45
+ exports.CheckProxyCacheUpdateWorker = CheckProxyCacheUpdateWorker;
46
+ __decorate([
47
+ (0, tegg_1.Inject)(),
48
+ __metadata("design:type", Object)
49
+ ], CheckProxyCacheUpdateWorker.prototype, "config", void 0);
50
+ __decorate([
51
+ (0, tegg_1.Inject)(),
52
+ __metadata("design:type", Object)
53
+ ], CheckProxyCacheUpdateWorker.prototype, "logger", void 0);
54
+ __decorate([
55
+ (0, tegg_1.Inject)(),
56
+ __metadata("design:type", ProxyCacheService_1.ProxyCacheService)
57
+ ], CheckProxyCacheUpdateWorker.prototype, "proxyCacheService", void 0);
58
+ __decorate([
59
+ (0, tegg_1.Inject)(),
60
+ __metadata("design:type", ProxyCacheRepository_1.ProxyCacheRepository)
61
+ ], CheckProxyCacheUpdateWorker.prototype, "proxyCacheRepository", void 0);
62
+ exports.CheckProxyCacheUpdateWorker = CheckProxyCacheUpdateWorker = __decorate([
63
+ (0, schedule_1.Schedule)({
64
+ type: schedule_1.ScheduleType.WORKER,
65
+ scheduleData: {
66
+ cron: '0 3 * * *', // run every day at 03:00
67
+ },
68
+ })
69
+ ], CheckProxyCacheUpdateWorker);
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hlY2tQcm94eUNhY2hlVXBkYXRlV29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL3BvcnQvc2NoZWR1bGUvQ2hlY2tQcm94eUNhY2hlVXBkYXRlV29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLG1EQUEwRTtBQUMxRSxzQ0FBcUM7QUFDckMsZ0ZBQTZFO0FBQzdFLHNEQUFrRDtBQUNsRCw0RUFBd0Y7QUFRakYsSUFBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBMkI7SUFjdEMsS0FBSyxDQUFDLFNBQVM7UUFDYixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsS0FBSyxvQkFBUSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQzdELElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNqRyxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxFQUFFO2dCQUN2QixJQUFJO29CQUNGLElBQUksSUFBQSxpQ0FBYSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTt3QkFDaEMsNENBQTRDO3dCQUM1QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTs0QkFDeEYsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFROzRCQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7eUJBQ3hCLENBQUMsQ0FBQzt3QkFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtRkFBbUYsRUFDbEcsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3FCQUM1QztpQkFDRjtnQkFBQyxPQUFPLEdBQUcsRUFBRTtvQkFDWixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDeEI7YUFDRjtZQUNELFNBQVMsRUFBRSxDQUFDO1lBQ1osSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQzNGO0lBRUgsQ0FBQztDQUNGLENBQUE7QUF2Q1ksa0VBQTJCO0FBR3JCO0lBRGhCLElBQUEsYUFBTSxHQUFFOzsyREFDNkI7QUFHckI7SUFEaEIsSUFBQSxhQUFNLEdBQUU7OzJEQUMwQjtBQUczQjtJQURQLElBQUEsYUFBTSxHQUFFOzhCQUNrQixxQ0FBaUI7c0VBQUM7QUFHNUI7SUFEaEIsSUFBQSxhQUFNLEdBQUU7OEJBQzZCLDJDQUFvQjt5RUFBQztzQ0FaaEQsMkJBQTJCO0lBTnZDLElBQUEsbUJBQVEsRUFBYTtRQUNwQixJQUFJLEVBQUUsdUJBQVksQ0FBQyxNQUFNO1FBQ3pCLFlBQVksRUFBRTtZQUNaLElBQUksRUFBRSxXQUFXLEVBQUUseUJBQXlCO1NBQzdDO0tBQ0YsQ0FBQztHQUNXLDJCQUEyQixDQXVDdkMifQ==
@@ -19,7 +19,7 @@ const constants_1 = require("../../common/constants");
19
19
  // https://github.com/cnpm/cnpmcore/issues/9
20
20
  let CheckRecentlyUpdatedPackages = class CheckRecentlyUpdatedPackages {
21
21
  async subscribe() {
22
- const notAllowUpdateModeList = [constants_1.SyncMode.none, constants_1.SyncMode.admin];
22
+ const notAllowUpdateModeList = [constants_1.SyncMode.none, constants_1.SyncMode.admin, constants_1.SyncMode.proxy];
23
23
  if (notAllowUpdateModeList.includes(this.config.cnpmcore.syncMode) || !this.config.cnpmcore.enableCheckRecentlyUpdated)
24
24
  return;
25
25
  const pageSize = 36;
@@ -104,4 +104,4 @@ exports.CheckRecentlyUpdatedPackages = CheckRecentlyUpdatedPackages = __decorate
104
104
  },
105
105
  })
106
106
  ], CheckRecentlyUpdatedPackages);
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hlY2tSZWNlbnRseVVwZGF0ZWRQYWNrYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9wb3J0L3NjaGVkdWxlL0NoZWNrUmVjZW50bHlVcGRhdGVkUGFja2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EsbURBQThFO0FBQzlFLHNDQUFxQztBQUNyQyxrRkFBK0U7QUFDL0UsMEVBQXVFO0FBQ3ZFLDBEQUEyRDtBQUMzRCxzREFBa0Q7QUFFbEQsNENBQTRDO0FBUXJDLElBQU0sNEJBQTRCLEdBQWxDLE1BQU0sNEJBQTRCO0lBZXZDLEtBQUssQ0FBQyxTQUFTO1FBQ2IsTUFBTSxzQkFBc0IsR0FBRyxDQUFFLG9CQUFRLENBQUMsSUFBSSxFQUFFLG9CQUFRLENBQUMsS0FBSyxDQUFFLENBQUM7UUFDakUsSUFBSSxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQywwQkFBMEI7WUFBRSxPQUFPO1FBQy9ILE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pELEtBQUssSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFLFNBQVMsR0FBRyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDMUQsTUFBTSxNQUFNLEdBQUcsUUFBUSxHQUFHLFNBQVMsQ0FBQztZQUNwQyxNQUFNLE9BQU8sR0FBRywrQ0FBK0MsTUFBTSxFQUFFLENBQUM7WUFDeEUsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ2QsSUFBSTtnQkFDRixNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFH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
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hlY2tSZWNlbnRseVVwZGF0ZWRQYWNrYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9wb3J0L3NjaGVkdWxlL0NoZWNrUmVjZW50bHlVcGRhdGVkUGFja2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EsbURBQThFO0FBQzlFLHNDQUFxQztBQUNyQyxrRkFBK0U7QUFDL0UsMEVBQXVFO0FBQ3ZFLDBEQUEyRDtBQUMzRCxzREFBa0Q7QUFFbEQsNENBQTRDO0FBUXJDLElBQU0sNEJBQTRCLEdBQWxDLE1BQU0sNEJBQTRCO0lBZXZDLEtBQUssQ0FBQyxTQUFTO1FBQ2IsTUFBTSxzQkFBc0IsR0FBRyxDQUFFLG9CQUFRLENBQUMsSUFBSSxFQUFFLG9CQUFRLENBQUMsS0FBSyxFQUFFLG9CQUFRLENBQUMsS0FBSyxDQUFFLENBQUM7UUFDakYsSUFBSSxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQywwQkFBMEI7WUFBRSxPQUFPO1FBQy9ILE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pELEtBQUssSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFLFNBQVMsR0FBRyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDMUQsTUFBTSxNQUFNLEdBQUcsUUFBUSxHQUFHLFNBQVMsQ0FBQztZQUNwQyxNQUFNLE9BQU8sR0FBRywrQ0FBK0MsTUFBTSxFQUFFLENBQUM7WUFDeEUsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ2QsSUFBSTtnQkFDRixNQUFNLEVBQUUsTUFB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
@@ -0,0 +1,6 @@
1
+ export declare class SyncProxyCacheWorker {
2
+ private readonly proxyCacheService;
3
+ private readonly config;
4
+ private readonly logger;
5
+ subscribe(): Promise<void>;
6
+ }