cnpmcore 3.29.3 → 3.29.4
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.
- package/dist/app/port/controller/PackageVersionFileController.d.ts +3 -3
- package/dist/app/port/controller/PackageVersionFileController.js +35 -30
- package/dist/app/port/controller/package/ShowPackageVersionController.d.ts +1 -1
- package/dist/app/port/controller/package/ShowPackageVersionController.js +9 -7
- package/dist/app/port/typebox.d.ts +1 -0
- package/dist/app/port/typebox.js +18 -2
- package/package.json +1 -1
|
@@ -19,8 +19,8 @@ export declare class PackageVersionFileController extends AbstractController {
|
|
|
19
19
|
private packageManagerService;
|
|
20
20
|
private packageVersionFileService;
|
|
21
21
|
private distRepository;
|
|
22
|
-
sync(fullname: string,
|
|
23
|
-
listFiles(ctx: EggContext, fullname: string,
|
|
24
|
-
raw(ctx: EggContext, fullname: string,
|
|
22
|
+
sync(ctx: EggContext, fullname: string, versionSpec: string): Promise<FileItem[]>;
|
|
23
|
+
listFiles(ctx: EggContext, fullname: string, versionSpec: string, meta: string): Promise<DirectoryItem | undefined>;
|
|
24
|
+
raw(ctx: EggContext, fullname: string, versionSpec: string, path: string, meta: string): Promise<import("stream").Readable | FileItem | DirectoryItem | undefined>;
|
|
25
25
|
}
|
|
26
26
|
export {};
|
|
@@ -28,6 +28,7 @@ const PackageUtil_1 = require("../../common/PackageUtil");
|
|
|
28
28
|
const PackageVersionFileService_1 = require("../../core/service/PackageVersionFileService");
|
|
29
29
|
const PackageManagerService_1 = require("../../core/service/PackageManagerService");
|
|
30
30
|
const DistRepository_1 = require("../../repository/DistRepository");
|
|
31
|
+
const typebox_1 = require("../typebox");
|
|
31
32
|
function formatFileItem(file) {
|
|
32
33
|
return {
|
|
33
34
|
path: file.path,
|
|
@@ -45,55 +46,58 @@ let PackageVersionFileController = exports.PackageVersionFileController = class
|
|
|
45
46
|
super(...arguments);
|
|
46
47
|
_PackageVersionFileController_instances.add(this);
|
|
47
48
|
}
|
|
48
|
-
async sync(fullname,
|
|
49
|
+
async sync(ctx, fullname, versionSpec) {
|
|
50
|
+
ctx.tValidate(typebox_1.Spec, `${fullname}@${versionSpec}`);
|
|
49
51
|
__classPrivateFieldGet(this, _PackageVersionFileController_instances, "m", _PackageVersionFileController_requireUnpkgEnable).call(this);
|
|
50
52
|
const [scope, name] = (0, PackageUtil_1.getScopeAndName)(fullname);
|
|
51
|
-
const { packageVersion } = await this.packageManagerService.showPackageVersionByVersionOrTag(scope, name,
|
|
53
|
+
const { packageVersion } = await this.packageManagerService.showPackageVersionByVersionOrTag(scope, name, versionSpec);
|
|
52
54
|
if (!packageVersion) {
|
|
53
|
-
throw new egg_errors_1.NotFoundError(`${fullname}@${
|
|
55
|
+
throw new egg_errors_1.NotFoundError(`${fullname}@${versionSpec} not found`);
|
|
54
56
|
}
|
|
55
57
|
const files = await this.packageVersionFileService.syncPackageVersionFiles(packageVersion);
|
|
56
58
|
return files.map(file => formatFileItem(file));
|
|
57
59
|
}
|
|
58
|
-
async listFiles(ctx, fullname,
|
|
60
|
+
async listFiles(ctx, fullname, versionSpec, meta) {
|
|
59
61
|
__classPrivateFieldGet(this, _PackageVersionFileController_instances, "m", _PackageVersionFileController_requireUnpkgEnable).call(this);
|
|
62
|
+
ctx.tValidate(typebox_1.Spec, `${fullname}@${versionSpec}`);
|
|
60
63
|
ctx.vary(this.config.cnpmcore.cdnVaryHeader);
|
|
61
64
|
const [scope, name] = (0, PackageUtil_1.getScopeAndName)(fullname);
|
|
62
|
-
const packageVersion = await __classPrivateFieldGet(this, _PackageVersionFileController_instances, "m", _PackageVersionFileController_getPackageVersion).call(this, ctx, fullname, scope, name,
|
|
65
|
+
const packageVersion = await __classPrivateFieldGet(this, _PackageVersionFileController_instances, "m", _PackageVersionFileController_getPackageVersion).call(this, ctx, fullname, scope, name, versionSpec);
|
|
63
66
|
ctx.set('cache-control', META_CACHE_CONTROL);
|
|
64
67
|
const hasMeta = typeof meta === 'string' || ctx.path.endsWith('/files/');
|
|
65
68
|
// meta request
|
|
66
69
|
if (hasMeta) {
|
|
67
70
|
const files = await __classPrivateFieldGet(this, _PackageVersionFileController_instances, "m", _PackageVersionFileController_listFilesByDirectory).call(this, packageVersion, '/');
|
|
68
71
|
if (!files) {
|
|
69
|
-
throw new egg_errors_1.NotFoundError(`${fullname}@${
|
|
72
|
+
throw new egg_errors_1.NotFoundError(`${fullname}@${versionSpec}/files not found`);
|
|
70
73
|
}
|
|
71
74
|
return files;
|
|
72
75
|
}
|
|
73
|
-
const { manifest } = await this.packageManagerService.showPackageVersionManifest(scope, name,
|
|
76
|
+
const { manifest } = await this.packageManagerService.showPackageVersionManifest(scope, name, versionSpec, false, true);
|
|
74
77
|
// GET /foo/1.0.0/files => /foo/1.0.0/files/{main}
|
|
75
78
|
// ignore empty entry exp: @types/node@20.2.5/
|
|
76
79
|
const indexFile = manifest?.main || 'index.js';
|
|
77
80
|
ctx.redirect((0, node_path_1.join)(ctx.path, indexFile));
|
|
78
81
|
}
|
|
79
|
-
async raw(ctx, fullname,
|
|
82
|
+
async raw(ctx, fullname, versionSpec, path, meta) {
|
|
80
83
|
__classPrivateFieldGet(this, _PackageVersionFileController_instances, "m", _PackageVersionFileController_requireUnpkgEnable).call(this);
|
|
84
|
+
ctx.tValidate(typebox_1.Spec, `${fullname}@${versionSpec}`);
|
|
81
85
|
ctx.vary(this.config.cnpmcore.cdnVaryHeader);
|
|
82
86
|
const [scope, name] = (0, PackageUtil_1.getScopeAndName)(fullname);
|
|
83
87
|
path = `/${path}`;
|
|
84
|
-
const packageVersion = await __classPrivateFieldGet(this, _PackageVersionFileController_instances, "m", _PackageVersionFileController_getPackageVersion).call(this, ctx, fullname, scope, name,
|
|
88
|
+
const packageVersion = await __classPrivateFieldGet(this, _PackageVersionFileController_instances, "m", _PackageVersionFileController_getPackageVersion).call(this, ctx, fullname, scope, name, versionSpec);
|
|
85
89
|
if (path.endsWith('/')) {
|
|
86
90
|
const directory = path.substring(0, path.length - 1);
|
|
87
91
|
const files = await __classPrivateFieldGet(this, _PackageVersionFileController_instances, "m", _PackageVersionFileController_listFilesByDirectory).call(this, packageVersion, directory);
|
|
88
92
|
if (!files) {
|
|
89
|
-
throw new egg_errors_1.NotFoundError(`${fullname}@${
|
|
93
|
+
throw new egg_errors_1.NotFoundError(`${fullname}@${versionSpec}/files${directory} not found`);
|
|
90
94
|
}
|
|
91
95
|
ctx.set('cache-control', META_CACHE_CONTROL);
|
|
92
96
|
return files;
|
|
93
97
|
}
|
|
94
98
|
const file = await this.packageVersionFileService.showPackageVersionFile(packageVersion, path);
|
|
95
99
|
if (!file) {
|
|
96
|
-
throw new egg_errors_1.NotFoundError(`File ${fullname}@${
|
|
100
|
+
throw new egg_errors_1.NotFoundError(`File ${fullname}@${versionSpec}${path} not found`);
|
|
97
101
|
}
|
|
98
102
|
const hasMeta = typeof meta === 'string';
|
|
99
103
|
if (hasMeta) {
|
|
@@ -114,19 +118,19 @@ _PackageVersionFileController_requireUnpkgEnable = function _PackageVersionFileC
|
|
|
114
118
|
throw new egg_errors_1.NotFoundError();
|
|
115
119
|
}
|
|
116
120
|
};
|
|
117
|
-
_PackageVersionFileController_getPackageVersion = async function _PackageVersionFileController_getPackageVersion(ctx, fullname, scope, name,
|
|
118
|
-
const { blockReason, packageVersion } = await this.packageManagerService.showPackageVersionByVersionOrTag(scope, name,
|
|
121
|
+
_PackageVersionFileController_getPackageVersion = async function _PackageVersionFileController_getPackageVersion(ctx, fullname, scope, name, versionSpec) {
|
|
122
|
+
const { blockReason, packageVersion } = await this.packageManagerService.showPackageVersionByVersionOrTag(scope, name, versionSpec);
|
|
119
123
|
if (blockReason) {
|
|
120
124
|
this.setCDNHeaders(ctx);
|
|
121
|
-
throw this.createPackageBlockError(blockReason, fullname,
|
|
125
|
+
throw this.createPackageBlockError(blockReason, fullname, versionSpec);
|
|
122
126
|
}
|
|
123
127
|
if (!packageVersion) {
|
|
124
|
-
throw new egg_errors_1.NotFoundError(`${fullname}@${
|
|
128
|
+
throw new egg_errors_1.NotFoundError(`${fullname}@${versionSpec} not found`);
|
|
125
129
|
}
|
|
126
|
-
if (packageVersion.version !==
|
|
130
|
+
if (packageVersion.version !== versionSpec) {
|
|
127
131
|
ctx.set('cache-control', META_CACHE_CONTROL);
|
|
128
|
-
let location = ctx.url.replace(`/${fullname}/${
|
|
129
|
-
location = location.replace(`/${fullname}/${encodeURIComponent(
|
|
132
|
+
let location = ctx.url.replace(`/${fullname}/${versionSpec}/files`, `/${fullname}/${packageVersion.version}/files`);
|
|
133
|
+
location = location.replace(`/${fullname}/${encodeURIComponent(versionSpec)}/files`, `/${fullname}/${packageVersion.version}/files`);
|
|
130
134
|
throw this.createControllerRedirectError(location);
|
|
131
135
|
}
|
|
132
136
|
return packageVersion;
|
|
@@ -175,23 +179,24 @@ __decorate([
|
|
|
175
179
|
], PackageVersionFileController.prototype, "distRepository", void 0);
|
|
176
180
|
__decorate([
|
|
177
181
|
(0, tegg_1.HTTPMethod)({
|
|
178
|
-
// PUT /:fullname/:
|
|
179
|
-
path: `/:fullname(${PackageUtil_1.FULLNAME_REG_STRING})/:
|
|
182
|
+
// PUT /:fullname/:versionSpec/files
|
|
183
|
+
path: `/:fullname(${PackageUtil_1.FULLNAME_REG_STRING})/:versionSpec/files`,
|
|
180
184
|
method: tegg_1.HTTPMethodEnum.PUT,
|
|
181
185
|
}),
|
|
182
186
|
(0, tegg_1.Middleware)(AdminAccess_1.AdminAccess),
|
|
183
|
-
__param(0, (0, tegg_1.
|
|
187
|
+
__param(0, (0, tegg_1.Context)()),
|
|
184
188
|
__param(1, (0, tegg_1.HTTPParam)()),
|
|
189
|
+
__param(2, (0, tegg_1.HTTPParam)()),
|
|
185
190
|
__metadata("design:type", Function),
|
|
186
|
-
__metadata("design:paramtypes", [String, String]),
|
|
191
|
+
__metadata("design:paramtypes", [Object, String, String]),
|
|
187
192
|
__metadata("design:returntype", Promise)
|
|
188
193
|
], PackageVersionFileController.prototype, "sync", null);
|
|
189
194
|
__decorate([
|
|
190
195
|
(0, tegg_1.HTTPMethod)({
|
|
191
|
-
// GET /:fullname/:
|
|
192
|
-
// GET /:fullname/:
|
|
193
|
-
// GET /:fullname/:
|
|
194
|
-
path: `/:fullname(${PackageUtil_1.FULLNAME_REG_STRING})/:
|
|
196
|
+
// GET /:fullname/:versionSpec/files => /:fullname/:versionSpec/files/${pkg.main}
|
|
197
|
+
// GET /:fullname/:versionSpec/files?meta
|
|
198
|
+
// GET /:fullname/:versionSpec/files/
|
|
199
|
+
path: `/:fullname(${PackageUtil_1.FULLNAME_REG_STRING})/:versionSpec/files`,
|
|
195
200
|
method: tegg_1.HTTPMethodEnum.GET,
|
|
196
201
|
}),
|
|
197
202
|
__param(0, (0, tegg_1.Context)()),
|
|
@@ -204,9 +209,9 @@ __decorate([
|
|
|
204
209
|
], PackageVersionFileController.prototype, "listFiles", null);
|
|
205
210
|
__decorate([
|
|
206
211
|
(0, tegg_1.HTTPMethod)({
|
|
207
|
-
// GET /:fullname/:
|
|
208
|
-
// GET /:fullname/:
|
|
209
|
-
path: `/:fullname(${PackageUtil_1.FULLNAME_REG_STRING})/:
|
|
212
|
+
// GET /:fullname/:versionSpec/files/:path
|
|
213
|
+
// GET /:fullname/:versionSpec/files/:path?meta
|
|
214
|
+
path: `/:fullname(${PackageUtil_1.FULLNAME_REG_STRING})/:versionSpec/files/:path(.+)`,
|
|
210
215
|
method: tegg_1.HTTPMethodEnum.GET,
|
|
211
216
|
}),
|
|
212
217
|
__param(0, (0, tegg_1.Context)()),
|
|
@@ -221,4 +226,4 @@ __decorate([
|
|
|
221
226
|
exports.PackageVersionFileController = PackageVersionFileController = __decorate([
|
|
222
227
|
(0, tegg_1.HTTPController)()
|
|
223
228
|
], PackageVersionFileController);
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVZlcnNpb25GaWxlQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9wb3J0L2NvbnRyb2xsZXIvUGFja2FnZVZlcnNpb25GaWxlQ29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzQ0FVcUI7QUFDckIsMkNBQTJDO0FBQzNDLHlDQUFpQztBQUNqQyw2REFBMEQ7QUFDMUQsMkRBQXdEO0FBQ3hELDBEQUFnRjtBQUNoRiw0RkFBeUY7QUFDekYsb0ZBQWlGO0FBR2pGLG9FQUFpRTtBQUNqRSx3Q0FBa0M7QUFpQmxDLFNBQVMsY0FBYyxDQUFDLElBQXdCO0lBQzlDLE9BQU87UUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDZixJQUFJLEVBQUUsTUFBTTtRQUNaLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztRQUM3QixTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1FBQzlCLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSztRQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO0tBQ3JCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxrQkFBa0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM5RCxNQUFNLGtCQUFrQixHQUFHLDBCQUEwQixDQUFDO0FBRy9DLElBQU0sNEJBQTRCLDBDQUFsQyxNQUFNLDRCQUE2QixTQUFRLHVDQUFrQjtJQUE3RDs7O0lBOEpQLENBQUM7SUExSU8sQUFBTixLQUFLLENBQUMsSUFBSSxDQUFZLEdBQWUsRUFBZSxRQUFnQixFQUFlLFdBQW1CO1FBQ3BHLEdBQUcsQ0FBQyxTQUFTLENBQUMsY0FBSSxFQUFFLEdBQUcsUUFBUSxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDbEQsdUJBQUEsSUFBSSxpR0FBb0IsTUFBeEIsSUFBSSxDQUFzQixDQUFDO1FBQzNCLE1BQU0sQ0FB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
|
|
@@ -2,5 +2,5 @@ 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,
|
|
5
|
+
show(ctx: EggContext, fullname: string, versionSpec: string): Promise<import("../../../repository/PackageRepository").PackageJSONType>;
|
|
6
6
|
}
|
|
@@ -19,24 +19,26 @@ const AbstractController_1 = require("../AbstractController");
|
|
|
19
19
|
const PackageUtil_1 = require("../../../common/PackageUtil");
|
|
20
20
|
const SyncUtil_1 = require("../../../common/SyncUtil");
|
|
21
21
|
const PackageManagerService_1 = require("../../../core/service/PackageManagerService");
|
|
22
|
+
const typebox_1 = require("app/port/typebox");
|
|
22
23
|
let ShowPackageVersionController = exports.ShowPackageVersionController = class ShowPackageVersionController extends AbstractController_1.AbstractController {
|
|
23
|
-
async show(ctx, fullname,
|
|
24
|
+
async show(ctx, fullname, versionSpec) {
|
|
24
25
|
// https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#full-metadata-format
|
|
26
|
+
ctx.tValidate(typebox_1.Spec, `${fullname}@${versionSpec}`);
|
|
25
27
|
const [scope, name] = (0, PackageUtil_1.getScopeAndName)(fullname);
|
|
26
28
|
const isSync = (0, SyncUtil_1.isSyncWorkerRequest)(ctx);
|
|
27
29
|
const abbreviatedMetaType = 'application/vnd.npm.install-v1+json';
|
|
28
30
|
const isFullManifests = ctx.accepts(['json', abbreviatedMetaType]) !== abbreviatedMetaType;
|
|
29
|
-
const { blockReason, manifest, pkg } = await this.packageManagerService.showPackageVersionManifest(scope, name,
|
|
31
|
+
const { blockReason, manifest, pkg } = await this.packageManagerService.showPackageVersionManifest(scope, name, versionSpec, isSync, isFullManifests);
|
|
30
32
|
if (!pkg) {
|
|
31
33
|
const allowSync = this.getAllowSync(ctx);
|
|
32
34
|
throw this.createPackageNotFoundErrorWithRedirect(fullname, undefined, allowSync);
|
|
33
35
|
}
|
|
34
36
|
if (blockReason) {
|
|
35
37
|
this.setCDNHeaders(ctx);
|
|
36
|
-
throw this.createPackageBlockError(blockReason, fullname,
|
|
38
|
+
throw this.createPackageBlockError(blockReason, fullname, versionSpec);
|
|
37
39
|
}
|
|
38
40
|
if (!manifest) {
|
|
39
|
-
throw new egg_errors_1.NotFoundError(`${fullname}@${
|
|
41
|
+
throw new egg_errors_1.NotFoundError(`${fullname}@${versionSpec} not found`);
|
|
40
42
|
}
|
|
41
43
|
this.setCDNHeaders(ctx);
|
|
42
44
|
return manifest;
|
|
@@ -48,8 +50,8 @@ __decorate([
|
|
|
48
50
|
], ShowPackageVersionController.prototype, "packageManagerService", void 0);
|
|
49
51
|
__decorate([
|
|
50
52
|
(0, tegg_1.HTTPMethod)({
|
|
51
|
-
// GET /:fullname/:
|
|
52
|
-
path: `/:fullname(${PackageUtil_1.FULLNAME_REG_STRING})/:
|
|
53
|
+
// GET /:fullname/:versionSpec
|
|
54
|
+
path: `/:fullname(${PackageUtil_1.FULLNAME_REG_STRING})/:versionSpec`,
|
|
53
55
|
method: tegg_1.HTTPMethodEnum.GET,
|
|
54
56
|
}),
|
|
55
57
|
__param(0, (0, tegg_1.Context)()),
|
|
@@ -62,4 +64,4 @@ __decorate([
|
|
|
62
64
|
exports.ShowPackageVersionController = ShowPackageVersionController = __decorate([
|
|
63
65
|
(0, tegg_1.HTTPController)()
|
|
64
66
|
], ShowPackageVersionController);
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hvd1BhY2thZ2VWZXJzaW9uQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9wb3J0L2NvbnRyb2xsZXIvcGFja2FnZS9TaG93UGFja2FnZVZlcnNpb25Db250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNDQVFxQjtBQUNyQiwyQ0FBMkM7QUFDM0MsOERBQTJEO0FBQzNELDZEQUFtRjtBQUNuRix1REFBK0Q7QUFDL0QsdUZBQW9GO0FBQ3BGLDhDQUF3QztBQUdqQyxJQUFNLDRCQUE0QiwwQ0FBbEMsTUFBTSw0QkFBNkIsU0FBUSx1Q0FBa0I7SUFTNUQsQUFBTixLQUFLLENBQUMsSUFBSSxDQUFZLEdBQWUsRUFBZSxRQUFnQixFQUFlLFdBQW1CO1FBQ3BHLHNHQUFzRztRQUN0RyxHQUFHLENBQUMsU0FBUyxDQUFDLGNBQUksRUFBRSxHQUFHLFFBQVEsSUFBSSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sQ0FBRSxLQUFLLEVBQUUsSUFBSSxDQUFFLEdBQUcsSUFBQSw2QkFBZSxFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sTUFBTSxHQUFHLElBQUEsOEJBQW1CLEVBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxtQkFBbUIsR0FBRyxxQ0FBcUMsQ0FBQztRQUNsRSxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUUsTUFBTSxFQUFFLG1CQUFtQixDQUFFLENBQUMsS0FBSyxtQkFBbUIsQ0FBQztRQUU3RixNQUFNLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDdEosSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsTUFBTSxJQUFJLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNuRjtRQUNELElBQUksV0FBVyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QixNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE1BQU0sSUFBSSwwQkFBYSxDQUFDLEdBQUcsUUFBUSxJQUFJLFdBQVcsWUFBWSxDQUFDLENBQUM7U0FDakU7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Q0FDRixDQUFBO0FBOUJTO0lBRFAsSUFBQSxhQUFNLEdBQUU7OEJBQ3NCLDZDQUFxQjsyRUFBQztBQU8vQztJQUxMLElBQUEsaUJBQVUsRUFBQztRQUNWLDhCQUE4QjtRQUM5QixJQUFJLEVBQUUsY0FBYyxpQ0FBbUIsZ0JBQWdCO1FBQ3ZELE1BQU0sRUFBRSxxQkFBYyxDQUFDLEdBQUc7S0FDM0IsQ0FBQztJQUNVLFdBQUEsSUFBQSxjQUFPLEdBQUUsQ0FBQTtJQUFtQixXQUFBLElBQUEsZ0JBQVMsR0FBRSxDQUFBO0lBQW9CLFdBQUEsSUFBQSxnQkFBUyxHQUFFLENBQUE7Ozs7d0RBc0JqRjt1Q0EvQlUsNEJBQTRCO0lBRHhDLElBQUEscUJBQWMsR0FBRTtHQUNKLDRCQUE0QixDQWdDeEMifQ==
|
|
@@ -10,6 +10,7 @@ export declare const BinaryNameRule: import("@sinclair/typebox").TString;
|
|
|
10
10
|
export declare const BinarySubpathRule: import("@sinclair/typebox").TString;
|
|
11
11
|
export declare const Tag: import("@sinclair/typebox").TString;
|
|
12
12
|
export declare const Version: import("@sinclair/typebox").TString;
|
|
13
|
+
export declare const Spec: import("@sinclair/typebox").TString;
|
|
13
14
|
export declare const Description: import("@sinclair/typebox").TString;
|
|
14
15
|
export declare const TagRule: import("@sinclair/typebox").TObject<{
|
|
15
16
|
tag: import("@sinclair/typebox").TString;
|
package/dist/app/port/typebox.js
CHANGED
|
@@ -3,10 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ScopeUpdateOptions = exports.ScopeCreateOptions = exports.RegistryUpdateOptions = exports.RegistryCreateOptions = exports.RegistryCreateSyncOptions = exports.QueryPageOptions = exports.patchAjv = exports.CreateHookRequestRule = exports.UpdateHookRequestRule = exports.BlockPackageRule = exports.SyncPackageTaskRule = exports.TagWithVersionRule = exports.VersionRule = exports.TagRule = exports.Description = exports.Version = exports.Tag = exports.BinarySubpathRule = exports.BinaryNameRule = exports.HookTypeType = exports.HookName = exports.Secret = exports.Url = exports.Name = void 0;
|
|
6
|
+
exports.ScopeUpdateOptions = exports.ScopeCreateOptions = exports.RegistryUpdateOptions = exports.RegistryCreateOptions = exports.RegistryCreateSyncOptions = exports.QueryPageOptions = exports.patchAjv = exports.CreateHookRequestRule = exports.UpdateHookRequestRule = exports.BlockPackageRule = exports.SyncPackageTaskRule = exports.TagWithVersionRule = exports.VersionRule = exports.TagRule = exports.Description = exports.Spec = exports.Version = exports.Tag = exports.BinarySubpathRule = exports.BinaryNameRule = exports.HookTypeType = exports.HookName = exports.Secret = exports.Url = exports.Name = void 0;
|
|
7
7
|
const typebox_1 = require("@sinclair/typebox");
|
|
8
8
|
const Registry_1 = require("../common/enum/Registry");
|
|
9
9
|
const semver_1 = __importDefault(require("semver"));
|
|
10
|
+
const npm_package_arg_1 = __importDefault(require("npm-package-arg"));
|
|
10
11
|
const Hook_1 = require("../common/enum/Hook");
|
|
11
12
|
const binaries_1 = __importDefault(require("../../config/binaries"));
|
|
12
13
|
exports.Name = typebox_1.Type.String({
|
|
@@ -50,6 +51,10 @@ exports.Version = typebox_1.Type.String({
|
|
|
50
51
|
minLength: 5,
|
|
51
52
|
maxLength: 256,
|
|
52
53
|
});
|
|
54
|
+
exports.Spec = typebox_1.Type.String({
|
|
55
|
+
format: 'semver-spec',
|
|
56
|
+
minLength: 1,
|
|
57
|
+
});
|
|
53
58
|
exports.Description = typebox_1.Type.String({ maxLength: 10240, transform: ['trim'] });
|
|
54
59
|
exports.TagRule = typebox_1.Type.Object({
|
|
55
60
|
tag: exports.Tag,
|
|
@@ -112,6 +117,17 @@ function patchAjv(ajv) {
|
|
|
112
117
|
return !semver_1.default.validRange(tag);
|
|
113
118
|
},
|
|
114
119
|
});
|
|
120
|
+
ajv.addFormat('semver-spec', {
|
|
121
|
+
type: 'string',
|
|
122
|
+
validate: (spec) => {
|
|
123
|
+
try {
|
|
124
|
+
return !!(0, npm_package_arg_1.default)(spec);
|
|
125
|
+
}
|
|
126
|
+
catch (e) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
});
|
|
115
131
|
ajv.addFormat('binary-name', {
|
|
116
132
|
type: 'string',
|
|
117
133
|
validate: (binaryName) => {
|
|
@@ -214,4 +230,4 @@ exports.ScopeUpdateOptions = typebox_1.Type.Object({
|
|
|
214
230
|
maxLength: 256,
|
|
215
231
|
}),
|
|
216
232
|
});
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwcC9wb3J0L3R5cGVib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsK0NBQWlEO0FBQ2pELHNEQUF1RDtBQUN2RCxvREFBNEI7QUFDNUIsc0VBQWtDO0FBQ2xDLDhDQUErQztBQUMvQyxxRUFBaUQ7QUFFcEMsUUFBQSxJQUFJLEdBQUcsY0FBSSxDQUFDLE1BQU0sQ0FBQztJQUM5QixTQUFTLEVBQUUsQ0FBRSxNQUFNLENBQUU7Q0FDdEIsQ0FBQyxDQUFDO0FBRVUsUUFBQSxHQUFHLEdBQUcsY0FBSSxDQUFDLE1BQU0sQ0FBQztJQUM3QixTQUFTLEVBQUUsQ0FBRSxNQUFNLENBQUU7SUFDckIsU0FBUyxFQUFFLENBQUM7SUFDWixTQUFTLEVBQUUsSUFBSTtDQUNoQixDQUFDLENBQUM7QUFFVSxRQUFBLE1BQU0sR0FBRyxjQUFJLENBQUMsTUFBTSxDQUFDO0lBQ2hDLFNBQVMsRUFBRSxDQUFFLE1BQU0sQ0FBRTtJQUNyQixTQUFTLEVBQUUsQ0FBQztJQUNaLFNBQVMsRUFBRSxHQUFHO0NBQ2YsQ0FBQyxDQUFDO0FBRVUsUUFBQSxRQUFRLEdBQUcsY0FBSSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxTQUFTLEVBQUUsQ0FBRSxNQUFNLENBQUU7SUFDckIsU0FBUyxFQUFFLENBQUM7SUFDWixTQUFTLEVBQUUsR0FBRztDQUNmLENBQUMsQ0FBQztBQUVVLFFBQUEsWUFBWSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsZUFBUSxDQUFDLENBQUM7QUFFbkMsUUFBQSxjQUFjLEdBQUcsY0FBSSxDQUFDLE1BQU0sQ0FBQztJQUN4QyxNQUFNLEVBQUUsYUFBYTtJQUNyQixTQUFTLEVBQUUsQ0FBRSxNQUFNLENBQUU7SUFDckIsU0FBUyxFQUFFLENBQUM7SUFDWixTQUFTLEVBQUUsR0FBRztDQUNmLENBQUMsQ0FBQztBQUVILGlEQUFpRDtBQUNqRCx5Q0FBeUM7QUFD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
|