@uapkg/cli 1.3.2 → 1.5.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 +3 -0
- package/dist/build/BuildMetadata.js +2 -2
- package/dist/cli-bootstrap.js +19846 -13
- package/dist/cli.js +1 -1
- package/dist/index.js +19980 -60
- package/dist/licenses/semver-LICENSE +15 -0
- package/dist/profile.js +25 -0
- package/dist/runtime-lock.json +2142 -0
- package/dist/{app → types/uapkg/app}/CompositionRoot.d.ts +4 -5
- package/dist/{app → types/uapkg/app}/UAPKGApplication.d.ts +0 -1
- package/dist/{build → types/uapkg/build}/BuildMetadata.d.ts +1 -2
- package/dist/types/uapkg/cli/DebugEnvironment.d.ts +15 -0
- package/dist/types/uapkg/cli/DebugInfo.d.ts +15 -0
- package/dist/{cli → types/uapkg/cli}/UAPKGCommandLine.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parseCommandLine.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/UAPKGCommandLineParser.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/UAPKGParserRegistry.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/contracts/UAPKGCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/AddCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/ConfigCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/InitCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/InstallCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/LifecycleCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/ListCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/LoginCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/LogoutCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/OutdatedCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/PackCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/ProjectGetNameCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/PublishCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/RegistryCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/RemoveCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/RequestsCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/UpdateCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/WhoamiCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/WhyCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/sharedOptions.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/runUAPKGCLI.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/AddCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/Command.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/ConfigCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/InitCommand.d.ts +1 -2
- package/dist/{commands → types/uapkg/commands}/InstallCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/ListCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/LoginCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/LogoutCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/OutdatedCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/PackCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/PackageLifecycleCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/PostinstallCandidateBuilder.d.ts +2 -3
- package/dist/{commands → types/uapkg/commands}/ProjectGetNameCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/PublishCommand.d.ts +1 -2
- package/dist/{commands → types/uapkg/commands}/RegistryCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/RemoveCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/RequestsCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/UpdateCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/WhoamiCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/WhyCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/add/DependencyAddResolver.d.ts +3 -4
- package/dist/{control-plane → types/uapkg/control-plane}/AccountManager.d.ts +1 -2
- package/dist/{control-plane → types/uapkg/control-plane}/ArtifactObserver.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/AuthMetadataStore.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/AuthStoragePaths.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/AuthenticationSelector.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/ControlPlaneClient.d.ts +1 -2
- package/dist/{control-plane → types/uapkg/control-plane}/ControlPlaneEndpoints.d.ts +1 -2
- package/dist/{control-plane → types/uapkg/control-plane}/ControlPlaneTypes.d.ts +4 -2
- package/dist/{control-plane → types/uapkg/control-plane}/CredentialStore.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/DPoPKeyStore.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/GitHubActionsOidcCredentialProvider.d.ts +4 -3
- package/dist/{control-plane → types/uapkg/control-plane}/PublishIdempotencyStore.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/PublishRequestErrorMapper.d.ts +1 -2
- package/dist/{control-plane → types/uapkg/control-plane}/RegistryGrantLock.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/RegistryTrustResolver.d.ts +0 -1
- package/dist/types/uapkg/control-plane/RequestWatch.d.ts +15 -0
- package/dist/types/uapkg/control-plane/RetryAfter.d.ts +6 -0
- package/dist/{postinstall → types/uapkg/postinstall}/api/PostinstallDsl.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/api/definePostinstall.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/loader/EntryResolver.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/loader/EsbuildTranspiler.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/loader/ExportValidator.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/loader/ModuleImporter.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/loader/PostinstallLoader.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/markers/MarkerBlockEditor.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/markers/MarkerBlockService.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/markers/MarkerIntegrityValidator.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/policy/PostinstallPolicyGate.d.ts +2 -3
- package/dist/{postinstall → types/uapkg/postinstall}/runner/PostinstallOrchestrator.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/BuildCsInjector.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/CSharpInjectionEngine.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/CSharpStructureAnalyzer.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/CSharpStructures.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/CSharpWrapperFactory.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/PluginHash.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/PrettyParseError.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/ProjectFileLocator.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/TargetCsInjector.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/UProjectInjector.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/UProjectMetadataReader.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/UnrealSourceCatalog.d.ts +0 -1
- package/dist/{prompts → types/uapkg/prompts}/InkPromptService.d.ts +0 -1
- package/dist/{prompts → types/uapkg/prompts}/ProjectContextDetector.d.ts +1 -2
- package/dist/{prompts → types/uapkg/prompts}/PromptService.d.ts +0 -1
- package/dist/{reporting → types/uapkg/reporting}/DiagnosticDeduplicator.d.ts +1 -2
- package/dist/{reporting → types/uapkg/reporting}/DiagnosticRenderer.d.ts +1 -2
- package/dist/{reporting → types/uapkg/reporting}/DiagnosticReporter.d.ts +1 -2
- package/dist/{reporting → types/uapkg/reporting}/InkDiagnosticRenderer.d.ts +2 -3
- package/dist/{reporting → types/uapkg/reporting}/InstallProgressReporter.d.ts +1 -2
- package/dist/{reporting → types/uapkg/reporting}/JsonReporter.d.ts +1 -2
- package/dist/{reporting → types/uapkg/reporting}/RegistryRequestTerminalFormatter.d.ts +0 -1
- package/dist/{reporting → types/uapkg/reporting}/TextDiagnosticRenderer.d.ts +1 -2
- package/dist/{reporting → types/uapkg/reporting}/TextSink.d.ts +1 -2
- package/dist/types/uapkg-common/format/prettyBytes.d.ts +19 -0
- package/dist/types/uapkg-common/hash/registryIdentifier.d.ts +28 -0
- package/dist/types/uapkg-common/hash/sha256.d.ts +12 -0
- package/dist/types/uapkg-common/index.d.ts +10 -0
- package/dist/types/uapkg-common/json/safeJsonParse.d.ts +9 -0
- package/dist/types/uapkg-common/json/stableStringify.d.ts +9 -0
- package/dist/types/uapkg-common/normalize/normalizeUrl.d.ts +11 -0
- package/dist/types/uapkg-common/paths/forwardSlash.d.ts +12 -0
- package/dist/types/uapkg-common/runtime/UapkgRuntimeProfile.d.ts +19 -0
- package/dist/types/uapkg-common/spec/parsePackageSpec.d.ts +21 -0
- package/dist/types/uapkg-common-schema/brand/Brand.d.ts +15 -0
- package/dist/types/uapkg-common-schema/index.d.ts +17 -0
- package/dist/types/uapkg-common-schema/primitives/AssetHash.d.ts +11 -0
- package/dist/types/uapkg-common-schema/primitives/ConcurrencyCount.d.ts +11 -0
- package/dist/types/uapkg-common-schema/primitives/DurationSeconds.d.ts +11 -0
- package/dist/types/uapkg-common-schema/primitives/GitTree.d.ts +10 -0
- package/dist/types/uapkg-common-schema/primitives/InstallPath.d.ts +18 -0
- package/dist/types/uapkg-common-schema/primitives/OrgName.d.ts +12 -0
- package/dist/types/uapkg-common-schema/primitives/PackageName.d.ts +14 -0
- package/dist/types/uapkg-common-schema/primitives/PackageSpec.d.ts +21 -0
- package/dist/types/uapkg-common-schema/primitives/PackageVersion.d.ts +10 -0
- package/dist/types/uapkg-common-schema/primitives/PostInstallPolicy.d.ts +21 -0
- package/dist/types/uapkg-common-schema/primitives/RegistryIdentifier.d.ts +15 -0
- package/dist/types/uapkg-common-schema/primitives/RegistryName.d.ts +18 -0
- package/dist/types/uapkg-common-schema/primitives/RegistryURL.d.ts +10 -0
- package/dist/types/uapkg-common-schema/primitives/UnixTimestamp.d.ts +10 -0
- package/dist/types/uapkg-common-schema/primitives/VersionRange.d.ts +10 -0
- package/dist/types/uapkg-config/contracts/ConfigTypes.d.ts +58 -0
- package/dist/types/uapkg-config/core/ConfigInstance.d.ts +43 -0
- package/dist/types/uapkg-config/core/ConfigLayerBuilder.d.ts +13 -0
- package/dist/types/uapkg-config/core/ConfigResolver.d.ts +19 -0
- package/dist/types/uapkg-config/core/ConfigSemanticValidator.d.ts +13 -0
- package/dist/types/uapkg-config/core/ConfigWriter.d.ts +25 -0
- package/dist/types/uapkg-config/core/PostInstallPolicyResolver.d.ts +22 -0
- package/dist/types/uapkg-config/factory/createConfig.d.ts +6 -0
- package/dist/types/uapkg-config/files/ConfigFileRepository.d.ts +11 -0
- package/dist/types/uapkg-config/files/ConfigPathResolver.d.ts +14 -0
- package/dist/types/uapkg-config/index.d.ts +127 -0
- package/dist/types/uapkg-config/merge/ConfigMerger.d.ts +10 -0
- package/dist/types/uapkg-config/merge/ConfigSchemaMergeEngine.d.ts +26 -0
- package/dist/types/uapkg-config/schema/configSchema.d.ts +114 -0
- package/dist/types/uapkg-config/schema/pathSchema.d.ts +12 -0
- package/dist/types/uapkg-config/schema/runtime/ConfigCliValueParser.d.ts +18 -0
- package/dist/types/uapkg-config/schema/runtime/ConfigSchemaIntrospection.d.ts +13 -0
- package/dist/types/uapkg-config/schema/runtime/ConfigSchemaRuntime.d.ts +26 -0
- package/dist/types/uapkg-config/schema/runtime/ConfigSchemaRuntimeProvider.d.ts +7 -0
- package/dist/types/uapkg-diagnostics/base/Diagnostic.d.ts +32 -0
- package/dist/types/uapkg-diagnostics/base/DiagnosticBag.d.ts +44 -0
- package/dist/types/uapkg-diagnostics/base/DiagnosticFingerprint.d.ts +12 -0
- package/dist/types/uapkg-diagnostics/base/DiagnosticLevel.d.ts +11 -0
- package/dist/types/uapkg-diagnostics/base/Result.d.ts +26 -0
- package/dist/types/uapkg-diagnostics/config/ConfigDiagnostics.d.ts +49 -0
- package/dist/types/uapkg-diagnostics/controlPlane/ControlPlaneDiagnostics.d.ts +25 -0
- package/dist/types/uapkg-diagnostics/general/GeneralDiagnostics.d.ts +23 -0
- package/dist/types/uapkg-diagnostics/index.d.ts +20 -0
- package/dist/types/uapkg-diagnostics/installer/InstallerDiagnostics.d.ts +55 -0
- package/dist/types/uapkg-diagnostics/manifest/ManifestDiagnostics.d.ts +70 -0
- package/dist/types/uapkg-diagnostics/pack/PackDiagnostics.d.ts +49 -0
- package/dist/types/uapkg-diagnostics/postinstall/PostinstallDiagnostics.d.ts +47 -0
- package/dist/types/uapkg-diagnostics/publishing/PublishingDiagnostics.d.ts +77 -0
- package/dist/types/uapkg-diagnostics/registry/RegistryDiagnostics.d.ts +71 -0
- package/dist/types/uapkg-diagnostics/registryTools/RegistryToolsDiagnostics.d.ts +130 -0
- package/dist/types/uapkg-diagnostics/resolver/ResolverDiagnostics.d.ts +38 -0
- package/dist/types/uapkg-diagnostics/safety/SafetyDiagnostics.d.ts +33 -0
- package/dist/types/uapkg-diagnostics/spec/SpecDiagnostics.d.ts +23 -0
- package/dist/types/uapkg-diagnostics/types.d.ts +37 -0
- package/dist/types/uapkg-diagnostics-format/contracts/FormatterTypes.d.ts +23 -0
- package/dist/types/uapkg-diagnostics-format/defaults/defaultFormatters.d.ts +8 -0
- package/dist/types/uapkg-diagnostics-format/formatters/PlainTextFormatter.d.ts +11 -0
- package/dist/types/uapkg-diagnostics-format/formatters/config/configFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/installer/installerFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/manifest/manifestFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/pack/packFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/postinstall/postinstallFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/publishing/publishingFormatters.d.ts +13 -0
- package/dist/types/uapkg-diagnostics-format/formatters/registry/registryFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/registryTools/registryToolsFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/resolver/resolverFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/safety/safetyFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/spec/specFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/index.d.ts +15 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/configInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/installerInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/manifestInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/packInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/postinstallInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/publishingInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/registryInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/resolverInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/safetyInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/specInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/contracts/InkTypes.d.ts +35 -0
- package/dist/types/uapkg-diagnostics-format/ink/defaults/defaultInkComponents.d.ts +15 -0
- package/dist/types/uapkg-diagnostics-format/ink/index.d.ts +17 -0
- package/dist/types/uapkg-diagnostics-format/ink/primitives/HintLine.d.ts +12 -0
- package/dist/types/uapkg-diagnostics-format/ink/primitives/PlainTextBody.d.ts +11 -0
- package/dist/types/uapkg-diagnostics-format/ink/primitives/SeverityBadge.d.ts +13 -0
- package/dist/types/uapkg-diagnostics-format/ink/registry/DiagnosticInkRegistry.d.ts +24 -0
- package/dist/types/uapkg-diagnostics-format/ink/views/DiagnosticView.d.ts +21 -0
- package/dist/types/uapkg-diagnostics-format/ink/views/DiagnosticsListView.d.ts +16 -0
- package/dist/types/uapkg-diagnostics-format/registry/FormatterRegistry.d.ts +26 -0
- package/dist/types/uapkg-diagnostics-format/utils/indent.d.ts +7 -0
- package/dist/types/uapkg-installer/contracts/InstallerTypes.d.ts +91 -0
- package/dist/types/uapkg-installer/contracts/SafetyPolicyTypes.d.ts +43 -0
- package/dist/types/uapkg-installer/contracts/StatusStreamTypes.d.ts +42 -0
- package/dist/types/uapkg-installer/core/ClaimsVerifier.d.ts +22 -0
- package/dist/types/uapkg-installer/core/DiskStateInspector.d.ts +29 -0
- package/dist/types/uapkg-installer/core/InstallPlanner.d.ts +35 -0
- package/dist/types/uapkg-installer/core/Installer.d.ts +61 -0
- package/dist/types/uapkg-installer/core/IntegrityVerifier.d.ts +16 -0
- package/dist/types/uapkg-installer/core/PackageDownloader.d.ts +40 -0
- package/dist/types/uapkg-installer/core/PackageExtractor.d.ts +20 -0
- package/dist/types/uapkg-installer/core/PackageRemover.d.ts +14 -0
- package/dist/types/uapkg-installer/index.d.ts +16 -0
- package/dist/types/uapkg-installer/safety/NoMarkerPolicy.d.ts +17 -0
- package/dist/types/uapkg-installer/safety/SafetyPolicyRegistry.d.ts +32 -0
- package/dist/types/uapkg-installer/status/SlotTable.d.ts +36 -0
- package/dist/types/uapkg-installer/status/StatusStream.d.ts +25 -0
- package/dist/types/uapkg-log/contracts/LoggerTypes.d.ts +22 -0
- package/dist/types/uapkg-log/core/LogLevelPolicy.d.ts +15 -0
- package/dist/types/uapkg-log/core/LoggerFactory.d.ts +11 -0
- package/dist/types/uapkg-log/core/LoggerInstance.d.ts +17 -0
- package/dist/types/uapkg-log/core/WinstonLoggerAdapter.d.ts +8 -0
- package/dist/types/uapkg-log/index.d.ts +8 -0
- package/dist/types/uapkg-pack/contracts/PackTypes.d.ts +29 -0
- package/dist/types/uapkg-pack/core/FileCrawler.d.ts +12 -0
- package/dist/types/uapkg-pack/core/IgnoreEvaluator.d.ts +7 -0
- package/dist/types/uapkg-pack/core/IgnoreRuleLoader.d.ts +14 -0
- package/dist/types/uapkg-pack/core/IntegrityWriter.d.ts +6 -0
- package/dist/types/uapkg-pack/core/LFSPointerDetector.d.ts +6 -0
- package/dist/types/uapkg-pack/core/PackArtifactExcluder.d.ts +11 -0
- package/dist/types/uapkg-pack/core/PackManifestReader.d.ts +8 -0
- package/dist/types/uapkg-pack/core/PackService.d.ts +32 -0
- package/dist/types/uapkg-pack/core/PluginDescriptorGuard.d.ts +11 -0
- package/dist/types/uapkg-pack/core/PluginRootResolver.d.ts +14 -0
- package/dist/types/uapkg-pack/core/TarArchiveWriter.d.ts +11 -0
- package/dist/types/uapkg-pack/index.d.ts +7 -0
- package/dist/types/uapkg-package-claims/archive/PackagedManifestReader.d.ts +28 -0
- package/dist/types/uapkg-package-claims/claims/ClaimsComparison.d.ts +44 -0
- package/dist/types/uapkg-package-claims/claims/PackageClaims.d.ts +9 -0
- package/dist/types/uapkg-package-claims/index.d.ts +7 -0
- package/dist/types/uapkg-package-claims/json/CanonicalJson.d.ts +17 -0
- package/dist/types/uapkg-package-claims/schema/PackageClaimsSchema.d.ts +27 -0
- package/dist/types/uapkg-package-claims/schema/index.d.ts +2 -0
- package/dist/types/uapkg-package-manifest/contracts/ManifestTypes.d.ts +37 -0
- package/dist/types/uapkg-package-manifest/core/DependencyMutator.d.ts +48 -0
- package/dist/types/uapkg-package-manifest/core/DevDependencyPolicy.d.ts +30 -0
- package/dist/types/uapkg-package-manifest/core/InstallPathResolver.d.ts +35 -0
- package/dist/types/uapkg-package-manifest/core/LockfileDiffer.d.ts +40 -0
- package/dist/types/uapkg-package-manifest/core/LockfileSyncIssue.d.ts +11 -0
- package/dist/types/uapkg-package-manifest/core/LockfileSyncValidator.d.ts +26 -0
- package/dist/types/uapkg-package-manifest/core/OutdatedChecker.d.ts +36 -0
- package/dist/types/uapkg-package-manifest/core/PackageManifest.d.ts +63 -0
- package/dist/types/uapkg-package-manifest/core/WhyGraph.d.ts +31 -0
- package/dist/types/uapkg-package-manifest/index.d.ts +18 -0
- package/dist/types/uapkg-package-manifest/io/LockfileReader.d.ts +12 -0
- package/dist/types/uapkg-package-manifest/io/LockfileSyncIssueWriter.d.ts +12 -0
- package/dist/types/uapkg-package-manifest/io/LockfileWriter.d.ts +11 -0
- package/dist/types/uapkg-package-manifest/io/ManifestReader.d.ts +12 -0
- package/dist/types/uapkg-package-manifest/io/ManifestWriter.d.ts +13 -0
- package/dist/types/uapkg-package-manifest/resolver/LockfileSync.d.ts +13 -0
- package/dist/types/uapkg-package-manifest/resolver/Resolver.d.ts +16 -0
- package/dist/types/uapkg-package-manifest-schema/index.d.ts +10 -0
- package/dist/types/uapkg-package-manifest-schema/lockfile/LockDependencySchema.d.ts +15 -0
- package/dist/types/uapkg-package-manifest-schema/lockfile/LockfileSchema.d.ts +22 -0
- package/dist/types/uapkg-package-manifest-schema/manifest/BaseManifestSchema.d.ts +56 -0
- package/dist/types/uapkg-package-manifest-schema/manifest/DependencySchema.d.ts +57 -0
- package/dist/types/uapkg-package-manifest-schema/manifest/ManifestKind.d.ts +17 -0
- package/dist/types/uapkg-package-manifest-schema/manifest/ManifestSchema.d.ts +106 -0
- package/dist/types/uapkg-package-manifest-schema/manifest/PluginManifestSchema.d.ts +52 -0
- package/dist/types/uapkg-package-manifest-schema/manifest/ProjectManifestSchema.d.ts +80 -0
- package/dist/types/uapkg-package-manifest-schema/manifest/PublishSchema.d.ts +15 -0
- package/dist/types/uapkg-registry-core/contracts/RegistryCoreTypes.d.ts +54 -0
- package/dist/types/uapkg-registry-core/core/RegistryCore.d.ts +26 -0
- package/dist/types/uapkg-registry-core/index.d.ts +14 -0
- package/dist/types/uapkg-registry-core/paths/RegistryPaths.d.ts +15 -0
- package/dist/types/uapkg-registry-core/registry/GitRunner.d.ts +31 -0
- package/dist/types/uapkg-registry-core/registry/Registry.d.ts +46 -0
- package/dist/types/uapkg-registry-core/registry/RegistryCacheValidator.d.ts +21 -0
- package/dist/types/uapkg-registry-core/registry/RegistryLock.d.ts +27 -0
- package/dist/types/uapkg-registry-core/registry/RegistryMetadataReader.d.ts +18 -0
- package/dist/types/uapkg-registry-core/registry/RegistryPackageReader.d.ts +24 -0
- package/dist/types/uapkg-registry-core/registry/RegistrySyncPolicy.d.ts +14 -0
- package/dist/types/uapkg-registry-core/registry/RegistryUpdater.d.ts +23 -0
- package/dist/types/uapkg-registry-core/registry/RegistryUrlSanitizer.d.ts +10 -0
- package/dist/types/uapkg-registry-core/resolution/PackageResolver.d.ts +21 -0
- package/dist/types/uapkg-registry-core/resolution/SemverSelectionPolicy.d.ts +36 -0
- package/dist/types/uapkg-registry-schema/index.d.ts +9 -0
- package/dist/types/uapkg-registry-schema/paths/RegistryPackagePath.d.ts +15 -0
- package/dist/types/uapkg-registry-schema/schemas/IntegritySchema.d.ts +12 -0
- package/dist/types/uapkg-registry-schema/schemas/PackageRegistryManifestSchema.d.ts +108 -0
- package/dist/types/uapkg-registry-schema/schemas/PackageSourceSchema.d.ts +12 -0
- package/dist/types/uapkg-registry-schema/schemas/RegistryAssetSchema.d.ts +15 -0
- package/dist/types/uapkg-registry-schema/schemas/RegistryDependencySchema.d.ts +36 -0
- package/dist/types/uapkg-registry-schema/schemas/RegistryMetaSchema.d.ts +29 -0
- package/dist/types/uapkg-registry-schema/schemas/RegistryVersionSchema.d.ts +71 -0
- package/dist/types/uapkg-registry-tools/aggregator/RegistryToolsAggregator.d.ts +45 -0
- package/dist/types/uapkg-registry-tools/contracts/RegistryToolsTypes.d.ts +116 -0
- package/dist/types/uapkg-registry-tools/index.d.ts +18 -0
- package/dist/types/uapkg-registry-tools/io/IntegrityCalculator.d.ts +20 -0
- package/dist/types/uapkg-registry-tools/io/ManifestStore.d.ts +41 -0
- package/dist/types/uapkg-registry-tools/listing/PackageLister.d.ts +22 -0
- package/dist/types/uapkg-registry-tools/mutation/AddPackageVersionPlanner.d.ts +25 -0
- package/dist/types/uapkg-registry-tools/mutation/RemovePackagePlanner.d.ts +22 -0
- package/dist/types/uapkg-registry-tools/mutation/RemovePackageVersionPlanner.d.ts +21 -0
- package/dist/types/uapkg-registry-tools/mutation/VersionSorter.d.ts +10 -0
- package/dist/types/uapkg-registry-tools/paths/RegistryRepoPaths.d.ts +23 -0
- package/dist/types/uapkg-registry-tools/tools/RegistryTools.d.ts +64 -0
- package/dist/types/uapkg-registry-tools/validation/DependencyReachabilityValidator.d.ts +24 -0
- package/dist/types/uapkg-registry-tools/validation/ExternalRegistryPolicyValidator.d.ts +22 -0
- package/dist/types/uapkg-registry-tools/validation/ManifestValidator.d.ts +16 -0
- package/dist/types/uapkg-registry-tools/validation/OfficialRegistryPolicyValidator.d.ts +34 -0
- package/dist/types/uapkg-registry-tools/validation/RegistryValidator.d.ts +31 -0
- package/dist/types/uapkg-registry-tools/validation/ReleaseFileNameValidator.d.ts +21 -0
- package/package.json +21 -36
- package/dist/app/CompositionRoot.d.ts.map +0 -1
- package/dist/app/CompositionRoot.js +0 -93
- package/dist/app/CompositionRoot.js.map +0 -1
- package/dist/app/UAPKGApplication.d.ts.map +0 -1
- package/dist/app/UAPKGApplication.js +0 -157
- package/dist/app/UAPKGApplication.js.map +0 -1
- package/dist/build/BuildMetadata.d.ts.map +0 -1
- package/dist/cli/UAPKGCommandLine.d.ts.map +0 -1
- package/dist/cli/UAPKGCommandLine.js +0 -250
- package/dist/cli/UAPKGCommandLine.js.map +0 -1
- package/dist/cli/parseCommandLine.d.ts.map +0 -1
- package/dist/cli/parseCommandLine.js +0 -11
- package/dist/cli/parseCommandLine.js.map +0 -1
- package/dist/cli/parsing/UAPKGCommandLineParser.d.ts.map +0 -1
- package/dist/cli/parsing/UAPKGCommandLineParser.js +0 -24
- package/dist/cli/parsing/UAPKGCommandLineParser.js.map +0 -1
- package/dist/cli/parsing/UAPKGParserRegistry.d.ts.map +0 -1
- package/dist/cli/parsing/UAPKGParserRegistry.js +0 -54
- package/dist/cli/parsing/UAPKGParserRegistry.js.map +0 -1
- package/dist/cli/parsing/contracts/UAPKGCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/contracts/UAPKGCommandModule.js +0 -1
- package/dist/cli/parsing/modules/AddCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/AddCommandModule.js +0 -50
- package/dist/cli/parsing/modules/AddCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/ConfigCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/ConfigCommandModule.js +0 -88
- package/dist/cli/parsing/modules/ConfigCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/InitCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/InitCommandModule.js +0 -26
- package/dist/cli/parsing/modules/InitCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/InstallCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/InstallCommandModule.js +0 -37
- package/dist/cli/parsing/modules/InstallCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/LifecycleCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/LifecycleCommandModule.js +0 -84
- package/dist/cli/parsing/modules/LifecycleCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/ListCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/ListCommandModule.js +0 -27
- package/dist/cli/parsing/modules/ListCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/LoginCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/LoginCommandModule.js +0 -35
- package/dist/cli/parsing/modules/LoginCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/LogoutCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/LogoutCommandModule.js +0 -31
- package/dist/cli/parsing/modules/LogoutCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/OutdatedCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/OutdatedCommandModule.js +0 -22
- package/dist/cli/parsing/modules/OutdatedCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/PackCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/PackCommandModule.js +0 -31
- package/dist/cli/parsing/modules/PackCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/ProjectGetNameCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/ProjectGetNameCommandModule.js +0 -15
- package/dist/cli/parsing/modules/ProjectGetNameCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/PublishCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/PublishCommandModule.js +0 -66
- package/dist/cli/parsing/modules/PublishCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/RegistryCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/RegistryCommandModule.js +0 -118
- package/dist/cli/parsing/modules/RegistryCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/RemoveCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/RemoveCommandModule.js +0 -26
- package/dist/cli/parsing/modules/RemoveCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/RequestsCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/RequestsCommandModule.js +0 -59
- package/dist/cli/parsing/modules/RequestsCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/UpdateCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/UpdateCommandModule.js +0 -39
- package/dist/cli/parsing/modules/UpdateCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/WhoamiCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/WhoamiCommandModule.js +0 -31
- package/dist/cli/parsing/modules/WhoamiCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/WhyCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/WhyCommandModule.js +0 -26
- package/dist/cli/parsing/modules/WhyCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/sharedOptions.d.ts.map +0 -1
- package/dist/cli/parsing/modules/sharedOptions.js +0 -21
- package/dist/cli/parsing/modules/sharedOptions.js.map +0 -1
- package/dist/cli/runUAPKGCLI.d.ts.map +0 -1
- package/dist/cli/runUAPKGCLI.js +0 -12
- package/dist/cli/runUAPKGCLI.js.map +0 -1
- package/dist/cli-bootstrap.js.map +0 -1
- package/dist/commands/AddCommand.d.ts.map +0 -1
- package/dist/commands/AddCommand.js +0 -51
- package/dist/commands/AddCommand.js.map +0 -1
- package/dist/commands/Command.d.ts.map +0 -1
- package/dist/commands/Command.js +0 -1
- package/dist/commands/ConfigCommand.d.ts.map +0 -1
- package/dist/commands/ConfigCommand.js +0 -166
- package/dist/commands/ConfigCommand.js.map +0 -1
- package/dist/commands/InitCommand.d.ts.map +0 -1
- package/dist/commands/InitCommand.js +0 -66
- package/dist/commands/InitCommand.js.map +0 -1
- package/dist/commands/InstallCommand.d.ts.map +0 -1
- package/dist/commands/InstallCommand.js +0 -120
- package/dist/commands/InstallCommand.js.map +0 -1
- package/dist/commands/ListCommand.d.ts.map +0 -1
- package/dist/commands/ListCommand.js +0 -78
- package/dist/commands/ListCommand.js.map +0 -1
- package/dist/commands/LoginCommand.d.ts.map +0 -1
- package/dist/commands/LoginCommand.js +0 -67
- package/dist/commands/LoginCommand.js.map +0 -1
- package/dist/commands/LogoutCommand.d.ts.map +0 -1
- package/dist/commands/LogoutCommand.js +0 -37
- package/dist/commands/LogoutCommand.js.map +0 -1
- package/dist/commands/OutdatedCommand.d.ts.map +0 -1
- package/dist/commands/OutdatedCommand.js +0 -43
- package/dist/commands/OutdatedCommand.js.map +0 -1
- package/dist/commands/PackCommand.d.ts.map +0 -1
- package/dist/commands/PackCommand.js +0 -27
- package/dist/commands/PackCommand.js.map +0 -1
- package/dist/commands/PackageLifecycleCommand.d.ts.map +0 -1
- package/dist/commands/PackageLifecycleCommand.js +0 -149
- package/dist/commands/PackageLifecycleCommand.js.map +0 -1
- package/dist/commands/PostinstallCandidateBuilder.d.ts.map +0 -1
- package/dist/commands/PostinstallCandidateBuilder.js +0 -44
- package/dist/commands/PostinstallCandidateBuilder.js.map +0 -1
- package/dist/commands/ProjectGetNameCommand.d.ts.map +0 -1
- package/dist/commands/ProjectGetNameCommand.js +0 -26
- package/dist/commands/ProjectGetNameCommand.js.map +0 -1
- package/dist/commands/PublishCommand.d.ts.map +0 -1
- package/dist/commands/PublishCommand.js +0 -259
- package/dist/commands/PublishCommand.js.map +0 -1
- package/dist/commands/RegistryCommand.d.ts.map +0 -1
- package/dist/commands/RegistryCommand.js +0 -197
- package/dist/commands/RegistryCommand.js.map +0 -1
- package/dist/commands/RemoveCommand.d.ts.map +0 -1
- package/dist/commands/RemoveCommand.js +0 -48
- package/dist/commands/RemoveCommand.js.map +0 -1
- package/dist/commands/RequestsCommand.d.ts.map +0 -1
- package/dist/commands/RequestsCommand.js +0 -85
- package/dist/commands/RequestsCommand.js.map +0 -1
- package/dist/commands/UpdateCommand.d.ts.map +0 -1
- package/dist/commands/UpdateCommand.js +0 -113
- package/dist/commands/UpdateCommand.js.map +0 -1
- package/dist/commands/WhoamiCommand.d.ts.map +0 -1
- package/dist/commands/WhoamiCommand.js +0 -66
- package/dist/commands/WhoamiCommand.js.map +0 -1
- package/dist/commands/WhyCommand.d.ts.map +0 -1
- package/dist/commands/WhyCommand.js +0 -47
- package/dist/commands/WhyCommand.js.map +0 -1
- package/dist/commands/add/DependencyAddResolver.d.ts.map +0 -1
- package/dist/commands/add/DependencyAddResolver.js +0 -38
- package/dist/commands/add/DependencyAddResolver.js.map +0 -1
- package/dist/control-plane/AccountManager.d.ts.map +0 -1
- package/dist/control-plane/AccountManager.js +0 -822
- package/dist/control-plane/AccountManager.js.map +0 -1
- package/dist/control-plane/ArtifactObserver.d.ts.map +0 -1
- package/dist/control-plane/ArtifactObserver.js +0 -77
- package/dist/control-plane/ArtifactObserver.js.map +0 -1
- package/dist/control-plane/AuthMetadataStore.d.ts.map +0 -1
- package/dist/control-plane/AuthMetadataStore.js +0 -114
- package/dist/control-plane/AuthMetadataStore.js.map +0 -1
- package/dist/control-plane/AuthStoragePaths.d.ts.map +0 -1
- package/dist/control-plane/AuthStoragePaths.js +0 -22
- package/dist/control-plane/AuthStoragePaths.js.map +0 -1
- package/dist/control-plane/AuthenticationSelector.d.ts.map +0 -1
- package/dist/control-plane/AuthenticationSelector.js +0 -70
- package/dist/control-plane/AuthenticationSelector.js.map +0 -1
- package/dist/control-plane/ControlPlaneClient.d.ts.map +0 -1
- package/dist/control-plane/ControlPlaneClient.js +0 -291
- package/dist/control-plane/ControlPlaneClient.js.map +0 -1
- package/dist/control-plane/ControlPlaneEndpoints.d.ts.map +0 -1
- package/dist/control-plane/ControlPlaneEndpoints.js +0 -24
- package/dist/control-plane/ControlPlaneEndpoints.js.map +0 -1
- package/dist/control-plane/ControlPlaneTypes.d.ts.map +0 -1
- package/dist/control-plane/ControlPlaneTypes.js +0 -100
- package/dist/control-plane/ControlPlaneTypes.js.map +0 -1
- package/dist/control-plane/CredentialStore.d.ts.map +0 -1
- package/dist/control-plane/CredentialStore.js +0 -70
- package/dist/control-plane/CredentialStore.js.map +0 -1
- package/dist/control-plane/DPoPKeyStore.d.ts.map +0 -1
- package/dist/control-plane/DPoPKeyStore.js +0 -58
- package/dist/control-plane/DPoPKeyStore.js.map +0 -1
- package/dist/control-plane/GitHubActionsOidcCredentialProvider.d.ts.map +0 -1
- package/dist/control-plane/GitHubActionsOidcCredentialProvider.js +0 -201
- package/dist/control-plane/GitHubActionsOidcCredentialProvider.js.map +0 -1
- package/dist/control-plane/PublishIdempotencyStore.d.ts.map +0 -1
- package/dist/control-plane/PublishIdempotencyStore.js +0 -100
- package/dist/control-plane/PublishIdempotencyStore.js.map +0 -1
- package/dist/control-plane/PublishRequestErrorMapper.d.ts.map +0 -1
- package/dist/control-plane/PublishRequestErrorMapper.js +0 -597
- package/dist/control-plane/PublishRequestErrorMapper.js.map +0 -1
- package/dist/control-plane/RegistryGrantLock.d.ts.map +0 -1
- package/dist/control-plane/RegistryGrantLock.js +0 -163
- package/dist/control-plane/RegistryGrantLock.js.map +0 -1
- package/dist/control-plane/RegistryTrustResolver.d.ts.map +0 -1
- package/dist/control-plane/RegistryTrustResolver.js +0 -105
- package/dist/control-plane/RegistryTrustResolver.js.map +0 -1
- package/dist/postinstall/api/PostinstallDsl.d.ts.map +0 -1
- package/dist/postinstall/api/PostinstallDsl.js +0 -36
- package/dist/postinstall/api/PostinstallDsl.js.map +0 -1
- package/dist/postinstall/api/definePostinstall.d.ts.map +0 -1
- package/dist/postinstall/api/definePostinstall.js +0 -23
- package/dist/postinstall/api/definePostinstall.js.map +0 -1
- package/dist/postinstall/index.js +0 -25
- package/dist/postinstall/loader/EntryResolver.d.ts.map +0 -1
- package/dist/postinstall/loader/EntryResolver.js +0 -39
- package/dist/postinstall/loader/EntryResolver.js.map +0 -1
- package/dist/postinstall/loader/EsbuildTranspiler.d.ts.map +0 -1
- package/dist/postinstall/loader/EsbuildTranspiler.js +0 -54
- package/dist/postinstall/loader/EsbuildTranspiler.js.map +0 -1
- package/dist/postinstall/loader/ExportValidator.d.ts.map +0 -1
- package/dist/postinstall/loader/ExportValidator.js +0 -38
- package/dist/postinstall/loader/ExportValidator.js.map +0 -1
- package/dist/postinstall/loader/ModuleImporter.d.ts.map +0 -1
- package/dist/postinstall/loader/ModuleImporter.js +0 -52
- package/dist/postinstall/loader/ModuleImporter.js.map +0 -1
- package/dist/postinstall/loader/PostinstallLoader.d.ts.map +0 -1
- package/dist/postinstall/loader/PostinstallLoader.js +0 -64
- package/dist/postinstall/loader/PostinstallLoader.js.map +0 -1
- package/dist/postinstall/markers/MarkerBlockEditor.d.ts.map +0 -1
- package/dist/postinstall/markers/MarkerBlockEditor.js +0 -50
- package/dist/postinstall/markers/MarkerBlockEditor.js.map +0 -1
- package/dist/postinstall/markers/MarkerBlockService.d.ts.map +0 -1
- package/dist/postinstall/markers/MarkerBlockService.js +0 -46
- package/dist/postinstall/markers/MarkerBlockService.js.map +0 -1
- package/dist/postinstall/markers/MarkerIntegrityValidator.d.ts.map +0 -1
- package/dist/postinstall/markers/MarkerIntegrityValidator.js +0 -48
- package/dist/postinstall/markers/MarkerIntegrityValidator.js.map +0 -1
- package/dist/postinstall/policy/PostinstallPolicyGate.d.ts.map +0 -1
- package/dist/postinstall/policy/PostinstallPolicyGate.js +0 -68
- package/dist/postinstall/policy/PostinstallPolicyGate.js.map +0 -1
- package/dist/postinstall/runner/PostinstallOrchestrator.d.ts.map +0 -1
- package/dist/postinstall/runner/PostinstallOrchestrator.js +0 -174
- package/dist/postinstall/runner/PostinstallOrchestrator.js.map +0 -1
- package/dist/postinstall/unreal/BuildCsInjector.d.ts.map +0 -1
- package/dist/postinstall/unreal/BuildCsInjector.js +0 -60
- package/dist/postinstall/unreal/BuildCsInjector.js.map +0 -1
- package/dist/postinstall/unreal/CSharpInjectionEngine.d.ts.map +0 -1
- package/dist/postinstall/unreal/CSharpInjectionEngine.js +0 -58
- package/dist/postinstall/unreal/CSharpInjectionEngine.js.map +0 -1
- package/dist/postinstall/unreal/CSharpStructureAnalyzer.d.ts.map +0 -1
- package/dist/postinstall/unreal/CSharpStructureAnalyzer.js +0 -126
- package/dist/postinstall/unreal/CSharpStructureAnalyzer.js.map +0 -1
- package/dist/postinstall/unreal/CSharpStructures.d.ts.map +0 -1
- package/dist/postinstall/unreal/CSharpStructures.js +0 -1
- package/dist/postinstall/unreal/CSharpWrapperFactory.d.ts.map +0 -1
- package/dist/postinstall/unreal/CSharpWrapperFactory.js +0 -56
- package/dist/postinstall/unreal/CSharpWrapperFactory.js.map +0 -1
- package/dist/postinstall/unreal/PluginHash.d.ts.map +0 -1
- package/dist/postinstall/unreal/PluginHash.js +0 -18
- package/dist/postinstall/unreal/PluginHash.js.map +0 -1
- package/dist/postinstall/unreal/PrettyParseError.d.ts.map +0 -1
- package/dist/postinstall/unreal/PrettyParseError.js +0 -43
- package/dist/postinstall/unreal/PrettyParseError.js.map +0 -1
- package/dist/postinstall/unreal/ProjectFileLocator.d.ts.map +0 -1
- package/dist/postinstall/unreal/ProjectFileLocator.js +0 -51
- package/dist/postinstall/unreal/ProjectFileLocator.js.map +0 -1
- package/dist/postinstall/unreal/TargetCsInjector.d.ts.map +0 -1
- package/dist/postinstall/unreal/TargetCsInjector.js +0 -60
- package/dist/postinstall/unreal/TargetCsInjector.js.map +0 -1
- package/dist/postinstall/unreal/UProjectInjector.d.ts.map +0 -1
- package/dist/postinstall/unreal/UProjectInjector.js +0 -58
- package/dist/postinstall/unreal/UProjectInjector.js.map +0 -1
- package/dist/postinstall/unreal/UProjectMetadataReader.d.ts.map +0 -1
- package/dist/postinstall/unreal/UProjectMetadataReader.js +0 -24
- package/dist/postinstall/unreal/UProjectMetadataReader.js.map +0 -1
- package/dist/postinstall/unreal/UnrealSourceCatalog.d.ts.map +0 -1
- package/dist/postinstall/unreal/UnrealSourceCatalog.js +0 -52
- package/dist/postinstall/unreal/UnrealSourceCatalog.js.map +0 -1
- package/dist/prompts/InkPromptService.d.ts.map +0 -1
- package/dist/prompts/InkPromptService.js +0 -105
- package/dist/prompts/InkPromptService.js.map +0 -1
- package/dist/prompts/ProjectContextDetector.d.ts.map +0 -1
- package/dist/prompts/ProjectContextDetector.js +0 -33
- package/dist/prompts/ProjectContextDetector.js.map +0 -1
- package/dist/prompts/PromptService.d.ts.map +0 -1
- package/dist/prompts/PromptService.js +0 -1
- package/dist/reporting/DiagnosticDeduplicator.d.ts.map +0 -1
- package/dist/reporting/DiagnosticDeduplicator.js +0 -38
- package/dist/reporting/DiagnosticDeduplicator.js.map +0 -1
- package/dist/reporting/DiagnosticRenderer.d.ts.map +0 -1
- package/dist/reporting/DiagnosticRenderer.js +0 -1
- package/dist/reporting/DiagnosticReporter.d.ts.map +0 -1
- package/dist/reporting/DiagnosticReporter.js +0 -42
- package/dist/reporting/DiagnosticReporter.js.map +0 -1
- package/dist/reporting/InkDiagnosticRenderer.d.ts.map +0 -1
- package/dist/reporting/InkDiagnosticRenderer.js +0 -52
- package/dist/reporting/InkDiagnosticRenderer.js.map +0 -1
- package/dist/reporting/InstallProgressReporter.d.ts.map +0 -1
- package/dist/reporting/InstallProgressReporter.js +0 -50
- package/dist/reporting/InstallProgressReporter.js.map +0 -1
- package/dist/reporting/JsonReporter.d.ts.map +0 -1
- package/dist/reporting/JsonReporter.js +0 -36
- package/dist/reporting/JsonReporter.js.map +0 -1
- package/dist/reporting/RegistryRequestTerminalFormatter.d.ts.map +0 -1
- package/dist/reporting/RegistryRequestTerminalFormatter.js +0 -90
- package/dist/reporting/RegistryRequestTerminalFormatter.js.map +0 -1
- package/dist/reporting/TextDiagnosticRenderer.d.ts.map +0 -1
- package/dist/reporting/TextDiagnosticRenderer.js +0 -38
- package/dist/reporting/TextDiagnosticRenderer.js.map +0 -1
- package/dist/reporting/TextSink.d.ts.map +0 -1
- package/dist/reporting/TextSink.js +0 -29
- package/dist/reporting/TextSink.js.map +0 -1
- /package/dist/{cli-bootstrap.d.ts → types/uapkg/cli-bootstrap.d.ts} +0 -0
- /package/dist/{index.d.ts → types/uapkg/index.d.ts} +0 -0
- /package/dist/{postinstall → types/uapkg/postinstall}/index.d.ts +0 -0
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import { DiagnosticReporter } from "../reporting/DiagnosticReporter.js";
|
|
2
|
-
import { createConfig, isLeafConfigPath, parseConfigCliValue, validateConfigPath } from "@uapkg/config";
|
|
3
|
-
import Log from "@uapkg/log";
|
|
4
|
-
import { createParseErrorDiagnostic } from "@uapkg/diagnostics";
|
|
5
|
-
import path from "node:path";
|
|
6
|
-
import { spawnSync } from "node:child_process";
|
|
7
|
-
import fs from "node:fs";
|
|
8
|
-
|
|
9
|
-
//#region src/commands/ConfigCommand.ts
|
|
10
|
-
var ConfigCommand = class {
|
|
11
|
-
options;
|
|
12
|
-
reporter = new DiagnosticReporter();
|
|
13
|
-
constructor(options) {
|
|
14
|
-
this.options = options;
|
|
15
|
-
}
|
|
16
|
-
async execute() {
|
|
17
|
-
const flagError = this.validateFlags();
|
|
18
|
-
if (flagError) return this.fail([flagError]);
|
|
19
|
-
const config = createConfig({ cwd: this.options.cwd });
|
|
20
|
-
this.reportIfText(config.getDiagnostics());
|
|
21
|
-
const action = this.options.action;
|
|
22
|
-
switch (action) {
|
|
23
|
-
case "get": return this.executeGet(config);
|
|
24
|
-
case "list": return this.executeList(config);
|
|
25
|
-
case "set": return this.executeSet(config);
|
|
26
|
-
case "delete": return this.executeDelete(config);
|
|
27
|
-
case "edit": return this.executeEdit(config);
|
|
28
|
-
default: return this.fail([createParseErrorDiagnostic(`Unsupported config action: ${String(action)}`)]);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
executeGet(config) {
|
|
32
|
-
const pathToProperty = this.options.pathToProperty;
|
|
33
|
-
if (!pathToProperty) return this.fail([createParseErrorDiagnostic("config get requires path_to_property")]);
|
|
34
|
-
if (this.options.trace) {
|
|
35
|
-
const trace = config.trace(pathToProperty).map((entry) => ({
|
|
36
|
-
...entry,
|
|
37
|
-
file: entry.file ? config.toDisplayPath(entry.file) : void 0
|
|
38
|
-
}));
|
|
39
|
-
this.print(trace);
|
|
40
|
-
return 0;
|
|
41
|
-
}
|
|
42
|
-
if (this.options.showOrigin) {
|
|
43
|
-
if (this.options.scope === "global") {
|
|
44
|
-
const value = config.get(pathToProperty, { scope: "global" });
|
|
45
|
-
this.print({
|
|
46
|
-
value,
|
|
47
|
-
source: "global",
|
|
48
|
-
file: value === null ? void 0 : config.toDisplayPath(config.getEditTarget({ scope: "global" }))
|
|
49
|
-
});
|
|
50
|
-
return 0;
|
|
51
|
-
}
|
|
52
|
-
if (this.options.scope === "local") {
|
|
53
|
-
const value = config.get(pathToProperty, { scope: "local" });
|
|
54
|
-
const localFile = config.getEditTarget({ scope: "local" });
|
|
55
|
-
this.print({
|
|
56
|
-
value,
|
|
57
|
-
source: "local",
|
|
58
|
-
file: value === null ? void 0 : config.toDisplayPath(localFile)
|
|
59
|
-
});
|
|
60
|
-
return 0;
|
|
61
|
-
}
|
|
62
|
-
const result = config.getWithOrigin(pathToProperty);
|
|
63
|
-
if (!result) {
|
|
64
|
-
this.print({
|
|
65
|
-
value: null,
|
|
66
|
-
source: "default"
|
|
67
|
-
});
|
|
68
|
-
return 0;
|
|
69
|
-
}
|
|
70
|
-
this.print({
|
|
71
|
-
...result,
|
|
72
|
-
file: result.file ? config.toDisplayPath(result.file) : void 0
|
|
73
|
-
});
|
|
74
|
-
return 0;
|
|
75
|
-
}
|
|
76
|
-
if (this.options.scope === "global") {
|
|
77
|
-
this.print(config.get(pathToProperty, { scope: "global" }));
|
|
78
|
-
return 0;
|
|
79
|
-
}
|
|
80
|
-
if (this.options.scope === "local") {
|
|
81
|
-
this.print(config.get(pathToProperty, { scope: "local" }));
|
|
82
|
-
return 0;
|
|
83
|
-
}
|
|
84
|
-
this.print(config.get(pathToProperty));
|
|
85
|
-
return 0;
|
|
86
|
-
}
|
|
87
|
-
executeList(config) {
|
|
88
|
-
if (this.options.scope === "global") {
|
|
89
|
-
this.print(config.getAll({ scope: "global" }));
|
|
90
|
-
return 0;
|
|
91
|
-
}
|
|
92
|
-
if (this.options.scope === "local") {
|
|
93
|
-
this.print(config.getAll({ scope: "local" }));
|
|
94
|
-
return 0;
|
|
95
|
-
}
|
|
96
|
-
this.print(config.getAll());
|
|
97
|
-
return 0;
|
|
98
|
-
}
|
|
99
|
-
executeSet(config) {
|
|
100
|
-
const pathToProperty = this.options.pathToProperty;
|
|
101
|
-
const rawValue = this.options.rawValue;
|
|
102
|
-
if (!pathToProperty || rawValue === void 0) return this.fail([createParseErrorDiagnostic("config set requires path_to_property and value")]);
|
|
103
|
-
const pathValidation = validateConfigPath(pathToProperty);
|
|
104
|
-
if (!pathValidation.ok) return this.fail(pathValidation.diagnostics);
|
|
105
|
-
if (!isLeafConfigPath(pathToProperty)) return this.fail([createParseErrorDiagnostic(`config set only supports leaf properties. Use a concrete path like "${pathToProperty}.<field>".`)]);
|
|
106
|
-
const parsedValue = parseConfigCliValue(pathToProperty, rawValue);
|
|
107
|
-
if (!parsedValue.ok) return this.fail(parsedValue.diagnostics);
|
|
108
|
-
const plan = config.set(pathToProperty, parsedValue.value, this.options.scope ? { scope: this.options.scope } : {});
|
|
109
|
-
if (!plan.ok) return this.fail(plan.diagnostics);
|
|
110
|
-
fs.mkdirSync(path.dirname(plan.value.file), { recursive: true });
|
|
111
|
-
fs.writeFileSync(plan.value.file, `${JSON.stringify(plan.value.values, null, 2)}\n`, "utf8");
|
|
112
|
-
config.reload({ cwd: this.options.cwd });
|
|
113
|
-
this.reportIfText(config.getDiagnostics());
|
|
114
|
-
return 0;
|
|
115
|
-
}
|
|
116
|
-
executeDelete(config) {
|
|
117
|
-
const pathToProperty = this.options.pathToProperty;
|
|
118
|
-
if (!pathToProperty) return this.fail([createParseErrorDiagnostic("config delete requires path_to_property")]);
|
|
119
|
-
const plan = config.delete(pathToProperty, this.options.scope ? { scope: this.options.scope } : {});
|
|
120
|
-
if (!plan.ok) return this.fail(plan.diagnostics);
|
|
121
|
-
fs.mkdirSync(path.dirname(plan.value.file), { recursive: true });
|
|
122
|
-
fs.writeFileSync(plan.value.file, `${JSON.stringify(plan.value.values, null, 2)}\n`, "utf8");
|
|
123
|
-
config.reload({ cwd: this.options.cwd });
|
|
124
|
-
this.reportIfText(config.getDiagnostics());
|
|
125
|
-
return 0;
|
|
126
|
-
}
|
|
127
|
-
executeEdit(config) {
|
|
128
|
-
const filePath = config.getEditTarget(this.options.scope ? { scope: this.options.scope } : {});
|
|
129
|
-
if (!fs.existsSync(filePath)) {
|
|
130
|
-
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
131
|
-
fs.writeFileSync(filePath, "{}\n", "utf8");
|
|
132
|
-
}
|
|
133
|
-
const editorValue = config.get("editor");
|
|
134
|
-
const editor = typeof editorValue === "string" ? editorValue : process.platform === "win32" ? "notepad.exe" : "vi";
|
|
135
|
-
const result = spawnSync(editor, [filePath], {
|
|
136
|
-
cwd: this.options.cwd,
|
|
137
|
-
shell: true,
|
|
138
|
-
stdio: "inherit"
|
|
139
|
-
});
|
|
140
|
-
if (result.error) return this.fail([createParseErrorDiagnostic(`Failed to open editor '${editor}': ${result.error.message}`)]);
|
|
141
|
-
if ((result.status ?? 0) !== 0) return this.fail([createParseErrorDiagnostic(`Editor exited with status ${result.status}`)]);
|
|
142
|
-
return 0;
|
|
143
|
-
}
|
|
144
|
-
validateFlags() {
|
|
145
|
-
if (this.options.showOrigin && this.options.trace) return createParseErrorDiagnostic("--show-origin and --trace cannot be used together");
|
|
146
|
-
return null;
|
|
147
|
-
}
|
|
148
|
-
fail(diagnostics) {
|
|
149
|
-
this.reporter.reportAll(diagnostics);
|
|
150
|
-
return 1;
|
|
151
|
-
}
|
|
152
|
-
reportIfText(diagnostics) {
|
|
153
|
-
if (this.options.output === "text") this.reporter.reportAll(diagnostics);
|
|
154
|
-
}
|
|
155
|
-
print(value) {
|
|
156
|
-
if (this.options.output === "json" || typeof value === "object") {
|
|
157
|
-
Log.info(JSON.stringify(value, null, 2));
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
Log.info(JSON.stringify(value));
|
|
161
|
-
}
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
//#endregion
|
|
165
|
-
export { ConfigCommand };
|
|
166
|
-
//# sourceMappingURL=ConfigCommand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigCommand.js","names":[],"sources":["../../src/commands/ConfigCommand.ts"],"sourcesContent":["import { spawnSync } from 'node:child_process';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport {\n type ConfigInstance,\n createConfig,\n isLeafConfigPath,\n parseConfigCliValue,\n validateConfigPath,\n} from '@uapkg/config';\nimport { createParseErrorDiagnostic, type Diagnostic } from '@uapkg/diagnostics';\nimport Log from '@uapkg/log';\nimport type { UAPKGConfigAction, UAPKGConfigScope, UAPKGOutputFormat } from '../cli/UAPKGCommandLine.js';\nimport { DiagnosticReporter } from '../reporting/DiagnosticReporter.js';\nimport type { Command } from './Command.js';\n\nexport interface ConfigCommandOptions {\n cwd: string;\n action: UAPKGConfigAction;\n pathToProperty?: string;\n rawValue?: string;\n scope?: UAPKGConfigScope;\n output: UAPKGOutputFormat;\n showOrigin: boolean;\n trace: boolean;\n}\n\nexport class ConfigCommand implements Command {\n private readonly reporter = new DiagnosticReporter();\n\n constructor(private readonly options: ConfigCommandOptions) {}\n\n async execute() {\n const flagError = this.validateFlags();\n if (flagError) return this.fail([flagError]);\n\n const config = createConfig({ cwd: this.options.cwd });\n this.reportIfText(config.getDiagnostics());\n\n const action = this.options.action;\n switch (action) {\n case 'get':\n return this.executeGet(config);\n case 'list':\n return this.executeList(config);\n case 'set':\n return this.executeSet(config);\n case 'delete':\n return this.executeDelete(config);\n case 'edit':\n return this.executeEdit(config);\n default:\n return this.fail([createParseErrorDiagnostic(`Unsupported config action: ${String(action satisfies never)}`)]);\n }\n }\n\n private executeGet(config: ConfigInstance) {\n const pathToProperty = this.options.pathToProperty;\n if (!pathToProperty) {\n return this.fail([createParseErrorDiagnostic('config get requires path_to_property')]);\n }\n\n if (this.options.trace) {\n const trace = config.trace(pathToProperty).map((entry) => ({\n ...entry,\n file: entry.file ? config.toDisplayPath(entry.file) : undefined,\n }));\n this.print(trace);\n return 0;\n }\n\n if (this.options.showOrigin) {\n if (this.options.scope === 'global') {\n const value = config.get(pathToProperty, { scope: 'global' });\n this.print({\n value,\n source: 'global',\n file: value === null ? undefined : config.toDisplayPath(config.getEditTarget({ scope: 'global' })),\n });\n return 0;\n }\n\n if (this.options.scope === 'local') {\n const value = config.get(pathToProperty, { scope: 'local' });\n const localFile = config.getEditTarget({ scope: 'local' });\n this.print({\n value,\n source: 'local',\n file: value === null ? undefined : config.toDisplayPath(localFile),\n });\n return 0;\n }\n\n const result = config.getWithOrigin(pathToProperty);\n if (!result) {\n this.print({ value: null, source: 'default' });\n return 0;\n }\n this.print({\n ...result,\n file: result.file ? config.toDisplayPath(result.file) : undefined,\n });\n return 0;\n }\n\n if (this.options.scope === 'global') {\n this.print(config.get(pathToProperty, { scope: 'global' }));\n return 0;\n }\n\n if (this.options.scope === 'local') {\n this.print(config.get(pathToProperty, { scope: 'local' }));\n return 0;\n }\n\n this.print(config.get(pathToProperty));\n return 0;\n }\n\n private executeList(config: ConfigInstance) {\n if (this.options.scope === 'global') {\n this.print(config.getAll({ scope: 'global' }));\n return 0;\n }\n\n if (this.options.scope === 'local') {\n this.print(config.getAll({ scope: 'local' }));\n return 0;\n }\n\n this.print(config.getAll());\n return 0;\n }\n\n private executeSet(config: ConfigInstance) {\n const pathToProperty = this.options.pathToProperty;\n const rawValue = this.options.rawValue;\n\n if (!pathToProperty || rawValue === undefined) {\n return this.fail([createParseErrorDiagnostic('config set requires path_to_property and value')]);\n }\n\n const pathValidation = validateConfigPath(pathToProperty);\n if (!pathValidation.ok) return this.fail(pathValidation.diagnostics);\n\n if (!isLeafConfigPath(pathToProperty)) {\n return this.fail([\n createParseErrorDiagnostic(\n `config set only supports leaf properties. Use a concrete path like \"${pathToProperty}.<field>\".`,\n ),\n ]);\n }\n\n const parsedValue = parseConfigCliValue(pathToProperty, rawValue);\n if (!parsedValue.ok) return this.fail(parsedValue.diagnostics);\n\n const plan = config.set(pathToProperty, parsedValue.value, this.options.scope ? { scope: this.options.scope } : {});\n if (!plan.ok) return this.fail(plan.diagnostics);\n\n fs.mkdirSync(path.dirname(plan.value.file), { recursive: true });\n fs.writeFileSync(plan.value.file, `${JSON.stringify(plan.value.values, null, 2)}\\n`, 'utf8');\n config.reload({ cwd: this.options.cwd });\n this.reportIfText(config.getDiagnostics());\n return 0;\n }\n\n private executeDelete(config: ConfigInstance) {\n const pathToProperty = this.options.pathToProperty;\n if (!pathToProperty) {\n return this.fail([createParseErrorDiagnostic('config delete requires path_to_property')]);\n }\n\n const plan = config.delete(pathToProperty, this.options.scope ? { scope: this.options.scope } : {});\n if (!plan.ok) return this.fail(plan.diagnostics);\n\n fs.mkdirSync(path.dirname(plan.value.file), { recursive: true });\n fs.writeFileSync(plan.value.file, `${JSON.stringify(plan.value.values, null, 2)}\\n`, 'utf8');\n config.reload({ cwd: this.options.cwd });\n this.reportIfText(config.getDiagnostics());\n return 0;\n }\n\n private executeEdit(config: ConfigInstance) {\n const filePath = config.getEditTarget(this.options.scope ? { scope: this.options.scope } : {});\n\n if (!fs.existsSync(filePath)) {\n fs.mkdirSync(path.dirname(filePath), { recursive: true });\n fs.writeFileSync(filePath, '{}\\n', 'utf8');\n }\n\n const editorValue = config.get('editor');\n const editor = typeof editorValue === 'string' ? editorValue : process.platform === 'win32' ? 'notepad.exe' : 'vi';\n\n const result = spawnSync(editor, [filePath], {\n cwd: this.options.cwd,\n shell: true,\n stdio: 'inherit',\n });\n\n if (result.error) {\n return this.fail([createParseErrorDiagnostic(`Failed to open editor '${editor}': ${result.error.message}`)]);\n }\n\n if ((result.status ?? 0) !== 0) {\n return this.fail([createParseErrorDiagnostic(`Editor exited with status ${result.status}`)]);\n }\n\n return 0;\n }\n\n private validateFlags(): Diagnostic | null {\n if (this.options.showOrigin && this.options.trace) {\n return createParseErrorDiagnostic('--show-origin and --trace cannot be used together');\n }\n return null;\n }\n\n private fail(diagnostics: readonly Diagnostic[]): number {\n this.reporter.reportAll(diagnostics);\n return 1;\n }\n\n private reportIfText(diagnostics: readonly Diagnostic[]): void {\n if (this.options.output === 'text') {\n this.reporter.reportAll(diagnostics);\n }\n }\n\n private print(value: unknown) {\n if (this.options.output === 'json' || typeof value === 'object') {\n Log.info(JSON.stringify(value, null, 2));\n return;\n }\n\n Log.info(JSON.stringify(value));\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InitCommand.d.ts","names":[],"sources":["../../src/commands/InitCommand.ts"],"mappings":";;;;;;UASiB;WACN,eAAe;WACf;;cAaE,uBAAuB;mBAEf;mBACA;mBACA;mBACA;EAJnB,YACmB,MAAM,iBACN,SAAS,oBACT,UAAU,wBACV,SAAS;EAGf,WAAW;UA2ChB"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { PackageNameSchema, PackageVersionSchema } from "@uapkg/common-schema";
|
|
2
|
-
import { ManifestReader, ManifestWriter } from "@uapkg/package-manifest";
|
|
3
|
-
|
|
4
|
-
//#region src/commands/InitCommand.ts
|
|
5
|
-
const DEFAULT_INITIAL_VERSION = "0.1.0";
|
|
6
|
-
var InitCommand = class {
|
|
7
|
-
root;
|
|
8
|
-
options;
|
|
9
|
-
detector;
|
|
10
|
-
prompts;
|
|
11
|
-
constructor(root, options, detector, prompts) {
|
|
12
|
-
this.root = root;
|
|
13
|
-
this.options = options;
|
|
14
|
-
this.detector = detector;
|
|
15
|
-
this.prompts = prompts;
|
|
16
|
-
}
|
|
17
|
-
async execute() {
|
|
18
|
-
if ((await new ManifestReader().read(this.root.cwd)).ok) {
|
|
19
|
-
process.stderr.write("[uapkg] uapkg.json already exists in current directory\n");
|
|
20
|
-
return 1;
|
|
21
|
-
}
|
|
22
|
-
const detected = this.detector.detect(this.root.cwd);
|
|
23
|
-
const kind = this.options.explicitKind ?? await this.prompts.select("Select manifest kind", [{
|
|
24
|
-
label: "Project",
|
|
25
|
-
value: "project"
|
|
26
|
-
}, {
|
|
27
|
-
label: "Plugin",
|
|
28
|
-
value: "plugin"
|
|
29
|
-
}], detected.suggestedKind);
|
|
30
|
-
const rawName = this.options.explicitName ?? await this.prompts.text("Package name", detected.suggestedName);
|
|
31
|
-
const nameResult = PackageNameSchema.safeParse(rawName.trim());
|
|
32
|
-
if (!nameResult.success) {
|
|
33
|
-
process.stderr.write(`[uapkg] Invalid package name "${rawName}": must be lowercase alphanumeric with hyphens\n`);
|
|
34
|
-
return 1;
|
|
35
|
-
}
|
|
36
|
-
const versionResult = PackageVersionSchema.safeParse(DEFAULT_INITIAL_VERSION);
|
|
37
|
-
if (!versionResult.success) {
|
|
38
|
-
process.stderr.write(`[uapkg] Internal error: default version "${DEFAULT_INITIAL_VERSION}" rejected by schema\n`);
|
|
39
|
-
return 1;
|
|
40
|
-
}
|
|
41
|
-
const manifest = this.buildManifest(kind, nameResult.data, versionResult.data);
|
|
42
|
-
const writeResult = await new ManifestWriter().write(this.root.cwd, manifest);
|
|
43
|
-
if (!writeResult.ok) {
|
|
44
|
-
this.root.diagnostics.reportAll(writeResult.diagnostics);
|
|
45
|
-
return 1;
|
|
46
|
-
}
|
|
47
|
-
process.stdout.write(`[uapkg] Created uapkg.json (${kind}) for ${String(nameResult.data)}\n`);
|
|
48
|
-
return 0;
|
|
49
|
-
}
|
|
50
|
-
buildManifest(kind, name, version) {
|
|
51
|
-
if (kind === "plugin") return {
|
|
52
|
-
name,
|
|
53
|
-
version,
|
|
54
|
-
kind: "plugin"
|
|
55
|
-
};
|
|
56
|
-
return {
|
|
57
|
-
name,
|
|
58
|
-
version,
|
|
59
|
-
kind: "project"
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
//#endregion
|
|
65
|
-
export { InitCommand };
|
|
66
|
-
//# sourceMappingURL=InitCommand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InitCommand.js","names":[],"sources":["../../src/commands/InitCommand.ts"],"sourcesContent":["import type { PackageName, PackageVersion } from '@uapkg/common-schema';\nimport { PackageNameSchema, PackageVersionSchema } from '@uapkg/common-schema';\nimport { ManifestReader, ManifestWriter } from '@uapkg/package-manifest';\nimport type { Manifest, ManifestKind } from '@uapkg/package-manifest-schema';\nimport type { CompositionRoot } from '../app/CompositionRoot.js';\nimport type { ProjectContextDetector } from '../prompts/ProjectContextDetector.js';\nimport type { PromptService } from '../prompts/PromptService.js';\nimport type { Command } from './Command.js';\n\nexport interface InitCommandOptions {\n readonly explicitKind?: ManifestKind;\n readonly explicitName?: string;\n}\n\n// ---------------------------------------------------------------------------\n// InitCommand — creates a minimal `uapkg.json` (new schema) for the current\n// working directory, interactively selecting `kind` + `name` when missing.\n//\n// - Writes via `@uapkg/package-manifest` ManifestWriter.\n// - Pre-check uses ManifestReader (fails fast if manifest already present).\n// ---------------------------------------------------------------------------\n\nconst DEFAULT_INITIAL_VERSION = '0.1.0';\n\nexport class InitCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: InitCommandOptions,\n private readonly detector: ProjectContextDetector,\n private readonly prompts: PromptService,\n ) {}\n\n public async execute(): Promise<number> {\n const existing = await new ManifestReader().read(this.root.cwd);\n if (existing.ok) {\n process.stderr.write('[uapkg] uapkg.json already exists in current directory\\n');\n return 1;\n }\n\n const detected = this.detector.detect(this.root.cwd);\n const kind =\n this.options.explicitKind ??\n ((await this.prompts.select(\n 'Select manifest kind',\n [\n { label: 'Project', value: 'project' },\n { label: 'Plugin', value: 'plugin' },\n ],\n detected.suggestedKind,\n )) as ManifestKind);\n\n const rawName = this.options.explicitName ?? (await this.prompts.text('Package name', detected.suggestedName));\n\n const nameResult = PackageNameSchema.safeParse(rawName.trim());\n if (!nameResult.success) {\n process.stderr.write(`[uapkg] Invalid package name \"${rawName}\": must be lowercase alphanumeric with hyphens\\n`);\n return 1;\n }\n const versionResult = PackageVersionSchema.safeParse(DEFAULT_INITIAL_VERSION);\n if (!versionResult.success) {\n process.stderr.write(`[uapkg] Internal error: default version \"${DEFAULT_INITIAL_VERSION}\" rejected by schema\\n`);\n return 1;\n }\n\n const manifest: Manifest = this.buildManifest(kind, nameResult.data, versionResult.data);\n const writeResult = await new ManifestWriter().write(this.root.cwd, manifest);\n if (!writeResult.ok) {\n this.root.diagnostics.reportAll(writeResult.diagnostics);\n return 1;\n }\n\n process.stdout.write(`[uapkg] Created uapkg.json (${kind}) for ${String(nameResult.data)}\\n`);\n return 0;\n }\n\n private buildManifest(kind: ManifestKind, name: PackageName, version: PackageVersion): Manifest {\n if (kind === 'plugin') {\n return { name, version, kind: 'plugin' };\n }\n return { name, version, kind: 'project' };\n }\n}\n"],"mappings":";;;;AAsBA,MAAM,0BAA0B;AAEhC,IAAa,cAAb,MAA4C;CAEvB;CACA;CACA;CACA;CAJnB,AAAO,YACL,AAAiB,MACjB,AAAiB,SACjB,AAAiB,UACjB,AAAiB,SACjB;EAJiB;EACA;EACA;EACA;CAChB;CAEH,MAAa,UAA2B;EAEtC,KAAI,MADmB,IAAI,eAAe,CAAC,CAAC,KAAK,KAAK,KAAK,GAAG,EAClD,CAAC,IAAI;GACf,QAAQ,OAAO,MAAM,0DAA0D;GAC/E,OAAO;EACT;EAEA,MAAM,WAAW,KAAK,SAAS,OAAO,KAAK,KAAK,GAAG;EACnD,MAAM,OACJ,KAAK,QAAQ,gBACX,MAAM,KAAK,QAAQ,OACnB,wBACA,CACE;GAAE,OAAO;GAAW,OAAO;EAAU,GACrC;GAAE,OAAO;GAAU,OAAO;EAAS,CACrC,GACA,SAAS,aACX;EAEF,MAAM,UAAU,KAAK,QAAQ,gBAAiB,MAAM,KAAK,QAAQ,KAAK,gBAAgB,SAAS,aAAa;EAE5G,MAAM,aAAa,kBAAkB,UAAU,QAAQ,KAAK,CAAC;EAC7D,IAAI,CAAC,WAAW,SAAS;GACvB,QAAQ,OAAO,MAAM,iCAAiC,QAAQ,iDAAiD;GAC/G,OAAO;EACT;EACA,MAAM,gBAAgB,qBAAqB,UAAU,uBAAuB;EAC5E,IAAI,CAAC,cAAc,SAAS;GAC1B,QAAQ,OAAO,MAAM,4CAA4C,wBAAwB,uBAAuB;GAChH,OAAO;EACT;EAEA,MAAM,WAAqB,KAAK,cAAc,MAAM,WAAW,MAAM,cAAc,IAAI;EACvF,MAAM,cAAc,MAAM,IAAI,eAAe,CAAC,CAAC,MAAM,KAAK,KAAK,KAAK,QAAQ;EAC5E,IAAI,CAAC,YAAY,IAAI;GACnB,KAAK,KAAK,YAAY,UAAU,YAAY,WAAW;GACvD,OAAO;EACT;EAEA,QAAQ,OAAO,MAAM,+BAA+B,KAAK,QAAQ,OAAO,WAAW,IAAI,EAAE,GAAG;EAC5F,OAAO;CACT;CAEA,AAAQ,cAAc,MAAoB,MAAmB,SAAmC;EAC9F,IAAI,SAAS,UACX,OAAO;GAAE;GAAM;GAAS,MAAM;EAAS;EAEzC,OAAO;GAAE;GAAM;GAAS,MAAM;EAAU;CAC1C;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InstallCommand.d.ts","names":[],"sources":["../../src/commands/InstallCommand.ts"],"mappings":";;;UAOiB;WACN;WACA;WACA;WACA;;;;;;;;;;;;;;;;cAiBE,0BAA0B;mBAElB;mBACA;EAFnB,YACmB,MAAM,iBACN,SAAS;EAGf,WAAW;UAsFhB"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { InstallProgressReporter } from "../reporting/InstallProgressReporter.js";
|
|
2
|
-
import { PostinstallCandidateBuilder } from "./PostinstallCandidateBuilder.js";
|
|
3
|
-
|
|
4
|
-
//#region src/commands/InstallCommand.ts
|
|
5
|
-
/**
|
|
6
|
-
* `uapkg install` — resolve → plan → download/extract/remove → postinstall.
|
|
7
|
-
*
|
|
8
|
-
* Pipeline (never throws; errors become diagnostics):
|
|
9
|
-
*
|
|
10
|
-
* 1. Read manifest + previous lockfile (best-effort).
|
|
11
|
-
* 2. `PackageManifest.install({ frozen })` → writes a fresh lockfile.
|
|
12
|
-
* 3. `Installer.execute(...)` → executes the install plan.
|
|
13
|
-
* 4. Consume installer's status stream in parallel via `InstallProgressReporter`.
|
|
14
|
-
* 5. On success (non-dryRun), `PostinstallOrchestrator.run()` for added/updated plugins.
|
|
15
|
-
* 6. Report summary + diagnostics.
|
|
16
|
-
*
|
|
17
|
-
* `--force` and `--frozen` are mutually exclusive; the parser layer enforces this.
|
|
18
|
-
*/
|
|
19
|
-
var InstallCommand = class {
|
|
20
|
-
root;
|
|
21
|
-
options;
|
|
22
|
-
constructor(root, options) {
|
|
23
|
-
this.root = root;
|
|
24
|
-
this.options = options;
|
|
25
|
-
}
|
|
26
|
-
async execute() {
|
|
27
|
-
const pm = this.root.packageManifest;
|
|
28
|
-
const commandDiagnostics = [];
|
|
29
|
-
const manifestResult = await pm.readManifest();
|
|
30
|
-
if (!manifestResult.ok) return this.fail(manifestResult.diagnostics);
|
|
31
|
-
const manifest = manifestResult.value;
|
|
32
|
-
let previousLockfile = null;
|
|
33
|
-
if (!this.options.frozen) {
|
|
34
|
-
const previousLockfileResult = await pm.readLockfileOptional();
|
|
35
|
-
if (!previousLockfileResult.ok) return this.fail(previousLockfileResult.diagnostics);
|
|
36
|
-
previousLockfile = previousLockfileResult.value;
|
|
37
|
-
}
|
|
38
|
-
const installResult = await pm.install({ frozen: this.options.frozen });
|
|
39
|
-
if (!installResult.ok) return this.fail([...commandDiagnostics, ...installResult.diagnostics]);
|
|
40
|
-
commandDiagnostics.push(...installResult.diagnostics);
|
|
41
|
-
const lockfile = installResult.value;
|
|
42
|
-
if (this.options.frozen) previousLockfile = lockfile;
|
|
43
|
-
const progress = new InstallProgressReporter();
|
|
44
|
-
const consumer = progress.consume(this.root.installer.getStatusStream());
|
|
45
|
-
const rootDependencies = [
|
|
46
|
-
...Object.keys(manifest.dependencies ?? {}),
|
|
47
|
-
...Object.keys(manifest.devDependencies ?? {}),
|
|
48
|
-
...Object.keys(manifest.peerDependencies ?? {})
|
|
49
|
-
];
|
|
50
|
-
const executeResult = await this.root.installer.execute(lockfile, previousLockfile, {
|
|
51
|
-
manifestRoot: this.root.cwd,
|
|
52
|
-
force: this.options.force,
|
|
53
|
-
dryRun: this.options.dryRun,
|
|
54
|
-
rootDependencies
|
|
55
|
-
});
|
|
56
|
-
await consumer;
|
|
57
|
-
if (!executeResult.ok) return this.fail([...commandDiagnostics, ...executeResult.diagnostics]);
|
|
58
|
-
const report = executeResult.value;
|
|
59
|
-
const plan = report.plan;
|
|
60
|
-
const hasBranchFailures = report.failed.length > 0 || report.skipped.length > 0;
|
|
61
|
-
const builder = new PostinstallCandidateBuilder();
|
|
62
|
-
const candidates = builder.build(this.root, plan, lockfile, new Set(report.installed));
|
|
63
|
-
const manifestType = builder.resolveManifestType(manifest);
|
|
64
|
-
let postDiagnostics = [];
|
|
65
|
-
if (!this.options.dryRun && candidates.length > 0) {
|
|
66
|
-
const moduleNameOverride = manifest.kind === "project" ? manifest.postinstall?.modules : void 0;
|
|
67
|
-
const postResult = await this.root.postinstall.run({
|
|
68
|
-
projectRoot: this.root.cwd,
|
|
69
|
-
manifestType,
|
|
70
|
-
candidates,
|
|
71
|
-
moduleNameOverride
|
|
72
|
-
});
|
|
73
|
-
postDiagnostics = postResult.diagnostics;
|
|
74
|
-
if (!postResult.ok) return this.fail([
|
|
75
|
-
...commandDiagnostics,
|
|
76
|
-
...executeResult.diagnostics,
|
|
77
|
-
...postResult.diagnostics
|
|
78
|
-
]);
|
|
79
|
-
}
|
|
80
|
-
if (this.options.outputFormat === "json") {
|
|
81
|
-
this.root.json.emit({
|
|
82
|
-
status: hasBranchFailures ? "error" : "ok",
|
|
83
|
-
command: "install",
|
|
84
|
-
data: {
|
|
85
|
-
plan: plan.summary,
|
|
86
|
-
installed: report.installed,
|
|
87
|
-
failed: report.failed,
|
|
88
|
-
skipped: report.skipped,
|
|
89
|
-
incompleteClosure: report.incompleteClosure
|
|
90
|
-
},
|
|
91
|
-
diagnostics: [
|
|
92
|
-
...commandDiagnostics,
|
|
93
|
-
...executeResult.diagnostics,
|
|
94
|
-
...postDiagnostics
|
|
95
|
-
]
|
|
96
|
-
});
|
|
97
|
-
return hasBranchFailures ? 1 : 0;
|
|
98
|
-
}
|
|
99
|
-
this.root.diagnostics.reportAll([
|
|
100
|
-
...commandDiagnostics,
|
|
101
|
-
...executeResult.diagnostics,
|
|
102
|
-
...postDiagnostics
|
|
103
|
-
]);
|
|
104
|
-
progress.renderSummary(plan.summary);
|
|
105
|
-
return hasBranchFailures ? 1 : 0;
|
|
106
|
-
}
|
|
107
|
-
fail(diagnostics) {
|
|
108
|
-
if (this.options.outputFormat === "json") this.root.json.emit({
|
|
109
|
-
status: "error",
|
|
110
|
-
command: "install",
|
|
111
|
-
diagnostics
|
|
112
|
-
});
|
|
113
|
-
else this.root.diagnostics.reportAll(diagnostics);
|
|
114
|
-
return 1;
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
//#endregion
|
|
119
|
-
export { InstallCommand };
|
|
120
|
-
//# sourceMappingURL=InstallCommand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InstallCommand.js","names":[],"sources":["../../src/commands/InstallCommand.ts"],"sourcesContent":["import type { Diagnostic } from '@uapkg/diagnostics';\nimport type { Lockfile } from '@uapkg/package-manifest-schema';\nimport type { CompositionRoot } from '../app/CompositionRoot.js';\nimport { InstallProgressReporter } from '../reporting/InstallProgressReporter.js';\nimport type { Command } from './Command.js';\nimport { PostinstallCandidateBuilder } from './PostinstallCandidateBuilder.js';\n\nexport interface InstallCommandOptions {\n readonly force: boolean;\n readonly frozen: boolean;\n readonly dryRun: boolean;\n readonly outputFormat: 'text' | 'json';\n}\n\n/**\n * `uapkg install` — resolve → plan → download/extract/remove → postinstall.\n *\n * Pipeline (never throws; errors become diagnostics):\n *\n * 1. Read manifest + previous lockfile (best-effort).\n * 2. `PackageManifest.install({ frozen })` → writes a fresh lockfile.\n * 3. `Installer.execute(...)` → executes the install plan.\n * 4. Consume installer's status stream in parallel via `InstallProgressReporter`.\n * 5. On success (non-dryRun), `PostinstallOrchestrator.run()` for added/updated plugins.\n * 6. Report summary + diagnostics.\n *\n * `--force` and `--frozen` are mutually exclusive; the parser layer enforces this.\n */\nexport class InstallCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: InstallCommandOptions,\n ) {}\n\n public async execute(): Promise<number> {\n const pm = this.root.packageManifest;\n const commandDiagnostics: Diagnostic[] = [];\n\n const manifestResult = await pm.readManifest();\n if (!manifestResult.ok) return this.fail(manifestResult.diagnostics);\n const manifest = manifestResult.value;\n\n let previousLockfile: Lockfile | null = null;\n if (!this.options.frozen) {\n const previousLockfileResult = await pm.readLockfileOptional();\n if (!previousLockfileResult.ok) return this.fail(previousLockfileResult.diagnostics);\n previousLockfile = previousLockfileResult.value;\n }\n\n const installResult = await pm.install({ frozen: this.options.frozen });\n if (!installResult.ok) return this.fail([...commandDiagnostics, ...installResult.diagnostics]);\n commandDiagnostics.push(...installResult.diagnostics);\n const lockfile = installResult.value;\n if (this.options.frozen) {\n previousLockfile = lockfile;\n }\n\n const progress = new InstallProgressReporter();\n const consumer = progress.consume(this.root.installer.getStatusStream());\n\n // Trusted roots for verification-gated traversal: the manifest's declared buckets.\n const rootDependencies = [\n ...Object.keys(manifest.dependencies ?? {}),\n ...Object.keys(manifest.devDependencies ?? {}),\n ...Object.keys(manifest.peerDependencies ?? {}),\n ];\n\n const executeResult = await this.root.installer.execute(lockfile, previousLockfile, {\n manifestRoot: this.root.cwd,\n force: this.options.force,\n dryRun: this.options.dryRun,\n rootDependencies,\n });\n await consumer;\n\n if (!executeResult.ok) return this.fail([...commandDiagnostics, ...executeResult.diagnostics]);\n const report = executeResult.value;\n const plan = report.plan;\n const hasBranchFailures = report.failed.length > 0 || report.skipped.length > 0;\n\n const builder = new PostinstallCandidateBuilder();\n const candidates = builder.build(this.root, plan, lockfile, new Set(report.installed));\n const manifestType = builder.resolveManifestType(manifest);\n\n let postDiagnostics: readonly Diagnostic[] = [];\n if (!this.options.dryRun && candidates.length > 0) {\n const moduleNameOverride = manifest.kind === 'project' ? manifest.postinstall?.modules : undefined;\n const postResult = await this.root.postinstall.run({\n projectRoot: this.root.cwd,\n manifestType,\n candidates,\n moduleNameOverride,\n });\n postDiagnostics = postResult.diagnostics;\n if (!postResult.ok) {\n return this.fail([...commandDiagnostics, ...executeResult.diagnostics, ...postResult.diagnostics]);\n }\n }\n\n if (this.options.outputFormat === 'json') {\n this.root.json.emit({\n status: hasBranchFailures ? 'error' : 'ok',\n command: 'install',\n data: {\n plan: plan.summary,\n installed: report.installed,\n failed: report.failed,\n skipped: report.skipped,\n incompleteClosure: report.incompleteClosure,\n },\n diagnostics: [...commandDiagnostics, ...executeResult.diagnostics, ...postDiagnostics],\n });\n return hasBranchFailures ? 1 : 0;\n }\n\n this.root.diagnostics.reportAll([...commandDiagnostics, ...executeResult.diagnostics, ...postDiagnostics]);\n progress.renderSummary(plan.summary);\n return hasBranchFailures ? 1 : 0;\n }\n\n private fail(diagnostics: readonly Diagnostic[]): number {\n if (this.options.outputFormat === 'json') {\n this.root.json.emit({ status: 'error', command: 'install', diagnostics });\n } else {\n this.root.diagnostics.reportAll(diagnostics);\n }\n return 1;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListCommand.d.ts","names":[],"sources":["../../src/commands/ListCommand.ts"],"mappings":";;;UAGiB;WACN;WACA;;;;;;;;;cAUE,uBAAuB;mBAEf;mBACA;EAFnB,YACmB,MAAM,iBACN,SAAS;EAGf,WAAW"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
//#region src/commands/ListCommand.ts
|
|
2
|
-
/**
|
|
3
|
-
* `uapkg list [--depth N]` — renders the resolved dependency tree.
|
|
4
|
-
*
|
|
5
|
-
* Pulls the lockfile via {@link PackageManifest.readLockfile}. A depth of 0
|
|
6
|
-
* prints only root declarations; `Infinity` prints everything (duplicates
|
|
7
|
-
* guarded so cycles can't loop forever).
|
|
8
|
-
*/
|
|
9
|
-
var ListCommand = class {
|
|
10
|
-
root;
|
|
11
|
-
options;
|
|
12
|
-
constructor(root, options) {
|
|
13
|
-
this.root = root;
|
|
14
|
-
this.options = options;
|
|
15
|
-
}
|
|
16
|
-
async execute() {
|
|
17
|
-
const manifestResult = await this.root.packageManifest.readManifest();
|
|
18
|
-
const lockfileResult = await this.root.packageManifest.getLockfileForReadOnly();
|
|
19
|
-
if (!manifestResult.ok) {
|
|
20
|
-
if (this.options.outputFormat === "json") this.root.json.emit({
|
|
21
|
-
status: "error",
|
|
22
|
-
command: "list",
|
|
23
|
-
diagnostics: [...manifestResult.diagnostics ?? []]
|
|
24
|
-
});
|
|
25
|
-
else this.root.diagnostics.reportAll(manifestResult.diagnostics);
|
|
26
|
-
return 1;
|
|
27
|
-
}
|
|
28
|
-
if (!lockfileResult.ok) {
|
|
29
|
-
if (this.options.outputFormat === "json") this.root.json.emit({
|
|
30
|
-
status: "error",
|
|
31
|
-
command: "list",
|
|
32
|
-
diagnostics: [...lockfileResult.diagnostics ?? []]
|
|
33
|
-
});
|
|
34
|
-
else this.root.diagnostics.reportAll(lockfileResult.diagnostics);
|
|
35
|
-
return 1;
|
|
36
|
-
}
|
|
37
|
-
if (this.options.outputFormat === "text") this.root.diagnostics.reportAll(lockfileResult.diagnostics);
|
|
38
|
-
const lockfile = lockfileResult.value;
|
|
39
|
-
const manifest = manifestResult.value;
|
|
40
|
-
const declared = Object.keys({
|
|
41
|
-
...manifest.dependencies,
|
|
42
|
-
...manifest.devDependencies
|
|
43
|
-
});
|
|
44
|
-
if (this.options.outputFormat === "json") {
|
|
45
|
-
this.root.json.emit({
|
|
46
|
-
status: "ok",
|
|
47
|
-
command: "list",
|
|
48
|
-
data: {
|
|
49
|
-
declared,
|
|
50
|
-
packages: lockfile.packages
|
|
51
|
-
},
|
|
52
|
-
diagnostics: lockfileResult.diagnostics
|
|
53
|
-
});
|
|
54
|
-
return 0;
|
|
55
|
-
}
|
|
56
|
-
process.stdout.write(`${this.root.cwd}\n`);
|
|
57
|
-
for (const name of declared) {
|
|
58
|
-
const locked = lockfile.packages[name];
|
|
59
|
-
if (!locked) {
|
|
60
|
-
process.stdout.write(` ${name} (not in lockfile)\n`);
|
|
61
|
-
continue;
|
|
62
|
-
}
|
|
63
|
-
process.stdout.write(` ${name}@${locked.version} [${locked.registry}]\n`);
|
|
64
|
-
}
|
|
65
|
-
if (this.options.depth > 0) {
|
|
66
|
-
const remaining = Object.entries(lockfile.packages).filter(([name]) => !declared.includes(name));
|
|
67
|
-
if (remaining.length > 0) {
|
|
68
|
-
process.stdout.write(" --- transitive ---\n");
|
|
69
|
-
for (const [name, locked] of remaining) process.stdout.write(` ${name}@${locked.version} [${locked.registry}]\n`);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return 0;
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
//#endregion
|
|
77
|
-
export { ListCommand };
|
|
78
|
-
//# sourceMappingURL=ListCommand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListCommand.js","names":[],"sources":["../../src/commands/ListCommand.ts"],"sourcesContent":["import type { CompositionRoot } from '../app/CompositionRoot.js';\nimport type { Command } from './Command.js';\n\nexport interface ListCommandOptions {\n readonly depth: number;\n readonly outputFormat: 'text' | 'json';\n}\n\n/**\n * `uapkg list [--depth N]` — renders the resolved dependency tree.\n *\n * Pulls the lockfile via {@link PackageManifest.readLockfile}. A depth of 0\n * prints only root declarations; `Infinity` prints everything (duplicates\n * guarded so cycles can't loop forever).\n */\nexport class ListCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: ListCommandOptions,\n ) {}\n\n public async execute(): Promise<number> {\n const manifestResult = await this.root.packageManifest.readManifest();\n const lockfileResult = await this.root.packageManifest.getLockfileForReadOnly();\n\n if (!manifestResult.ok) {\n if (this.options.outputFormat === 'json') {\n this.root.json.emit({\n status: 'error',\n command: 'list',\n diagnostics: [...(manifestResult.diagnostics ?? [])],\n });\n } else {\n this.root.diagnostics.reportAll(manifestResult.diagnostics);\n }\n return 1;\n }\n\n if (!lockfileResult.ok) {\n if (this.options.outputFormat === 'json') {\n this.root.json.emit({\n status: 'error',\n command: 'list',\n diagnostics: [...(lockfileResult.diagnostics ?? [])],\n });\n } else {\n this.root.diagnostics.reportAll(lockfileResult.diagnostics);\n }\n return 1;\n }\n\n if (this.options.outputFormat === 'text') {\n this.root.diagnostics.reportAll(lockfileResult.diagnostics);\n }\n\n const lockfile = lockfileResult.value;\n const manifest = manifestResult.value;\n const declared = Object.keys({\n ...manifest.dependencies,\n ...manifest.devDependencies,\n });\n\n if (this.options.outputFormat === 'json') {\n this.root.json.emit({\n status: 'ok',\n command: 'list',\n data: { declared, packages: lockfile.packages },\n diagnostics: lockfileResult.diagnostics,\n });\n return 0;\n }\n\n process.stdout.write(`${this.root.cwd}\\n`);\n for (const name of declared) {\n const locked = (lockfile.packages as Record<string, { version: string; registry: string }>)[name];\n if (!locked) {\n process.stdout.write(` ${name} (not in lockfile)\\n`);\n continue;\n }\n process.stdout.write(` ${name}@${locked.version} [${locked.registry}]\\n`);\n }\n if (this.options.depth > 0) {\n const remaining = Object.entries(\n lockfile.packages as Record<string, { version: string; registry: string }>,\n ).filter(([name]) => !declared.includes(name));\n if (remaining.length > 0) {\n process.stdout.write(' --- transitive ---\\n');\n for (const [name, locked] of remaining) {\n process.stdout.write(` ${name}@${locked.version} [${locked.registry}]\\n`);\n }\n }\n }\n return 0;\n }\n}\n"],"mappings":";;;;;;;;AAeA,IAAa,cAAb,MAA4C;CAEvB;CACA;CAFnB,AAAO,YACL,AAAiB,MACjB,AAAiB,SACjB;EAFiB;EACA;CAChB;CAEH,MAAa,UAA2B;EACtC,MAAM,iBAAiB,MAAM,KAAK,KAAK,gBAAgB,aAAa;EACpE,MAAM,iBAAiB,MAAM,KAAK,KAAK,gBAAgB,uBAAuB;EAE9E,IAAI,CAAC,eAAe,IAAI;GACtB,IAAI,KAAK,QAAQ,iBAAiB,QAChC,KAAK,KAAK,KAAK,KAAK;IAClB,QAAQ;IACR,SAAS;IACT,aAAa,CAAC,GAAI,eAAe,eAAe,CAAC,CAAE;GACrD,CAAC;QAED,KAAK,KAAK,YAAY,UAAU,eAAe,WAAW;GAE5D,OAAO;EACT;EAEA,IAAI,CAAC,eAAe,IAAI;GACtB,IAAI,KAAK,QAAQ,iBAAiB,QAChC,KAAK,KAAK,KAAK,KAAK;IAClB,QAAQ;IACR,SAAS;IACT,aAAa,CAAC,GAAI,eAAe,eAAe,CAAC,CAAE;GACrD,CAAC;QAED,KAAK,KAAK,YAAY,UAAU,eAAe,WAAW;GAE5D,OAAO;EACT;EAEA,IAAI,KAAK,QAAQ,iBAAiB,QAChC,KAAK,KAAK,YAAY,UAAU,eAAe,WAAW;EAG5D,MAAM,WAAW,eAAe;EAChC,MAAM,WAAW,eAAe;EAChC,MAAM,WAAW,OAAO,KAAK;GAC3B,GAAG,SAAS;GACZ,GAAG,SAAS;EACd,CAAC;EAED,IAAI,KAAK,QAAQ,iBAAiB,QAAQ;GACxC,KAAK,KAAK,KAAK,KAAK;IAClB,QAAQ;IACR,SAAS;IACT,MAAM;KAAE;KAAU,UAAU,SAAS;IAAS;IAC9C,aAAa,eAAe;GAC9B,CAAC;GACD,OAAO;EACT;EAEA,QAAQ,OAAO,MAAM,GAAG,KAAK,KAAK,IAAI,GAAG;EACzC,KAAK,MAAM,QAAQ,UAAU;GAC3B,MAAM,SAAU,SAAS,SAAmE;GAC5F,IAAI,CAAC,QAAQ;IACX,QAAQ,OAAO,MAAM,KAAK,KAAK,qBAAqB;IACpD;GACF;GACA,QAAQ,OAAO,MAAM,KAAK,KAAK,GAAG,OAAO,QAAQ,KAAK,OAAO,SAAS,IAAI;EAC5E;EACA,IAAI,KAAK,QAAQ,QAAQ,GAAG;GAC1B,MAAM,YAAY,OAAO,QACvB,SAAS,QACX,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,SAAS,IAAI,CAAC;GAC7C,IAAI,UAAU,SAAS,GAAG;IACxB,QAAQ,OAAO,MAAM,wBAAwB;IAC7C,KAAK,MAAM,CAAC,MAAM,WAAW,WAC3B,QAAQ,OAAO,MAAM,KAAK,KAAK,GAAG,OAAO,QAAQ,KAAK,OAAO,SAAS,IAAI;GAE9E;EACF;EACA,OAAO;CACT;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoginCommand.d.ts","names":[],"sources":["../../src/commands/LoginCommand.ts"],"mappings":";;;;UAKiB;WACN;WACA;WACA;WACA,cAAc;;cAGZ,wBAAwB;mBAEhB;mBACA;EAFnB,YACmB,MAAM,iBACN,SAAS;EAGf,WAAW;UAoChB"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { loginDiagnosticForError } from "../control-plane/AccountManager.js";
|
|
2
|
-
|
|
3
|
-
//#region src/commands/LoginCommand.ts
|
|
4
|
-
var LoginCommand = class {
|
|
5
|
-
root;
|
|
6
|
-
options;
|
|
7
|
-
constructor(root, options) {
|
|
8
|
-
this.root = root;
|
|
9
|
-
this.options = options;
|
|
10
|
-
}
|
|
11
|
-
async execute() {
|
|
12
|
-
try {
|
|
13
|
-
const trust = await this.root.registryTrustResolver.resolve(this.options.registry);
|
|
14
|
-
const result = await this.root.accountManager.login(trust, {
|
|
15
|
-
deviceName: this.options.deviceName,
|
|
16
|
-
reauthorize: this.options.reauthorize,
|
|
17
|
-
onProgress: (event) => this.reportProgress(event)
|
|
18
|
-
});
|
|
19
|
-
if (this.options.outputFormat === "json") this.root.json.emitSuccess("login", {
|
|
20
|
-
registry: {
|
|
21
|
-
alias: trust.alias,
|
|
22
|
-
id: trust.registryId,
|
|
23
|
-
name: trust.registryName
|
|
24
|
-
},
|
|
25
|
-
account: result.grant.account,
|
|
26
|
-
deviceName: result.grant.deviceName,
|
|
27
|
-
expiresAt: result.grant.expiresAt,
|
|
28
|
-
warnings: result.warnings
|
|
29
|
-
});
|
|
30
|
-
else process.stdout.write(`Logged in to "${trust.alias}" as ${result.grant.account.username} on ${result.grant.deviceName}.\n`);
|
|
31
|
-
for (const warning of result.warnings) process.stderr.write(`Warning: ${warning}\n`);
|
|
32
|
-
return 0;
|
|
33
|
-
} catch (error) {
|
|
34
|
-
const diagnostic = loginDiagnosticForError(error);
|
|
35
|
-
if (this.options.outputFormat === "json") this.root.json.emitError("login", [diagnostic]);
|
|
36
|
-
else process.stderr.write(`${diagnostic.message}\n`);
|
|
37
|
-
return 1;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
reportProgress(event) {
|
|
41
|
-
switch (event.type) {
|
|
42
|
-
case "preparing":
|
|
43
|
-
process.stderr.write(`Preparing browser authorization for "${event.registryAlias}"…\n`);
|
|
44
|
-
break;
|
|
45
|
-
case "opening-browser":
|
|
46
|
-
process.stderr.write("Opening the UAPKG account page…\n");
|
|
47
|
-
break;
|
|
48
|
-
case "browser-open-failed":
|
|
49
|
-
process.stderr.write(`Unable to open the browser automatically. Open this one-time URL to continue:\n${event.authorizationUrl}\n`);
|
|
50
|
-
break;
|
|
51
|
-
case "waiting-for-decision":
|
|
52
|
-
process.stderr.write("Waiting for you to approve or deny access in the browser…\n");
|
|
53
|
-
break;
|
|
54
|
-
case "approval-received":
|
|
55
|
-
process.stderr.write("Approval received. Verifying the account…\n");
|
|
56
|
-
break;
|
|
57
|
-
case "saving-local-credentials":
|
|
58
|
-
process.stderr.write("Saving credentials in this device's protected credential store…\n");
|
|
59
|
-
break;
|
|
60
|
-
case "confirming-with-service": process.stderr.write("Local credentials saved. Confirming the login with UAPKG…\n");
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
//#endregion
|
|
66
|
-
export { LoginCommand };
|
|
67
|
-
//# sourceMappingURL=LoginCommand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoginCommand.js","names":[],"sources":["../../src/commands/LoginCommand.ts"],"sourcesContent":["import type { CompositionRoot } from '../app/CompositionRoot.js';\nimport type { UAPKGOutputFormat } from '../cli/UAPKGCommandLine.js';\nimport { type LoginProgressEvent, loginDiagnosticForError } from '../control-plane/AccountManager.js';\nimport type { Command } from './Command.js';\n\nexport interface LoginCommandOptions {\n readonly registry?: string;\n readonly deviceName?: string;\n readonly reauthorize: boolean;\n readonly outputFormat: UAPKGOutputFormat;\n}\n\nexport class LoginCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: LoginCommandOptions,\n ) {}\n\n public async execute(): Promise<number> {\n try {\n const trust = await this.root.registryTrustResolver.resolve(this.options.registry);\n const result = await this.root.accountManager.login(trust, {\n deviceName: this.options.deviceName,\n reauthorize: this.options.reauthorize,\n onProgress: (event) => this.reportProgress(event),\n });\n if (this.options.outputFormat === 'json') {\n this.root.json.emitSuccess('login', {\n registry: { alias: trust.alias, id: trust.registryId, name: trust.registryName },\n account: result.grant.account,\n deviceName: result.grant.deviceName,\n expiresAt: result.grant.expiresAt,\n warnings: result.warnings,\n });\n } else {\n process.stdout.write(\n `Logged in to \"${trust.alias}\" as ${result.grant.account.username} on ${result.grant.deviceName}.\\n`,\n );\n }\n for (const warning of result.warnings) {\n process.stderr.write(`Warning: ${warning}\\n`);\n }\n return 0;\n } catch (error) {\n const diagnostic = loginDiagnosticForError(error);\n if (this.options.outputFormat === 'json') {\n this.root.json.emitError('login', [diagnostic]);\n } else {\n process.stderr.write(`${diagnostic.message}\\n`);\n }\n return 1;\n }\n }\n\n private reportProgress(event: LoginProgressEvent): void {\n switch (event.type) {\n case 'preparing':\n process.stderr.write(`Preparing browser authorization for \"${event.registryAlias}\"…\\n`);\n break;\n case 'opening-browser':\n process.stderr.write('Opening the UAPKG account page…\\n');\n break;\n case 'browser-open-failed':\n process.stderr.write(\n `Unable to open the browser automatically. Open this one-time URL to continue:\\n${event.authorizationUrl}\\n`,\n );\n break;\n case 'waiting-for-decision':\n process.stderr.write('Waiting for you to approve or deny access in the browser…\\n');\n break;\n case 'approval-received':\n process.stderr.write('Approval received. Verifying the account…\\n');\n break;\n case 'saving-local-credentials':\n process.stderr.write(\"Saving credentials in this device's protected credential store…\\n\");\n break;\n case 'confirming-with-service':\n process.stderr.write('Local credentials saved. Confirming the login with UAPKG…\\n');\n break;\n default:\n event satisfies never;\n }\n }\n}\n"],"mappings":";;;AAYA,IAAa,eAAb,MAA6C;CAExB;CACA;CAFnB,AAAO,YACL,AAAiB,MACjB,AAAiB,SACjB;EAFiB;EACA;CAChB;CAEH,MAAa,UAA2B;EACtC,IAAI;GACF,MAAM,QAAQ,MAAM,KAAK,KAAK,sBAAsB,QAAQ,KAAK,QAAQ,QAAQ;GACjF,MAAM,SAAS,MAAM,KAAK,KAAK,eAAe,MAAM,OAAO;IACzD,YAAY,KAAK,QAAQ;IACzB,aAAa,KAAK,QAAQ;IAC1B,aAAa,UAAU,KAAK,eAAe,KAAK;GAClD,CAAC;GACD,IAAI,KAAK,QAAQ,iBAAiB,QAChC,KAAK,KAAK,KAAK,YAAY,SAAS;IAClC,UAAU;KAAE,OAAO,MAAM;KAAO,IAAI,MAAM;KAAY,MAAM,MAAM;IAAa;IAC/E,SAAS,OAAO,MAAM;IACtB,YAAY,OAAO,MAAM;IACzB,WAAW,OAAO,MAAM;IACxB,UAAU,OAAO;GACnB,CAAC;QAED,QAAQ,OAAO,MACb,iBAAiB,MAAM,MAAM,OAAO,OAAO,MAAM,QAAQ,SAAS,MAAM,OAAO,MAAM,WAAW,IAClG;GAEF,KAAK,MAAM,WAAW,OAAO,UAC3B,QAAQ,OAAO,MAAM,YAAY,QAAQ,GAAG;GAE9C,OAAO;EACT,SAAS,OAAO;GACd,MAAM,aAAa,wBAAwB,KAAK;GAChD,IAAI,KAAK,QAAQ,iBAAiB,QAChC,KAAK,KAAK,KAAK,UAAU,SAAS,CAAC,UAAU,CAAC;QAE9C,QAAQ,OAAO,MAAM,GAAG,WAAW,QAAQ,GAAG;GAEhD,OAAO;EACT;CACF;CAEA,AAAQ,eAAe,OAAiC;EACtD,QAAQ,MAAM,MAAd;GACE,KAAK;IACH,QAAQ,OAAO,MAAM,wCAAwC,MAAM,cAAc,KAAK;IACtF;GACF,KAAK;IACH,QAAQ,OAAO,MAAM,mCAAmC;IACxD;GACF,KAAK;IACH,QAAQ,OAAO,MACb,kFAAkF,MAAM,iBAAiB,GAC3G;IACA;GACF,KAAK;IACH,QAAQ,OAAO,MAAM,6DAA6D;IAClF;GACF,KAAK;IACH,QAAQ,OAAO,MAAM,6CAA6C;IAClE;GACF,KAAK;IACH,QAAQ,OAAO,MAAM,mEAAmE;IACxF;GACF,KAAK,2BACH,QAAQ,OAAO,MAAM,6DAA6D;EAItF;CACF;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LogoutCommand.d.ts","names":[],"sources":["../../src/commands/LogoutCommand.ts"],"mappings":";;;;UAKiB;WACN;WACA;WACA,cAAc;;cAGZ,yBAAyB;mBAEjB;mBACA;EAFnB,YACmB,MAAM,iBACN,SAAS;EAGf,WAAW"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { describeControlPlaneError } from "../control-plane/AccountManager.js";
|
|
2
|
-
|
|
3
|
-
//#region src/commands/LogoutCommand.ts
|
|
4
|
-
var LogoutCommand = class {
|
|
5
|
-
root;
|
|
6
|
-
options;
|
|
7
|
-
constructor(root, options) {
|
|
8
|
-
this.root = root;
|
|
9
|
-
this.options = options;
|
|
10
|
-
}
|
|
11
|
-
async execute() {
|
|
12
|
-
try {
|
|
13
|
-
const trust = await this.root.registryTrustResolver.resolve(this.options.registry);
|
|
14
|
-
const result = await this.root.accountManager.logout(trust, this.options.localOnly);
|
|
15
|
-
if (this.options.outputFormat === "json") process.stdout.write(`${JSON.stringify({
|
|
16
|
-
ok: true,
|
|
17
|
-
registry: {
|
|
18
|
-
alias: trust.alias,
|
|
19
|
-
id: trust.registryId
|
|
20
|
-
},
|
|
21
|
-
removed: result === "removed",
|
|
22
|
-
serverRevoked: result === "removed" && !this.options.localOnly
|
|
23
|
-
})}\n`);
|
|
24
|
-
else if (result === "not-logged-in") process.stdout.write(`No saved login exists for "${trust.alias}".\n`);
|
|
25
|
-
else if (this.options.localOnly) process.stdout.write(`Removed the local login for "${trust.alias}". The remote grant may remain active; revoke it from the account website.\n`);
|
|
26
|
-
else process.stdout.write(`Revoked and removed the saved login for "${trust.alias}".\n`);
|
|
27
|
-
return 0;
|
|
28
|
-
} catch (error) {
|
|
29
|
-
process.stderr.write(`${describeControlPlaneError(error)}\n`);
|
|
30
|
-
return 1;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
//#endregion
|
|
36
|
-
export { LogoutCommand };
|
|
37
|
-
//# sourceMappingURL=LogoutCommand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LogoutCommand.js","names":[],"sources":["../../src/commands/LogoutCommand.ts"],"sourcesContent":["import type { CompositionRoot } from '../app/CompositionRoot.js';\nimport type { UAPKGOutputFormat } from '../cli/UAPKGCommandLine.js';\nimport { describeControlPlaneError } from '../control-plane/AccountManager.js';\nimport type { Command } from './Command.js';\n\nexport interface LogoutCommandOptions {\n readonly registry?: string;\n readonly localOnly: boolean;\n readonly outputFormat: UAPKGOutputFormat;\n}\n\nexport class LogoutCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: LogoutCommandOptions,\n ) {}\n\n public async execute(): Promise<number> {\n try {\n const trust = await this.root.registryTrustResolver.resolve(this.options.registry);\n const result = await this.root.accountManager.logout(trust, this.options.localOnly);\n if (this.options.outputFormat === 'json') {\n process.stdout.write(\n `${JSON.stringify({\n ok: true,\n registry: { alias: trust.alias, id: trust.registryId },\n removed: result === 'removed',\n serverRevoked: result === 'removed' && !this.options.localOnly,\n })}\\n`,\n );\n } else if (result === 'not-logged-in') {\n process.stdout.write(`No saved login exists for \"${trust.alias}\".\\n`);\n } else if (this.options.localOnly) {\n process.stdout.write(\n `Removed the local login for \"${trust.alias}\". The remote grant may remain active; revoke it from the account website.\\n`,\n );\n } else {\n process.stdout.write(`Revoked and removed the saved login for \"${trust.alias}\".\\n`);\n }\n return 0;\n } catch (error) {\n process.stderr.write(`${describeControlPlaneError(error)}\\n`);\n return 1;\n }\n }\n}\n"],"mappings":";;;AAWA,IAAa,gBAAb,MAA8C;CAEzB;CACA;CAFnB,AAAO,YACL,AAAiB,MACjB,AAAiB,SACjB;EAFiB;EACA;CAChB;CAEH,MAAa,UAA2B;EACtC,IAAI;GACF,MAAM,QAAQ,MAAM,KAAK,KAAK,sBAAsB,QAAQ,KAAK,QAAQ,QAAQ;GACjF,MAAM,SAAS,MAAM,KAAK,KAAK,eAAe,OAAO,OAAO,KAAK,QAAQ,SAAS;GAClF,IAAI,KAAK,QAAQ,iBAAiB,QAChC,QAAQ,OAAO,MACb,GAAG,KAAK,UAAU;IAChB,IAAI;IACJ,UAAU;KAAE,OAAO,MAAM;KAAO,IAAI,MAAM;IAAW;IACrD,SAAS,WAAW;IACpB,eAAe,WAAW,aAAa,CAAC,KAAK,QAAQ;GACvD,CAAC,EAAE,GACL;QACK,IAAI,WAAW,iBACpB,QAAQ,OAAO,MAAM,8BAA8B,MAAM,MAAM,KAAK;QAC/D,IAAI,KAAK,QAAQ,WACtB,QAAQ,OAAO,MACb,gCAAgC,MAAM,MAAM,6EAC9C;QAEA,QAAQ,OAAO,MAAM,4CAA4C,MAAM,MAAM,KAAK;GAEpF,OAAO;EACT,SAAS,OAAO;GACd,QAAQ,OAAO,MAAM,GAAG,0BAA0B,KAAK,EAAE,GAAG;GAC5D,OAAO;EACT;CACF;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OutdatedCommand.d.ts","names":[],"sources":["../../src/commands/OutdatedCommand.ts"],"mappings":";;;UAGiB;WACN;;;;;;;;;;cAWE,2BAA2B;mBAEnB;mBACA;EAFnB,YACmB,MAAM,iBACN,SAAS;EAGf,WAAW"}
|