cnpmcore 3.27.0 → 3.28.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 (27) hide show
  1. package/dist/app/core/entity/PackageVersion.d.ts +2 -0
  2. package/dist/app/core/entity/PackageVersion.js +5 -1
  3. package/dist/app/core/entity/PaddingSemVer.d.ts +10 -0
  4. package/dist/app/core/entity/PaddingSemVer.js +42 -0
  5. package/dist/app/core/entity/SqlRange.d.ts +11 -0
  6. package/dist/app/core/entity/SqlRange.js +76 -0
  7. package/dist/app/core/event/BugVersionFixHandler.d.ts +0 -1
  8. package/dist/app/core/event/BugVersionFixHandler.js +2 -7
  9. package/dist/app/core/service/BugVersionService.d.ts +2 -0
  10. package/dist/app/core/service/BugVersionService.js +28 -1
  11. package/dist/app/core/service/FixNoPaddingVersionService.d.ts +5 -0
  12. package/dist/app/core/service/FixNoPaddingVersionService.js +50 -0
  13. package/dist/app/core/service/PackageManagerService.d.ts +14 -8
  14. package/dist/app/core/service/PackageManagerService.js +25 -59
  15. package/dist/app/core/service/PackageVersionService.d.ts +10 -0
  16. package/dist/app/core/service/PackageVersionService.js +155 -0
  17. package/dist/app/port/controller/PackageVersionFileController.js +2 -2
  18. package/dist/app/port/controller/admin/PaddingVersionController.d.ts +12 -0
  19. package/dist/app/port/controller/admin/PaddingVersionController.js +62 -0
  20. package/dist/app/port/controller/package/ShowPackageVersionController.d.ts +1 -1
  21. package/dist/app/port/controller/package/ShowPackageVersionController.js +4 -2
  22. package/dist/app/repository/DistRepository.d.ts +1 -1
  23. package/dist/app/repository/PackageVersionRepository.d.ts +16 -0
  24. package/dist/app/repository/PackageVersionRepository.js +91 -0
  25. package/dist/app/repository/model/PackageVersion.d.ts +3 -0
  26. package/dist/app/repository/model/PackageVersion.js +17 -1
  27. package/package.json +2 -1
