cnpmcore 4.33.2 → 4.34.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 (56) hide show
  1. package/dist/app/common/AbstractService.js +4 -4
  2. package/dist/app/common/adapter/NFSAdapter.js +3 -3
  3. package/dist/app/common/adapter/NPMRegistry.js +4 -4
  4. package/dist/app/common/adapter/binary/AbstractBinary.js +3 -3
  5. package/dist/app/common/adapter/binary/ApiBinary.js +3 -3
  6. package/dist/app/common/adapter/changesStream/AbstractChangesStream.js +3 -3
  7. package/dist/app/common/aop/AsyncTimer.js +3 -3
  8. package/dist/app/core/entity/PackageVersionBlock.d.ts +6 -0
  9. package/dist/app/core/entity/PackageVersionBlock.js +8 -1
  10. package/dist/app/core/event/BugVersionFixHandler.js +3 -3
  11. package/dist/app/core/event/ChangesStream.js +3 -3
  12. package/dist/app/core/event/StoreManifest.js +3 -3
  13. package/dist/app/core/event/SyncESPackage.js +3 -3
  14. package/dist/app/core/event/SyncPackageVersionFile.js +4 -4
  15. package/dist/app/core/service/BugVersionService.js +3 -3
  16. package/dist/app/core/service/FixNoPaddingVersionService.js +3 -3
  17. package/dist/app/core/service/HookManageService.js +3 -3
  18. package/dist/app/core/service/PackageManagerService.d.ts +28 -0
  19. package/dist/app/core/service/PackageManagerService.js +305 -5
  20. package/dist/app/core/service/PackageSyncerService.d.ts +1 -0
  21. package/dist/app/core/service/PackageSyncerService.js +15 -1
  22. package/dist/app/infra/NFSClientAdapter.js +4 -4
  23. package/dist/app/infra/SearchAdapter.js +3 -3
  24. package/dist/app/port/UserRoleManager.js +4 -4
  25. package/dist/app/port/config.d.ts +42 -0
  26. package/dist/app/port/controller/AbstractController.d.ts +2 -0
  27. package/dist/app/port/controller/AbstractController.js +15 -4
  28. package/dist/app/port/controller/PackageBlockController.d.ts +10 -1
  29. package/dist/app/port/controller/PackageBlockController.js +68 -5
  30. package/dist/app/port/controller/PackageVersionFileController.js +5 -2
  31. package/dist/app/port/schedule/BufferReleaseDispatcher.d.ts +8 -0
  32. package/dist/app/port/schedule/BufferReleaseDispatcher.js +72 -0
  33. package/dist/app/port/schedule/BufferReleaseWorker.d.ts +6 -0
  34. package/dist/app/port/schedule/BufferReleaseWorker.js +68 -0
  35. package/dist/app/port/schedule/ChangesStreamWorker.js +4 -4
  36. package/dist/app/port/schedule/CheckProxyCacheUpdateWorker.js +4 -4
  37. package/dist/app/port/schedule/CheckRecentlyUpdatedPackages.js +4 -4
  38. package/dist/app/port/schedule/CleanTempDir.js +4 -4
  39. package/dist/app/port/schedule/CreateSyncBinaryTask.js +3 -3
  40. package/dist/app/port/schedule/CreateTriggerHookWorker.js +4 -4
  41. package/dist/app/port/schedule/SyncBinaryWorker.js +4 -4
  42. package/dist/app/port/schedule/SyncPackageWorker.js +4 -4
  43. package/dist/app/port/schedule/SyncProxyCacheWorker.js +4 -4
  44. package/dist/app/port/schedule/TaskTimeoutHandler.js +3 -3
  45. package/dist/app/port/schedule/TriggerHookWorker.js +4 -4
  46. package/dist/app/port/schedule/UpdateTotalData.js +3 -3
  47. package/dist/app/port/webauth/WebauthController.js +1 -1
  48. package/dist/app/repository/AbstractRepository.js +3 -3
  49. package/dist/app/repository/PackageRepository.d.ts +1 -0
  50. package/dist/app/repository/PackageRepository.js +1 -1
  51. package/dist/app/repository/PackageVersionBlockRepository.d.ts +9 -0
  52. package/dist/app/repository/PackageVersionBlockRepository.js +60 -2
  53. package/dist/app/repository/model/PackageVersionBlock.d.ts +2 -0
  54. package/dist/app/repository/model/PackageVersionBlock.js +9 -1
  55. package/dist/config/config.default.js +5 -1
  56. package/package.json +1 -1
