cnpmcore 4.0.1 → 4.1.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.
- package/README.md +5 -3
- package/dist/app/common/AbstractService.js +5 -9
- package/dist/app/common/CryptoUtil.js +9 -17
- package/dist/app/common/ErrorUtil.js +2 -5
- package/dist/app/common/FileUtil.js +22 -31
- package/dist/app/common/LogUtil.js +2 -5
- package/dist/app/common/PackageUtil.d.ts +1 -1
- package/dist/app/common/PackageUtil.js +27 -75
- package/dist/app/common/SyncUtil.js +2 -5
- package/dist/app/common/UserUtil.js +19 -64
- package/dist/app/common/adapter/BugVersionStore.d.ts +1 -1
- package/dist/app/common/adapter/BugVersionStore.js +6 -9
- package/dist/app/common/adapter/CacheAdapter.js +7 -10
- package/dist/app/common/adapter/NFSAdapter.js +18 -21
- package/dist/app/common/adapter/NPMRegistry.d.ts +1 -1
- package/dist/app/common/adapter/NPMRegistry.js +13 -16
- package/dist/app/common/adapter/binary/AbstractBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/AbstractBinary.js +7 -11
- package/dist/app/common/adapter/binary/ApiBinary.d.ts +1 -1
- package/dist/app/common/adapter/binary/ApiBinary.js +10 -13
- package/dist/app/common/adapter/binary/BucketBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/BucketBinary.js +14 -20
- package/dist/app/common/adapter/binary/ChromeForTestingBinary.d.ts +1 -1
- package/dist/app/common/adapter/binary/ChromeForTestingBinary.js +11 -14
- package/dist/app/common/adapter/binary/CypressBinary.d.ts +1 -1
- package/dist/app/common/adapter/binary/CypressBinary.js +9 -12
- package/dist/app/common/adapter/binary/EdgedriverBinary.d.ts +1 -1
- package/dist/app/common/adapter/binary/EdgedriverBinary.js +12 -18
- package/dist/app/common/adapter/binary/ElectronBinary.d.ts +3 -3
- package/dist/app/common/adapter/binary/ElectronBinary.js +13 -19
- package/dist/app/common/adapter/binary/GithubBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/GithubBinary.js +11 -17
- package/dist/app/common/adapter/binary/ImageminBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/ImageminBinary.js +11 -17
- package/dist/app/common/adapter/binary/NodeBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/NodeBinary.js +14 -20
- package/dist/app/common/adapter/binary/NodePreGypBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/NodePreGypBinary.js +14 -20
- package/dist/app/common/adapter/binary/NwjsBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/NwjsBinary.js +12 -18
- package/dist/app/common/adapter/binary/PlaywrightBinary.d.ts +1 -1
- package/dist/app/common/adapter/binary/PlaywrightBinary.js +13 -19
- package/dist/app/common/adapter/binary/PrismaBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/PrismaBinary.js +14 -20
- package/dist/app/common/adapter/binary/PuppeteerBinary.d.ts +1 -1
- package/dist/app/common/adapter/binary/PuppeteerBinary.js +10 -13
- package/dist/app/common/adapter/binary/SqlcipherBinary.d.ts +1 -1
- package/dist/app/common/adapter/binary/SqlcipherBinary.js +9 -12
- package/dist/app/common/adapter/changesStream/AbstractChangesStream.d.ts +2 -2
- package/dist/app/common/adapter/changesStream/AbstractChangesStream.js +7 -11
- package/dist/app/common/adapter/changesStream/CnpmcoreChangesStream.d.ts +2 -2
- package/dist/app/common/adapter/changesStream/CnpmcoreChangesStream.js +11 -14
- package/dist/app/common/adapter/changesStream/CnpmjsorgChangesStream.d.ts +2 -2
- package/dist/app/common/adapter/changesStream/CnpmjsorgChangesStream.js +11 -14
- package/dist/app/common/adapter/changesStream/NpmChangesStream.d.ts +2 -2
- package/dist/app/common/adapter/changesStream/NpmChangesStream.js +11 -14
- package/dist/app/common/aop/AsyncTimer.js +10 -13
- package/dist/app/common/constants.js +17 -20
- package/dist/app/common/dayjs.js +5 -10
- package/dist/app/common/enum/Binary.js +3 -6
- package/dist/app/common/enum/Hook.js +5 -8
- package/dist/app/common/enum/Registry.js +3 -6
- package/dist/app/common/enum/Task.js +5 -8
- package/dist/app/common/enum/User.js +5 -8
- package/dist/app/common/package.json +2 -1
- package/dist/app/common/typing.d.ts +1 -1
- package/dist/app/common/typing.js +1 -2
- package/dist/app/core/entity/Binary.d.ts +2 -2
- package/dist/app/core/entity/Binary.js +5 -9
- package/dist/app/core/entity/BugVersion.js +2 -6
- package/dist/app/core/entity/Change.d.ts +2 -2
- package/dist/app/core/entity/Change.js +5 -9
- package/dist/app/core/entity/Dist.d.ts +2 -2
- package/dist/app/core/entity/Dist.js +5 -9
- package/dist/app/core/entity/Entity.js +2 -6
- package/dist/app/core/entity/Hook.d.ts +3 -3
- package/dist/app/core/entity/Hook.js +7 -14
- package/dist/app/core/entity/HookEvent.d.ts +1 -1
- package/dist/app/core/entity/HookEvent.js +11 -15
- package/dist/app/core/entity/Package.d.ts +4 -3
- package/dist/app/core/entity/Package.js +14 -15
- package/dist/app/core/entity/PackageTag.d.ts +2 -2
- package/dist/app/core/entity/PackageTag.js +5 -9
- package/dist/app/core/entity/PackageVersion.d.ts +3 -3
- package/dist/app/core/entity/PackageVersion.js +7 -11
- package/dist/app/core/entity/PackageVersionBlock.d.ts +2 -2
- package/dist/app/core/entity/PackageVersionBlock.js +5 -9
- package/dist/app/core/entity/PackageVersionFile.d.ts +3 -3
- package/dist/app/core/entity/PackageVersionFile.js +5 -9
- package/dist/app/core/entity/PackageVersionManifest.d.ts +2 -2
- package/dist/app/core/entity/PackageVersionManifest.js +5 -9
- package/dist/app/core/entity/PaddingSemVer.js +5 -9
- package/dist/app/core/entity/ProxyCache.d.ts +3 -3
- package/dist/app/core/entity/ProxyCache.js +8 -12
- package/dist/app/core/entity/Registry.d.ts +3 -3
- package/dist/app/core/entity/Registry.js +5 -9
- package/dist/app/core/entity/Scope.d.ts +2 -2
- package/dist/app/core/entity/Scope.js +5 -9
- package/dist/app/core/entity/SqlRange.js +8 -12
- package/dist/app/core/entity/Task.d.ts +4 -4
- package/dist/app/core/entity/Task.js +46 -53
- package/dist/app/core/entity/Token.d.ts +2 -2
- package/dist/app/core/entity/Token.js +10 -18
- package/dist/app/core/entity/User.d.ts +2 -2
- package/dist/app/core/entity/User.js +7 -11
- package/dist/app/core/entity/WebauthnCredential.d.ts +2 -2
- package/dist/app/core/entity/WebauthnCredential.js +5 -9
- package/dist/app/core/event/BugVersionFixHandler.js +12 -15
- package/dist/app/core/event/CacheCleaner.js +39 -42
- package/dist/app/core/event/ChangesStream.d.ts +4 -4
- package/dist/app/core/event/ChangesStream.js +59 -62
- package/dist/app/core/event/StoreManifest.js +17 -20
- package/dist/app/core/event/SyncESPackage.d.ts +1 -1
- package/dist/app/core/event/SyncESPackage.js +22 -25
- package/dist/app/core/event/SyncPackageVersionFile.js +25 -28
- package/dist/app/core/event/index.d.ts +1 -1
- package/dist/app/core/event/index.js +13 -16
- package/dist/app/core/package.json +2 -1
- package/dist/app/core/service/BinarySyncerService.d.ts +7 -7
- package/dist/app/core/service/BinarySyncerService.js +44 -50
- package/dist/app/core/service/BugVersionService.d.ts +1 -1
- package/dist/app/core/service/BugVersionService.js +28 -34
- package/dist/app/core/service/CacheService.d.ts +2 -2
- package/dist/app/core/service/CacheService.js +15 -18
- package/dist/app/core/service/ChangesStreamService.d.ts +3 -3
- package/dist/app/core/service/ChangesStreamService.js +52 -58
- package/dist/app/core/service/CreateHookTriggerService.d.ts +2 -2
- package/dist/app/core/service/CreateHookTriggerService.js +39 -45
- package/dist/app/core/service/EventCorkerAdvice.js +7 -10
- package/dist/app/core/service/FixNoPaddingVersionService.js +14 -20
- package/dist/app/core/service/HomeService.d.ts +1 -1
- package/dist/app/core/service/HomeService.js +13 -16
- package/dist/app/core/service/HookManageService.d.ts +2 -2
- package/dist/app/core/service/HookManageService.js +20 -23
- package/dist/app/core/service/HookTriggerService.d.ts +3 -3
- package/dist/app/core/service/HookTriggerService.js +32 -35
- package/dist/app/core/service/PackageManagerService.d.ts +7 -7
- package/dist/app/core/service/PackageManagerService.js +98 -104
- package/dist/app/core/service/PackageSearchService.d.ts +4 -4
- package/dist/app/core/service/PackageSearchService.js +31 -37
- package/dist/app/core/service/PackageSyncerService.d.ts +6 -6
- package/dist/app/core/service/PackageSyncerService.js +92 -99
- package/dist/app/core/service/PackageVersionFileService.d.ts +4 -4
- package/dist/app/core/service/PackageVersionFileService.js +64 -69
- package/dist/app/core/service/PackageVersionService.d.ts +4 -1
- package/dist/app/core/service/PackageVersionService.js +41 -59
- package/dist/app/core/service/ProxyCacheService.d.ts +5 -6
- package/dist/app/core/service/ProxyCacheService.js +62 -69
- package/dist/app/core/service/RegistryManagerService.d.ts +3 -3
- package/dist/app/core/service/RegistryManagerService.js +33 -36
- package/dist/app/core/service/ScopeManagerService.d.ts +3 -3
- package/dist/app/core/service/ScopeManagerService.js +13 -16
- package/dist/app/core/service/TaskService.d.ts +7 -7
- package/dist/app/core/service/TaskService.js +28 -29
- package/dist/app/core/service/TokenService.d.ts +4 -4
- package/dist/app/core/service/TokenService.js +30 -36
- package/dist/app/core/service/UserService.d.ts +6 -6
- package/dist/app/core/service/UserService.js +43 -49
- package/dist/app/core/util/EntityUtil.d.ts +1 -1
- package/dist/app/core/util/EntityUtil.js +7 -13
- package/dist/app/infra/AuthAdapter.d.ts +1 -1
- package/dist/app/infra/AuthAdapter.js +12 -15
- package/dist/app/infra/NFSClientAdapter.d.ts +1 -1
- package/dist/app/infra/NFSClientAdapter.js +11 -17
- package/dist/app/infra/QueueAdapter.d.ts +1 -1
- package/dist/app/infra/QueueAdapter.js +9 -12
- package/dist/app/infra/SearchAdapter.d.ts +1 -1
- package/dist/app/infra/SearchAdapter.js +10 -13
- package/dist/app/infra/package.json +2 -1
- package/dist/app/port/UserRoleManager.d.ts +3 -3
- package/dist/app/port/UserRoleManager.js +30 -33
- package/dist/app/port/config.d.ts +3 -3
- package/dist/app/port/config.js +2 -6
- package/dist/app/port/controller/AbstractController.d.ts +8 -8
- package/dist/app/port/controller/AbstractController.js +33 -37
- package/dist/app/port/controller/AccessController.d.ts +1 -1
- package/dist/app/port/controller/AccessController.js +22 -25
- package/dist/app/port/controller/BinarySyncController.d.ts +2 -2
- package/dist/app/port/controller/BinarySyncController.js +42 -48
- package/dist/app/port/controller/ChangesStreamController.d.ts +1 -1
- package/dist/app/port/controller/ChangesStreamController.js +17 -20
- package/dist/app/port/controller/DownloadController.d.ts +1 -1
- package/dist/app/port/controller/DownloadController.js +30 -36
- package/dist/app/port/controller/HomeController.d.ts +2 -2
- package/dist/app/port/controller/HomeController.js +29 -31
- package/dist/app/port/controller/HookController.d.ts +5 -5
- package/dist/app/port/controller/HookController.js +43 -46
- package/dist/app/port/controller/PackageBlockController.d.ts +2 -2
- package/dist/app/port/controller/PackageBlockController.js +37 -40
- package/dist/app/port/controller/PackageSyncController.d.ts +5 -5
- package/dist/app/port/controller/PackageSyncController.js +64 -67
- package/dist/app/port/controller/PackageTagController.d.ts +1 -1
- package/dist/app/port/controller/PackageTagController.js +33 -36
- package/dist/app/port/controller/PackageVersionFileController.d.ts +1 -1
- package/dist/app/port/controller/PackageVersionFileController.js +56 -59
- package/dist/app/port/controller/ProxyCacheController.d.ts +7 -7
- package/dist/app/port/controller/ProxyCacheController.js +56 -58
- package/dist/app/port/controller/RegistryController.d.ts +7 -7
- package/dist/app/port/controller/RegistryController.js +57 -60
- package/dist/app/port/controller/ScopeController.d.ts +3 -3
- package/dist/app/port/controller/ScopeController.js +28 -31
- package/dist/app/port/controller/TokenController.d.ts +17 -17
- package/dist/app/port/controller/TokenController.js +52 -55
- package/dist/app/port/controller/UserController.d.ts +8 -8
- package/dist/app/port/controller/UserController.js +52 -55
- package/dist/app/port/controller/admin/PaddingVersionController.d.ts +1 -1
- package/dist/app/port/controller/admin/PaddingVersionController.js +14 -17
- package/dist/app/port/controller/convertor/HookConvertor.d.ts +4 -4
- package/dist/app/port/controller/convertor/HookConvertor.js +2 -6
- package/dist/app/port/controller/package/DownloadPackageVersionTar.d.ts +6 -6
- package/dist/app/port/controller/package/DownloadPackageVersionTar.js +69 -60
- package/dist/app/port/controller/package/RemovePackageVersionController.d.ts +1 -1
- package/dist/app/port/controller/package/RemovePackageVersionController.js +26 -29
- package/dist/app/port/controller/package/SavePackageVersionController.d.ts +9 -9
- package/dist/app/port/controller/package/SavePackageVersionController.js +57 -96
- package/dist/app/port/controller/package/SearchPackageController.d.ts +4 -4
- package/dist/app/port/controller/package/SearchPackageController.js +31 -34
- package/dist/app/port/controller/package/ShowPackageController.d.ts +1 -1
- package/dist/app/port/controller/package/ShowPackageController.js +32 -35
- package/dist/app/port/controller/package/ShowPackageVersionController.d.ts +2 -2
- package/dist/app/port/controller/package/ShowPackageVersionController.js +33 -36
- package/dist/app/port/controller/package/UpdatePackageController.d.ts +6 -6
- package/dist/app/port/controller/package/UpdatePackageController.js +25 -28
- package/dist/app/port/middleware/AdminAccess.js +6 -9
- package/dist/app/port/middleware/AlwaysAuth.js +4 -7
- package/dist/app/port/middleware/ErrorHandler.js +4 -7
- package/dist/app/port/middleware/Tracing.js +2 -5
- package/dist/app/port/middleware/index.js +10 -13
- package/dist/app/port/package.json +2 -1
- package/dist/app/port/schedule/ChangesStreamWorker.js +12 -15
- package/dist/app/port/schedule/CheckProxyCacheUpdateWorker.js +19 -21
- package/dist/app/port/schedule/CheckRecentlyUpdatedPackages.js +20 -23
- package/dist/app/port/schedule/CleanTempDir.js +23 -30
- package/dist/app/port/schedule/CreateSyncBinaryTask.js +13 -19
- package/dist/app/port/schedule/CreateTriggerHookWorker.js +18 -21
- package/dist/app/port/schedule/SavePackageVersionDownloadCounter.js +10 -13
- package/dist/app/port/schedule/SyncBinaryWorker.js +14 -17
- package/dist/app/port/schedule/SyncPackageWorker.js +14 -17
- package/dist/app/port/schedule/SyncProxyCacheWorker.js +14 -17
- package/dist/app/port/schedule/TaskTimeoutHandler.js +14 -17
- package/dist/app/port/schedule/TriggerHookWorker.js +18 -21
- package/dist/app/port/schedule/UpdateTotalData.js +32 -38
- package/dist/app/port/typebox.d.ts +73 -73
- package/dist/app/port/typebox.js +83 -90
- package/dist/app/port/webauth/WebauthController.d.ts +6 -6
- package/dist/app/port/webauth/WebauthController.js +91 -91
- package/dist/app/repository/AbstractRepository.js +4 -8
- package/dist/app/repository/BinaryRepository.d.ts +2 -2
- package/dist/app/repository/BinaryRepository.js +15 -18
- package/dist/app/repository/ChangeRepository.d.ts +3 -3
- package/dist/app/repository/ChangeRepository.js +11 -14
- package/dist/app/repository/DistRepository.d.ts +2 -2
- package/dist/app/repository/DistRepository.js +12 -15
- package/dist/app/repository/HookRepository.d.ts +2 -2
- package/dist/app/repository/HookRepository.js +14 -17
- package/dist/app/repository/PackageRepository.d.ts +8 -8
- package/dist/app/repository/PackageRepository.js +59 -62
- package/dist/app/repository/PackageVersionBlockRepository.d.ts +3 -3
- package/dist/app/repository/PackageVersionBlockRepository.js +14 -17
- package/dist/app/repository/PackageVersionDownloadRepository.d.ts +2 -2
- package/dist/app/repository/PackageVersionDownloadRepository.js +9 -12
- package/dist/app/repository/PackageVersionFileRepository.d.ts +2 -2
- package/dist/app/repository/PackageVersionFileRepository.js +19 -22
- package/dist/app/repository/PackageVersionRepository.d.ts +3 -3
- package/dist/app/repository/PackageVersionRepository.js +12 -15
- package/dist/app/repository/ProxyCacheRepository.d.ts +5 -5
- package/dist/app/repository/ProxyCacheRepository.js +16 -19
- package/dist/app/repository/RegistryRepository.d.ts +4 -4
- package/dist/app/repository/RegistryRepository.js +19 -22
- package/dist/app/repository/ScopeRepository.d.ts +4 -4
- package/dist/app/repository/ScopeRepository.js +19 -22
- package/dist/app/repository/SearchRepository.d.ts +1 -1
- package/dist/app/repository/SearchRepository.js +7 -10
- package/dist/app/repository/TaskRepository.d.ts +8 -8
- package/dist/app/repository/TaskRepository.js +31 -34
- package/dist/app/repository/UserRepository.d.ts +4 -4
- package/dist/app/repository/UserRepository.js +38 -41
- package/dist/app/repository/model/Binary.d.ts +1 -1
- package/dist/app/repository/model/Binary.js +17 -20
- package/dist/app/repository/model/Change.d.ts +1 -1
- package/dist/app/repository/model/Change.js +14 -17
- package/dist/app/repository/model/Dist.d.ts +1 -1
- package/dist/app/repository/model/Dist.js +16 -19
- package/dist/app/repository/model/HistoryTask.d.ts +2 -2
- package/dist/app/repository/model/HistoryTask.js +22 -25
- package/dist/app/repository/model/Hook.d.ts +2 -2
- package/dist/app/repository/model/Hook.js +19 -22
- package/dist/app/repository/model/Maintainer.d.ts +1 -1
- package/dist/app/repository/model/Maintainer.js +12 -15
- package/dist/app/repository/model/Package.d.ts +1 -1
- package/dist/app/repository/model/Package.js +21 -24
- package/dist/app/repository/model/PackageDep.d.ts +1 -1
- package/dist/app/repository/model/PackageDep.js +15 -18
- package/dist/app/repository/model/PackageTag.d.ts +1 -1
- package/dist/app/repository/model/PackageTag.js +14 -17
- package/dist/app/repository/model/PackageVersion.d.ts +1 -1
- package/dist/app/repository/model/PackageVersion.js +27 -30
- package/dist/app/repository/model/PackageVersionBlock.d.ts +1 -1
- package/dist/app/repository/model/PackageVersionBlock.js +14 -17
- package/dist/app/repository/model/PackageVersionDownload.d.ts +1 -1
- package/dist/app/repository/model/PackageVersionDownload.js +44 -47
- package/dist/app/repository/model/PackageVersionFile.d.ts +1 -1
- package/dist/app/repository/model/PackageVersionFile.js +19 -22
- package/dist/app/repository/model/PackageVersionManifest.d.ts +1 -1
- package/dist/app/repository/model/PackageVersionManifest.js +14 -17
- package/dist/app/repository/model/ProxyCache.d.ts +2 -2
- package/dist/app/repository/model/ProxyCache.js +15 -18
- package/dist/app/repository/model/Registry.d.ts +2 -2
- package/dist/app/repository/model/Registry.js +18 -21
- package/dist/app/repository/model/Scope.d.ts +1 -1
- package/dist/app/repository/model/Scope.js +13 -16
- package/dist/app/repository/model/Task.d.ts +2 -2
- package/dist/app/repository/model/Task.js +23 -26
- package/dist/app/repository/model/Token.d.ts +1 -1
- package/dist/app/repository/model/Token.js +23 -26
- package/dist/app/repository/model/TokenPackage.d.ts +1 -1
- package/dist/app/repository/model/TokenPackage.js +12 -15
- package/dist/app/repository/model/User.d.ts +1 -1
- package/dist/app/repository/model/User.js +18 -21
- package/dist/app/repository/model/WebauthnCredential.d.ts +1 -1
- package/dist/app/repository/model/WebauthnCredential.js +15 -18
- package/dist/app/repository/package.json +1 -3
- package/dist/app/repository/util/EntityProperty.js +6 -9
- package/dist/app/repository/util/ErrorUtil.js +2 -5
- package/dist/app/repository/util/ModelConvertor.d.ts +5 -5
- package/dist/app/repository/util/ModelConvertor.js +17 -24
- package/dist/app/repository/util/ModelConvertorUtil.js +5 -9
- package/dist/app/repository/util/leoric.d.ts +4 -0
- package/dist/app/repository/util/leoric.js +4 -0
- package/dist/app.d.ts +3 -3
- package/dist/app.js +9 -15
- package/dist/config/binaries.d.ts +8 -1
- package/dist/config/binaries.js +99 -94
- package/dist/config/config.default.d.ts +1 -1
- package/dist/config/config.default.js +69 -74
- package/dist/config/config.unittest.d.ts +1 -2
- package/dist/config/config.unittest.js +11 -16
- package/dist/config/database.d.ts +5 -5
- package/dist/config/database.js +20 -23
- package/dist/config/plugin.js +3 -5
- package/package.json +22 -16
- package/dist/app/common/EnvUtil.d.ts +0 -4
- package/dist/app/common/EnvUtil.js +0 -34
package/README.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# Private NPM Registry for Enterprise
|
|
2
2
|
|
|
3
|
-
[](https://github.com/cnpm/cnpmcore/actions/workflows/nodejs.yml)
|
|
4
|
-
[](https://github.com/cnpm/cnpmcore/actions/workflows/codeql-analysis.yml)
|
|
3
|
+
[](https://github.com/cnpm/cnpmcore/actions/workflows/nodejs.yml)
|
|
4
|
+
[](https://app.codecov.io/gh/cnpm/cnpmcore/tree/master)
|
|
6
5
|
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fcnpm%2Fcnpmcore?ref=badge_shield)
|
|
6
|
+
[](https://nodejs.org/en/download/)
|
|
7
|
+
[](https://makeapullrequest.com)
|
|
8
|
+

|
|
7
9
|
|
|
8
10
|
Reimplement based on [cnpmjs.org](https://github.com/cnpm/cnpmjs.org) with TypeScript.
|
|
9
11
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -8,18 +7,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const tegg_1 = require("@eggjs/tegg");
|
|
14
|
-
class AbstractService {
|
|
10
|
+
import { Inject, } from '@eggjs/tegg';
|
|
11
|
+
export class AbstractService {
|
|
15
12
|
}
|
|
16
|
-
exports.AbstractService = AbstractService;
|
|
17
13
|
__decorate([
|
|
18
|
-
|
|
14
|
+
Inject(),
|
|
19
15
|
__metadata("design:type", Object)
|
|
20
16
|
], AbstractService.prototype, "config", void 0);
|
|
21
17
|
__decorate([
|
|
22
|
-
|
|
18
|
+
Inject(),
|
|
23
19
|
__metadata("design:type", Function)
|
|
24
20
|
], AbstractService.prototype, "logger", void 0);
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBwL2NvbW1vbi9BYnN0cmFjdFNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLE1BQU0sR0FDUCxNQUFNLGFBQWEsQ0FBQztBQU1yQixNQUFNLE9BQWdCLGVBQWU7Q0FLcEM7QUFIb0I7SUFEbEIsTUFBTSxFQUFFOzsrQ0FDK0I7QUFFckI7SUFEbEIsTUFBTSxFQUFFOzsrQ0FDNEIifQ==
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.genRSAKeys = genRSAKeys;
|
|
7
|
-
exports.encryptRSA = encryptRSA;
|
|
8
|
-
exports.decryptRSA = decryptRSA;
|
|
9
|
-
const node_crypto_1 = require("node:crypto");
|
|
10
|
-
const node_rsa_1 = __importDefault(require("node-rsa"));
|
|
1
|
+
import { generateKeyPairSync } from 'node:crypto';
|
|
2
|
+
import NodeRSA from 'node-rsa';
|
|
11
3
|
// generate rsa key pair
|
|
12
|
-
function genRSAKeys() {
|
|
13
|
-
const key =
|
|
4
|
+
export function genRSAKeys() {
|
|
5
|
+
const key = generateKeyPairSync('rsa', {
|
|
14
6
|
modulusLength: 512,
|
|
15
7
|
});
|
|
16
8
|
const publicKey = key.publicKey.export({
|
|
@@ -24,19 +16,19 @@ function genRSAKeys() {
|
|
|
24
16
|
return { publicKey, privateKey };
|
|
25
17
|
}
|
|
26
18
|
// encrypt rsa private key
|
|
27
|
-
function encryptRSA(publicKey, plainText) {
|
|
28
|
-
const key = new
|
|
19
|
+
export function encryptRSA(publicKey, plainText) {
|
|
20
|
+
const key = new NodeRSA(publicKey, 'pkcs1-public-pem', {
|
|
29
21
|
encryptionScheme: 'pkcs1',
|
|
30
22
|
environment: 'browser',
|
|
31
23
|
});
|
|
32
24
|
return key.encrypt(plainText, 'base64');
|
|
33
25
|
}
|
|
34
26
|
// decrypt rsa private key
|
|
35
|
-
function decryptRSA(privateKey, encryptedBase64) {
|
|
36
|
-
const key = new
|
|
27
|
+
export function decryptRSA(privateKey, encryptedBase64) {
|
|
28
|
+
const key = new NodeRSA(privateKey, 'pkcs1-private-pem', {
|
|
37
29
|
encryptionScheme: 'pkcs1',
|
|
38
30
|
environment: 'browser',
|
|
39
31
|
});
|
|
40
32
|
return key.decrypt(encryptedBase64, 'utf8');
|
|
41
33
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwcC9jb21tb24vQ3J5cHRvVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBRS9CLHdCQUF3QjtBQUN4QixNQUFNLFVBQVUsVUFBVTtJQUN4QixNQUFNLEdBQUcsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUU7UUFDckMsYUFBYSxFQUFFLEdBQUc7S0FDbkIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDckMsSUFBSSxFQUFFLE9BQU87UUFDYixNQUFNLEVBQUUsS0FBSztLQUNkLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDdkMsSUFBSSxFQUFFLE9BQU87UUFDYixNQUFNLEVBQUUsS0FBSztLQUNkLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQztBQUNuQyxDQUFDO0FBRUQsMEJBQTBCO0FBQzFCLE1BQU0sVUFBVSxVQUFVLENBQUMsU0FBaUIsRUFBRSxTQUFpQjtJQUM3RCxNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUU7UUFDckQsZ0JBQWdCLEVBQUUsT0FBTztRQUN6QixXQUFXLEVBQUUsU0FBUztLQUN2QixDQUFDLENBQUM7SUFDSCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFFRCwwQkFBMEI7QUFDMUIsTUFBTSxVQUFVLFVBQVUsQ0FBQyxVQUFrQixFQUFFLGVBQXVCO0lBQ3BFLE1BQU0sR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRSxtQkFBbUIsRUFBRTtRQUN2RCxnQkFBZ0IsRUFBRSxPQUFPO1FBQ3pCLFdBQVcsRUFBRSxTQUFTO0tBQ3ZCLENBQUMsQ0FBQztJQUNILE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDOUMsQ0FBQyJ9
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isTimeoutError = isTimeoutError;
|
|
4
1
|
const TimeoutErrorNames = [
|
|
5
2
|
'HttpClientRequestTimeoutError',
|
|
6
3
|
'HttpClientConnectTimeoutError',
|
|
@@ -9,7 +6,7 @@ const TimeoutErrorNames = [
|
|
|
9
6
|
'BodyTimeoutError',
|
|
10
7
|
'ResponseTimeoutError',
|
|
11
8
|
];
|
|
12
|
-
function isTimeoutError(err) {
|
|
9
|
+
export function isTimeoutError(err) {
|
|
13
10
|
if (TimeoutErrorNames.includes(err.name)) {
|
|
14
11
|
return true;
|
|
15
12
|
}
|
|
@@ -27,4 +24,4 @@ function isTimeoutError(err) {
|
|
|
27
24
|
}
|
|
28
25
|
return false;
|
|
29
26
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBwL2NvbW1vbi9FcnJvclV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxpQkFBaUIsR0FBRztJQUN4QiwrQkFBK0I7SUFDL0IsK0JBQStCO0lBQy9CLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLHNCQUFzQjtDQUN2QixDQUFDO0FBRUYsTUFBTSxVQUFVLGNBQWMsQ0FBQyxHQUFVO0lBQ3ZDLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksR0FBRyxZQUFZLGNBQWMsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEQsS0FBSyxNQUFNLFFBQVEsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEMsSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzlDLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBSSxPQUFPLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLFlBQVksS0FBSyxFQUFFLENBQUM7UUFDakQsSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQy9DLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMifQ==
|
|
@@ -1,37 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const promises_1 = require("node:fs/promises");
|
|
11
|
-
const node_fs_1 = require("node:fs");
|
|
12
|
-
const promises_2 = require("node:timers/promises");
|
|
13
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
14
|
-
const node_url_1 = __importDefault(require("node:url"));
|
|
15
|
-
const node_crypto_1 = require("node:crypto");
|
|
16
|
-
const mime_types_1 = __importDefault(require("mime-types"));
|
|
17
|
-
const dayjs_1 = __importDefault(require("./dayjs"));
|
|
18
|
-
async function createTempDir(dataDir, dirname) {
|
|
1
|
+
import { mkdir, rm } from 'node:fs/promises';
|
|
2
|
+
import { createWriteStream } from 'node:fs';
|
|
3
|
+
import { setTimeout } from 'node:timers/promises';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import url from 'node:url';
|
|
6
|
+
import { randomBytes } from 'node:crypto';
|
|
7
|
+
import mime from 'mime-types';
|
|
8
|
+
import dayjs from './dayjs.js';
|
|
9
|
+
export async function createTempDir(dataDir, dirname) {
|
|
19
10
|
// will auto clean on CleanTempDir Schedule
|
|
20
|
-
let tmpdir =
|
|
11
|
+
let tmpdir = path.join(dataDir, 'downloads', dayjs().format('YYYY/MM/DD'));
|
|
21
12
|
if (dirname) {
|
|
22
|
-
tmpdir =
|
|
13
|
+
tmpdir = path.join(tmpdir, dirname);
|
|
23
14
|
}
|
|
24
|
-
await
|
|
15
|
+
await mkdir(tmpdir, { recursive: true });
|
|
25
16
|
return tmpdir;
|
|
26
17
|
}
|
|
27
|
-
async function createTempfile(dataDir, filename) {
|
|
18
|
+
export async function createTempfile(dataDir, filename) {
|
|
28
19
|
const tmpdir = await createTempDir(dataDir);
|
|
29
20
|
// The filename is a URL (from dist.tarball), which needs to be truncated, (`getconf NAME_MAX /` # max filename length: 255 bytes)
|
|
30
21
|
// https://github.com/cnpm/cnpmjs.org/pull/1345
|
|
31
|
-
const tmpfile =
|
|
22
|
+
const tmpfile = path.join(tmpdir, `${randomBytes(10).toString('hex')}-${path.basename(url.parse(filename).pathname)}`);
|
|
32
23
|
return tmpfile;
|
|
33
24
|
}
|
|
34
|
-
async function downloadToTempfile(httpclient, dataDir, url, optionalConfig) {
|
|
25
|
+
export async function downloadToTempfile(httpclient, dataDir, url, optionalConfig) {
|
|
35
26
|
let retries = optionalConfig?.retries || 3;
|
|
36
27
|
let lastError;
|
|
37
28
|
while (retries > 0) {
|
|
@@ -47,14 +38,14 @@ async function downloadToTempfile(httpclient, dataDir, url, optionalConfig) {
|
|
|
47
38
|
if (retries > 0) {
|
|
48
39
|
// sleep 1s ~ 4s in random
|
|
49
40
|
const delay = process.env.NODE_ENV === 'test' ? 1 : 1000 + Math.random() * 4000;
|
|
50
|
-
await
|
|
41
|
+
await setTimeout(delay);
|
|
51
42
|
}
|
|
52
43
|
}
|
|
53
44
|
throw lastError;
|
|
54
45
|
}
|
|
55
46
|
async function _downloadToTempfile(httpclient, dataDir, url, optionalConfig) {
|
|
56
47
|
const tmpfile = await createTempfile(dataDir, url);
|
|
57
|
-
const writeStream =
|
|
48
|
+
const writeStream = createWriteStream(tmpfile);
|
|
58
49
|
try {
|
|
59
50
|
// max 10 mins to download
|
|
60
51
|
// FIXME: should show download progress
|
|
@@ -86,7 +77,7 @@ async function _downloadToTempfile(httpclient, dataDir, url, optionalConfig) {
|
|
|
86
77
|
};
|
|
87
78
|
}
|
|
88
79
|
catch (err) {
|
|
89
|
-
await
|
|
80
|
+
await rm(tmpfile, { force: true });
|
|
90
81
|
throw err;
|
|
91
82
|
}
|
|
92
83
|
}
|
|
@@ -103,14 +94,14 @@ const WHITE_FILENAME_CONTENT_TYPES = {
|
|
|
103
94
|
'.jshintrc': 'application/json',
|
|
104
95
|
'.eslintrc': 'application/json',
|
|
105
96
|
};
|
|
106
|
-
function mimeLookup(filepath) {
|
|
107
|
-
const filename =
|
|
97
|
+
export function mimeLookup(filepath) {
|
|
98
|
+
const filename = path.basename(filepath).toLowerCase();
|
|
108
99
|
if (filename.endsWith('.ts'))
|
|
109
100
|
return PLAIN_TEXT;
|
|
110
101
|
if (filename.endsWith('.lock'))
|
|
111
102
|
return PLAIN_TEXT;
|
|
112
|
-
return
|
|
103
|
+
return mime.lookup(filename) ||
|
|
113
104
|
WHITE_FILENAME_CONTENT_TYPES[filename] ||
|
|
114
105
|
DEFAULT_CONTENT_TYPE;
|
|
115
106
|
}
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvY29tbW9uL0ZpbGVVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxHQUFHLE1BQU0sVUFBVSxDQUFDO0FBQzNCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUMsT0FBTyxJQUFJLE1BQU0sWUFBWSxDQUFDO0FBQzlCLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQVEvQixNQUFNLENBQUMsS0FBSyxVQUFVLGFBQWEsQ0FBQyxPQUFlLEVBQUUsT0FBZ0I7SUFDbkUsMkNBQTJDO0lBQzNDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUMzRSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxNQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN6QyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQUMsT0FBZSxFQUFFLFFBQWdCO0lBQ3BFLE1BQU0sTUFBTSxHQUFHLE1BQU0sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLGtJQUFr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
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isoNow = isoNow;
|
|
4
|
-
function isoNow() {
|
|
1
|
+
export function isoNow() {
|
|
5
2
|
return new Date().toISOString();
|
|
6
3
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwcC9jb21tb24vTG9nVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsTUFBTTtJQUNwQixPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDbEMsQ0FBQyJ9
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AuthorType, PackageJSONType } from '../repository/PackageRepository';
|
|
1
|
+
import type { AuthorType, PackageJSONType } from '../repository/PackageRepository.js';
|
|
2
2
|
export declare const FULLNAME_REG_STRING = "@[^/]{1,220}/[^/]{1,220}|@[^%]+%2[fF][^/]{1,220}|[^@/]{1,220}";
|
|
3
3
|
export declare function getScopeAndName(fullname: string): string[];
|
|
4
4
|
export declare function getFullname(scope: string, name: string): string;
|
|
@@ -1,83 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.FULLNAME_REG_STRING = void 0;
|
|
40
|
-
exports.getScopeAndName = getScopeAndName;
|
|
41
|
-
exports.getFullname = getFullname;
|
|
42
|
-
exports.cleanUserPrefix = cleanUserPrefix;
|
|
43
|
-
exports.getPrefixedName = getPrefixedName;
|
|
44
|
-
exports.calculateIntegrity = calculateIntegrity;
|
|
45
|
-
exports.formatTarball = formatTarball;
|
|
46
|
-
exports.detectInstallScript = detectInstallScript;
|
|
47
|
-
exports.hasShrinkWrapInTgz = hasShrinkWrapInTgz;
|
|
48
|
-
exports.formatAuthor = formatAuthor;
|
|
49
|
-
exports.extractPackageJSON = extractPackageJSON;
|
|
50
|
-
const node_fs_1 = require("node:fs");
|
|
51
|
-
const node_stream_1 = require("node:stream");
|
|
52
|
-
const promises_1 = require("node:stream/promises");
|
|
53
|
-
const ssri = __importStar(require("ssri"));
|
|
54
|
-
const tar_1 = __importDefault(require("@fengmk2/tar"));
|
|
1
|
+
import { createReadStream } from 'node:fs';
|
|
2
|
+
import { Readable } from 'node:stream';
|
|
3
|
+
import { pipeline } from 'node:stream/promises';
|
|
4
|
+
import * as ssri from 'ssri';
|
|
5
|
+
// @ts-expect-error type error
|
|
6
|
+
import tar from '@fengmk2/tar';
|
|
55
7
|
// /@cnpm%2ffoo
|
|
56
8
|
// /@cnpm%2Ffoo
|
|
57
9
|
// /@cnpm/foo
|
|
58
10
|
// /foo
|
|
59
11
|
// name max length is 214 chars
|
|
60
12
|
// https://www.npmjs.com/package/path-to-regexp#custom-matching-parameters
|
|
61
|
-
|
|
62
|
-
function getScopeAndName(fullname) {
|
|
13
|
+
export const FULLNAME_REG_STRING = '@[^/]{1,220}/[^/]{1,220}|@[^%]+%2[fF][^/]{1,220}|[^@/]{1,220}';
|
|
14
|
+
export function getScopeAndName(fullname) {
|
|
63
15
|
if (fullname.startsWith('@')) {
|
|
64
16
|
return fullname.split('/', 2);
|
|
65
17
|
}
|
|
66
18
|
return ['', fullname];
|
|
67
19
|
}
|
|
68
|
-
function getFullname(scope, name) {
|
|
20
|
+
export function getFullname(scope, name) {
|
|
69
21
|
return scope ? `${scope}/${name}` : name;
|
|
70
22
|
}
|
|
71
|
-
function cleanUserPrefix(username) {
|
|
23
|
+
export function cleanUserPrefix(username) {
|
|
72
24
|
return username.replace(/^.*:/, '');
|
|
73
25
|
}
|
|
74
|
-
function getPrefixedName(prefix, username) {
|
|
26
|
+
export function getPrefixedName(prefix, username) {
|
|
75
27
|
return prefix ? `${prefix}${username}` : username;
|
|
76
28
|
}
|
|
77
|
-
async function calculateIntegrity(contentOrFile) {
|
|
29
|
+
export async function calculateIntegrity(contentOrFile) {
|
|
78
30
|
let integrityObj;
|
|
79
31
|
if (typeof contentOrFile === 'string') {
|
|
80
|
-
integrityObj = await ssri.fromStream(
|
|
32
|
+
integrityObj = await ssri.fromStream(createReadStream(contentOrFile), {
|
|
81
33
|
algorithms: ['sha512', 'sha1'],
|
|
82
34
|
});
|
|
83
35
|
}
|
|
@@ -90,11 +42,11 @@ async function calculateIntegrity(contentOrFile) {
|
|
|
90
42
|
const shasum = integrityObj.sha1[0].hexDigest();
|
|
91
43
|
return { integrity, shasum };
|
|
92
44
|
}
|
|
93
|
-
function formatTarball(registry, scope, name, version) {
|
|
45
|
+
export function formatTarball(registry, scope, name, version) {
|
|
94
46
|
const fullname = getFullname(scope, name);
|
|
95
47
|
return `${registry}/${fullname}/-/${name}-${version}.tgz`;
|
|
96
48
|
}
|
|
97
|
-
function detectInstallScript(manifest) {
|
|
49
|
+
export function detectInstallScript(manifest) {
|
|
98
50
|
// https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#abbreviated-version-object
|
|
99
51
|
let hasInstallScript = false;
|
|
100
52
|
const scripts = manifest.scripts;
|
|
@@ -107,13 +59,13 @@ function detectInstallScript(manifest) {
|
|
|
107
59
|
return hasInstallScript;
|
|
108
60
|
}
|
|
109
61
|
/** 判断一个版本压缩包中是否包含 npm-shrinkwrap.json */
|
|
110
|
-
async function hasShrinkWrapInTgz(contentOrFile) {
|
|
62
|
+
export async function hasShrinkWrapInTgz(contentOrFile) {
|
|
111
63
|
let readable;
|
|
112
64
|
if (typeof contentOrFile === 'string') {
|
|
113
|
-
readable =
|
|
65
|
+
readable = createReadStream(contentOrFile);
|
|
114
66
|
}
|
|
115
67
|
else {
|
|
116
|
-
readable = new
|
|
68
|
+
readable = new Readable({
|
|
117
69
|
read() {
|
|
118
70
|
this.push(contentOrFile);
|
|
119
71
|
this.push(null);
|
|
@@ -122,7 +74,7 @@ async function hasShrinkWrapInTgz(contentOrFile) {
|
|
|
122
74
|
}
|
|
123
75
|
let hasShrinkWrap = false;
|
|
124
76
|
const abortController = new AbortController();
|
|
125
|
-
const parser =
|
|
77
|
+
const parser = tar.t({
|
|
126
78
|
// options.strict 默认为 false,会忽略 Recoverable errors,例如 tar 解析失败
|
|
127
79
|
// 详见 https://github.com/isaacs/node-tar#warnings-and-errors
|
|
128
80
|
onentry(entry) {
|
|
@@ -133,7 +85,7 @@ async function hasShrinkWrapInTgz(contentOrFile) {
|
|
|
133
85
|
},
|
|
134
86
|
});
|
|
135
87
|
try {
|
|
136
|
-
await
|
|
88
|
+
await pipeline(readable, parser, { signal: abortController.signal });
|
|
137
89
|
return hasShrinkWrap;
|
|
138
90
|
}
|
|
139
91
|
catch (e) {
|
|
@@ -144,7 +96,7 @@ async function hasShrinkWrapInTgz(contentOrFile) {
|
|
|
144
96
|
}
|
|
145
97
|
}
|
|
146
98
|
/** 写入 ES 时,格式化 author */
|
|
147
|
-
function formatAuthor(author) {
|
|
99
|
+
export function formatAuthor(author) {
|
|
148
100
|
if (author === undefined) {
|
|
149
101
|
return author;
|
|
150
102
|
}
|
|
@@ -153,11 +105,11 @@ function formatAuthor(author) {
|
|
|
153
105
|
}
|
|
154
106
|
return author;
|
|
155
107
|
}
|
|
156
|
-
async function extractPackageJSON(tarballBytes) {
|
|
108
|
+
export async function extractPackageJSON(tarballBytes) {
|
|
157
109
|
return new Promise((resolve, reject) => {
|
|
158
|
-
|
|
159
|
-
.pipe(
|
|
160
|
-
filter: name => name === 'package/package.json',
|
|
110
|
+
Readable.from(tarballBytes)
|
|
111
|
+
.pipe(tar.t({
|
|
112
|
+
filter: (name) => name === 'package/package.json',
|
|
161
113
|
onentry: async (entry) => {
|
|
162
114
|
const chunks = [];
|
|
163
115
|
for await (const chunk of entry) {
|
|
@@ -167,11 +119,11 @@ async function extractPackageJSON(tarballBytes) {
|
|
|
167
119
|
const data = Buffer.concat(chunks);
|
|
168
120
|
return resolve(JSON.parse(data.toString()));
|
|
169
121
|
}
|
|
170
|
-
catch
|
|
122
|
+
catch {
|
|
171
123
|
reject(new Error('Error parsing package.json'));
|
|
172
124
|
}
|
|
173
125
|
},
|
|
174
126
|
}));
|
|
175
127
|
});
|
|
176
128
|
}
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvY29tbW9uL1BhY2thZ2VVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3Qiw4QkFBOEI7QUFDOUIsT0FBTyxHQUFHLE1BQU0sY0FBYyxDQUFDO0FBSS9CLGVBQWU7QUFDZixlQUFlO0FBQ2YsYUFBYTtBQUNiLE9BQU87QUFDUCwrQkFBK0I7QUFDL0IsMEVBQTBFO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLCtEQUErRCxDQUFDO0FBRW5HLE1BQU0sVUFBVSxlQUFlLENBQUMsUUFBZ0I7SUFDOUMsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0IsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsT0FBTyxDQUFFLEVBQUUsRUFBRSxRQUFRLENBQUUsQ0FBQztBQUMxQixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFhLEVBQUUsSUFBWTtJQUNyRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxRQUFnQjtJQUM5QyxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1B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
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isSyncWorkerRequest = isSyncWorkerRequest;
|
|
4
|
-
function isSyncWorkerRequest(ctx) {
|
|
1
|
+
export function isSyncWorkerRequest(ctx) {
|
|
5
2
|
// sync request will contain this query params
|
|
6
3
|
let isSyncWorkerRequest = ctx.query.cache === '0';
|
|
7
4
|
if (!isSyncWorkerRequest) {
|
|
@@ -13,4 +10,4 @@ function isSyncWorkerRequest(ctx) {
|
|
|
13
10
|
}
|
|
14
11
|
return isSyncWorkerRequest;
|
|
15
12
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3luY1V0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvY29tbW9uL1N5bmNVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxHQUFlO0lBQ2pELDhDQUE4QztJQUM5QyxJQUFJLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQztJQUNsRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUN6QixNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxxREFBcUQ7UUFDckQsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQztZQUMzQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLG1CQUFtQixDQUFDO0FBQzdCLENBQUMifQ==
|
|
@@ -1,62 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.randomToken = randomToken;
|
|
40
|
-
exports.checkToken = checkToken;
|
|
41
|
-
exports.integrity = integrity;
|
|
42
|
-
exports.checkIntegrity = checkIntegrity;
|
|
43
|
-
exports.sha512 = sha512;
|
|
44
|
-
exports.getUAInfo = getUAInfo;
|
|
45
|
-
exports.getBrowserTypeForWebauthn = getBrowserTypeForWebauthn;
|
|
46
|
-
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
47
|
-
const base_x_1 = __importDefault(require("base-x"));
|
|
48
|
-
const crc32_1 = require("@node-rs/crc32");
|
|
49
|
-
const ssri = __importStar(require("ssri"));
|
|
50
|
-
const ua_parser_js_1 = __importDefault(require("ua-parser-js"));
|
|
51
|
-
const base62 = (0, base_x_1.default)('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
|
|
1
|
+
import crypto from 'node:crypto';
|
|
2
|
+
import base from 'base-x';
|
|
3
|
+
import { crc32 } from '@node-rs/crc32';
|
|
4
|
+
import * as ssri from 'ssri';
|
|
5
|
+
import UAParser from 'ua-parser-js';
|
|
6
|
+
const base62 = base('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
|
|
52
7
|
const crc32Buffer = Buffer.alloc(4);
|
|
53
|
-
function randomToken(prefix) {
|
|
54
|
-
const bytes =
|
|
55
|
-
const crc =
|
|
8
|
+
export function randomToken(prefix) {
|
|
9
|
+
const bytes = crypto.randomBytes(24);
|
|
10
|
+
const crc = crc32(bytes);
|
|
56
11
|
crc32Buffer.writeUInt32BE(crc);
|
|
57
12
|
return `${prefix}_${base62.encode(bytes)}_${base62.encode(crc32Buffer)}`;
|
|
58
13
|
}
|
|
59
|
-
function checkToken(token, prefix) {
|
|
14
|
+
export function checkToken(token, prefix) {
|
|
60
15
|
const splits = token.split('_');
|
|
61
16
|
if (splits.length !== 3)
|
|
62
17
|
return false;
|
|
@@ -65,28 +20,28 @@ function checkToken(token, prefix) {
|
|
|
65
20
|
try {
|
|
66
21
|
const bytes = base62.decode(splits[1]);
|
|
67
22
|
const crcBytes = base62.decode(splits[2]);
|
|
68
|
-
return crcBytes.readUInt32BE(0) ===
|
|
23
|
+
return crcBytes.readUInt32BE(0) === crc32(bytes);
|
|
69
24
|
}
|
|
70
25
|
catch {
|
|
71
26
|
return false;
|
|
72
27
|
}
|
|
73
28
|
}
|
|
74
|
-
function integrity(plain) {
|
|
29
|
+
export function integrity(plain) {
|
|
75
30
|
return ssri.create().update(plain).digest()
|
|
76
31
|
.toString();
|
|
77
32
|
}
|
|
78
|
-
function checkIntegrity(plain, expectedIntegrity) {
|
|
33
|
+
export function checkIntegrity(plain, expectedIntegrity) {
|
|
79
34
|
return !!ssri.checkData(plain, expectedIntegrity);
|
|
80
35
|
}
|
|
81
|
-
function sha512(plain) {
|
|
82
|
-
return
|
|
36
|
+
export function sha512(plain) {
|
|
37
|
+
return crypto.createHash('sha512').update(plain).digest('hex');
|
|
83
38
|
}
|
|
84
|
-
function getUAInfo(userAgent) {
|
|
39
|
+
export function getUAInfo(userAgent) {
|
|
85
40
|
if (!userAgent)
|
|
86
41
|
return null;
|
|
87
|
-
return new
|
|
42
|
+
return new UAParser(userAgent);
|
|
88
43
|
}
|
|
89
|
-
function getBrowserTypeForWebauthn(userAgent) {
|
|
44
|
+
export function getBrowserTypeForWebauthn(userAgent) {
|
|
90
45
|
const ua = getUAInfo(userAgent);
|
|
91
46
|
if (!ua)
|
|
92
47
|
return null;
|
|
@@ -97,4 +52,4 @@ function getBrowserTypeForWebauthn(userAgent) {
|
|
|
97
52
|
return ua.getBrowser().name;
|
|
98
53
|
return null;
|
|
99
54
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlclV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvY29tbW9uL1VzZXJVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxRQUFRLENBQUM7QUFDMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sUUFBUSxNQUFNLGNBQWMsQ0FBQztBQUVwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztBQUV0RixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXBDLE1BQU0sVUFBVSxXQUFXLENBQUMsTUFBYztJQUN4QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixXQUFXLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLE9BQU8sR0FBRyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7QUFDM0UsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsS0FBYSxFQUFFLE1BQWM7SUFDdEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3RDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU07UUFBRSxPQUFPLEtBQUssQ0FBQztJQUN2QyxJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNyQyxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFO1NBQ3hDLFFBQVEsRUFBRSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQWEsRUFBRSxpQkFBeUI7SUFDckUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxLQUFhO0lBQ2xDLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLFNBQWtCO0lBQzFDLElBQUksQ0FBQyxTQUFTO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDNUIsT0FBTyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLFNBQWtCO0lBQzFELE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQyxJQUFJLENBQUMsRUFBRTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixJQUFJLEVBQUUsQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUztRQUFFLE9BQU8sUUFBUSxDQUFDO0lBQ2hFLElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxRQUFRO1FBQUUsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ3RELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyJ9
|