@uapkg/cli 1.4.0 → 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 -48
- 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,43 +0,0 @@
|
|
|
1
|
-
//#region src/postinstall/unreal/PrettyParseError.ts
|
|
2
|
-
/**
|
|
3
|
-
* Structured parse failure for C# build files. Emitted as the `reason` payload
|
|
4
|
-
* of `POSTINSTALL_LOAD_FAILED`-adjacent diagnostics by injector callers.
|
|
5
|
-
*
|
|
6
|
-
* Unlike the legacy version this class is still a standard `Error` subclass so
|
|
7
|
-
* it composes cleanly with `try/catch`, but the new postinstall subsystem never
|
|
8
|
-
* lets it escape — injectors catch and convert to diagnostics.
|
|
9
|
-
*/
|
|
10
|
-
var PrettyParseError = class extends Error {
|
|
11
|
-
filePath;
|
|
12
|
-
line;
|
|
13
|
-
column;
|
|
14
|
-
constructor(filePath, message, source, index) {
|
|
15
|
-
const { line, column } = toLineAndColumn(source, index);
|
|
16
|
-
const snippet = formatSnippet(source, line, column);
|
|
17
|
-
super(`${filePath}:${line}:${column} ${message}\n${snippet}`);
|
|
18
|
-
this.name = "PrettyParseError";
|
|
19
|
-
this.filePath = filePath;
|
|
20
|
-
this.line = line;
|
|
21
|
-
this.column = column;
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
function toLineAndColumn(source, index) {
|
|
25
|
-
let line = 1;
|
|
26
|
-
let column = 1;
|
|
27
|
-
const limit = Math.min(index, source.length);
|
|
28
|
-
for (let i = 0; i < limit; i += 1) if (source[i] === "\n") {
|
|
29
|
-
line += 1;
|
|
30
|
-
column = 1;
|
|
31
|
-
} else column += 1;
|
|
32
|
-
return {
|
|
33
|
-
line,
|
|
34
|
-
column
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
function formatSnippet(source, line, column) {
|
|
38
|
-
return `${source.split(/\r?\n/)[line - 1] ?? ""}\n${" ".repeat(Math.max(0, column - 1))}^`;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
//#endregion
|
|
42
|
-
export { PrettyParseError };
|
|
43
|
-
//# sourceMappingURL=PrettyParseError.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PrettyParseError.js","names":[],"sources":["../../../src/postinstall/unreal/PrettyParseError.ts"],"sourcesContent":["/**\n * Structured parse failure for C# build files. Emitted as the `reason` payload\n * of `POSTINSTALL_LOAD_FAILED`-adjacent diagnostics by injector callers.\n *\n * Unlike the legacy version this class is still a standard `Error` subclass so\n * it composes cleanly with `try/catch`, but the new postinstall subsystem never\n * lets it escape — injectors catch and convert to diagnostics.\n */\nexport class PrettyParseError extends Error {\n public readonly filePath: string;\n public readonly line: number;\n public readonly column: number;\n\n public constructor(filePath: string, message: string, source: string, index: number) {\n const { line, column } = toLineAndColumn(source, index);\n const snippet = formatSnippet(source, line, column);\n super(`${filePath}:${line}:${column} ${message}\\n${snippet}`);\n this.name = 'PrettyParseError';\n this.filePath = filePath;\n this.line = line;\n this.column = column;\n }\n}\n\nfunction toLineAndColumn(source: string, index: number): { line: number; column: number } {\n let line = 1;\n let column = 1;\n const limit = Math.min(index, source.length);\n for (let i = 0; i < limit; i += 1) {\n if (source[i] === '\\n') {\n line += 1;\n column = 1;\n } else {\n column += 1;\n }\n }\n return { line, column };\n}\n\nfunction formatSnippet(source: string, line: number, column: number): string {\n const lines = source.split(/\\r?\\n/);\n const lineText = lines[line - 1] ?? '';\n return `${lineText}\\n${' '.repeat(Math.max(0, column - 1))}^`;\n}\n"],"mappings":";;;;;;;;;AAQA,IAAa,mBAAb,cAAsC,MAAM;CAC1C,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAEhB,AAAO,YAAY,UAAkB,SAAiB,QAAgB,OAAe;EACnF,MAAM,EAAE,MAAM,WAAW,gBAAgB,QAAQ,KAAK;EACtD,MAAM,UAAU,cAAc,QAAQ,MAAM,MAAM;EAClD,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,IAAI,SAAS;EAC5D,KAAK,OAAO;EACZ,KAAK,WAAW;EAChB,KAAK,OAAO;EACZ,KAAK,SAAS;CAChB;AACF;AAEA,SAAS,gBAAgB,QAAgB,OAAiD;CACxF,IAAI,OAAO;CACX,IAAI,SAAS;CACb,MAAM,QAAQ,KAAK,IAAI,OAAO,OAAO,MAAM;CAC3C,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,KAAK,GAC9B,IAAI,OAAO,OAAO,MAAM;EACtB,QAAQ;EACR,SAAS;CACX,OACE,UAAU;CAGd,OAAO;EAAE;EAAM;CAAO;AACxB;AAEA,SAAS,cAAc,QAAgB,MAAc,QAAwB;CAG3E,OAAO,GAFO,OAAO,MAAM,OACN,CAAC,CAAC,OAAO,MAAM,GACjB,IAAI,IAAI,OAAO,KAAK,IAAI,GAAG,SAAS,CAAC,CAAC,EAAE;AAC7D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectFileLocator.d.ts","names":[],"sources":["../../../src/postinstall/unreal/ProjectFileLocator.ts"],"mappings":";;;;;;;;;;cAYa;EACJ,eAAe;EAIf,gBAAgB;;;;;EAQhB,gBAAgB;UAWf"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import * as path$1 from "node:path";
|
|
2
|
-
import fs from "node:fs";
|
|
3
|
-
|
|
4
|
-
//#region src/postinstall/unreal/ProjectFileLocator.ts
|
|
5
|
-
/**
|
|
6
|
-
* Pure-IO locator for Unreal build-tree anchors:
|
|
7
|
-
* * `*.Build.cs` files under `<projectRoot>/Source`
|
|
8
|
-
* * `*.Target.cs` files under `<projectRoot>/Source`
|
|
9
|
-
* * The single `*.uproject` at the project root.
|
|
10
|
-
*
|
|
11
|
-
* This module does no parsing; {@link UnrealSourceCatalog} pairs the returned
|
|
12
|
-
* paths with a {@link CSharpStructureAnalyzer} to validate them.
|
|
13
|
-
*/
|
|
14
|
-
var ProjectFileLocator = class {
|
|
15
|
-
findBuildFiles(projectRoot) {
|
|
16
|
-
return this.findBySuffix(path$1.join(projectRoot, "Source"), ".Build.cs");
|
|
17
|
-
}
|
|
18
|
-
findTargetFiles(projectRoot) {
|
|
19
|
-
return this.findBySuffix(path$1.join(projectRoot, "Source"), ".Target.cs");
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Returns the single `.uproject` file at `projectRoot`, or throws if 0 or 2+
|
|
23
|
-
* exist. Callers in the new subsystem catch and convert to diagnostics.
|
|
24
|
-
*/
|
|
25
|
-
findProjectFile(projectRoot) {
|
|
26
|
-
const entries = fs.readdirSync(projectRoot, { withFileTypes: true }).filter((entry) => entry.isFile() && entry.name.toLowerCase().endsWith(".uproject")).map((entry) => path$1.join(projectRoot, entry.name));
|
|
27
|
-
if (entries.length !== 1) throw new Error(`Expected exactly one .uproject in ${projectRoot}, found ${entries.length}`);
|
|
28
|
-
return entries[0];
|
|
29
|
-
}
|
|
30
|
-
findBySuffix(root, suffix) {
|
|
31
|
-
if (!fs.existsSync(root)) return [];
|
|
32
|
-
const files = [];
|
|
33
|
-
const stack = [root];
|
|
34
|
-
while (stack.length > 0) {
|
|
35
|
-
const current = stack.pop();
|
|
36
|
-
for (const entry of fs.readdirSync(current, { withFileTypes: true })) {
|
|
37
|
-
const fullPath = path$1.join(current, entry.name);
|
|
38
|
-
if (entry.isDirectory()) {
|
|
39
|
-
stack.push(fullPath);
|
|
40
|
-
continue;
|
|
41
|
-
}
|
|
42
|
-
if (entry.isFile() && fullPath.endsWith(suffix)) files.push(fullPath);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return files.sort((a, b) => a.localeCompare(b));
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
//#endregion
|
|
50
|
-
export { ProjectFileLocator };
|
|
51
|
-
//# sourceMappingURL=ProjectFileLocator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectFileLocator.js","names":["path"],"sources":["../../../src/postinstall/unreal/ProjectFileLocator.ts"],"sourcesContent":["import fs from 'node:fs';\nimport * as path from 'node:path';\n\n/**\n * Pure-IO locator for Unreal build-tree anchors:\n * * `*.Build.cs` files under `<projectRoot>/Source`\n * * `*.Target.cs` files under `<projectRoot>/Source`\n * * The single `*.uproject` at the project root.\n *\n * This module does no parsing; {@link UnrealSourceCatalog} pairs the returned\n * paths with a {@link CSharpStructureAnalyzer} to validate them.\n */\nexport class ProjectFileLocator {\n public findBuildFiles(projectRoot: string): string[] {\n return this.findBySuffix(path.join(projectRoot, 'Source'), '.Build.cs');\n }\n\n public findTargetFiles(projectRoot: string): string[] {\n return this.findBySuffix(path.join(projectRoot, 'Source'), '.Target.cs');\n }\n\n /**\n * Returns the single `.uproject` file at `projectRoot`, or throws if 0 or 2+\n * exist. Callers in the new subsystem catch and convert to diagnostics.\n */\n public findProjectFile(projectRoot: string): string {\n const entries = fs\n .readdirSync(projectRoot, { withFileTypes: true })\n .filter((entry) => entry.isFile() && entry.name.toLowerCase().endsWith('.uproject'))\n .map((entry) => path.join(projectRoot, entry.name));\n if (entries.length !== 1) {\n throw new Error(`Expected exactly one .uproject in ${projectRoot}, found ${entries.length}`);\n }\n return entries[0];\n }\n\n private findBySuffix(root: string, suffix: string): string[] {\n if (!fs.existsSync(root)) return [];\n\n const files: string[] = [];\n const stack = [root];\n while (stack.length > 0) {\n const current = stack.pop() as string;\n for (const entry of fs.readdirSync(current, { withFileTypes: true })) {\n const fullPath = path.join(current, entry.name);\n if (entry.isDirectory()) {\n stack.push(fullPath);\n continue;\n }\n if (entry.isFile() && fullPath.endsWith(suffix)) files.push(fullPath);\n }\n }\n return files.sort((a, b) => a.localeCompare(b));\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,IAAa,qBAAb,MAAgC;CAC9B,AAAO,eAAe,aAA+B;EACnD,OAAO,KAAK,aAAaA,OAAK,KAAK,aAAa,QAAQ,GAAG,WAAW;CACxE;CAEA,AAAO,gBAAgB,aAA+B;EACpD,OAAO,KAAK,aAAaA,OAAK,KAAK,aAAa,QAAQ,GAAG,YAAY;CACzE;;;;;CAMA,AAAO,gBAAgB,aAA6B;EAClD,MAAM,UAAU,GACb,YAAY,aAAa,EAAE,eAAe,KAAK,CAAC,CAAC,CACjD,QAAQ,UAAU,MAAM,OAAO,KAAK,MAAM,KAAK,YAAY,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CACnF,KAAK,UAAUA,OAAK,KAAK,aAAa,MAAM,IAAI,CAAC;EACpD,IAAI,QAAQ,WAAW,GACrB,MAAM,IAAI,MAAM,qCAAqC,YAAY,UAAU,QAAQ,QAAQ;EAE7F,OAAO,QAAQ;CACjB;CAEA,AAAQ,aAAa,MAAc,QAA0B;EAC3D,IAAI,CAAC,GAAG,WAAW,IAAI,GAAG,OAAO,CAAC;EAElC,MAAM,QAAkB,CAAC;EACzB,MAAM,QAAQ,CAAC,IAAI;EACnB,OAAO,MAAM,SAAS,GAAG;GACvB,MAAM,UAAU,MAAM,IAAI;GAC1B,KAAK,MAAM,SAAS,GAAG,YAAY,SAAS,EAAE,eAAe,KAAK,CAAC,GAAG;IACpE,MAAM,WAAWA,OAAK,KAAK,SAAS,MAAM,IAAI;IAC9C,IAAI,MAAM,YAAY,GAAG;KACvB,MAAM,KAAK,QAAQ;KACnB;IACF;IACA,IAAI,MAAM,OAAO,KAAK,SAAS,SAAS,MAAM,GAAG,MAAM,KAAK,QAAQ;GACtE;EACF;EACA,OAAO,MAAM,MAAM,GAAG,MAAM,EAAE,cAAc,CAAC,CAAC;CAChD;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TargetCsInjector.d.ts","names":[],"sources":["../../../src/postinstall/unreal/TargetCsInjector.ts"],"mappings":";;;;;;;;;;;;;;;cAmBa;mBAEQ;mBACA;mBACA;mBACA;EAJnB,YACmB,WAAU,yBACV,iBAAgB,sBAChB,WAAU,uBACV,eAAc;EAG1B,MAAM,kBAAkB,oBAAoB,OAAO,iBAAiB"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { MarkerBlockEditor } from "../markers/MarkerBlockEditor.js";
|
|
2
|
-
import { CSharpInjectionEngine } from "./CSharpInjectionEngine.js";
|
|
3
|
-
import { CSharpStructureAnalyzer } from "./CSharpStructureAnalyzer.js";
|
|
4
|
-
import { CSharpWrapperFactory } from "./CSharpWrapperFactory.js";
|
|
5
|
-
import { getWrapperClassName } from "./PluginHash.js";
|
|
6
|
-
import { createIoErrorDiagnostic, fail, ok } from "@uapkg/diagnostics";
|
|
7
|
-
import fs from "node:fs";
|
|
8
|
-
|
|
9
|
-
//#region src/postinstall/unreal/TargetCsInjector.ts
|
|
10
|
-
const TARGET_CS_ZONES = [
|
|
11
|
-
"target-includes",
|
|
12
|
-
"target-class-body",
|
|
13
|
-
"target-constructor"
|
|
14
|
-
];
|
|
15
|
-
/**
|
|
16
|
-
* Injects a plugin's `setupTargets` content into a single `*.Target.cs` file.
|
|
17
|
-
*
|
|
18
|
-
* Mirrors {@link BuildCsInjector} but targets `TargetRules`/`TargetInfo` and a
|
|
19
|
-
* different marker-zone name-space. Never throws — errors become diagnostics.
|
|
20
|
-
* Pre-existing owned marker blocks are integrity-checked before mutation and
|
|
21
|
-
* surfaced as `POSTINSTALL_MARKER_CORRUPT` on failure.
|
|
22
|
-
*/
|
|
23
|
-
var TargetCsInjector = class {
|
|
24
|
-
analyzer;
|
|
25
|
-
wrapperFactory;
|
|
26
|
-
injector;
|
|
27
|
-
markerEditor;
|
|
28
|
-
constructor(analyzer = new CSharpStructureAnalyzer(), wrapperFactory = new CSharpWrapperFactory(), injector = new CSharpInjectionEngine(), markerEditor = new MarkerBlockEditor()) {
|
|
29
|
-
this.analyzer = analyzer;
|
|
30
|
-
this.wrapperFactory = wrapperFactory;
|
|
31
|
-
this.injector = injector;
|
|
32
|
-
this.markerEditor = markerEditor;
|
|
33
|
-
}
|
|
34
|
-
apply(filePath, pluginName, zones) {
|
|
35
|
-
try {
|
|
36
|
-
let source = fs.readFileSync(filePath, "utf-8");
|
|
37
|
-
for (const zone of TARGET_CS_ZONES) {
|
|
38
|
-
const check = this.markerEditor.validate(source, pluginName, zone, filePath);
|
|
39
|
-
if (!check.ok) return fail(check.diagnostics);
|
|
40
|
-
}
|
|
41
|
-
if (zones.includes?.trim()) source = this.injector.applyIncludes(source, pluginName, zones.includes, "target-includes");
|
|
42
|
-
if (zones.classBody?.trim()) {
|
|
43
|
-
const parsedForWrapper = this.analyzer.parseTarget(filePath, source);
|
|
44
|
-
const wrapperClassName = getWrapperClassName(pluginName);
|
|
45
|
-
const wrapper = this.wrapperFactory.createWrapper(wrapperClassName, "TargetRules", "target", zones.classBody);
|
|
46
|
-
source = this.injector.applyClassWrapper(parsedForWrapper, pluginName, wrapper, "target-class-body");
|
|
47
|
-
const parsedForCtor = this.analyzer.parseTarget(filePath, source);
|
|
48
|
-
source = this.injector.applyConstructorCall(parsedForCtor, pluginName, `${wrapperClassName}.Apply(this)`, "target-constructor");
|
|
49
|
-
}
|
|
50
|
-
fs.writeFileSync(filePath, source, "utf-8");
|
|
51
|
-
return ok(void 0);
|
|
52
|
-
} catch (error) {
|
|
53
|
-
return fail([createIoErrorDiagnostic(filePath, error instanceof Error ? error.message : String(error))]);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
//#endregion
|
|
59
|
-
export { TargetCsInjector };
|
|
60
|
-
//# sourceMappingURL=TargetCsInjector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TargetCsInjector.js","names":[],"sources":["../../../src/postinstall/unreal/TargetCsInjector.ts"],"sourcesContent":["import fs from 'node:fs';\nimport { createIoErrorDiagnostic, fail, ok, type Result } from '@uapkg/diagnostics';\nimport type { ZoneDefinition } from '#cli/postinstall/api/PostinstallDsl.ts';\nimport { MarkerBlockEditor } from '#cli/postinstall/markers/MarkerBlockEditor.ts';\nimport { CSharpInjectionEngine } from '#cli/postinstall/unreal/CSharpInjectionEngine.ts';\nimport { CSharpStructureAnalyzer } from '#cli/postinstall/unreal/CSharpStructureAnalyzer.ts';\nimport { CSharpWrapperFactory } from '#cli/postinstall/unreal/CSharpWrapperFactory.ts';\nimport { getWrapperClassName } from '#cli/postinstall/unreal/PluginHash.ts';\n\nconst TARGET_CS_ZONES = ['target-includes', 'target-class-body', 'target-constructor'] as const;\n\n/**\n * Injects a plugin's `setupTargets` content into a single `*.Target.cs` file.\n *\n * Mirrors {@link BuildCsInjector} but targets `TargetRules`/`TargetInfo` and a\n * different marker-zone name-space. Never throws — errors become diagnostics.\n * Pre-existing owned marker blocks are integrity-checked before mutation and\n * surfaced as `POSTINSTALL_MARKER_CORRUPT` on failure.\n */\nexport class TargetCsInjector {\n public constructor(\n private readonly analyzer: CSharpStructureAnalyzer = new CSharpStructureAnalyzer(),\n private readonly wrapperFactory: CSharpWrapperFactory = new CSharpWrapperFactory(),\n private readonly injector: CSharpInjectionEngine = new CSharpInjectionEngine(),\n private readonly markerEditor: MarkerBlockEditor = new MarkerBlockEditor(),\n ) {}\n\n public apply(filePath: string, pluginName: string, zones: ZoneDefinition): Result<void> {\n try {\n let source = fs.readFileSync(filePath, 'utf-8');\n\n for (const zone of TARGET_CS_ZONES) {\n const check = this.markerEditor.validate(source, pluginName, zone, filePath);\n if (!check.ok) return fail(check.diagnostics);\n }\n\n if (zones.includes?.trim()) {\n source = this.injector.applyIncludes(source, pluginName, zones.includes, 'target-includes');\n }\n if (zones.classBody?.trim()) {\n const parsedForWrapper = this.analyzer.parseTarget(filePath, source);\n const wrapperClassName = getWrapperClassName(pluginName);\n const wrapper = this.wrapperFactory.createWrapper(wrapperClassName, 'TargetRules', 'target', zones.classBody);\n source = this.injector.applyClassWrapper(parsedForWrapper, pluginName, wrapper, 'target-class-body');\n\n const parsedForCtor = this.analyzer.parseTarget(filePath, source);\n source = this.injector.applyConstructorCall(\n parsedForCtor,\n pluginName,\n `${wrapperClassName}.Apply(this)`,\n 'target-constructor',\n );\n }\n fs.writeFileSync(filePath, source, 'utf-8');\n return ok(undefined);\n } catch (error) {\n return fail([createIoErrorDiagnostic(filePath, error instanceof Error ? error.message : String(error))]);\n }\n }\n}\n"],"mappings":";;;;;;;;;AASA,MAAM,kBAAkB;CAAC;CAAmB;CAAqB;AAAoB;;;;;;;;;AAUrF,IAAa,mBAAb,MAA8B;CAET;CACA;CACA;CACA;CAJnB,AAAO,YACL,AAAiB,WAAoC,IAAI,wBAAwB,GACjF,AAAiB,iBAAuC,IAAI,qBAAqB,GACjF,AAAiB,WAAkC,IAAI,sBAAsB,GAC7E,AAAiB,eAAkC,IAAI,kBAAkB,GACzE;EAJiB;EACA;EACA;EACA;CAChB;CAEH,AAAO,MAAM,UAAkB,YAAoB,OAAqC;EACtF,IAAI;GACF,IAAI,SAAS,GAAG,aAAa,UAAU,OAAO;GAE9C,KAAK,MAAM,QAAQ,iBAAiB;IAClC,MAAM,QAAQ,KAAK,aAAa,SAAS,QAAQ,YAAY,MAAM,QAAQ;IAC3E,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,MAAM,WAAW;GAC9C;GAEA,IAAI,MAAM,UAAU,KAAK,GACvB,SAAS,KAAK,SAAS,cAAc,QAAQ,YAAY,MAAM,UAAU,iBAAiB;GAE5F,IAAI,MAAM,WAAW,KAAK,GAAG;IAC3B,MAAM,mBAAmB,KAAK,SAAS,YAAY,UAAU,MAAM;IACnE,MAAM,mBAAmB,oBAAoB,UAAU;IACvD,MAAM,UAAU,KAAK,eAAe,cAAc,kBAAkB,eAAe,UAAU,MAAM,SAAS;IAC5G,SAAS,KAAK,SAAS,kBAAkB,kBAAkB,YAAY,SAAS,mBAAmB;IAEnG,MAAM,gBAAgB,KAAK,SAAS,YAAY,UAAU,MAAM;IAChE,SAAS,KAAK,SAAS,qBACrB,eACA,YACA,GAAG,iBAAiB,eACpB,oBACF;GACF;GACA,GAAG,cAAc,UAAU,QAAQ,OAAO;GAC1C,OAAO,GAAG,MAAS;EACrB,SAAS,OAAO;GACd,OAAO,KAAK,CAAC,wBAAwB,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC,CAAC,CAAC;EACzG;CACF;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UProjectInjector.d.ts","names":[],"sources":["../../../src/postinstall/unreal/UProjectInjector.ts"],"mappings":";;;;;;;;;cAqBa;EACJ,MAAM,yBAAyB,iCAAiC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { createIoErrorDiagnostic, createParseErrorDiagnostic, fail, ok } from "@uapkg/diagnostics";
|
|
2
|
-
import fs from "node:fs";
|
|
3
|
-
|
|
4
|
-
//#region src/postinstall/unreal/UProjectInjector.ts
|
|
5
|
-
/**
|
|
6
|
-
* Enables the given plugin names in the host project's `.uproject` file,
|
|
7
|
-
* preserving all other fields. Adds new entries with `Enabled: true` when the
|
|
8
|
-
* plugin isn't already listed; toggles `Enabled: true` on existing entries.
|
|
9
|
-
*
|
|
10
|
-
* Never throws — returns a `Result<void>`.
|
|
11
|
-
*/
|
|
12
|
-
var UProjectInjector = class {
|
|
13
|
-
apply(projectFilePath, pluginNames) {
|
|
14
|
-
if (pluginNames.length === 0) return ok(void 0);
|
|
15
|
-
let source;
|
|
16
|
-
try {
|
|
17
|
-
source = fs.readFileSync(projectFilePath, "utf-8");
|
|
18
|
-
} catch (error) {
|
|
19
|
-
return fail([createIoErrorDiagnostic(projectFilePath, error instanceof Error ? error.message : String(error))]);
|
|
20
|
-
}
|
|
21
|
-
let parsed;
|
|
22
|
-
try {
|
|
23
|
-
parsed = JSON.parse(source);
|
|
24
|
-
} catch (error) {
|
|
25
|
-
return fail([createParseErrorDiagnostic(error instanceof Error ? error.message : String(error), projectFilePath)]);
|
|
26
|
-
}
|
|
27
|
-
const plugins = Array.isArray(parsed.Plugins) ? [...parsed.Plugins] : [];
|
|
28
|
-
const indexByName = /* @__PURE__ */ new Map();
|
|
29
|
-
plugins.forEach((entry, index) => {
|
|
30
|
-
if (typeof entry.Name === "string" && entry.Name.trim()) indexByName.set(entry.Name, index);
|
|
31
|
-
});
|
|
32
|
-
for (const pluginName of pluginNames) {
|
|
33
|
-
const existingIndex = indexByName.get(pluginName);
|
|
34
|
-
if (existingIndex === void 0) {
|
|
35
|
-
plugins.push({
|
|
36
|
-
Name: pluginName,
|
|
37
|
-
Enabled: true
|
|
38
|
-
});
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
41
|
-
plugins[existingIndex] = {
|
|
42
|
-
...plugins[existingIndex],
|
|
43
|
-
Enabled: true
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
parsed.Plugins = plugins;
|
|
47
|
-
try {
|
|
48
|
-
fs.writeFileSync(projectFilePath, `${JSON.stringify(parsed, null, 2)}\n`, "utf-8");
|
|
49
|
-
} catch (error) {
|
|
50
|
-
return fail([createIoErrorDiagnostic(projectFilePath, error instanceof Error ? error.message : String(error))]);
|
|
51
|
-
}
|
|
52
|
-
return ok(void 0);
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
//#endregion
|
|
57
|
-
export { UProjectInjector };
|
|
58
|
-
//# sourceMappingURL=UProjectInjector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UProjectInjector.js","names":[],"sources":["../../../src/postinstall/unreal/UProjectInjector.ts"],"sourcesContent":["import fs from 'node:fs';\nimport { createIoErrorDiagnostic, createParseErrorDiagnostic, fail, ok, type Result } from '@uapkg/diagnostics';\n\ninterface UProjectPluginEntry {\n Name?: string;\n Enabled?: boolean;\n [key: string]: unknown;\n}\n\ninterface UProjectDocument {\n Plugins?: UProjectPluginEntry[];\n [key: string]: unknown;\n}\n\n/**\n * Enables the given plugin names in the host project's `.uproject` file,\n * preserving all other fields. Adds new entries with `Enabled: true` when the\n * plugin isn't already listed; toggles `Enabled: true` on existing entries.\n *\n * Never throws — returns a `Result<void>`.\n */\nexport class UProjectInjector {\n public apply(projectFilePath: string, pluginNames: readonly string[]): Result<void> {\n if (pluginNames.length === 0) return ok(undefined);\n\n let source: string;\n try {\n source = fs.readFileSync(projectFilePath, 'utf-8');\n } catch (error) {\n return fail([createIoErrorDiagnostic(projectFilePath, error instanceof Error ? error.message : String(error))]);\n }\n\n let parsed: UProjectDocument;\n try {\n parsed = JSON.parse(source) as UProjectDocument;\n } catch (error) {\n return fail([\n createParseErrorDiagnostic(error instanceof Error ? error.message : String(error), projectFilePath),\n ]);\n }\n\n const plugins = Array.isArray(parsed.Plugins) ? [...parsed.Plugins] : [];\n const indexByName = new Map<string, number>();\n plugins.forEach((entry, index) => {\n if (typeof entry.Name === 'string' && entry.Name.trim()) indexByName.set(entry.Name, index);\n });\n\n for (const pluginName of pluginNames) {\n const existingIndex = indexByName.get(pluginName);\n if (existingIndex === undefined) {\n plugins.push({ Name: pluginName, Enabled: true });\n continue;\n }\n plugins[existingIndex] = { ...plugins[existingIndex], Enabled: true };\n }\n\n parsed.Plugins = plugins;\n try {\n fs.writeFileSync(projectFilePath, `${JSON.stringify(parsed, null, 2)}\\n`, 'utf-8');\n } catch (error) {\n return fail([createIoErrorDiagnostic(projectFilePath, error instanceof Error ? error.message : String(error))]);\n }\n return ok(undefined);\n }\n}\n"],"mappings":";;;;;;;;;;;AAqBA,IAAa,mBAAb,MAA8B;CAC5B,AAAO,MAAM,iBAAyB,aAA8C;EAClF,IAAI,YAAY,WAAW,GAAG,OAAO,GAAG,MAAS;EAEjD,IAAI;EACJ,IAAI;GACF,SAAS,GAAG,aAAa,iBAAiB,OAAO;EACnD,SAAS,OAAO;GACd,OAAO,KAAK,CAAC,wBAAwB,iBAAiB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC,CAAC,CAAC;EAChH;EAEA,IAAI;EACJ,IAAI;GACF,SAAS,KAAK,MAAM,MAAM;EAC5B,SAAS,OAAO;GACd,OAAO,KAAK,CACV,2BAA2B,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GAAG,eAAe,CACpG,CAAC;EACH;EAEA,MAAM,UAAU,MAAM,QAAQ,OAAO,OAAO,IAAI,CAAC,GAAG,OAAO,OAAO,IAAI,CAAC;EACvE,MAAM,8BAAc,IAAI,IAAoB;EAC5C,QAAQ,SAAS,OAAO,UAAU;GAChC,IAAI,OAAO,MAAM,SAAS,YAAY,MAAM,KAAK,KAAK,GAAG,YAAY,IAAI,MAAM,MAAM,KAAK;EAC5F,CAAC;EAED,KAAK,MAAM,cAAc,aAAa;GACpC,MAAM,gBAAgB,YAAY,IAAI,UAAU;GAChD,IAAI,kBAAkB,QAAW;IAC/B,QAAQ,KAAK;KAAE,MAAM;KAAY,SAAS;IAAK,CAAC;IAChD;GACF;GACA,QAAQ,iBAAiB;IAAE,GAAG,QAAQ;IAAgB,SAAS;GAAK;EACtE;EAEA,OAAO,UAAU;EACjB,IAAI;GACF,GAAG,cAAc,iBAAiB,GAAG,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,KAAK,OAAO;EACnF,SAAS,OAAO;GACd,OAAO,KAAK,CAAC,wBAAwB,iBAAiB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC,CAAC,CAAC;EAChH;EACA,OAAO,GAAG,MAAS;CACrB;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UProjectMetadataReader.d.ts","names":[],"sources":["../../../src/postinstall/unreal/UProjectMetadataReader.ts"],"mappings":";;;;;;cAea;EACJ,gBAAgB"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs";
|
|
2
|
-
|
|
3
|
-
//#region src/postinstall/unreal/UProjectMetadataReader.ts
|
|
4
|
-
/**
|
|
5
|
-
* Reads the `Modules` array from a `.uproject` JSON file and returns the list
|
|
6
|
-
* of module names. Used when no explicit `postinstall.modules` is configured
|
|
7
|
-
* on the project manifest.
|
|
8
|
-
*/
|
|
9
|
-
var UProjectMetadataReader = class {
|
|
10
|
-
readModuleNames(uprojectPath) {
|
|
11
|
-
const source = fs.readFileSync(uprojectPath, "utf-8");
|
|
12
|
-
let parsed;
|
|
13
|
-
try {
|
|
14
|
-
parsed = JSON.parse(source);
|
|
15
|
-
} catch (error) {
|
|
16
|
-
throw new Error(`Failed to parse ${uprojectPath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
17
|
-
}
|
|
18
|
-
return (parsed.Modules ?? []).map((entry) => entry.Name?.trim()).filter((value) => Boolean(value));
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
//#endregion
|
|
23
|
-
export { UProjectMetadataReader };
|
|
24
|
-
//# sourceMappingURL=UProjectMetadataReader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UProjectMetadataReader.js","names":[],"sources":["../../../src/postinstall/unreal/UProjectMetadataReader.ts"],"sourcesContent":["import fs from 'node:fs';\n\ninterface UProjectModule {\n Name?: string;\n}\n\ninterface UProjectDocument {\n Modules?: UProjectModule[];\n}\n\n/**\n * Reads the `Modules` array from a `.uproject` JSON file and returns the list\n * of module names. Used when no explicit `postinstall.modules` is configured\n * on the project manifest.\n */\nexport class UProjectMetadataReader {\n public readModuleNames(uprojectPath: string): string[] {\n const source = fs.readFileSync(uprojectPath, 'utf-8');\n let parsed: UProjectDocument;\n try {\n parsed = JSON.parse(source) as UProjectDocument;\n } catch (error) {\n throw new Error(`Failed to parse ${uprojectPath}: ${error instanceof Error ? error.message : String(error)}`);\n }\n\n return (parsed.Modules ?? []).map((entry) => entry.Name?.trim()).filter((value): value is string => Boolean(value));\n }\n}\n"],"mappings":";;;;;;;;AAeA,IAAa,yBAAb,MAAoC;CAClC,AAAO,gBAAgB,cAAgC;EACrD,MAAM,SAAS,GAAG,aAAa,cAAc,OAAO;EACpD,IAAI;EACJ,IAAI;GACF,SAAS,KAAK,MAAM,MAAM;EAC5B,SAAS,OAAO;GACd,MAAM,IAAI,MAAM,mBAAmB,aAAa,IAAI,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GAAG;EAC9G;EAEA,QAAQ,OAAO,WAAW,CAAC,EAAC,CAAE,KAAK,UAAU,MAAM,MAAM,KAAK,CAAC,CAAC,CAAC,QAAQ,UAA2B,QAAQ,KAAK,CAAC;CACpH;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UnrealSourceCatalog.d.ts","names":[],"sources":["../../../src/postinstall/unreal/UnrealSourceCatalog.ts"],"mappings":";;;UAIiB;;WAEN,aAAa;;WAEb;;;;;;;;cASE;mBAEQ;mBACA;EAFnB,YACmB,cAAa,oBACb,WAAU;EAGtB,MAAM,qBAAqB,qCAAqC;UAM/D;UA0BA"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { CSharpStructureAnalyzer } from "./CSharpStructureAnalyzer.js";
|
|
2
|
-
import { ProjectFileLocator } from "./ProjectFileLocator.js";
|
|
3
|
-
import fs from "node:fs";
|
|
4
|
-
|
|
5
|
-
//#region src/postinstall/unreal/UnrealSourceCatalog.ts
|
|
6
|
-
/**
|
|
7
|
-
* Scans the project source tree and validates every discovered `Build.cs` /
|
|
8
|
-
* `Target.cs` with {@link CSharpStructureAnalyzer}. This is a one-shot
|
|
9
|
-
* pre-flight check: the orchestrator runs it once before any injector mutates
|
|
10
|
-
* a file, so we fail fast on malformed sources.
|
|
11
|
-
*/
|
|
12
|
-
var UnrealSourceCatalogBuilder = class {
|
|
13
|
-
fileLocator;
|
|
14
|
-
analyzer;
|
|
15
|
-
constructor(fileLocator = new ProjectFileLocator(), analyzer = new CSharpStructureAnalyzer()) {
|
|
16
|
-
this.fileLocator = fileLocator;
|
|
17
|
-
this.analyzer = analyzer;
|
|
18
|
-
}
|
|
19
|
-
build(projectRoot, expectedModules) {
|
|
20
|
-
return {
|
|
21
|
-
moduleFiles: this.resolveModules(projectRoot, expectedModules),
|
|
22
|
-
targetFiles: this.resolveTargets(projectRoot)
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
resolveModules(projectRoot, expectedModules) {
|
|
26
|
-
const files = this.fileLocator.findBuildFiles(projectRoot);
|
|
27
|
-
const discovered = /* @__PURE__ */ new Map();
|
|
28
|
-
for (const filePath of files) {
|
|
29
|
-
const source = fs.readFileSync(filePath, "utf-8");
|
|
30
|
-
const parsed = this.analyzer.parseModule(filePath, source);
|
|
31
|
-
if (discovered.has(parsed.classInfo.className)) throw new Error(`Duplicate ModuleRules class '${parsed.classInfo.className}' in ${discovered.get(parsed.classInfo.className)} and ${filePath}`);
|
|
32
|
-
discovered.set(parsed.classInfo.className, filePath);
|
|
33
|
-
}
|
|
34
|
-
const missing = expectedModules.filter((name) => !discovered.has(name));
|
|
35
|
-
if (missing.length > 0) throw new Error(`Missing module Build.cs files for: ${missing.join(", ")}`);
|
|
36
|
-
const moduleFiles = /* @__PURE__ */ new Map();
|
|
37
|
-
for (const moduleName of expectedModules) moduleFiles.set(moduleName, discovered.get(moduleName));
|
|
38
|
-
return moduleFiles;
|
|
39
|
-
}
|
|
40
|
-
resolveTargets(projectRoot) {
|
|
41
|
-
const files = this.fileLocator.findTargetFiles(projectRoot);
|
|
42
|
-
for (const filePath of files) {
|
|
43
|
-
const source = fs.readFileSync(filePath, "utf-8");
|
|
44
|
-
this.analyzer.parseTarget(filePath, source);
|
|
45
|
-
}
|
|
46
|
-
return files;
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
//#endregion
|
|
51
|
-
export { UnrealSourceCatalogBuilder };
|
|
52
|
-
//# sourceMappingURL=UnrealSourceCatalog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UnrealSourceCatalog.js","names":[],"sources":["../../../src/postinstall/unreal/UnrealSourceCatalog.ts"],"sourcesContent":["import fs from 'node:fs';\nimport { CSharpStructureAnalyzer } from '#cli/postinstall/unreal/CSharpStructureAnalyzer.ts';\nimport { ProjectFileLocator } from '#cli/postinstall/unreal/ProjectFileLocator.ts';\n\nexport interface SourceCatalog {\n /** ModuleName → absolute path of its `*.Build.cs`. */\n readonly moduleFiles: ReadonlyMap<string, string>;\n /** Absolute paths to every `*.Target.cs` in the project source tree. */\n readonly targetFiles: readonly string[];\n}\n\n/**\n * Scans the project source tree and validates every discovered `Build.cs` /\n * `Target.cs` with {@link CSharpStructureAnalyzer}. This is a one-shot\n * pre-flight check: the orchestrator runs it once before any injector mutates\n * a file, so we fail fast on malformed sources.\n */\nexport class UnrealSourceCatalogBuilder {\n public constructor(\n private readonly fileLocator: ProjectFileLocator = new ProjectFileLocator(),\n private readonly analyzer: CSharpStructureAnalyzer = new CSharpStructureAnalyzer(),\n ) {}\n\n public build(projectRoot: string, expectedModules: readonly string[]): SourceCatalog {\n const moduleFiles = this.resolveModules(projectRoot, expectedModules);\n const targetFiles = this.resolveTargets(projectRoot);\n return { moduleFiles, targetFiles };\n }\n\n private resolveModules(projectRoot: string, expectedModules: readonly string[]): Map<string, string> {\n const files = this.fileLocator.findBuildFiles(projectRoot);\n const discovered = new Map<string, string>();\n for (const filePath of files) {\n const source = fs.readFileSync(filePath, 'utf-8');\n const parsed = this.analyzer.parseModule(filePath, source);\n if (discovered.has(parsed.classInfo.className)) {\n throw new Error(\n `Duplicate ModuleRules class '${parsed.classInfo.className}' in ${discovered.get(parsed.classInfo.className)} and ${filePath}`,\n );\n }\n discovered.set(parsed.classInfo.className, filePath);\n }\n\n const missing = expectedModules.filter((name) => !discovered.has(name));\n if (missing.length > 0) {\n throw new Error(`Missing module Build.cs files for: ${missing.join(', ')}`);\n }\n\n const moduleFiles = new Map<string, string>();\n for (const moduleName of expectedModules) {\n moduleFiles.set(moduleName, discovered.get(moduleName) as string);\n }\n return moduleFiles;\n }\n\n private resolveTargets(projectRoot: string): string[] {\n const files = this.fileLocator.findTargetFiles(projectRoot);\n for (const filePath of files) {\n const source = fs.readFileSync(filePath, 'utf-8');\n this.analyzer.parseTarget(filePath, source);\n }\n return files;\n }\n}\n"],"mappings":";;;;;;;;;;;AAiBA,IAAa,6BAAb,MAAwC;CAEnB;CACA;CAFnB,AAAO,YACL,AAAiB,cAAkC,IAAI,mBAAmB,GAC1E,AAAiB,WAAoC,IAAI,wBAAwB,GACjF;EAFiB;EACA;CAChB;CAEH,AAAO,MAAM,aAAqB,iBAAmD;EAGnF,OAAO;GAAE,aAFW,KAAK,eAAe,aAAa,eAElC;GAAG,aADF,KAAK,eAAe,WACR;EAAE;CACpC;CAEA,AAAQ,eAAe,aAAqB,iBAAyD;EACnG,MAAM,QAAQ,KAAK,YAAY,eAAe,WAAW;EACzD,MAAM,6BAAa,IAAI,IAAoB;EAC3C,KAAK,MAAM,YAAY,OAAO;GAC5B,MAAM,SAAS,GAAG,aAAa,UAAU,OAAO;GAChD,MAAM,SAAS,KAAK,SAAS,YAAY,UAAU,MAAM;GACzD,IAAI,WAAW,IAAI,OAAO,UAAU,SAAS,GAC3C,MAAM,IAAI,MACR,gCAAgC,OAAO,UAAU,UAAU,OAAO,WAAW,IAAI,OAAO,UAAU,SAAS,EAAE,OAAO,UACtH;GAEF,WAAW,IAAI,OAAO,UAAU,WAAW,QAAQ;EACrD;EAEA,MAAM,UAAU,gBAAgB,QAAQ,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC;EACtE,IAAI,QAAQ,SAAS,GACnB,MAAM,IAAI,MAAM,sCAAsC,QAAQ,KAAK,IAAI,GAAG;EAG5E,MAAM,8BAAc,IAAI,IAAoB;EAC5C,KAAK,MAAM,cAAc,iBACvB,YAAY,IAAI,YAAY,WAAW,IAAI,UAAU,CAAW;EAElE,OAAO;CACT;CAEA,AAAQ,eAAe,aAA+B;EACpD,MAAM,QAAQ,KAAK,YAAY,gBAAgB,WAAW;EAC1D,KAAK,MAAM,YAAY,OAAO;GAC5B,MAAM,SAAS,GAAG,aAAa,UAAU,OAAO;GAChD,KAAK,SAAS,YAAY,UAAU,MAAM;EAC5C;EACA,OAAO;CACT;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InkPromptService.d.ts","names":[],"sources":["../../src/prompts/InkPromptService.tsx"],"mappings":";;cAca,4BAA4B;mBACH;EAApC,YAAoC;EAEvB,OAAO,iBAAiB,SAAS,gBAAgB,wBAAwB;EAUzE,KAAK,iBAAiB,uBAAuB;EAY7C,OAAO,kBAAkB"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { Box, Text, render, useApp, useInput } from "ink";
|
|
2
|
-
import { useState } from "react";
|
|
3
|
-
import isCI from "is-ci";
|
|
4
|
-
import SelectInput from "ink-select-input";
|
|
5
|
-
import TextInput from "ink-text-input";
|
|
6
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
-
|
|
8
|
-
//#region src/prompts/InkPromptService.tsx
|
|
9
|
-
var InkPromptService = class {
|
|
10
|
-
isInteractive;
|
|
11
|
-
constructor(isInteractive = Boolean(process.stdin.isTTY && process.stdout.isTTY) && !isCI) {
|
|
12
|
-
this.isInteractive = isInteractive;
|
|
13
|
-
}
|
|
14
|
-
async select(message, options, fallbackValue) {
|
|
15
|
-
if (!this.isInteractive) return fallbackValue;
|
|
16
|
-
return await new Promise((resolve) => {
|
|
17
|
-
const app = render(/* @__PURE__ */ jsx(SelectPrompt, {
|
|
18
|
-
message,
|
|
19
|
-
options,
|
|
20
|
-
onSubmit: (value) => resolve(value)
|
|
21
|
-
}));
|
|
22
|
-
Promise.resolve().then(() => app.waitUntilExit());
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
async text(message, initialValue) {
|
|
26
|
-
if (!this.isInteractive) return initialValue;
|
|
27
|
-
return await new Promise((resolve) => {
|
|
28
|
-
const app = render(/* @__PURE__ */ jsx(TextPrompt, {
|
|
29
|
-
message,
|
|
30
|
-
initialValue,
|
|
31
|
-
onSubmit: (value) => resolve(value)
|
|
32
|
-
}));
|
|
33
|
-
Promise.resolve().then(() => app.waitUntilExit());
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
async secret(message) {
|
|
37
|
-
if (!this.isInteractive) throw new Error(`${message} requires an interactive terminal.`);
|
|
38
|
-
return await new Promise((resolve) => {
|
|
39
|
-
const app = render(/* @__PURE__ */ jsx(SecretPrompt, {
|
|
40
|
-
message,
|
|
41
|
-
onSubmit: (value) => resolve(value)
|
|
42
|
-
}));
|
|
43
|
-
Promise.resolve().then(() => app.waitUntilExit());
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
function SecretPrompt({ message, onSubmit }) {
|
|
48
|
-
const [value, setValue] = useState("");
|
|
49
|
-
const { exit } = useApp();
|
|
50
|
-
useInput((_, key) => {
|
|
51
|
-
if (key.return) {
|
|
52
|
-
onSubmit(value.trim());
|
|
53
|
-
exit();
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
return /* @__PURE__ */ jsxs(Box, {
|
|
57
|
-
flexDirection: "column",
|
|
58
|
-
children: [/* @__PURE__ */ jsx(Text, { children: message }), /* @__PURE__ */ jsx(TextInput, {
|
|
59
|
-
value,
|
|
60
|
-
onChange: setValue,
|
|
61
|
-
mask: "*"
|
|
62
|
-
})]
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
function SelectPrompt({ message, options, onSubmit }) {
|
|
66
|
-
const { exit } = useApp();
|
|
67
|
-
return /* @__PURE__ */ jsxs(Box, {
|
|
68
|
-
flexDirection: "column",
|
|
69
|
-
children: [/* @__PURE__ */ jsx(Text, { children: message }), /* @__PURE__ */ jsx(SelectInput, {
|
|
70
|
-
items: options,
|
|
71
|
-
onSelect: (item) => {
|
|
72
|
-
onSubmit(item.value);
|
|
73
|
-
exit();
|
|
74
|
-
}
|
|
75
|
-
})]
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
function TextPrompt({ message, initialValue, onSubmit }) {
|
|
79
|
-
const [value, setValue] = useState(initialValue);
|
|
80
|
-
const { exit } = useApp();
|
|
81
|
-
useInput((_, key) => {
|
|
82
|
-
if (key.return) {
|
|
83
|
-
onSubmit(value.trim() || initialValue);
|
|
84
|
-
exit();
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
return /* @__PURE__ */ jsxs(Box, {
|
|
88
|
-
flexDirection: "column",
|
|
89
|
-
children: [
|
|
90
|
-
/* @__PURE__ */ jsx(Text, { children: message }),
|
|
91
|
-
/* @__PURE__ */ jsx(TextInput, {
|
|
92
|
-
value,
|
|
93
|
-
onChange: setValue
|
|
94
|
-
}),
|
|
95
|
-
/* @__PURE__ */ jsx(Text, {
|
|
96
|
-
color: "gray",
|
|
97
|
-
children: "Press Enter to confirm."
|
|
98
|
-
})
|
|
99
|
-
]
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
//#endregion
|
|
104
|
-
export { InkPromptService };
|
|
105
|
-
//# sourceMappingURL=InkPromptService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InkPromptService.js","names":[],"sources":["../../src/prompts/InkPromptService.tsx"],"sourcesContent":["import { Box, render, Text, useApp, useInput } from 'ink';\nimport SelectInput from 'ink-select-input';\nimport TextInput from 'ink-text-input';\nimport isCI from 'is-ci';\nimport { useState } from 'react';\nimport type { PromptService, SelectOption } from '#cli/prompts/PromptService.ts';\n\n// ---------------------------------------------------------------------------\n// InkPromptService — renders interactive prompts via Ink/React.\n//\n// Auto-detects non-interactive environments (no TTY or CI) and returns the\n// supplied fallback without ever rendering.\n// ---------------------------------------------------------------------------\n\nexport class InkPromptService implements PromptService {\n public constructor(private readonly isInteractive = Boolean(process.stdin.isTTY && process.stdout.isTTY) && !isCI) {}\n\n public async select(message: string, options: SelectOption[], fallbackValue: string): Promise<string> {\n if (!this.isInteractive) {\n return fallbackValue;\n }\n return await new Promise<string>((resolve) => {\n const app = render(<SelectPrompt message={message} options={options} onSubmit={(value) => resolve(value)} />);\n void Promise.resolve().then(() => app.waitUntilExit());\n });\n }\n\n public async text(message: string, initialValue: string): Promise<string> {\n if (!this.isInteractive) {\n return initialValue;\n }\n return await new Promise<string>((resolve) => {\n const app = render(\n <TextPrompt message={message} initialValue={initialValue} onSubmit={(value) => resolve(value)} />,\n );\n void Promise.resolve().then(() => app.waitUntilExit());\n });\n }\n\n public async secret(message: string): Promise<string> {\n if (!this.isInteractive) {\n throw new Error(`${message} requires an interactive terminal.`);\n }\n return await new Promise<string>((resolve) => {\n const app = render(<SecretPrompt message={message} onSubmit={(value) => resolve(value)} />);\n void Promise.resolve().then(() => app.waitUntilExit());\n });\n }\n}\n\nfunction SecretPrompt({ message, onSubmit }: { message: string; onSubmit: (value: string) => void }) {\n const [value, setValue] = useState('');\n const { exit } = useApp();\n\n useInput((_, key) => {\n if (key.return) {\n onSubmit(value.trim());\n exit();\n }\n });\n\n return (\n <Box flexDirection=\"column\">\n <Text>{message}</Text>\n <TextInput value={value} onChange={setValue} mask=\"*\" />\n </Box>\n );\n}\n\nfunction SelectPrompt({\n message,\n options,\n onSubmit,\n}: {\n message: string;\n options: SelectOption[];\n onSubmit: (value: string) => void;\n}) {\n const { exit } = useApp();\n return (\n <Box flexDirection=\"column\">\n <Text>{message}</Text>\n <SelectInput\n items={options}\n onSelect={(item) => {\n onSubmit(item.value);\n exit();\n }}\n />\n </Box>\n );\n}\n\nfunction TextPrompt({\n message,\n initialValue,\n onSubmit,\n}: {\n message: string;\n initialValue: string;\n onSubmit: (value: string) => void;\n}) {\n const [value, setValue] = useState(initialValue);\n const { exit } = useApp();\n\n useInput((_, key) => {\n if (key.return) {\n onSubmit(value.trim() || initialValue);\n exit();\n }\n });\n\n return (\n <Box flexDirection=\"column\">\n <Text>{message}</Text>\n <TextInput value={value} onChange={setValue} />\n <Text color=\"gray\">Press Enter to confirm.</Text>\n </Box>\n );\n}\n"],"mappings":";;;;;;;;AAcA,IAAa,mBAAb,MAAuD;CACjB;CAApC,AAAO,YAAY,AAAiB,gBAAgB,QAAQ,QAAQ,MAAM,SAAS,QAAQ,OAAO,KAAK,KAAK,CAAC,MAAM;EAA/E;CAAgF;CAEpH,MAAa,OAAO,SAAiB,SAAyB,eAAwC;EACpG,IAAI,CAAC,KAAK,eACR,OAAO;EAET,OAAO,MAAM,IAAI,SAAiB,YAAY;GAC5C,MAAM,MAAM,OAAO,oBAAC,cAAD;IAAuB;IAAkB;IAAS,WAAW,UAAU,QAAQ,KAAK;GAAI,EAAC;GAC5G,AAAK,QAAQ,QAAQ,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC;EACvD,CAAC;CACH;CAEA,MAAa,KAAK,SAAiB,cAAuC;EACxE,IAAI,CAAC,KAAK,eACR,OAAO;EAET,OAAO,MAAM,IAAI,SAAiB,YAAY;GAC5C,MAAM,MAAM,OACV,oBAAC,YAAD;IAAqB;IAAuB;IAAc,WAAW,UAAU,QAAQ,KAAK;GAAI,EAClG;GACA,AAAK,QAAQ,QAAQ,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC;EACvD,CAAC;CACH;CAEA,MAAa,OAAO,SAAkC;EACpD,IAAI,CAAC,KAAK,eACR,MAAM,IAAI,MAAM,GAAG,QAAQ,mCAAmC;EAEhE,OAAO,MAAM,IAAI,SAAiB,YAAY;GAC5C,MAAM,MAAM,OAAO,oBAAC,cAAD;IAAuB;IAAS,WAAW,UAAU,QAAQ,KAAK;GAAI,EAAC;GAC1F,AAAK,QAAQ,QAAQ,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC;EACvD,CAAC;CACH;AACF;AAEA,SAAS,aAAa,EAAE,SAAS,YAAoE;CACnG,MAAM,CAAC,OAAO,YAAY,SAAS,EAAE;CACrC,MAAM,EAAE,SAAS,OAAO;CAExB,UAAU,GAAG,QAAQ;EACnB,IAAI,IAAI,QAAQ;GACd,SAAS,MAAM,KAAK,CAAC;GACrB,KAAK;EACP;CACF,CAAC;CAED,OACE,qBAAC,KAAD;EAAK,eAAc;YAAnB,CACE,oBAAC,MAAD,YAAO,QAAc,IACrB,oBAAC,WAAD;GAAkB;GAAO,UAAU;GAAU,MAAK;EAAK,EACpD;;AAET;AAEA,SAAS,aAAa,EACpB,SACA,SACA,YAKC;CACD,MAAM,EAAE,SAAS,OAAO;CACxB,OACE,qBAAC,KAAD;EAAK,eAAc;YAAnB,CACE,oBAAC,MAAD,YAAO,QAAc,IACrB,oBAAC,aAAD;GACE,OAAO;GACP,WAAW,SAAS;IAClB,SAAS,KAAK,KAAK;IACnB,KAAK;GACP;EACD,EACE;;AAET;AAEA,SAAS,WAAW,EAClB,SACA,cACA,YAKC;CACD,MAAM,CAAC,OAAO,YAAY,SAAS,YAAY;CAC/C,MAAM,EAAE,SAAS,OAAO;CAExB,UAAU,GAAG,QAAQ;EACnB,IAAI,IAAI,QAAQ;GACd,SAAS,MAAM,KAAK,KAAK,YAAY;GACrC,KAAK;EACP;CACF,CAAC;CAED,OACE,qBAAC,KAAD;EAAK,eAAc;YAAnB;GACE,oBAAC,MAAD,YAAO,QAAc;GACrB,oBAAC,WAAD;IAAkB;IAAO,UAAU;GAAW;GAC9C,oBAAC,MAAD;IAAM,OAAM;cAAO;GAA6B;EAC7C;;AAET"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectContextDetector.d.ts","names":[],"sources":["../../src/prompts/ProjectContextDetector.ts"],"mappings":";;UAYiB;EACf,eAAe;EACf;;cAGW;EACJ,OAAO,cAAc;UAcpB"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import * as path$1 from "node:path";
|
|
2
|
-
import fs from "node:fs";
|
|
3
|
-
|
|
4
|
-
//#region src/prompts/ProjectContextDetector.ts
|
|
5
|
-
var ProjectContextDetector = class {
|
|
6
|
-
detect(cwd) {
|
|
7
|
-
const uplugin = this.findFirstFileWithExtension(cwd, ".uplugin");
|
|
8
|
-
if (uplugin) return {
|
|
9
|
-
suggestedKind: "plugin",
|
|
10
|
-
suggestedName: path$1.parse(uplugin).name
|
|
11
|
-
};
|
|
12
|
-
const uproject = this.findFirstFileWithExtension(cwd, ".uproject");
|
|
13
|
-
if (uproject) return {
|
|
14
|
-
suggestedKind: "project",
|
|
15
|
-
suggestedName: path$1.parse(uproject).name
|
|
16
|
-
};
|
|
17
|
-
return {
|
|
18
|
-
suggestedKind: "project",
|
|
19
|
-
suggestedName: path$1.basename(cwd)
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
findFirstFileWithExtension(directory, extension) {
|
|
23
|
-
try {
|
|
24
|
-
return fs.readdirSync(directory).find((entry) => entry.toLowerCase().endsWith(extension))?.toString();
|
|
25
|
-
} catch {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
//#endregion
|
|
32
|
-
export { ProjectContextDetector };
|
|
33
|
-
//# sourceMappingURL=ProjectContextDetector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectContextDetector.js","names":["path"],"sources":["../../src/prompts/ProjectContextDetector.ts"],"sourcesContent":["import fs from 'node:fs';\nimport * as path from 'node:path';\nimport type { ManifestKind } from '@uapkg/package-manifest-schema';\n\n// ---------------------------------------------------------------------------\n// ProjectContextDetector — sniffs the working directory for `.uproject` or\n// `.uplugin` files to suggest a sensible manifest kind + name during `init`.\n//\n// Pure I/O utility — no mutation, no throws. Failure to read the directory\n// falls back to a project-shaped suggestion using the directory basename.\n// ---------------------------------------------------------------------------\n\nexport interface ProjectContextDetection {\n suggestedKind: ManifestKind;\n suggestedName: string;\n}\n\nexport class ProjectContextDetector {\n public detect(cwd: string): ProjectContextDetection {\n const uplugin = this.findFirstFileWithExtension(cwd, '.uplugin');\n if (uplugin) {\n return { suggestedKind: 'plugin', suggestedName: path.parse(uplugin).name };\n }\n\n const uproject = this.findFirstFileWithExtension(cwd, '.uproject');\n if (uproject) {\n return { suggestedKind: 'project', suggestedName: path.parse(uproject).name };\n }\n\n return { suggestedKind: 'project', suggestedName: path.basename(cwd) };\n }\n\n private findFirstFileWithExtension(directory: string, extension: '.uplugin' | '.uproject'): string | undefined {\n try {\n return fs\n .readdirSync(directory)\n .find((entry) => entry.toLowerCase().endsWith(extension))\n ?.toString();\n } catch {\n return undefined;\n }\n }\n}\n"],"mappings":";;;;AAiBA,IAAa,yBAAb,MAAoC;CAClC,AAAO,OAAO,KAAsC;EAClD,MAAM,UAAU,KAAK,2BAA2B,KAAK,UAAU;EAC/D,IAAI,SACF,OAAO;GAAE,eAAe;GAAU,eAAeA,OAAK,MAAM,OAAO,CAAC,CAAC;EAAK;EAG5E,MAAM,WAAW,KAAK,2BAA2B,KAAK,WAAW;EACjE,IAAI,UACF,OAAO;GAAE,eAAe;GAAW,eAAeA,OAAK,MAAM,QAAQ,CAAC,CAAC;EAAK;EAG9E,OAAO;GAAE,eAAe;GAAW,eAAeA,OAAK,SAAS,GAAG;EAAE;CACvE;CAEA,AAAQ,2BAA2B,WAAmB,WAAyD;EAC7G,IAAI;GACF,OAAO,GACJ,YAAY,SAAS,CAAC,CACtB,MAAM,UAAU,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,EACvD,SAAS;EACf,QAAQ;GACN;EACF;CACF;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PromptService.d.ts","names":[],"sources":["../../src/prompts/PromptService.ts"],"mappings":";UAOiB;EACf;EACA;;UAGe;EACf,OAAO,iBAAiB,SAAS,gBAAgB,wBAAwB;EACzE,KAAK,iBAAiB,uBAAuB;;EAE7C,OAAO,kBAAkB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DiagnosticDeduplicator.d.ts","names":[],"sources":["../../src/reporting/DiagnosticDeduplicator.ts"],"mappings":";;;;;;cAMa;0BACa;EAEjB,OAAO,sBAAsB,eAAe;UAmB3C"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { createDiagnosticFingerprint } from "@uapkg/diagnostics";
|
|
2
|
-
|
|
3
|
-
//#region src/reporting/DiagnosticDeduplicator.ts
|
|
4
|
-
/**
|
|
5
|
-
* Suppresses diagnostics marked as `emitPolicy: "once"` across the current
|
|
6
|
-
* CLI process lifetime.
|
|
7
|
-
*/
|
|
8
|
-
var DiagnosticDeduplicator = class DiagnosticDeduplicator {
|
|
9
|
-
static seen = /* @__PURE__ */ new Set();
|
|
10
|
-
filter(diagnostics) {
|
|
11
|
-
const out = [];
|
|
12
|
-
for (const diagnostic of diagnostics) {
|
|
13
|
-
if (diagnostic.emitPolicy !== "once") {
|
|
14
|
-
out.push(diagnostic);
|
|
15
|
-
continue;
|
|
16
|
-
}
|
|
17
|
-
const fingerprint = this.fingerprintOf(diagnostic);
|
|
18
|
-
if (DiagnosticDeduplicator.seen.has(fingerprint)) continue;
|
|
19
|
-
DiagnosticDeduplicator.seen.add(fingerprint);
|
|
20
|
-
out.push(diagnostic);
|
|
21
|
-
}
|
|
22
|
-
return out;
|
|
23
|
-
}
|
|
24
|
-
fingerprintOf(diagnostic) {
|
|
25
|
-
if (diagnostic.emitFingerprint && diagnostic.emitFingerprint.trim().length > 0) return diagnostic.emitFingerprint;
|
|
26
|
-
return createDiagnosticFingerprint({
|
|
27
|
-
level: diagnostic.level,
|
|
28
|
-
code: diagnostic.code,
|
|
29
|
-
message: diagnostic.message,
|
|
30
|
-
hint: diagnostic.hint,
|
|
31
|
-
data: diagnostic.data
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
//#endregion
|
|
37
|
-
export { DiagnosticDeduplicator };
|
|
38
|
-
//# sourceMappingURL=DiagnosticDeduplicator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DiagnosticDeduplicator.js","names":[],"sources":["../../src/reporting/DiagnosticDeduplicator.ts"],"sourcesContent":["import { createDiagnosticFingerprint, type Diagnostic } from '@uapkg/diagnostics';\n\n/**\n * Suppresses diagnostics marked as `emitPolicy: \"once\"` across the current\n * CLI process lifetime.\n */\nexport class DiagnosticDeduplicator {\n private static readonly seen = new Set<string>();\n\n public filter(diagnostics: readonly Diagnostic[]): Diagnostic[] {\n const out: Diagnostic[] = [];\n for (const diagnostic of diagnostics) {\n if (diagnostic.emitPolicy !== 'once') {\n out.push(diagnostic);\n continue;\n }\n\n const fingerprint = this.fingerprintOf(diagnostic);\n if (DiagnosticDeduplicator.seen.has(fingerprint)) {\n continue;\n }\n\n DiagnosticDeduplicator.seen.add(fingerprint);\n out.push(diagnostic);\n }\n return out;\n }\n\n private fingerprintOf(diagnostic: Diagnostic): string {\n if (diagnostic.emitFingerprint && diagnostic.emitFingerprint.trim().length > 0) {\n return diagnostic.emitFingerprint;\n }\n\n return createDiagnosticFingerprint({\n level: diagnostic.level,\n code: diagnostic.code,\n message: diagnostic.message,\n hint: diagnostic.hint,\n data: diagnostic.data,\n });\n }\n}\n"],"mappings":";;;;;;;AAMA,IAAa,yBAAb,MAAa,uBAAuB;CAClC,OAAwB,uBAAO,IAAI,IAAY;CAE/C,AAAO,OAAO,aAAkD;EAC9D,MAAM,MAAoB,CAAC;EAC3B,KAAK,MAAM,cAAc,aAAa;GACpC,IAAI,WAAW,eAAe,QAAQ;IACpC,IAAI,KAAK,UAAU;IACnB;GACF;GAEA,MAAM,cAAc,KAAK,cAAc,UAAU;GACjD,IAAI,uBAAuB,KAAK,IAAI,WAAW,GAC7C;GAGF,uBAAuB,KAAK,IAAI,WAAW;GAC3C,IAAI,KAAK,UAAU;EACrB;EACA,OAAO;CACT;CAEA,AAAQ,cAAc,YAAgC;EACpD,IAAI,WAAW,mBAAmB,WAAW,gBAAgB,KAAK,CAAC,CAAC,SAAS,GAC3E,OAAO,WAAW;EAGpB,OAAO,4BAA4B;GACjC,OAAO,WAAW;GAClB,MAAM,WAAW;GACjB,SAAS,WAAW;GACpB,MAAM,WAAW;GACjB,MAAM,WAAW;EACnB,CAAC;CACH;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DiagnosticRenderer.d.ts","names":[],"sources":["../../src/reporting/DiagnosticRenderer.ts"],"mappings":";;;;;;;;;;UAUiB;;;;;;EAMf,OAAO,sBAAsB,cAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DiagnosticReporter.d.ts","names":[],"sources":["../../src/reporting/DiagnosticReporter.ts"],"mappings":";;;;;;;;;;;;;;;;cAkBa;mBAEQ;mBACA;EAFnB,YACmB,WAAU,oBACV,eAAc;EAG1B,UAAU,sBAAsB;EAWhC,UAAU,YAAY"}
|