@@ -39,10 +39,37 @@ export declare class PackageManagerService extends AbstractService {
39
39
  private static downloadCounters;
40
40
  static resetDownloadCounters(): void;
41
41
  publish(cmd: PublishPackageCmd, publisher: User): Promise<PackageVersion>;
42
+ private _shouldIsolateNewVersion;
43
+ private _isolateNewVersion;
44
+ private _isDependencyIsolationExcluded;
42
45
  blockPackageByFullname(name: string, reason: string): Promise<PackageVersionBlock>;
43
46
  blockPackage(pkg: Package, reason: string): Promise<PackageVersionBlock>;
44
47
  unblockPackageByFullname(name: string): Promise<void>;
45
48
  unblockPackage(pkg: Package): Promise<void>;
49
+ blockPackageVersion(pkg: Package, version: string, reason: string): Promise<PackageVersionBlock>;
50
+ unblockPackageVersion(pkg: Package, version: string): Promise<void>;
51
+ /**
52
+ * Idempotently set whether a package version is available (visible) to the outside, for
53
+ * external decision sources (e.g. a deployment's security scan).
54
+ * - available=false: permanently block; if the version is currently in the dependency-isolation
55
+ * buffer, the buffer record is overwritten to a permanent block (type=null, no auto-release).
56
+ * - available=true: only lifts a PERMANENT block. It deliberately does NOT release a buffer
57
+ * record — automated "make available" must not let a version escape the isolation window
58
+ * ahead of its timer. Buffer release is owned by the timer (releaseBufferedVersions); an
59
+ * admin can still force-release via unblockPackageVersion (the explicit escape channel).
60
+ */
61
+ ensurePackageVersionAvailability(pkg: Package, version: string, available: boolean, reason?: string): Promise<{
62
+ changed: boolean;
63
+ }>;
64
+ /**
65
+ * Dependency isolation: release expired buffer versions of a single package in one batch.
66
+ * Only records still of type='buffer' are released (a record overwritten to a permanent
67
+ * block is left alone). The package manifest is rebuilt once for the whole batch (the
68
+ * rebuild is O(versions) regardless of how many are released), then PACKAGE_VERSION_ADDED
69
+ * is emitted per released version so search / changes stream / file sync pick them up.
70
+ * Idempotent: already-removed / no-longer-buffer versions are skipped.
71
+ */
72
+ releaseBufferedVersions(packageId: string, versions: string[]): Promise<string[]>;
46
73
  replacePackageMaintainersAndDist(pkg: Package, maintainers: User[]): Promise<void>;
47
74
  savePackageMaintainers(pkg: Package, maintainers: User[]): Promise<boolean>;
48
75
  removePackageMaintainer(pkg: Package, maintainer: User): Promise<void>;
@@ -138,6 +165,7 @@ export declare class PackageManagerService extends AbstractService {
138
165
  private _listPackageFullOrAbbreviatedManifests;
139
166
  private _listPackageFullOrAbbreviatedManifestsBuffer;
140
167
  maintainers(pkg: Package): Promise<AuthorType[]>;
168
+ private _listBlockedVersionMap;
141
169
  private _listPackageFullManifests;
142
170
  private _listPackageAbbreviatedManifests;
143
171
  private _checkPackageDepsVersion;