@uapkg/cli 1.3.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/build/BuildMetadata.js +2 -2
- package/dist/cli-bootstrap.js +19846 -13
- package/dist/cli.js +1 -1
- package/dist/index.js +19980 -60
- package/dist/licenses/semver-LICENSE +15 -0
- package/dist/profile.js +25 -0
- package/dist/runtime-lock.json +2142 -0
- package/dist/{app → types/uapkg/app}/CompositionRoot.d.ts +4 -5
- package/dist/{app → types/uapkg/app}/UAPKGApplication.d.ts +0 -1
- package/dist/{build → types/uapkg/build}/BuildMetadata.d.ts +1 -2
- package/dist/types/uapkg/cli/DebugEnvironment.d.ts +15 -0
- package/dist/types/uapkg/cli/DebugInfo.d.ts +15 -0
- package/dist/{cli → types/uapkg/cli}/UAPKGCommandLine.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parseCommandLine.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/UAPKGCommandLineParser.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/UAPKGParserRegistry.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/contracts/UAPKGCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/AddCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/ConfigCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/InitCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/InstallCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/LifecycleCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/ListCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/LoginCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/LogoutCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/OutdatedCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/PackCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/ProjectGetNameCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/PublishCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/RegistryCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/RemoveCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/RequestsCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/UpdateCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/WhoamiCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/WhyCommandModule.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/parsing/modules/sharedOptions.d.ts +0 -1
- package/dist/{cli → types/uapkg/cli}/runUAPKGCLI.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/AddCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/Command.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/ConfigCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/InitCommand.d.ts +1 -2
- package/dist/{commands → types/uapkg/commands}/InstallCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/ListCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/LoginCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/LogoutCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/OutdatedCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/PackCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/PackageLifecycleCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/PostinstallCandidateBuilder.d.ts +2 -3
- package/dist/{commands → types/uapkg/commands}/ProjectGetNameCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/PublishCommand.d.ts +1 -2
- package/dist/{commands → types/uapkg/commands}/RegistryCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/RemoveCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/RequestsCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/UpdateCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/WhoamiCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/WhyCommand.d.ts +0 -1
- package/dist/{commands → types/uapkg/commands}/add/DependencyAddResolver.d.ts +3 -4
- package/dist/{control-plane → types/uapkg/control-plane}/AccountManager.d.ts +1 -2
- package/dist/{control-plane → types/uapkg/control-plane}/ArtifactObserver.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/AuthMetadataStore.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/AuthStoragePaths.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/AuthenticationSelector.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/ControlPlaneClient.d.ts +1 -2
- package/dist/{control-plane → types/uapkg/control-plane}/ControlPlaneEndpoints.d.ts +1 -2
- package/dist/{control-plane → types/uapkg/control-plane}/ControlPlaneTypes.d.ts +4 -2
- package/dist/{control-plane → types/uapkg/control-plane}/CredentialStore.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/DPoPKeyStore.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/GitHubActionsOidcCredentialProvider.d.ts +4 -3
- package/dist/{control-plane → types/uapkg/control-plane}/PublishIdempotencyStore.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/PublishRequestErrorMapper.d.ts +1 -2
- package/dist/{control-plane → types/uapkg/control-plane}/RegistryGrantLock.d.ts +0 -1
- package/dist/{control-plane → types/uapkg/control-plane}/RegistryTrustResolver.d.ts +0 -1
- package/dist/types/uapkg/control-plane/RequestWatch.d.ts +15 -0
- package/dist/types/uapkg/control-plane/RetryAfter.d.ts +6 -0
- package/dist/{postinstall → types/uapkg/postinstall}/api/PostinstallDsl.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/api/definePostinstall.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/loader/EntryResolver.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/loader/EsbuildTranspiler.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/loader/ExportValidator.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/loader/ModuleImporter.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/loader/PostinstallLoader.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/markers/MarkerBlockEditor.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/markers/MarkerBlockService.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/markers/MarkerIntegrityValidator.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/policy/PostinstallPolicyGate.d.ts +2 -3
- package/dist/{postinstall → types/uapkg/postinstall}/runner/PostinstallOrchestrator.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/BuildCsInjector.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/CSharpInjectionEngine.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/CSharpStructureAnalyzer.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/CSharpStructures.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/CSharpWrapperFactory.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/PluginHash.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/PrettyParseError.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/ProjectFileLocator.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/TargetCsInjector.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/UProjectInjector.d.ts +1 -2
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/UProjectMetadataReader.d.ts +0 -1
- package/dist/{postinstall → types/uapkg/postinstall}/unreal/UnrealSourceCatalog.d.ts +0 -1
- package/dist/{prompts → types/uapkg/prompts}/InkPromptService.d.ts +0 -1
- package/dist/{prompts → types/uapkg/prompts}/ProjectContextDetector.d.ts +1 -2
- package/dist/{prompts → types/uapkg/prompts}/PromptService.d.ts +0 -1
- package/dist/{reporting → types/uapkg/reporting}/DiagnosticDeduplicator.d.ts +1 -2
- package/dist/{reporting → types/uapkg/reporting}/DiagnosticRenderer.d.ts +1 -2
- package/dist/{reporting → types/uapkg/reporting}/DiagnosticReporter.d.ts +1 -2
- package/dist/{reporting → types/uapkg/reporting}/InkDiagnosticRenderer.d.ts +2 -3
- package/dist/{reporting → types/uapkg/reporting}/InstallProgressReporter.d.ts +1 -2
- package/dist/{reporting → types/uapkg/reporting}/JsonReporter.d.ts +1 -2
- package/dist/{reporting → types/uapkg/reporting}/RegistryRequestTerminalFormatter.d.ts +0 -1
- package/dist/{reporting → types/uapkg/reporting}/TextDiagnosticRenderer.d.ts +1 -2
- package/dist/{reporting → types/uapkg/reporting}/TextSink.d.ts +1 -2
- package/dist/types/uapkg-common/format/prettyBytes.d.ts +19 -0
- package/dist/types/uapkg-common/hash/registryIdentifier.d.ts +28 -0
- package/dist/types/uapkg-common/hash/sha256.d.ts +12 -0
- package/dist/types/uapkg-common/index.d.ts +10 -0
- package/dist/types/uapkg-common/json/safeJsonParse.d.ts +9 -0
- package/dist/types/uapkg-common/json/stableStringify.d.ts +9 -0
- package/dist/types/uapkg-common/normalize/normalizeUrl.d.ts +11 -0
- package/dist/types/uapkg-common/paths/forwardSlash.d.ts +12 -0
- package/dist/types/uapkg-common/runtime/UapkgRuntimeProfile.d.ts +19 -0
- package/dist/types/uapkg-common/spec/parsePackageSpec.d.ts +21 -0
- package/dist/types/uapkg-common-schema/brand/Brand.d.ts +15 -0
- package/dist/types/uapkg-common-schema/index.d.ts +17 -0
- package/dist/types/uapkg-common-schema/primitives/AssetHash.d.ts +11 -0
- package/dist/types/uapkg-common-schema/primitives/ConcurrencyCount.d.ts +11 -0
- package/dist/types/uapkg-common-schema/primitives/DurationSeconds.d.ts +11 -0
- package/dist/types/uapkg-common-schema/primitives/GitTree.d.ts +10 -0
- package/dist/types/uapkg-common-schema/primitives/InstallPath.d.ts +18 -0
- package/dist/types/uapkg-common-schema/primitives/OrgName.d.ts +12 -0
- package/dist/types/uapkg-common-schema/primitives/PackageName.d.ts +14 -0
- package/dist/types/uapkg-common-schema/primitives/PackageSpec.d.ts +21 -0
- package/dist/types/uapkg-common-schema/primitives/PackageVersion.d.ts +10 -0
- package/dist/types/uapkg-common-schema/primitives/PostInstallPolicy.d.ts +21 -0
- package/dist/types/uapkg-common-schema/primitives/RegistryIdentifier.d.ts +15 -0
- package/dist/types/uapkg-common-schema/primitives/RegistryName.d.ts +18 -0
- package/dist/types/uapkg-common-schema/primitives/RegistryURL.d.ts +10 -0
- package/dist/types/uapkg-common-schema/primitives/UnixTimestamp.d.ts +10 -0
- package/dist/types/uapkg-common-schema/primitives/VersionRange.d.ts +10 -0
- package/dist/types/uapkg-config/contracts/ConfigTypes.d.ts +58 -0
- package/dist/types/uapkg-config/core/ConfigInstance.d.ts +43 -0
- package/dist/types/uapkg-config/core/ConfigLayerBuilder.d.ts +13 -0
- package/dist/types/uapkg-config/core/ConfigResolver.d.ts +19 -0
- package/dist/types/uapkg-config/core/ConfigSemanticValidator.d.ts +13 -0
- package/dist/types/uapkg-config/core/ConfigWriter.d.ts +25 -0
- package/dist/types/uapkg-config/core/PostInstallPolicyResolver.d.ts +22 -0
- package/dist/types/uapkg-config/factory/createConfig.d.ts +6 -0
- package/dist/types/uapkg-config/files/ConfigFileRepository.d.ts +11 -0
- package/dist/types/uapkg-config/files/ConfigPathResolver.d.ts +14 -0
- package/dist/types/uapkg-config/index.d.ts +127 -0
- package/dist/types/uapkg-config/merge/ConfigMerger.d.ts +10 -0
- package/dist/types/uapkg-config/merge/ConfigSchemaMergeEngine.d.ts +26 -0
- package/dist/types/uapkg-config/schema/configSchema.d.ts +114 -0
- package/dist/types/uapkg-config/schema/pathSchema.d.ts +12 -0
- package/dist/types/uapkg-config/schema/runtime/ConfigCliValueParser.d.ts +18 -0
- package/dist/types/uapkg-config/schema/runtime/ConfigSchemaIntrospection.d.ts +13 -0
- package/dist/types/uapkg-config/schema/runtime/ConfigSchemaRuntime.d.ts +26 -0
- package/dist/types/uapkg-config/schema/runtime/ConfigSchemaRuntimeProvider.d.ts +7 -0
- package/dist/types/uapkg-diagnostics/base/Diagnostic.d.ts +32 -0
- package/dist/types/uapkg-diagnostics/base/DiagnosticBag.d.ts +44 -0
- package/dist/types/uapkg-diagnostics/base/DiagnosticFingerprint.d.ts +12 -0
- package/dist/types/uapkg-diagnostics/base/DiagnosticLevel.d.ts +11 -0
- package/dist/types/uapkg-diagnostics/base/Result.d.ts +26 -0
- package/dist/types/uapkg-diagnostics/config/ConfigDiagnostics.d.ts +49 -0
- package/dist/types/uapkg-diagnostics/controlPlane/ControlPlaneDiagnostics.d.ts +25 -0
- package/dist/types/uapkg-diagnostics/general/GeneralDiagnostics.d.ts +23 -0
- package/dist/types/uapkg-diagnostics/index.d.ts +20 -0
- package/dist/types/uapkg-diagnostics/installer/InstallerDiagnostics.d.ts +55 -0
- package/dist/types/uapkg-diagnostics/manifest/ManifestDiagnostics.d.ts +70 -0
- package/dist/types/uapkg-diagnostics/pack/PackDiagnostics.d.ts +49 -0
- package/dist/types/uapkg-diagnostics/postinstall/PostinstallDiagnostics.d.ts +47 -0
- package/dist/types/uapkg-diagnostics/publishing/PublishingDiagnostics.d.ts +77 -0
- package/dist/types/uapkg-diagnostics/registry/RegistryDiagnostics.d.ts +71 -0
- package/dist/types/uapkg-diagnostics/registryTools/RegistryToolsDiagnostics.d.ts +130 -0
- package/dist/types/uapkg-diagnostics/resolver/ResolverDiagnostics.d.ts +38 -0
- package/dist/types/uapkg-diagnostics/safety/SafetyDiagnostics.d.ts +33 -0
- package/dist/types/uapkg-diagnostics/spec/SpecDiagnostics.d.ts +23 -0
- package/dist/types/uapkg-diagnostics/types.d.ts +37 -0
- package/dist/types/uapkg-diagnostics-format/contracts/FormatterTypes.d.ts +23 -0
- package/dist/types/uapkg-diagnostics-format/defaults/defaultFormatters.d.ts +8 -0
- package/dist/types/uapkg-diagnostics-format/formatters/PlainTextFormatter.d.ts +11 -0
- package/dist/types/uapkg-diagnostics-format/formatters/config/configFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/installer/installerFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/manifest/manifestFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/pack/packFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/postinstall/postinstallFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/publishing/publishingFormatters.d.ts +13 -0
- package/dist/types/uapkg-diagnostics-format/formatters/registry/registryFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/registryTools/registryToolsFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/resolver/resolverFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/safety/safetyFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/formatters/spec/specFormatters.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/index.d.ts +15 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/configInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/installerInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/manifestInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/packInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/postinstallInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/publishingInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/registryInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/resolverInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/safetyInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/components/specInkComponents.d.ts +5 -0
- package/dist/types/uapkg-diagnostics-format/ink/contracts/InkTypes.d.ts +35 -0
- package/dist/types/uapkg-diagnostics-format/ink/defaults/defaultInkComponents.d.ts +15 -0
- package/dist/types/uapkg-diagnostics-format/ink/index.d.ts +17 -0
- package/dist/types/uapkg-diagnostics-format/ink/primitives/HintLine.d.ts +12 -0
- package/dist/types/uapkg-diagnostics-format/ink/primitives/PlainTextBody.d.ts +11 -0
- package/dist/types/uapkg-diagnostics-format/ink/primitives/SeverityBadge.d.ts +13 -0
- package/dist/types/uapkg-diagnostics-format/ink/registry/DiagnosticInkRegistry.d.ts +24 -0
- package/dist/types/uapkg-diagnostics-format/ink/views/DiagnosticView.d.ts +21 -0
- package/dist/types/uapkg-diagnostics-format/ink/views/DiagnosticsListView.d.ts +16 -0
- package/dist/types/uapkg-diagnostics-format/registry/FormatterRegistry.d.ts +26 -0
- package/dist/types/uapkg-diagnostics-format/utils/indent.d.ts +7 -0
- package/dist/types/uapkg-installer/contracts/InstallerTypes.d.ts +91 -0
- package/dist/types/uapkg-installer/contracts/SafetyPolicyTypes.d.ts +43 -0
- package/dist/types/uapkg-installer/contracts/StatusStreamTypes.d.ts +42 -0
- package/dist/types/uapkg-installer/core/ClaimsVerifier.d.ts +22 -0
- package/dist/types/uapkg-installer/core/DiskStateInspector.d.ts +29 -0
- package/dist/types/uapkg-installer/core/InstallPlanner.d.ts +35 -0
- package/dist/types/uapkg-installer/core/Installer.d.ts +61 -0
- package/dist/types/uapkg-installer/core/IntegrityVerifier.d.ts +16 -0
- package/dist/types/uapkg-installer/core/PackageDownloader.d.ts +40 -0
- package/dist/types/uapkg-installer/core/PackageExtractor.d.ts +20 -0
- package/dist/types/uapkg-installer/core/PackageRemover.d.ts +14 -0
- package/dist/types/uapkg-installer/index.d.ts +16 -0
- package/dist/types/uapkg-installer/safety/NoMarkerPolicy.d.ts +17 -0
- package/dist/types/uapkg-installer/safety/SafetyPolicyRegistry.d.ts +32 -0
- package/dist/types/uapkg-installer/status/SlotTable.d.ts +36 -0
- package/dist/types/uapkg-installer/status/StatusStream.d.ts +25 -0
- package/dist/types/uapkg-log/contracts/LoggerTypes.d.ts +22 -0
- package/dist/types/uapkg-log/core/LogLevelPolicy.d.ts +15 -0
- package/dist/types/uapkg-log/core/LoggerFactory.d.ts +11 -0
- package/dist/types/uapkg-log/core/LoggerInstance.d.ts +17 -0
- package/dist/types/uapkg-log/core/WinstonLoggerAdapter.d.ts +8 -0
- package/dist/types/uapkg-log/index.d.ts +8 -0
- package/dist/types/uapkg-pack/contracts/PackTypes.d.ts +29 -0
- package/dist/types/uapkg-pack/core/FileCrawler.d.ts +12 -0
- package/dist/types/uapkg-pack/core/IgnoreEvaluator.d.ts +7 -0
- package/dist/types/uapkg-pack/core/IgnoreRuleLoader.d.ts +14 -0
- package/dist/types/uapkg-pack/core/IntegrityWriter.d.ts +6 -0
- package/dist/types/uapkg-pack/core/LFSPointerDetector.d.ts +6 -0
- package/dist/types/uapkg-pack/core/PackArtifactExcluder.d.ts +11 -0
- package/dist/types/uapkg-pack/core/PackManifestReader.d.ts +8 -0
- package/dist/types/uapkg-pack/core/PackService.d.ts +32 -0
- package/dist/types/uapkg-pack/core/PluginDescriptorGuard.d.ts +11 -0
- package/dist/types/uapkg-pack/core/PluginRootResolver.d.ts +14 -0
- package/dist/types/uapkg-pack/core/TarArchiveWriter.d.ts +11 -0
- package/dist/types/uapkg-pack/index.d.ts +7 -0
- package/dist/types/uapkg-package-claims/archive/PackagedManifestReader.d.ts +28 -0
- package/dist/types/uapkg-package-claims/claims/ClaimsComparison.d.ts +44 -0
- package/dist/types/uapkg-package-claims/claims/PackageClaims.d.ts +9 -0
- package/dist/types/uapkg-package-claims/index.d.ts +7 -0
- package/dist/types/uapkg-package-claims/json/CanonicalJson.d.ts +17 -0
- package/dist/types/uapkg-package-claims/schema/PackageClaimsSchema.d.ts +27 -0
- package/dist/types/uapkg-package-claims/schema/index.d.ts +2 -0
- package/dist/types/uapkg-package-manifest/contracts/ManifestTypes.d.ts +37 -0
- package/dist/types/uapkg-package-manifest/core/DependencyMutator.d.ts +48 -0
- package/dist/types/uapkg-package-manifest/core/DevDependencyPolicy.d.ts +30 -0
- package/dist/types/uapkg-package-manifest/core/InstallPathResolver.d.ts +35 -0
- package/dist/types/uapkg-package-manifest/core/LockfileDiffer.d.ts +40 -0
- package/dist/types/uapkg-package-manifest/core/LockfileSyncIssue.d.ts +11 -0
- package/dist/types/uapkg-package-manifest/core/LockfileSyncValidator.d.ts +26 -0
- package/dist/types/uapkg-package-manifest/core/OutdatedChecker.d.ts +36 -0
- package/dist/types/uapkg-package-manifest/core/PackageManifest.d.ts +63 -0
- package/dist/types/uapkg-package-manifest/core/WhyGraph.d.ts +31 -0
- package/dist/types/uapkg-package-manifest/index.d.ts +18 -0
- package/dist/types/uapkg-package-manifest/io/LockfileReader.d.ts +12 -0
- package/dist/types/uapkg-package-manifest/io/LockfileSyncIssueWriter.d.ts +12 -0
- package/dist/types/uapkg-package-manifest/io/LockfileWriter.d.ts +11 -0
- package/dist/types/uapkg-package-manifest/io/ManifestReader.d.ts +12 -0
- package/dist/types/uapkg-package-manifest/io/ManifestWriter.d.ts +13 -0
- package/dist/types/uapkg-package-manifest/resolver/LockfileSync.d.ts +13 -0
- package/dist/types/uapkg-package-manifest/resolver/Resolver.d.ts +16 -0
- package/dist/types/uapkg-package-manifest-schema/index.d.ts +10 -0
- package/dist/types/uapkg-package-manifest-schema/lockfile/LockDependencySchema.d.ts +15 -0
- package/dist/types/uapkg-package-manifest-schema/lockfile/LockfileSchema.d.ts +22 -0
- package/dist/types/uapkg-package-manifest-schema/manifest/BaseManifestSchema.d.ts +56 -0
- package/dist/types/uapkg-package-manifest-schema/manifest/DependencySchema.d.ts +57 -0
- package/dist/types/uapkg-package-manifest-schema/manifest/ManifestKind.d.ts +17 -0
- package/dist/types/uapkg-package-manifest-schema/manifest/ManifestSchema.d.ts +106 -0
- package/dist/types/uapkg-package-manifest-schema/manifest/PluginManifestSchema.d.ts +52 -0
- package/dist/types/uapkg-package-manifest-schema/manifest/ProjectManifestSchema.d.ts +80 -0
- package/dist/types/uapkg-package-manifest-schema/manifest/PublishSchema.d.ts +15 -0
- package/dist/types/uapkg-registry-core/contracts/RegistryCoreTypes.d.ts +54 -0
- package/dist/types/uapkg-registry-core/core/RegistryCore.d.ts +26 -0
- package/dist/types/uapkg-registry-core/index.d.ts +14 -0
- package/dist/types/uapkg-registry-core/paths/RegistryPaths.d.ts +15 -0
- package/dist/types/uapkg-registry-core/registry/GitRunner.d.ts +31 -0
- package/dist/types/uapkg-registry-core/registry/Registry.d.ts +46 -0
- package/dist/types/uapkg-registry-core/registry/RegistryCacheValidator.d.ts +21 -0
- package/dist/types/uapkg-registry-core/registry/RegistryLock.d.ts +27 -0
- package/dist/types/uapkg-registry-core/registry/RegistryMetadataReader.d.ts +18 -0
- package/dist/types/uapkg-registry-core/registry/RegistryPackageReader.d.ts +24 -0
- package/dist/types/uapkg-registry-core/registry/RegistrySyncPolicy.d.ts +14 -0
- package/dist/types/uapkg-registry-core/registry/RegistryUpdater.d.ts +23 -0
- package/dist/types/uapkg-registry-core/registry/RegistryUrlSanitizer.d.ts +10 -0
- package/dist/types/uapkg-registry-core/resolution/PackageResolver.d.ts +21 -0
- package/dist/types/uapkg-registry-core/resolution/SemverSelectionPolicy.d.ts +36 -0
- package/dist/types/uapkg-registry-schema/index.d.ts +9 -0
- package/dist/types/uapkg-registry-schema/paths/RegistryPackagePath.d.ts +15 -0
- package/dist/types/uapkg-registry-schema/schemas/IntegritySchema.d.ts +12 -0
- package/dist/types/uapkg-registry-schema/schemas/PackageRegistryManifestSchema.d.ts +108 -0
- package/dist/types/uapkg-registry-schema/schemas/PackageSourceSchema.d.ts +12 -0
- package/dist/types/uapkg-registry-schema/schemas/RegistryAssetSchema.d.ts +15 -0
- package/dist/types/uapkg-registry-schema/schemas/RegistryDependencySchema.d.ts +36 -0
- package/dist/types/uapkg-registry-schema/schemas/RegistryMetaSchema.d.ts +29 -0
- package/dist/types/uapkg-registry-schema/schemas/RegistryVersionSchema.d.ts +71 -0
- package/dist/types/uapkg-registry-tools/aggregator/RegistryToolsAggregator.d.ts +45 -0
- package/dist/types/uapkg-registry-tools/contracts/RegistryToolsTypes.d.ts +116 -0
- package/dist/types/uapkg-registry-tools/index.d.ts +18 -0
- package/dist/types/uapkg-registry-tools/io/IntegrityCalculator.d.ts +20 -0
- package/dist/types/uapkg-registry-tools/io/ManifestStore.d.ts +41 -0
- package/dist/types/uapkg-registry-tools/listing/PackageLister.d.ts +22 -0
- package/dist/types/uapkg-registry-tools/mutation/AddPackageVersionPlanner.d.ts +25 -0
- package/dist/types/uapkg-registry-tools/mutation/RemovePackagePlanner.d.ts +22 -0
- package/dist/types/uapkg-registry-tools/mutation/RemovePackageVersionPlanner.d.ts +21 -0
- package/dist/types/uapkg-registry-tools/mutation/VersionSorter.d.ts +10 -0
- package/dist/types/uapkg-registry-tools/paths/RegistryRepoPaths.d.ts +23 -0
- package/dist/types/uapkg-registry-tools/tools/RegistryTools.d.ts +64 -0
- package/dist/types/uapkg-registry-tools/validation/DependencyReachabilityValidator.d.ts +24 -0
- package/dist/types/uapkg-registry-tools/validation/ExternalRegistryPolicyValidator.d.ts +22 -0
- package/dist/types/uapkg-registry-tools/validation/ManifestValidator.d.ts +16 -0
- package/dist/types/uapkg-registry-tools/validation/OfficialRegistryPolicyValidator.d.ts +34 -0
- package/dist/types/uapkg-registry-tools/validation/RegistryValidator.d.ts +31 -0
- package/dist/types/uapkg-registry-tools/validation/ReleaseFileNameValidator.d.ts +21 -0
- package/package.json +21 -36
- package/dist/app/CompositionRoot.d.ts.map +0 -1
- package/dist/app/CompositionRoot.js +0 -93
- package/dist/app/CompositionRoot.js.map +0 -1
- package/dist/app/UAPKGApplication.d.ts.map +0 -1
- package/dist/app/UAPKGApplication.js +0 -157
- package/dist/app/UAPKGApplication.js.map +0 -1
- package/dist/build/BuildMetadata.d.ts.map +0 -1
- package/dist/cli/UAPKGCommandLine.d.ts.map +0 -1
- package/dist/cli/UAPKGCommandLine.js +0 -250
- package/dist/cli/UAPKGCommandLine.js.map +0 -1
- package/dist/cli/parseCommandLine.d.ts.map +0 -1
- package/dist/cli/parseCommandLine.js +0 -11
- package/dist/cli/parseCommandLine.js.map +0 -1
- package/dist/cli/parsing/UAPKGCommandLineParser.d.ts.map +0 -1
- package/dist/cli/parsing/UAPKGCommandLineParser.js +0 -24
- package/dist/cli/parsing/UAPKGCommandLineParser.js.map +0 -1
- package/dist/cli/parsing/UAPKGParserRegistry.d.ts.map +0 -1
- package/dist/cli/parsing/UAPKGParserRegistry.js +0 -54
- package/dist/cli/parsing/UAPKGParserRegistry.js.map +0 -1
- package/dist/cli/parsing/contracts/UAPKGCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/contracts/UAPKGCommandModule.js +0 -1
- package/dist/cli/parsing/modules/AddCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/AddCommandModule.js +0 -50
- package/dist/cli/parsing/modules/AddCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/ConfigCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/ConfigCommandModule.js +0 -88
- package/dist/cli/parsing/modules/ConfigCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/InitCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/InitCommandModule.js +0 -26
- package/dist/cli/parsing/modules/InitCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/InstallCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/InstallCommandModule.js +0 -37
- package/dist/cli/parsing/modules/InstallCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/LifecycleCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/LifecycleCommandModule.js +0 -84
- package/dist/cli/parsing/modules/LifecycleCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/ListCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/ListCommandModule.js +0 -27
- package/dist/cli/parsing/modules/ListCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/LoginCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/LoginCommandModule.js +0 -35
- package/dist/cli/parsing/modules/LoginCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/LogoutCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/LogoutCommandModule.js +0 -31
- package/dist/cli/parsing/modules/LogoutCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/OutdatedCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/OutdatedCommandModule.js +0 -22
- package/dist/cli/parsing/modules/OutdatedCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/PackCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/PackCommandModule.js +0 -31
- package/dist/cli/parsing/modules/PackCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/ProjectGetNameCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/ProjectGetNameCommandModule.js +0 -15
- package/dist/cli/parsing/modules/ProjectGetNameCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/PublishCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/PublishCommandModule.js +0 -66
- package/dist/cli/parsing/modules/PublishCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/RegistryCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/RegistryCommandModule.js +0 -118
- package/dist/cli/parsing/modules/RegistryCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/RemoveCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/RemoveCommandModule.js +0 -26
- package/dist/cli/parsing/modules/RemoveCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/RequestsCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/RequestsCommandModule.js +0 -59
- package/dist/cli/parsing/modules/RequestsCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/UpdateCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/UpdateCommandModule.js +0 -39
- package/dist/cli/parsing/modules/UpdateCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/WhoamiCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/WhoamiCommandModule.js +0 -31
- package/dist/cli/parsing/modules/WhoamiCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/WhyCommandModule.d.ts.map +0 -1
- package/dist/cli/parsing/modules/WhyCommandModule.js +0 -26
- package/dist/cli/parsing/modules/WhyCommandModule.js.map +0 -1
- package/dist/cli/parsing/modules/sharedOptions.d.ts.map +0 -1
- package/dist/cli/parsing/modules/sharedOptions.js +0 -21
- package/dist/cli/parsing/modules/sharedOptions.js.map +0 -1
- package/dist/cli/runUAPKGCLI.d.ts.map +0 -1
- package/dist/cli/runUAPKGCLI.js +0 -12
- package/dist/cli/runUAPKGCLI.js.map +0 -1
- package/dist/cli-bootstrap.js.map +0 -1
- package/dist/commands/AddCommand.d.ts.map +0 -1
- package/dist/commands/AddCommand.js +0 -51
- package/dist/commands/AddCommand.js.map +0 -1
- package/dist/commands/Command.d.ts.map +0 -1
- package/dist/commands/Command.js +0 -1
- package/dist/commands/ConfigCommand.d.ts.map +0 -1
- package/dist/commands/ConfigCommand.js +0 -166
- package/dist/commands/ConfigCommand.js.map +0 -1
- package/dist/commands/InitCommand.d.ts.map +0 -1
- package/dist/commands/InitCommand.js +0 -66
- package/dist/commands/InitCommand.js.map +0 -1
- package/dist/commands/InstallCommand.d.ts.map +0 -1
- package/dist/commands/InstallCommand.js +0 -120
- package/dist/commands/InstallCommand.js.map +0 -1
- package/dist/commands/ListCommand.d.ts.map +0 -1
- package/dist/commands/ListCommand.js +0 -78
- package/dist/commands/ListCommand.js.map +0 -1
- package/dist/commands/LoginCommand.d.ts.map +0 -1
- package/dist/commands/LoginCommand.js +0 -67
- package/dist/commands/LoginCommand.js.map +0 -1
- package/dist/commands/LogoutCommand.d.ts.map +0 -1
- package/dist/commands/LogoutCommand.js +0 -37
- package/dist/commands/LogoutCommand.js.map +0 -1
- package/dist/commands/OutdatedCommand.d.ts.map +0 -1
- package/dist/commands/OutdatedCommand.js +0 -43
- package/dist/commands/OutdatedCommand.js.map +0 -1
- package/dist/commands/PackCommand.d.ts.map +0 -1
- package/dist/commands/PackCommand.js +0 -27
- package/dist/commands/PackCommand.js.map +0 -1
- package/dist/commands/PackageLifecycleCommand.d.ts.map +0 -1
- package/dist/commands/PackageLifecycleCommand.js +0 -149
- package/dist/commands/PackageLifecycleCommand.js.map +0 -1
- package/dist/commands/PostinstallCandidateBuilder.d.ts.map +0 -1
- package/dist/commands/PostinstallCandidateBuilder.js +0 -44
- package/dist/commands/PostinstallCandidateBuilder.js.map +0 -1
- package/dist/commands/ProjectGetNameCommand.d.ts.map +0 -1
- package/dist/commands/ProjectGetNameCommand.js +0 -26
- package/dist/commands/ProjectGetNameCommand.js.map +0 -1
- package/dist/commands/PublishCommand.d.ts.map +0 -1
- package/dist/commands/PublishCommand.js +0 -259
- package/dist/commands/PublishCommand.js.map +0 -1
- package/dist/commands/RegistryCommand.d.ts.map +0 -1
- package/dist/commands/RegistryCommand.js +0 -197
- package/dist/commands/RegistryCommand.js.map +0 -1
- package/dist/commands/RemoveCommand.d.ts.map +0 -1
- package/dist/commands/RemoveCommand.js +0 -48
- package/dist/commands/RemoveCommand.js.map +0 -1
- package/dist/commands/RequestsCommand.d.ts.map +0 -1
- package/dist/commands/RequestsCommand.js +0 -85
- package/dist/commands/RequestsCommand.js.map +0 -1
- package/dist/commands/UpdateCommand.d.ts.map +0 -1
- package/dist/commands/UpdateCommand.js +0 -113
- package/dist/commands/UpdateCommand.js.map +0 -1
- package/dist/commands/WhoamiCommand.d.ts.map +0 -1
- package/dist/commands/WhoamiCommand.js +0 -66
- package/dist/commands/WhoamiCommand.js.map +0 -1
- package/dist/commands/WhyCommand.d.ts.map +0 -1
- package/dist/commands/WhyCommand.js +0 -47
- package/dist/commands/WhyCommand.js.map +0 -1
- package/dist/commands/add/DependencyAddResolver.d.ts.map +0 -1
- package/dist/commands/add/DependencyAddResolver.js +0 -38
- package/dist/commands/add/DependencyAddResolver.js.map +0 -1
- package/dist/control-plane/AccountManager.d.ts.map +0 -1
- package/dist/control-plane/AccountManager.js +0 -822
- package/dist/control-plane/AccountManager.js.map +0 -1
- package/dist/control-plane/ArtifactObserver.d.ts.map +0 -1
- package/dist/control-plane/ArtifactObserver.js +0 -77
- package/dist/control-plane/ArtifactObserver.js.map +0 -1
- package/dist/control-plane/AuthMetadataStore.d.ts.map +0 -1
- package/dist/control-plane/AuthMetadataStore.js +0 -114
- package/dist/control-plane/AuthMetadataStore.js.map +0 -1
- package/dist/control-plane/AuthStoragePaths.d.ts.map +0 -1
- package/dist/control-plane/AuthStoragePaths.js +0 -22
- package/dist/control-plane/AuthStoragePaths.js.map +0 -1
- package/dist/control-plane/AuthenticationSelector.d.ts.map +0 -1
- package/dist/control-plane/AuthenticationSelector.js +0 -70
- package/dist/control-plane/AuthenticationSelector.js.map +0 -1
- package/dist/control-plane/ControlPlaneClient.d.ts.map +0 -1
- package/dist/control-plane/ControlPlaneClient.js +0 -291
- package/dist/control-plane/ControlPlaneClient.js.map +0 -1
- package/dist/control-plane/ControlPlaneEndpoints.d.ts.map +0 -1
- package/dist/control-plane/ControlPlaneEndpoints.js +0 -24
- package/dist/control-plane/ControlPlaneEndpoints.js.map +0 -1
- package/dist/control-plane/ControlPlaneTypes.d.ts.map +0 -1
- package/dist/control-plane/ControlPlaneTypes.js +0 -100
- package/dist/control-plane/ControlPlaneTypes.js.map +0 -1
- package/dist/control-plane/CredentialStore.d.ts.map +0 -1
- package/dist/control-plane/CredentialStore.js +0 -70
- package/dist/control-plane/CredentialStore.js.map +0 -1
- package/dist/control-plane/DPoPKeyStore.d.ts.map +0 -1
- package/dist/control-plane/DPoPKeyStore.js +0 -58
- package/dist/control-plane/DPoPKeyStore.js.map +0 -1
- package/dist/control-plane/GitHubActionsOidcCredentialProvider.d.ts.map +0 -1
- package/dist/control-plane/GitHubActionsOidcCredentialProvider.js +0 -201
- package/dist/control-plane/GitHubActionsOidcCredentialProvider.js.map +0 -1
- package/dist/control-plane/PublishIdempotencyStore.d.ts.map +0 -1
- package/dist/control-plane/PublishIdempotencyStore.js +0 -100
- package/dist/control-plane/PublishIdempotencyStore.js.map +0 -1
- package/dist/control-plane/PublishRequestErrorMapper.d.ts.map +0 -1
- package/dist/control-plane/PublishRequestErrorMapper.js +0 -597
- package/dist/control-plane/PublishRequestErrorMapper.js.map +0 -1
- package/dist/control-plane/RegistryGrantLock.d.ts.map +0 -1
- package/dist/control-plane/RegistryGrantLock.js +0 -163
- package/dist/control-plane/RegistryGrantLock.js.map +0 -1
- package/dist/control-plane/RegistryTrustResolver.d.ts.map +0 -1
- package/dist/control-plane/RegistryTrustResolver.js +0 -105
- package/dist/control-plane/RegistryTrustResolver.js.map +0 -1
- package/dist/postinstall/api/PostinstallDsl.d.ts.map +0 -1
- package/dist/postinstall/api/PostinstallDsl.js +0 -36
- package/dist/postinstall/api/PostinstallDsl.js.map +0 -1
- package/dist/postinstall/api/definePostinstall.d.ts.map +0 -1
- package/dist/postinstall/api/definePostinstall.js +0 -23
- package/dist/postinstall/api/definePostinstall.js.map +0 -1
- package/dist/postinstall/index.js +0 -25
- package/dist/postinstall/loader/EntryResolver.d.ts.map +0 -1
- package/dist/postinstall/loader/EntryResolver.js +0 -39
- package/dist/postinstall/loader/EntryResolver.js.map +0 -1
- package/dist/postinstall/loader/EsbuildTranspiler.d.ts.map +0 -1
- package/dist/postinstall/loader/EsbuildTranspiler.js +0 -54
- package/dist/postinstall/loader/EsbuildTranspiler.js.map +0 -1
- package/dist/postinstall/loader/ExportValidator.d.ts.map +0 -1
- package/dist/postinstall/loader/ExportValidator.js +0 -38
- package/dist/postinstall/loader/ExportValidator.js.map +0 -1
- package/dist/postinstall/loader/ModuleImporter.d.ts.map +0 -1
- package/dist/postinstall/loader/ModuleImporter.js +0 -52
- package/dist/postinstall/loader/ModuleImporter.js.map +0 -1
- package/dist/postinstall/loader/PostinstallLoader.d.ts.map +0 -1
- package/dist/postinstall/loader/PostinstallLoader.js +0 -64
- package/dist/postinstall/loader/PostinstallLoader.js.map +0 -1
- package/dist/postinstall/markers/MarkerBlockEditor.d.ts.map +0 -1
- package/dist/postinstall/markers/MarkerBlockEditor.js +0 -50
- package/dist/postinstall/markers/MarkerBlockEditor.js.map +0 -1
- package/dist/postinstall/markers/MarkerBlockService.d.ts.map +0 -1
- package/dist/postinstall/markers/MarkerBlockService.js +0 -46
- package/dist/postinstall/markers/MarkerBlockService.js.map +0 -1
- package/dist/postinstall/markers/MarkerIntegrityValidator.d.ts.map +0 -1
- package/dist/postinstall/markers/MarkerIntegrityValidator.js +0 -48
- package/dist/postinstall/markers/MarkerIntegrityValidator.js.map +0 -1
- package/dist/postinstall/policy/PostinstallPolicyGate.d.ts.map +0 -1
- package/dist/postinstall/policy/PostinstallPolicyGate.js +0 -68
- package/dist/postinstall/policy/PostinstallPolicyGate.js.map +0 -1
- package/dist/postinstall/runner/PostinstallOrchestrator.d.ts.map +0 -1
- package/dist/postinstall/runner/PostinstallOrchestrator.js +0 -174
- package/dist/postinstall/runner/PostinstallOrchestrator.js.map +0 -1
- package/dist/postinstall/unreal/BuildCsInjector.d.ts.map +0 -1
- package/dist/postinstall/unreal/BuildCsInjector.js +0 -60
- package/dist/postinstall/unreal/BuildCsInjector.js.map +0 -1
- package/dist/postinstall/unreal/CSharpInjectionEngine.d.ts.map +0 -1
- package/dist/postinstall/unreal/CSharpInjectionEngine.js +0 -58
- package/dist/postinstall/unreal/CSharpInjectionEngine.js.map +0 -1
- package/dist/postinstall/unreal/CSharpStructureAnalyzer.d.ts.map +0 -1
- package/dist/postinstall/unreal/CSharpStructureAnalyzer.js +0 -126
- package/dist/postinstall/unreal/CSharpStructureAnalyzer.js.map +0 -1
- package/dist/postinstall/unreal/CSharpStructures.d.ts.map +0 -1
- package/dist/postinstall/unreal/CSharpStructures.js +0 -1
- package/dist/postinstall/unreal/CSharpWrapperFactory.d.ts.map +0 -1
- package/dist/postinstall/unreal/CSharpWrapperFactory.js +0 -56
- package/dist/postinstall/unreal/CSharpWrapperFactory.js.map +0 -1
- package/dist/postinstall/unreal/PluginHash.d.ts.map +0 -1
- package/dist/postinstall/unreal/PluginHash.js +0 -18
- package/dist/postinstall/unreal/PluginHash.js.map +0 -1
- package/dist/postinstall/unreal/PrettyParseError.d.ts.map +0 -1
- package/dist/postinstall/unreal/PrettyParseError.js +0 -43
- package/dist/postinstall/unreal/PrettyParseError.js.map +0 -1
- package/dist/postinstall/unreal/ProjectFileLocator.d.ts.map +0 -1
- package/dist/postinstall/unreal/ProjectFileLocator.js +0 -51
- package/dist/postinstall/unreal/ProjectFileLocator.js.map +0 -1
- package/dist/postinstall/unreal/TargetCsInjector.d.ts.map +0 -1
- package/dist/postinstall/unreal/TargetCsInjector.js +0 -60
- package/dist/postinstall/unreal/TargetCsInjector.js.map +0 -1
- package/dist/postinstall/unreal/UProjectInjector.d.ts.map +0 -1
- package/dist/postinstall/unreal/UProjectInjector.js +0 -58
- package/dist/postinstall/unreal/UProjectInjector.js.map +0 -1
- package/dist/postinstall/unreal/UProjectMetadataReader.d.ts.map +0 -1
- package/dist/postinstall/unreal/UProjectMetadataReader.js +0 -24
- package/dist/postinstall/unreal/UProjectMetadataReader.js.map +0 -1
- package/dist/postinstall/unreal/UnrealSourceCatalog.d.ts.map +0 -1
- package/dist/postinstall/unreal/UnrealSourceCatalog.js +0 -52
- package/dist/postinstall/unreal/UnrealSourceCatalog.js.map +0 -1
- package/dist/prompts/InkPromptService.d.ts.map +0 -1
- package/dist/prompts/InkPromptService.js +0 -105
- package/dist/prompts/InkPromptService.js.map +0 -1
- package/dist/prompts/ProjectContextDetector.d.ts.map +0 -1
- package/dist/prompts/ProjectContextDetector.js +0 -33
- package/dist/prompts/ProjectContextDetector.js.map +0 -1
- package/dist/prompts/PromptService.d.ts.map +0 -1
- package/dist/prompts/PromptService.js +0 -1
- package/dist/reporting/DiagnosticDeduplicator.d.ts.map +0 -1
- package/dist/reporting/DiagnosticDeduplicator.js +0 -38
- package/dist/reporting/DiagnosticDeduplicator.js.map +0 -1
- package/dist/reporting/DiagnosticRenderer.d.ts.map +0 -1
- package/dist/reporting/DiagnosticRenderer.js +0 -1
- package/dist/reporting/DiagnosticReporter.d.ts.map +0 -1
- package/dist/reporting/DiagnosticReporter.js +0 -42
- package/dist/reporting/DiagnosticReporter.js.map +0 -1
- package/dist/reporting/InkDiagnosticRenderer.d.ts.map +0 -1
- package/dist/reporting/InkDiagnosticRenderer.js +0 -52
- package/dist/reporting/InkDiagnosticRenderer.js.map +0 -1
- package/dist/reporting/InstallProgressReporter.d.ts.map +0 -1
- package/dist/reporting/InstallProgressReporter.js +0 -50
- package/dist/reporting/InstallProgressReporter.js.map +0 -1
- package/dist/reporting/JsonReporter.d.ts.map +0 -1
- package/dist/reporting/JsonReporter.js +0 -36
- package/dist/reporting/JsonReporter.js.map +0 -1
- package/dist/reporting/RegistryRequestTerminalFormatter.d.ts.map +0 -1
- package/dist/reporting/RegistryRequestTerminalFormatter.js +0 -90
- package/dist/reporting/RegistryRequestTerminalFormatter.js.map +0 -1
- package/dist/reporting/TextDiagnosticRenderer.d.ts.map +0 -1
- package/dist/reporting/TextDiagnosticRenderer.js +0 -38
- package/dist/reporting/TextDiagnosticRenderer.js.map +0 -1
- package/dist/reporting/TextSink.d.ts.map +0 -1
- package/dist/reporting/TextSink.js +0 -29
- package/dist/reporting/TextSink.js.map +0 -1
- /package/dist/{cli-bootstrap.d.ts → types/uapkg/cli-bootstrap.d.ts} +0 -0
- /package/dist/{index.d.ts → types/uapkg/index.d.ts} +0 -0
- /package/dist/{postinstall → types/uapkg/postinstall}/index.d.ts +0 -0
|
@@ -1,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 '../api/PostinstallDsl.js';\nimport { MarkerBlockEditor } from '../markers/MarkerBlockEditor.js';\nimport { CSharpInjectionEngine } from './CSharpInjectionEngine.js';\nimport { CSharpStructureAnalyzer } from './CSharpStructureAnalyzer.js';\nimport { CSharpWrapperFactory } from './CSharpWrapperFactory.js';\nimport { getWrapperClassName } from './PluginHash.js';\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 './CSharpStructureAnalyzer.js';\nimport { ProjectFileLocator } from './ProjectFileLocator.js';\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 './PromptService.js';\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"}
|