@@ -20,6 +20,8 @@ export declare class PackageVersion extends Entity {
20
20
  tarDist: Dist;
21
21
  readmeDist: Dist;
22
22
  publishTime: Date;
23
+ paddingVersion: string;
24
+ isPreRelease: boolean;
23
25
  constructor(data: PackageVersionData);
24
26
  static create(data: EasyData<PackageVersionData, 'packageVersionId'>): PackageVersion;
25
27
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PackageVersion = void 0;
4
4
  const Entity_1 = require("./Entity");
5
5
  const EntityUtil_1 = require("../util/EntityUtil");
6
+ const PaddingSemVer_1 = require("./PaddingSemVer");
6
7
  class PackageVersion extends Entity_1.Entity {
7
8
  constructor(data) {
8
9
  super(data);
@@ -14,6 +15,9 @@ class PackageVersion extends Entity_1.Entity {
14
15
  this.tarDist = data.tarDist;
15
16
  this.readmeDist = data.readmeDist;
16
17
  this.publishTime = data.publishTime;
18
+ const paddingSemVer = new PaddingSemVer_1.PaddingSemVer(this.version);
19
+ this.paddingVersion = paddingSemVer.paddingVersion;
20
+ this.isPreRelease = paddingSemVer.isPreRelease;
17
21
  }
18
22
  static create(data) {
19
23
  const newData = EntityUtil_1.EntityUtil.defaultData(data, 'packageVersionId');
@@ -21,4 +25,4 @@ class PackageVersion extends Entity_1.Entity {
21
25
  }
22
26
  }
23
27
  exports.PackageVersion = PackageVersion;
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9lbnRpdHkvUGFja2FnZVZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUNBQThDO0FBQzlDLG1EQUEwRDtBQWExRCxNQUFhLGNBQWUsU0FBUSxlQUFNO0lBVXhDLFlBQVksSUFBd0I7UUFDbEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBc0Q7UUFDbEUsTUFBTSxPQUFPLEdBQUcsdUJBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDakUsT0FBTyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUExQkQsd0NBMEJDIn0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9lbnRpdHkvUGFja2FnZVZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUNBQThDO0FBQzlDLG1EQUEwRDtBQUMxRCxtREFBZ0Q7QUFhaEQsTUFBYSxjQUFlLFNBQVEsZUFBTTtJQVl4QyxZQUFZLElBQXdCO1FBQ2xDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDNUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLE1BQU0sYUFBYSxHQUFHLElBQUksNkJBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDO1FBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FBQztJQUNqRCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFzRDtRQUNsRSxNQUFNLE9BQU8sR0FBRyx1QkFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNqRSxPQUFPLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQS9CRCx3Q0ErQkMifQ==
@@ -0,0 +1,10 @@
1
+ import { SemVer } from 'semver';
2
+ export declare class PaddingSemVer {
3
+ private readonly semver;
4
+ private _paddingVersion;
5
+ readonly isPreRelease: boolean;
6
+ constructor(semver: string | SemVer);
7
+ get paddingVersion(): string;
8
+ static paddingVersion(v: any): string;
9
+ static anyVersion(): string;
10
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PaddingSemVer = void 0;
4
+ const semver_1 = require("semver");
5
+ class PaddingSemVer {
6
+ constructor(semver) {
7
+ this.semver = new semver_1.SemVer(semver);
8
+ if (this.semver.includePrerelease) {
9
+ this.isPreRelease = true;
10
+ }
11
+ else if (this.semver.prerelease && this.semver.prerelease.length) {
12
+ this.isPreRelease = true;
13
+ }
14
+ else {
15
+ this.isPreRelease = false;
16
+ }
17
+ }
18
+ get paddingVersion() {
19
+ if (!this._paddingVersion) {
20
+ this._paddingVersion = PaddingSemVer.paddingVersion(this.semver.major)
21
+ + PaddingSemVer.paddingVersion(this.semver.minor)
22
+ + PaddingSemVer.paddingVersion(this.semver.patch);
23
+ }
24
+ return this._paddingVersion;
25
+ }
26
+ // 版本信息中为纯数字, JS 中支持的最大整型为 16 位
27
+ // 因此填充成 16 位对齐,如果版本号超过 16 位,则抛出异常
28
+ static paddingVersion(v) {
29
+ const t = String(v);
30
+ if (t.length <= 16) {
31
+ const padding = new Array(16 - t.length).fill(0)
32
+ .join('');
33
+ return padding + t;
34
+ }
35
+ throw new Error(`v ${v} too long`);
36
+ }
37
+ static anyVersion() {
38
+ return '000000000000000000000000000000000000000000000000';
39
+ }
40
+ }
41
+ exports.PaddingSemVer = PaddingSemVer;
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFkZGluZ1NlbVZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL2VudGl0eS9QYWRkaW5nU2VtVmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFnQztBQUVoQyxNQUFhLGFBQWE7SUFNeEIsWUFBWSxNQUF1QjtRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLElBQUssSUFBSSxDQUFDLE1BQWMsQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUMxQjthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzFCO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2tCQUNsRSxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2tCQUMvQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckQ7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELCtCQUErQjtJQUMvQixrQ0FBa0M7SUFDbEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxFQUFFO1lBQ2xCLE1BQU0sT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDN0MsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ1osT0FBTyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1NBQ3BCO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVO1FBQ2YsT0FBTyxrREFBa0QsQ0FBQztJQUM1RCxDQUFDO0NBQ0Y7QUF6Q0Qsc0NBeUNDIn0=
@@ -0,0 +1,11 @@
1
+ import { Range } from 'semver';
2
+ export declare class SqlRange {
3
+ private readonly range;
4
+ private _containPreRelease;
5
+ readonly condition: object;
6
+ constructor(range: string | Range);
7
+ private comparatorToSql;
8
+ private comparatorSetToSql;
9
+ private generateWhere;
10
+ get containPreRelease(): boolean;
11
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SqlRange = void 0;
4
+ const semver_1 = require("semver");
5
+ const PaddingSemVer_1 = require("./PaddingSemVer");
6
+ const OPERATOR_MAP = {
7
+ '<': '$lt',
8
+ '<=': '$lte',
9
+ '>': '$gt',
10
+ '>=': '$gte',
11
+ '': '$eq',
12
+ };
13
+ class SqlRange {
14
+ constructor(range) {
15
+ this.range = new semver_1.Range(range);
16
+ this._containPreRelease = false;
17
+ this.condition = this.generateWhere();
18
+ }
19
+ comparatorToSql(comparator) {
20
+ if (comparator.semver === semver_1.Comparator.ANY) {
21
+ return {
22
+ $and: [
23
+ {
24
+ isPreRelease: {
25
+ $lte: 0,
26
+ },
27
+ },
28
+ {
29
+ paddingVersion: {
30
+ $gte: PaddingSemVer_1.PaddingSemVer.anyVersion(),
31
+ },
32
+ },
33
+ ],
34
+ };
35
+ }
36
+ const paddingSemver = new PaddingSemVer_1.PaddingSemVer(comparator.semver);
37
+ const operator = OPERATOR_MAP[comparator.operator];
38
+ if (!operator) {
39
+ throw new Error(`unknown operator ${comparator.operator}`);
40
+ }
41
+ this._containPreRelease = this._containPreRelease || paddingSemver.isPreRelease;
42
+ return {
43
+ $and: [
44
+ {
45
+ isPreRelease: {
46
+ $lte: paddingSemver.isPreRelease ? 1 : 0,
47
+ },
48
+ },
49
+ {
50
+ paddingVersion: {
51
+ [operator]: paddingSemver.paddingVersion,
52
+ },
53
+ },
54
+ ],
55
+ };
56
+ }
57
+ comparatorSetToSql(comparatorSet) {
58
+ const condition = [];
59
+ for (const comparator of comparatorSet) {
60
+ condition.push(this.comparatorToSql(comparator));
61
+ }
62
+ return { $and: condition };
63
+ }
64
+ generateWhere() {
65
+ const conditions = [];
66
+ for (const rangeSet of this.range.set) {
67
+ conditions.push(this.comparatorSetToSql(rangeSet));
68
+ }
69
+ return { $or: conditions };
70
+ }
71
+ get containPreRelease() {
72
+ return this._containPreRelease;
73
+ }
74
+ }
75
+ exports.SqlRange = SqlRange;
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsUmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9lbnRpdHkvU3FsUmFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQTJDO0FBQzNDLG1EQUFnRDtBQUVoRCxNQUFNLFlBQVksR0FBRztJQUNuQixHQUFHLEVBQUUsS0FBSztJQUNWLElBQUksRUFBRSxNQUFNO0lBQ1osR0FBRyxFQUFFLEtBQUs7SUFDVixJQUFJLEVBQUUsTUFBTTtJQUNaLEVBQUUsRUFBRSxLQUFLO0NBQ1YsQ0FBQztBQUVGLE1BQWEsUUFBUTtJQUtuQixZQUFZLEtBQXFCO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxjQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQXNCO1FBQzVDLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBTSxtQkFBa0IsQ0FBQyxHQUFHLEVBQUU7WUFDakQsT0FBTztnQkFDTCxJQUFJLEVBQUU7b0JBQ0o7d0JBQ0UsWUFBWSxFQUFFOzRCQUNaLElBQUksRUFBRSxDQUFDO3lCQUNSO3FCQUNGO29CQUNEO3dCQUNFLGNBQWMsRUFBRTs0QkFDZCxJQUFJLEVBQUUsNkJBQWEsQ0FBQyxVQUFVLEVBQUU7eUJBQ2pDO3FCQUNGO2lCQUNGO2FBQ0YsQ0FBQztTQUNIO1FBQ0QsTUFBTSxhQUFhLEdBQUcsSUFBSSw2QkFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUM1RDtRQUNELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLElBQUksYUFBYSxDQUFDLFlBQVksQ0FBQztRQUNoRixPQUFPO1lBQ0wsSUFBSSxFQUFFO2dCQUNKO29CQUNFLFlBQVksRUFBRTt3QkFDWixJQUFJLEVBQUUsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUN6QztpQkFDRjtnQkFDRDtvQkFDRSxjQUFjLEVBQUU7d0JBQ2QsQ0FBQyxRQUFRLENBQUMsRUFBRSxhQUFhLENBQUMsY0FBYztxQkFDekM7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsYUFBZ0M7UUFDekQsTUFBTSxTQUFTLEdBQWtCLEVBQUUsQ0FBQztRQUNwQyxLQUFLLE1BQU0sVUFBVSxJQUFJLGFBQWEsRUFBRTtZQUN0QyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUNsRDtRQUNELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxVQUFVLEdBQWtCLEVBQUUsQ0FBQztRQUNyQyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ3JDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQXdCLENBQUMsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztDQUNGO0FBckVELDRCQXFFQyJ9
@@ -1,6 +1,5 @@
1
1
  export declare class BugVersionFixHandler {
2
2
  private readonly bugVersionService;
3
- private readonly packageManagerService;
4
3
  private readonly logger;
5
4
  handle(fullname: string): Promise<void>;
6
5
  }
@@ -13,14 +13,13 @@ exports.BugVersionFixHandler = void 0;
13
13
  const tegg_1 = require("@eggjs/tegg");
14
14
  const index_1 = require("./index");
15
15
  const constants_1 = require("../../common/constants");
16
- const PackageManagerService_1 = require("../service/PackageManagerService");
17
16
  const BugVersionService_1 = require("../service/BugVersionService");
18
17
  let BugVersionFixHandler = exports.BugVersionFixHandler = class BugVersionFixHandler {
19
18
  async handle(fullname) {
20
19
  if (fullname !== constants_1.BUG_VERSIONS)
21
20
  return;
22
21
  try {
23
- const bugVersion = await this.packageManagerService.getBugVersion();
22
+ const bugVersion = await this.bugVersionService.getBugVersion();
24
23
  if (!bugVersion)
25
24
  return;
26
25
  await this.bugVersionService.cleanBugVersionPackageCaches(bugVersion);
@@ -35,10 +34,6 @@ __decorate([
35
34
  (0, tegg_1.Inject)(),
36
35
  __metadata("design:type", BugVersionService_1.BugVersionService)
37
36
  ], BugVersionFixHandler.prototype, "bugVersionService", void 0);
38
- __decorate([
39
- (0, tegg_1.Inject)(),
40
- __metadata("design:type", PackageManagerService_1.PackageManagerService)
41
- ], BugVersionFixHandler.prototype, "packageManagerService", void 0);
42
37
  __decorate([
43
38
  (0, tegg_1.Inject)(),
44
39
  __metadata("design:type", Object)
@@ -46,4 +41,4 @@ __decorate([
46
41
  exports.BugVersionFixHandler = BugVersionFixHandler = __decorate([
47
42
  (0, tegg_1.Event)(index_1.PACKAGE_VERSION_ADDED)
48
43
  ], BugVersionFixHandler);
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnVnVmVyc2lvbkZpeEhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9ldmVudC9CdWdWZXJzaW9uRml4SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxzQ0FBNEM7QUFFNUMsbUNBQWdEO0FBQ2hELHNEQUFzRDtBQUN0RCw0RUFBeUU7QUFDekUsb0VBQWlFO0FBRzFELElBQU0sb0JBQW9CLGtDQUExQixNQUFNLG9CQUFvQjtJQVMvQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQWdCO1FBQzNCLElBQUksUUFBUSxLQUFLLHdCQUFZO1lBQUUsT0FBTztRQUN0QyxJQUFJO1lBQ0YsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDcEUsSUFBSSxDQUFDLFVBQVU7Z0JBQUUsT0FBTztZQUN4QixNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyw0QkFBNEIsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN2RTtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsQ0FBQyxDQUFDLE9BQU8sR0FBRyw4Q0FBOEMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUFsQmtCO0lBRGhCLElBQUEsYUFBTSxHQUFFOzhCQUMyQixxQ0FBaUI7K0RBQUM7QUFFckM7SUFEaEIsSUFBQSxhQUFNLEdBQUU7OEJBQytCLDZDQUFxQjttRUFBQztBQUc3QztJQURoQixJQUFBLGFBQU0sR0FBRTs7b0RBQzBCOytCQVB4QixvQkFBb0I7SUFEaEMsSUFBQSxZQUFLLEVBQUMsNkJBQXFCLENBQUM7R0FDaEIsb0JBQW9CLENBb0JoQyJ9
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnVnVmVyc2lvbkZpeEhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9ldmVudC9CdWdWZXJzaW9uRml4SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxzQ0FBNEM7QUFFNUMsbUNBQWdEO0FBQ2hELHNEQUFzRDtBQUN0RCxvRUFBaUU7QUFHMUQsSUFBTSxvQkFBb0Isa0NBQTFCLE1BQU0sb0JBQW9CO0lBTy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBZ0I7UUFDM0IsSUFBSSxRQUFRLEtBQUssd0JBQVk7WUFBRSxPQUFPO1FBQ3RDLElBQUk7WUFDRixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNoRSxJQUFJLENBQUMsVUFBVTtnQkFBRSxPQUFPO1lBQ3hCLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3ZFO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixDQUFDLENBQUMsT0FBTyxHQUFHLDhDQUE4QyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEI7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQWhCa0I7SUFEaEIsSUFBQSxhQUFNLEdBQUU7OEJBQzJCLHFDQUFpQjsrREFBQztBQUdyQztJQURoQixJQUFBLGFBQU0sR0FBRTs7b0RBQzBCOytCQUx4QixvQkFBb0I7SUFEaEMsSUFBQSxZQUFLLEVBQUMsNkJBQXFCLENBQUM7R0FDaEIsb0JBQW9CLENBa0JoQyJ9
@@ -4,6 +4,8 @@ export declare class BugVersionService {
4
4
  private readonly distRepository;
5
5
  private readonly logger;
6
6
  private readonly cacheService;
7
+ private readonly bugVersionStore;
8
+ getBugVersion(): Promise<BugVersion | undefined>;
7
9
  cleanBugVersionPackageCaches(bugVersion: BugVersion): Promise<void>;
8
10
  fixPackageBugVersions(bugVersion: BugVersion, fullname: string, manifests: Record<string, any>): Promise<void>;
9
11
  fixPackageBugVersion(bugVersion: BugVersion, fullname: string, manifest: any): Promise<any>;
@@ -15,11 +15,34 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.BugVersionService = void 0;
16
16
  const tegg_1 = require("@eggjs/tegg");
17
17
  const p_map_1 = __importDefault(require("p-map"));
18
+ const BugVersion_1 = require("../entity/BugVersion");
18
19
  const PackageRepository_1 = require("../../repository/PackageRepository");
19
20
  const DistRepository_1 = require("../../repository/DistRepository");
20
21
  const PackageUtil_1 = require("../../common/PackageUtil");
21
22
  const CacheService_1 = require("./CacheService");
23
+ const constants_1 = require("../../common/constants");
24
+ const BugVersionStore_1 = require("../../common/adapter/BugVersionStore");
22
25
  let BugVersionService = exports.BugVersionService = class BugVersionService {
26
+ async getBugVersion() {
27
+ // TODO performance problem, cache bugVersion and update with schedule
28
+ const pkg = await this.packageRepository.findPackage('', constants_1.BUG_VERSIONS);
29
+ if (!pkg)
30
+ return;
31
+ /* c8 ignore next 10 */
32
+ const tag = await this.packageRepository.findPackageTag(pkg.packageId, constants_1.LATEST_TAG);
33
+ if (!tag)
34
+ return;
35
+ let bugVersion = this.bugVersionStore.getBugVersion(tag.version);
36
+ if (!bugVersion) {
37
+ const packageVersionJson = (await this.distRepository.findPackageVersionManifest(pkg.packageId, tag.version));
38
+ if (!packageVersionJson)
39
+ return;
40
+ const data = packageVersionJson.config?.['bug-versions'];
41
+ bugVersion = new BugVersion_1.BugVersion(data);
42
+ this.bugVersionStore.setBugVersion(bugVersion, tag.version);
43
+ }
44
+ return bugVersion;
45
+ }
23
46
  async cleanBugVersionPackageCaches(bugVersion) {
24
47
  const fullnames = bugVersion.listAllPackagesHasBugs();
25
48
  await (0, p_map_1.default)(fullnames, async (fullname) => {
@@ -87,9 +110,13 @@ __decorate([
87
110
  (0, tegg_1.Inject)(),
88
111
  __metadata("design:type", CacheService_1.CacheService)
89
112
  ], BugVersionService.prototype, "cacheService", void 0);
113
+ __decorate([
114
+ (0, tegg_1.Inject)(),
115
+ __metadata("design:type", BugVersionStore_1.BugVersionStore)
116
+ ], BugVersionService.prototype, "bugVersionStore", void 0);
90
117
  exports.BugVersionService = BugVersionService = __decorate([
91
118
  (0, tegg_1.SingletonProto)({
92
119
  accessLevel: tegg_1.AccessLevel.PUBLIC,
93
120
  })
94
121
  ], BugVersionService);
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnVnVmVyc2lvblNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9zZXJ2aWNlL0J1Z1ZlcnNpb25TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNDQUFrRTtBQUVsRSxrREFBeUI7QUFFekIsMEVBQXVFO0FBQ3ZFLG9FQUFpRTtBQUNqRSwwREFBMkQ7QUFDM0QsaURBQThDO0FBS3ZDLElBQU0saUJBQWlCLCtCQUF2QixNQUFNLGlCQUFpQjtJQWE1QixLQUFLLENBQUMsNEJBQTRCLENBQUMsVUFBc0I7UUFDdkQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDdEQsTUFBTSxJQUFBLGVBQUksRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLFFBQVEsRUFBQyxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsQ0FBQyxFQUFFO1lBQ0QsV0FBVyxFQUFFLEVBQUU7WUFDZixXQUFXLEVBQUUsS0FBSztTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUFDLFVBQXNCLEVBQUUsUUFBZ0IsRUFBRSxTQUE4QjtRQUNsRyw4RUFBOEU7UUFDOUUsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQ3ZCLEtBQUssTUFBTSxRQUFRLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsbUNBQW1DLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDckY7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUFDLFVBQXNCLEVBQUUsUUFBZ0IsRUFBRSxRQUFhO1FBQ2hGLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTyxRQUFRLENBQUM7U0FDakI7UUFDRCxNQUFNLENBQUUsS0FBSyxFQUFFLElBQUksQ0FBRSxHQUFHLElBQUEsNkJBQWUsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixPQUFPLFFBQVEsQ0FBQztTQUNqQjtRQUNELE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RHLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsT0FBTyxRQUFRLENBQUM7U0FDakI7UUFDRCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsMEJBQTBCLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckgsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsQixPQUFPLFFBQVEsQ0FBQztTQUNqQjtRQUNELE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVPLG1DQUFtQyxDQUFDLFFBQWdCLEVBQUUsVUFBc0IsRUFBRSxRQUFhLEVBQUUsU0FBOEI7UUFDakksTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPO1NBQ1I7UUFDRCxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0RBQXNELEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRyxPQUFPO1NBQ1I7UUFDRCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNwRSxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFdBQVcsQ0FBQztJQUM1QyxDQUFDO0NBQ0YsQ0FBQTtBQS9Ea0I7SUFEaEIsSUFBQSxhQUFNLEdBQUU7OEJBQzJCLHFDQUFpQjs0REFBQztBQUdyQztJQURoQixJQUFBLGFBQU0sR0FBRTs4QkFDd0IsK0JBQWM7eURBQUM7QUFHL0I7SUFEaEIsSUFBQSxhQUFNLEdBQUU7O2lEQUMwQjtBQUdsQjtJQURoQixJQUFBLGFBQU0sR0FBRTs4QkFDc0IsMkJBQVk7dURBQUM7NEJBWGpDLGlCQUFpQjtJQUg3QixJQUFBLHFCQUFjLEVBQUM7UUFDZCxXQUFXLEVBQUUsa0JBQVcsQ0FBQyxNQUFNO0tBQ2hDLENBQUM7R0FDVyxpQkFBaUIsQ0FpRTdCIn0=
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnVnVmVyc2lvblNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9zZXJ2aWNlL0J1Z1ZlcnNpb25TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNDQUFrRTtBQUVsRSxrREFBeUI7QUFDekIscURBQWtEO0FBQ2xELDBFQUF3RjtBQUN4RixvRUFBaUU7QUFDakUsMERBQTJEO0FBQzNELGlEQUE4QztBQUM5QyxzREFBa0U7QUFDbEUsMEVBQXVFO0FBS2hFLElBQU0saUJBQWlCLCtCQUF2QixNQUFNLGlCQUFpQjtJQWdCNUIsS0FBSyxDQUFDLGFBQWE7UUFDakIsc0VBQXNFO1FBQ3RFLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsd0JBQVksQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTztRQUNqQix1QkFBdUI7UUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLEdBQUksQ0FBQyxTQUFTLEVBQUUsc0JBQVUsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTztRQUNqQixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsMEJBQTBCLENBQUMsR0FBSSxDQUFDLFNBQVMsRUFBRSxHQUFJLENBQUMsT0FBTyxDQUFDLENBQW9CLENBQUM7WUFDbkksSUFBSSxDQUFDLGtCQUFrQjtnQkFBRSxPQUFPO1lBQ2hDLE1BQU0sSUFBSSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFD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
@@ -0,0 +1,5 @@
1
+ export declare class FixNoPaddingVersionService {
2
+ private readonly packageVersionRepository;
3
+ private readonly logger;
4
+ fixPaddingVersion(id?: number): Promise<void>;
5
+ }
@@ -0,0 +1,50 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.FixNoPaddingVersionService = void 0;
16
+ const tegg_1 = require("@eggjs/tegg");
17
+ const p_map_1 = __importDefault(require("p-map"));
18
+ const PackageVersionRepository_1 = require("../../repository/PackageVersionRepository");
19
+ const PaddingSemVer_1 = require("../entity/PaddingSemVer");
20
+ let FixNoPaddingVersionService = exports.FixNoPaddingVersionService = class FixNoPaddingVersionService {
21
+ async fixPaddingVersion(id) {
22
+ // eslint-disable-next-line no-constant-condition
23
+ while (true) {
24
+ const packageVersions = await this.packageVersionRepository.findHaveNotPaddingVersion(id);
25
+ if (packageVersions.length === 0) {
26
+ break;
27
+ }
28
+ id = packageVersions[packageVersions.length - 1].id + 1;
29
+ this.logger.info('[FixNoPaddingVersionService] fix padding version ids %j', packageVersions.map(t => t.id));
30
+ await (0, p_map_1.default)(packageVersions, async (packageVersion) => {
31
+ const paddingSemver = new PaddingSemVer_1.PaddingSemVer(packageVersion.version);
32
+ await this.packageVersionRepository.fixPaddingVersion(packageVersion.packageVersionId, paddingSemver);
33
+ }, { concurrency: 30 });
34
+ }
35
+ }
36
+ };
37
+ __decorate([
38
+ (0, tegg_1.Inject)(),
39
+ __metadata("design:type", PackageVersionRepository_1.PackageVersionRepository)
40
+ ], FixNoPaddingVersionService.prototype, "packageVersionRepository", void 0);
41
+ __decorate([
42
+ (0, tegg_1.Inject)(),
43
+ __metadata("design:type", Object)
44
+ ], FixNoPaddingVersionService.prototype, "logger", void 0);
45
+ exports.FixNoPaddingVersionService = FixNoPaddingVersionService = __decorate([
46
+ (0, tegg_1.SingletonProto)({
47
+ accessLevel: tegg_1.AccessLevel.PUBLIC,
48
+ })
49
+ ], FixNoPaddingVersionService);
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRml4Tm9QYWRkaW5nVmVyc2lvblNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9zZXJ2aWNlL0ZpeE5vUGFkZGluZ1ZlcnNpb25TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNDQUFrRTtBQUVsRSxrREFBeUI7QUFDekIsd0ZBQXFGO0FBQ3JGLDJEQUF3RDtBQUtqRCxJQUFNLDBCQUEwQix3Q0FBaEMsTUFBTSwwQkFBMEI7SUFPckMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQVc7UUFDakMsaURBQWlEO1FBQ2pELE9BQU8sSUFBSSxFQUFFO1lBQ1gsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMsd0JBQXdCLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUYsSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDaEMsTUFBTTthQUNQO1lBQ0QsRUFBRSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQXVCLEdBQUcsQ0FBQyxDQUFDO1lBQzdFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlEQUF5RCxFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUU1RyxNQUFNLElBQUEsZUFBSSxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUMsY0FBYyxFQUFDLEVBQUU7Z0JBQ2pELE1BQU0sYUFBYSxHQUFHLElBQUksNkJBQWEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2hFLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN4RyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUN6QjtJQUNILENBQUM7Q0FDRixDQUFBO0FBckJrQjtJQURoQixJQUFBLGFBQU0sR0FBRTs4QkFDa0MsbURBQXdCOzRFQUFDO0FBR25EO0lBRGhCLElBQUEsYUFBTSxHQUFFOzswREFDMEI7cUNBTHhCLDBCQUEwQjtJQUh0QyxJQUFBLHFCQUFjLEVBQUM7UUFDZCxXQUFXLEVBQUUsa0JBQVcsQ0FBQyxNQUFNO0tBQ2hDLENBQUM7R0FDVywwQkFBMEIsQ0F1QnRDIn0=
@@ -6,7 +6,6 @@ import { Package } from '../entity/Package';
6
6
  import { PackageVersion } from '../entity/PackageVersion';
7
7
  import { PackageVersionBlock } from '../entity/PackageVersionBlock';
8
8
  import { User } from '../entity/User';
9
- import { BugVersion } from '../entity/BugVersion';
10
9
  import { Registry } from '../entity/Registry';
11
10
  export interface PublishPackageCmd {
12
11
  scope: string;
@@ -31,9 +30,9 @@ export declare class PackageManagerService extends AbstractService {
31
30
  private readonly packageVersionBlockRepository;
32
31
  private readonly packageVersionDownloadRepository;
33
32
  private readonly bugVersionService;
34
- private readonly bugVersionStore;
35
33
  private readonly distRepository;
36
34
  private readonly registryManagerService;
35
+ private readonly packageVersionService;
37
36
  private static downloadCounters;
38
37
  publish(cmd: PublishPackageCmd, publisher: User): Promise<PackageVersion>;
39
38
  blockPackage(pkg: Package, reason: string): Promise<PackageVersionBlock>;
@@ -61,15 +60,23 @@ export declare class PackageManagerService extends AbstractService {
61
60
  data: PackageManifestType | AbbreviatedPackageManifestType;
62
61
  blockReason: string;
63
62
  }>;
64
- showPackageVersionByVersionOrTag(scope: string, name: string, versionOrTag: string): Promise<{
63
+ showPackageVersionByVersionOrTag(scope: string, name: string, spec: string): Promise<{
65
64
  blockReason?: string;
66
65
  pkg?: Package;
67
66
  packageVersion?: PackageVersion | null;
68
67
  }>;
69
- showPackageVersionManifest(scope: string, name: string, versionOrTag: string, isSync?: boolean): Promise<{
70
- manifest: any;
71
- blockReason: string | undefined;
72
- pkg: Package | undefined;
68
+ showPackageVersionManifest(scope: string, name: string, spec: string, isSync?: boolean, isFullManifests?: boolean): Promise<{
69
+ blockReason?: undefined;
70
+ pkg?: undefined;
71
+ manifest?: undefined;
72
+ } | {
73
+ blockReason: string;
74
+ pkg: Package;
75
+ manifest?: undefined;
76
+ } | {
77
+ manifest: PackageJSONType | undefined;
78
+ blockReason: null;
79
+ pkg: Package;
73
80
  }>;
74
81
  downloadPackageVersionTar(packageVersion: PackageVersion): Promise<string | import("stream").Readable | undefined>;
75
82
  plusPackageVersionCounter(fullname: string, version: string): void;
@@ -85,7 +92,6 @@ export declare class PackageManagerService extends AbstractService {
85
92
  savePackageTag(pkg: Package, tag: string, version: string, skipEvent?: boolean): Promise<boolean>;
86
93
  removePackageTag(pkg: Package, tag: string): Promise<boolean>;
87
94
  refreshPackageChangeVersionsToDists(pkg: Package, updateVersions?: string[], removeVersions?: string[]): Promise<void>;
88
- getBugVersion(): Promise<BugVersion | undefined>;
89
95
  getSourceRegistry(pkg: Package): Promise<Registry | null>;
90
96
  private _listPackageDistTags;
91
97
  private _refreshPackageManifestsToDists;