@uapkg/cli 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/app/CompositionRoot.js.map +1 -1
  2. package/dist/app/UAPKGApplication.js.map +1 -1
  3. package/dist/build/BuildMetadata.js +2 -2
  4. package/dist/cli/parseCommandLine.js.map +1 -1
  5. package/dist/cli/parsing/UAPKGCommandLineParser.js.map +1 -1
  6. package/dist/cli/parsing/UAPKGParserRegistry.js.map +1 -1
  7. package/dist/cli/parsing/modules/AddCommandModule.js +4 -4
  8. package/dist/cli/parsing/modules/AddCommandModule.js.map +1 -1
  9. package/dist/cli/parsing/modules/ConfigCommandModule.js +2 -2
  10. package/dist/cli/parsing/modules/ConfigCommandModule.js.map +1 -1
  11. package/dist/cli/parsing/modules/InitCommandModule.js +2 -2
  12. package/dist/cli/parsing/modules/InitCommandModule.js.map +1 -1
  13. package/dist/cli/parsing/modules/InstallCommandModule.js +3 -3
  14. package/dist/cli/parsing/modules/InstallCommandModule.js.map +1 -1
  15. package/dist/cli/parsing/modules/LifecycleCommandModule.js.map +1 -1
  16. package/dist/cli/parsing/modules/ListCommandModule.js +1 -1
  17. package/dist/cli/parsing/modules/ListCommandModule.js.map +1 -1
  18. package/dist/cli/parsing/modules/LoginCommandModule.js +2 -2
  19. package/dist/cli/parsing/modules/LoginCommandModule.js.map +1 -1
  20. package/dist/cli/parsing/modules/LogoutCommandModule.js.map +1 -1
  21. package/dist/cli/parsing/modules/OutdatedCommandModule.js.map +1 -1
  22. package/dist/cli/parsing/modules/PackCommandModule.js +2 -2
  23. package/dist/cli/parsing/modules/PackCommandModule.js.map +1 -1
  24. package/dist/cli/parsing/modules/ProjectGetNameCommandModule.js.map +1 -1
  25. package/dist/cli/parsing/modules/PublishCommandModule.js +3 -3
  26. package/dist/cli/parsing/modules/PublishCommandModule.js.map +1 -1
  27. package/dist/cli/parsing/modules/RegistryCommandModule.js.map +1 -1
  28. package/dist/cli/parsing/modules/RemoveCommandModule.js +1 -1
  29. package/dist/cli/parsing/modules/RemoveCommandModule.js.map +1 -1
  30. package/dist/cli/parsing/modules/RequestsCommandModule.js +1 -1
  31. package/dist/cli/parsing/modules/RequestsCommandModule.js.map +1 -1
  32. package/dist/cli/parsing/modules/UpdateCommandModule.js +3 -3
  33. package/dist/cli/parsing/modules/UpdateCommandModule.js.map +1 -1
  34. package/dist/cli/parsing/modules/WhoamiCommandModule.d.ts.map +1 -1
  35. package/dist/cli/parsing/modules/WhoamiCommandModule.js.map +1 -1
  36. package/dist/cli/parsing/modules/WhyCommandModule.js +1 -1
  37. package/dist/cli/parsing/modules/WhyCommandModule.js.map +1 -1
  38. package/dist/cli/runUAPKGCLI.js.map +1 -1
  39. package/dist/cli-bootstrap.js.map +1 -1
  40. package/dist/commands/AddCommand.js.map +1 -1
  41. package/dist/commands/ConfigCommand.js.map +1 -1
  42. package/dist/commands/InitCommand.d.ts.map +1 -1
  43. package/dist/commands/InitCommand.js +2 -2
  44. package/dist/commands/InitCommand.js.map +1 -1
  45. package/dist/commands/InstallCommand.js.map +1 -1
  46. package/dist/commands/ListCommand.js.map +1 -1
  47. package/dist/commands/LoginCommand.js.map +1 -1
  48. package/dist/commands/LogoutCommand.js.map +1 -1
  49. package/dist/commands/OutdatedCommand.js.map +1 -1
  50. package/dist/commands/PackCommand.js.map +1 -1
  51. package/dist/commands/PackageLifecycleCommand.js.map +1 -1
  52. package/dist/commands/PostinstallCandidateBuilder.js.map +1 -1
  53. package/dist/commands/ProjectGetNameCommand.js.map +1 -1
  54. package/dist/commands/PublishCommand.js.map +1 -1
  55. package/dist/commands/RegistryCommand.js.map +1 -1
  56. package/dist/commands/RemoveCommand.js.map +1 -1
  57. package/dist/commands/RequestsCommand.js.map +1 -1
  58. package/dist/commands/UpdateCommand.js.map +1 -1
  59. package/dist/commands/WhoamiCommand.js.map +1 -1
  60. package/dist/commands/WhyCommand.js.map +1 -1
  61. package/dist/commands/add/DependencyAddResolver.js.map +1 -1
  62. package/dist/control-plane/AccountManager.js +1 -1
  63. package/dist/control-plane/AccountManager.js.map +1 -1
  64. package/dist/control-plane/AuthMetadataStore.js.map +1 -1
  65. package/dist/control-plane/AuthenticationSelector.js +5 -5
  66. package/dist/control-plane/AuthenticationSelector.js.map +1 -1
  67. package/dist/control-plane/ControlPlaneClient.js.map +1 -1
  68. package/dist/control-plane/ControlPlaneEndpoints.js.map +1 -1
  69. package/dist/control-plane/ControlPlaneTypes.js.map +1 -1
  70. package/dist/control-plane/DPoPKeyStore.js.map +1 -1
  71. package/dist/control-plane/GitHubActionsOidcCredentialProvider.js.map +1 -1
  72. package/dist/control-plane/PublishRequestErrorMapper.js.map +1 -1
  73. package/dist/control-plane/RegistryTrustResolver.js.map +1 -1
  74. package/dist/postinstall/api/definePostinstall.js.map +1 -1
  75. package/dist/postinstall/loader/ExportValidator.js.map +1 -1
  76. package/dist/postinstall/loader/PostinstallLoader.js.map +1 -1
  77. package/dist/postinstall/markers/MarkerBlockEditor.js.map +1 -1
  78. package/dist/postinstall/runner/PostinstallOrchestrator.js.map +1 -1
  79. package/dist/postinstall/unreal/BuildCsInjector.js.map +1 -1
  80. package/dist/postinstall/unreal/CSharpInjectionEngine.js.map +1 -1
  81. package/dist/postinstall/unreal/CSharpStructureAnalyzer.d.ts.map +1 -1
  82. package/dist/postinstall/unreal/CSharpStructureAnalyzer.js.map +1 -1
  83. package/dist/postinstall/unreal/TargetCsInjector.js.map +1 -1
  84. package/dist/postinstall/unreal/UnrealSourceCatalog.js.map +1 -1
  85. package/dist/prompts/InkPromptService.js.map +1 -1
  86. package/dist/reporting/DiagnosticReporter.js.map +1 -1
  87. package/dist/reporting/InkDiagnosticRenderer.js.map +1 -1
  88. package/dist/reporting/InstallProgressReporter.js.map +1 -1
  89. package/dist/reporting/JsonReporter.js.map +1 -1
  90. package/dist/reporting/RegistryRequestTerminalFormatter.js +1 -1
  91. package/dist/reporting/RegistryRequestTerminalFormatter.js.map +1 -1
  92. package/dist/reporting/TextDiagnosticRenderer.js.map +1 -1
  93. package/package.json +26 -14
@@ -1 +1 @@
1
- {"version":3,"file":"CompositionRoot.js","names":[],"sources":["../../src/app/CompositionRoot.ts"],"sourcesContent":["import { ConfigInstance } from '@uapkg/config';\nimport { Installer } from '@uapkg/installer';\nimport { PackageManifest } from '@uapkg/package-manifest';\nimport { RegistryCore } from '@uapkg/registry-core';\nimport { AccountManager } from '../control-plane/AccountManager.js';\nimport { RegistryTrustResolver } from '../control-plane/RegistryTrustResolver.js';\nimport { PostinstallOrchestrator } from '../postinstall/runner/PostinstallOrchestrator.js';\nimport { DiagnosticReporter } from '../reporting/DiagnosticReporter.js';\nimport { JsonReporter } from '../reporting/JsonReporter.js';\n\nexport interface CompositionRootOptions {\n readonly cwd: string;\n}\n\n/**\n * Central dependency-injection root for the uapkg CLI.\n *\n * One instance is created per CLI invocation. It lazily constructs shared\n * services so commands that don't need them pay nothing. Every service this\n * root owns is either a pure facade (`PackageManifest`, `RegistryCore`) or a\n * stateless collaborator — there is no mutable shared state outside the\n * wrapped config/registry caches.\n *\n * Dependency graph (no cycles):\n *\n * ConfigInstance ──► RegistryCore ──► PackageManifest\n * │ │\n * └──► Installer ◄────┘\n * PostinstallOrchestrator\n * DiagnosticReporter / JsonReporter\n */\nexport class CompositionRoot {\n private _config?: InstanceType<typeof ConfigInstance>;\n private _registryCore?: RegistryCore;\n private _packageManifest?: PackageManifest;\n private _installer?: Installer;\n private _postinstall?: PostinstallOrchestrator;\n private _diagnostics?: DiagnosticReporter;\n private _json?: JsonReporter;\n private _accountManager?: AccountManager;\n private _registryTrustResolver?: RegistryTrustResolver;\n\n public constructor(private readonly options: CompositionRootOptions) {}\n\n public get cwd(): string {\n return this.options.cwd;\n }\n\n public get config(): InstanceType<typeof ConfigInstance> {\n if (!this._config) {\n this._config = new ConfigInstance({ cwd: this.options.cwd });\n }\n return this._config;\n }\n\n public get registryCore(): RegistryCore {\n if (!this._registryCore) {\n // RegistryCore accepts a duck-typed config surface; ConfigInstance has\n // wider return types, so cast through `unknown` to satisfy the narrower\n // structural type.\n this._registryCore = new RegistryCore({\n configInstance: this.config as unknown as {\n get: (p?: string) => unknown;\n getAll: () => Record<string, unknown>;\n getDefaultRegistry: () => { url: string; ref: { type: string; value: string } } | null;\n },\n });\n }\n return this._registryCore;\n }\n\n public get packageManifest(): PackageManifest {\n if (!this._packageManifest) {\n this._packageManifest = new PackageManifest({\n manifestRoot: this.options.cwd,\n registryCore: this.registryCore,\n configInstance: this.config,\n });\n }\n return this._packageManifest;\n }\n\n public get installer(): Installer {\n if (!this._installer) {\n this._installer = new Installer({\n registryCore: this.registryCore,\n config: this.config,\n });\n }\n return this._installer;\n }\n\n public get postinstall(): PostinstallOrchestrator {\n if (!this._postinstall) {\n this._postinstall = new PostinstallOrchestrator();\n }\n return this._postinstall;\n }\n\n public get diagnostics(): DiagnosticReporter {\n if (!this._diagnostics) {\n this._diagnostics = new DiagnosticReporter();\n }\n return this._diagnostics;\n }\n\n public get json(): JsonReporter {\n if (!this._json) {\n this._json = new JsonReporter();\n }\n return this._json;\n }\n\n public get accountManager(): AccountManager {\n if (!this._accountManager) {\n this._accountManager = new AccountManager();\n }\n return this._accountManager;\n }\n\n public get registryTrustResolver(): RegistryTrustResolver {\n if (!this._registryTrustResolver) {\n this._registryTrustResolver = new RegistryTrustResolver(this);\n }\n return this._registryTrustResolver;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,IAAa,kBAAb,MAA6B;CAWS;CAVpC,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CAER,AAAO,YAAY,AAAiB,SAAiC;EAAjC;CAAkC;CAEtE,IAAW,MAAc;EACvB,OAAO,KAAK,QAAQ;CACtB;CAEA,IAAW,SAA8C;EACvD,IAAI,CAAC,KAAK,SACR,KAAK,UAAU,IAAI,eAAe,EAAE,KAAK,KAAK,QAAQ,IAAI,CAAC;EAE7D,OAAO,KAAK;CACd;CAEA,IAAW,eAA6B;EACtC,IAAI,CAAC,KAAK,eAIR,KAAK,gBAAgB,IAAI,aAAa,EACpC,gBAAgB,KAAK,OAKvB,CAAC;EAEH,OAAO,KAAK;CACd;CAEA,IAAW,kBAAmC;EAC5C,IAAI,CAAC,KAAK,kBACR,KAAK,mBAAmB,IAAI,gBAAgB;GAC1C,cAAc,KAAK,QAAQ;GAC3B,cAAc,KAAK;GACnB,gBAAgB,KAAK;EACvB,CAAC;EAEH,OAAO,KAAK;CACd;CAEA,IAAW,YAAuB;EAChC,IAAI,CAAC,KAAK,YACR,KAAK,aAAa,IAAI,UAAU;GAC9B,cAAc,KAAK;GACnB,QAAQ,KAAK;EACf,CAAC;EAEH,OAAO,KAAK;CACd;CAEA,IAAW,cAAuC;EAChD,IAAI,CAAC,KAAK,cACR,KAAK,eAAe,IAAI,wBAAwB;EAElD,OAAO,KAAK;CACd;CAEA,IAAW,cAAkC;EAC3C,IAAI,CAAC,KAAK,cACR,KAAK,eAAe,IAAI,mBAAmB;EAE7C,OAAO,KAAK;CACd;CAEA,IAAW,OAAqB;EAC9B,IAAI,CAAC,KAAK,OACR,KAAK,QAAQ,IAAI,aAAa;EAEhC,OAAO,KAAK;CACd;CAEA,IAAW,iBAAiC;EAC1C,IAAI,CAAC,KAAK,iBACR,KAAK,kBAAkB,IAAI,eAAe;EAE5C,OAAO,KAAK;CACd;CAEA,IAAW,wBAA+C;EACxD,IAAI,CAAC,KAAK,wBACR,KAAK,yBAAyB,IAAI,sBAAsB,IAAI;EAE9D,OAAO,KAAK;CACd;AACF"}
1
+ {"version":3,"file":"CompositionRoot.js","names":[],"sources":["../../src/app/CompositionRoot.ts"],"sourcesContent":["import { ConfigInstance } from '@uapkg/config';\nimport { Installer } from '@uapkg/installer';\nimport { PackageManifest } from '@uapkg/package-manifest';\nimport { RegistryCore } from '@uapkg/registry-core';\nimport { AccountManager } from '#cli/control-plane/AccountManager.ts';\nimport { RegistryTrustResolver } from '#cli/control-plane/RegistryTrustResolver.ts';\nimport { PostinstallOrchestrator } from '#cli/postinstall/runner/PostinstallOrchestrator.ts';\nimport { DiagnosticReporter } from '#cli/reporting/DiagnosticReporter.ts';\nimport { JsonReporter } from '#cli/reporting/JsonReporter.ts';\n\nexport interface CompositionRootOptions {\n readonly cwd: string;\n}\n\n/**\n * Central dependency-injection root for the uapkg CLI.\n *\n * One instance is created per CLI invocation. It lazily constructs shared\n * services so commands that don't need them pay nothing. Every service this\n * root owns is either a pure facade (`PackageManifest`, `RegistryCore`) or a\n * stateless collaborator — there is no mutable shared state outside the\n * wrapped config/registry caches.\n *\n * Dependency graph (no cycles):\n *\n * ConfigInstance ──► RegistryCore ──► PackageManifest\n * │ │\n * └──► Installer ◄────┘\n * PostinstallOrchestrator\n * DiagnosticReporter / JsonReporter\n */\nexport class CompositionRoot {\n private _config?: InstanceType<typeof ConfigInstance>;\n private _registryCore?: RegistryCore;\n private _packageManifest?: PackageManifest;\n private _installer?: Installer;\n private _postinstall?: PostinstallOrchestrator;\n private _diagnostics?: DiagnosticReporter;\n private _json?: JsonReporter;\n private _accountManager?: AccountManager;\n private _registryTrustResolver?: RegistryTrustResolver;\n\n public constructor(private readonly options: CompositionRootOptions) {}\n\n public get cwd(): string {\n return this.options.cwd;\n }\n\n public get config(): InstanceType<typeof ConfigInstance> {\n if (!this._config) {\n this._config = new ConfigInstance({ cwd: this.options.cwd });\n }\n return this._config;\n }\n\n public get registryCore(): RegistryCore {\n if (!this._registryCore) {\n // RegistryCore accepts a duck-typed config surface; ConfigInstance has\n // wider return types, so cast through `unknown` to satisfy the narrower\n // structural type.\n this._registryCore = new RegistryCore({\n configInstance: this.config as unknown as {\n get: (p?: string) => unknown;\n getAll: () => Record<string, unknown>;\n getDefaultRegistry: () => { url: string; ref: { type: string; value: string } } | null;\n },\n });\n }\n return this._registryCore;\n }\n\n public get packageManifest(): PackageManifest {\n if (!this._packageManifest) {\n this._packageManifest = new PackageManifest({\n manifestRoot: this.options.cwd,\n registryCore: this.registryCore,\n configInstance: this.config,\n });\n }\n return this._packageManifest;\n }\n\n public get installer(): Installer {\n if (!this._installer) {\n this._installer = new Installer({\n registryCore: this.registryCore,\n config: this.config,\n });\n }\n return this._installer;\n }\n\n public get postinstall(): PostinstallOrchestrator {\n if (!this._postinstall) {\n this._postinstall = new PostinstallOrchestrator();\n }\n return this._postinstall;\n }\n\n public get diagnostics(): DiagnosticReporter {\n if (!this._diagnostics) {\n this._diagnostics = new DiagnosticReporter();\n }\n return this._diagnostics;\n }\n\n public get json(): JsonReporter {\n if (!this._json) {\n this._json = new JsonReporter();\n }\n return this._json;\n }\n\n public get accountManager(): AccountManager {\n if (!this._accountManager) {\n this._accountManager = new AccountManager();\n }\n return this._accountManager;\n }\n\n public get registryTrustResolver(): RegistryTrustResolver {\n if (!this._registryTrustResolver) {\n this._registryTrustResolver = new RegistryTrustResolver(this);\n }\n return this._registryTrustResolver;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,IAAa,kBAAb,MAA6B;CAWS;CAVpC,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CAER,AAAO,YAAY,AAAiB,SAAiC;EAAjC;CAAkC;CAEtE,IAAW,MAAc;EACvB,OAAO,KAAK,QAAQ;CACtB;CAEA,IAAW,SAA8C;EACvD,IAAI,CAAC,KAAK,SACR,KAAK,UAAU,IAAI,eAAe,EAAE,KAAK,KAAK,QAAQ,IAAI,CAAC;EAE7D,OAAO,KAAK;CACd;CAEA,IAAW,eAA6B;EACtC,IAAI,CAAC,KAAK,eAIR,KAAK,gBAAgB,IAAI,aAAa,EACpC,gBAAgB,KAAK,OAKvB,CAAC;EAEH,OAAO,KAAK;CACd;CAEA,IAAW,kBAAmC;EAC5C,IAAI,CAAC,KAAK,kBACR,KAAK,mBAAmB,IAAI,gBAAgB;GAC1C,cAAc,KAAK,QAAQ;GAC3B,cAAc,KAAK;GACnB,gBAAgB,KAAK;EACvB,CAAC;EAEH,OAAO,KAAK;CACd;CAEA,IAAW,YAAuB;EAChC,IAAI,CAAC,KAAK,YACR,KAAK,aAAa,IAAI,UAAU;GAC9B,cAAc,KAAK;GACnB,QAAQ,KAAK;EACf,CAAC;EAEH,OAAO,KAAK;CACd;CAEA,IAAW,cAAuC;EAChD,IAAI,CAAC,KAAK,cACR,KAAK,eAAe,IAAI,wBAAwB;EAElD,OAAO,KAAK;CACd;CAEA,IAAW,cAAkC;EAC3C,IAAI,CAAC,KAAK,cACR,KAAK,eAAe,IAAI,mBAAmB;EAE7C,OAAO,KAAK;CACd;CAEA,IAAW,OAAqB;EAC9B,IAAI,CAAC,KAAK,OACR,KAAK,QAAQ,IAAI,aAAa;EAEhC,OAAO,KAAK;CACd;CAEA,IAAW,iBAAiC;EAC1C,IAAI,CAAC,KAAK,iBACR,KAAK,kBAAkB,IAAI,eAAe;EAE5C,OAAO,KAAK;CACd;CAEA,IAAW,wBAA+C;EACxD,IAAI,CAAC,KAAK,wBACR,KAAK,yBAAyB,IAAI,sBAAsB,IAAI;EAE9D,OAAO,KAAK;CACd;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"UAPKGApplication.js","names":[],"sources":["../../src/app/UAPKGApplication.ts"],"sourcesContent":["import type { UAPKGCommandLine } from '../cli/UAPKGCommandLine.js';\nimport { AddCommand } from '../commands/AddCommand.js';\nimport { ConfigCommand } from '../commands/ConfigCommand.js';\nimport { InitCommand } from '../commands/InitCommand.js';\nimport { InstallCommand } from '../commands/InstallCommand.js';\nimport { ListCommand } from '../commands/ListCommand.js';\nimport { LoginCommand } from '../commands/LoginCommand.js';\nimport { LogoutCommand } from '../commands/LogoutCommand.js';\nimport { OutdatedCommand } from '../commands/OutdatedCommand.js';\nimport { PackageLifecycleCommand } from '../commands/PackageLifecycleCommand.js';\nimport { PackCommand } from '../commands/PackCommand.js';\nimport { ProjectGetNameCommand } from '../commands/ProjectGetNameCommand.js';\nimport { PublishCommand } from '../commands/PublishCommand.js';\nimport { RegistryCommand } from '../commands/RegistryCommand.js';\nimport { RemoveCommand } from '../commands/RemoveCommand.js';\nimport { RequestsCommand } from '../commands/RequestsCommand.js';\nimport { UpdateCommand } from '../commands/UpdateCommand.js';\nimport { WhoamiCommand } from '../commands/WhoamiCommand.js';\nimport { WhyCommand } from '../commands/WhyCommand.js';\nimport { InkPromptService } from '../prompts/InkPromptService.js';\nimport { ProjectContextDetector } from '../prompts/ProjectContextDetector.js';\nimport { CompositionRoot } from './CompositionRoot.js';\n\n/**\n * Dispatcher: maps the parsed command-line shape to a concrete command\n * implementation, wiring dependencies via {@link CompositionRoot}.\n *\n * Every command now composes over {@link CompositionRoot}. The `init` and\n * `project-get-name` commands additionally receive a prompt service +\n * project-context detector (split out of the legacy `ui/` + `services/`\n * folders in Phase 10).\n */\nexport class UAPKGApplication {\n async run(commandLine: UAPKGCommandLine): Promise<number> {\n const root = new CompositionRoot({ cwd: commandLine.cwd });\n\n switch (commandLine.command) {\n case 'install':\n return new InstallCommand(root, {\n force: commandLine.force,\n frozen: commandLine.frozen,\n dryRun: commandLine.dryRun,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'add':\n return new AddCommand(root, {\n spec: commandLine.source,\n pin: commandLine.pin,\n dev: commandLine.dev,\n registry: commandLine.registry,\n force: commandLine.force,\n dryRun: commandLine.dryRun,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'update':\n return new UpdateCommand(root, {\n specs: commandLine.specs,\n force: commandLine.force,\n dryRun: commandLine.dryRun,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'remove':\n return new RemoveCommand(root, {\n packageName: commandLine.packageName,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'outdated':\n return new OutdatedCommand(root, { outputFormat: commandLine.outputFormat }).execute();\n\n case 'why':\n return new WhyCommand(root, {\n target: commandLine.target,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'list':\n return new ListCommand(root, {\n depth: commandLine.depth,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'pack':\n return new PackCommand({\n cwd: commandLine.cwd,\n dryRun: commandLine.dryRun,\n allowMissingLfs: commandLine.allowMissingLfs,\n outFile: commandLine.outFile,\n }).execute();\n\n case 'config':\n return new ConfigCommand({\n cwd: commandLine.cwd,\n action: commandLine.action,\n pathToProperty: commandLine.path,\n rawValue: commandLine.value,\n scope: commandLine.scope,\n output: commandLine.output,\n showOrigin: commandLine.showOrigin,\n trace: commandLine.trace,\n }).execute();\n\n case 'registry':\n return new RegistryCommand(root, {\n action: commandLine.action,\n name: commandLine.name,\n url: commandLine.url,\n refType: commandLine.refType,\n refValue: commandLine.refValue,\n scope: commandLine.scope,\n output: commandLine.output,\n }).execute();\n\n case 'login':\n return new LoginCommand(root, {\n registry: commandLine.registry,\n deviceName: commandLine.deviceName,\n reauthorize: commandLine.reauthorize,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'logout':\n return new LogoutCommand(root, {\n registry: commandLine.registry,\n localOnly: commandLine.localOnly,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'whoami':\n return new WhoamiCommand(root, {\n field: commandLine.field,\n registry: commandLine.registry,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'publish':\n return new PublishCommand(root, {\n registry: commandLine.registry,\n owner: commandLine.owner,\n repository: commandLine.repository,\n tag: commandLine.tag,\n asset: commandLine.asset,\n assetPath: commandLine.assetPath,\n auth: commandLine.auth,\n detach: commandLine.detach,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'yank':\n case 'unyank':\n case 'unpublish':\n case 'deprecate':\n case 'undeprecate':\n return new PackageLifecycleCommand(root, {\n operation: commandLine.command,\n packageName: commandLine.packageName,\n packageVersion: commandLine.packageVersion,\n reason: commandLine.reason,\n registry: commandLine.registry,\n auth: commandLine.auth,\n detach: commandLine.detach,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'requests':\n return new RequestsCommand(root, {\n action: commandLine.action,\n requestId: commandLine.requestId,\n registry: commandLine.registry,\n status: commandLine.status,\n watch: commandLine.watch,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'init':\n return new InitCommand(\n root,\n { explicitKind: commandLine.type, explicitName: commandLine.name },\n new ProjectContextDetector(),\n new InkPromptService(),\n ).execute();\n\n case 'project-get-name':\n return new ProjectGetNameCommand(root).execute();\n\n default: {\n const exhaustive: never = commandLine;\n void exhaustive;\n return 1;\n }\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"UAPKGApplication.js","names":[],"sources":["../../src/app/UAPKGApplication.ts"],"sourcesContent":["import type { UAPKGCommandLine } from '#cli/cli/UAPKGCommandLine.ts';\nimport { AddCommand } from '#cli/commands/AddCommand.ts';\nimport { ConfigCommand } from '#cli/commands/ConfigCommand.ts';\nimport { InitCommand } from '#cli/commands/InitCommand.ts';\nimport { InstallCommand } from '#cli/commands/InstallCommand.ts';\nimport { ListCommand } from '#cli/commands/ListCommand.ts';\nimport { LoginCommand } from '#cli/commands/LoginCommand.ts';\nimport { LogoutCommand } from '#cli/commands/LogoutCommand.ts';\nimport { OutdatedCommand } from '#cli/commands/OutdatedCommand.ts';\nimport { PackageLifecycleCommand } from '#cli/commands/PackageLifecycleCommand.ts';\nimport { PackCommand } from '#cli/commands/PackCommand.ts';\nimport { ProjectGetNameCommand } from '#cli/commands/ProjectGetNameCommand.ts';\nimport { PublishCommand } from '#cli/commands/PublishCommand.ts';\nimport { RegistryCommand } from '#cli/commands/RegistryCommand.ts';\nimport { RemoveCommand } from '#cli/commands/RemoveCommand.ts';\nimport { RequestsCommand } from '#cli/commands/RequestsCommand.ts';\nimport { UpdateCommand } from '#cli/commands/UpdateCommand.ts';\nimport { WhoamiCommand } from '#cli/commands/WhoamiCommand.ts';\nimport { WhyCommand } from '#cli/commands/WhyCommand.ts';\nimport { InkPromptService } from '#cli/prompts/InkPromptService.tsx';\nimport { ProjectContextDetector } from '#cli/prompts/ProjectContextDetector.ts';\nimport { CompositionRoot } from '#cli/app/CompositionRoot.ts';\n\n/**\n * Dispatcher: maps the parsed command-line shape to a concrete command\n * implementation, wiring dependencies via {@link CompositionRoot}.\n *\n * Every command now composes over {@link CompositionRoot}. The `init` and\n * `project-get-name` commands additionally receive a prompt service +\n * project-context detector (split out of the legacy `ui/` + `services/`\n * folders in Phase 10).\n */\nexport class UAPKGApplication {\n async run(commandLine: UAPKGCommandLine): Promise<number> {\n const root = new CompositionRoot({ cwd: commandLine.cwd });\n\n switch (commandLine.command) {\n case 'install':\n return new InstallCommand(root, {\n force: commandLine.force,\n frozen: commandLine.frozen,\n dryRun: commandLine.dryRun,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'add':\n return new AddCommand(root, {\n spec: commandLine.source,\n pin: commandLine.pin,\n dev: commandLine.dev,\n registry: commandLine.registry,\n force: commandLine.force,\n dryRun: commandLine.dryRun,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'update':\n return new UpdateCommand(root, {\n specs: commandLine.specs,\n force: commandLine.force,\n dryRun: commandLine.dryRun,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'remove':\n return new RemoveCommand(root, {\n packageName: commandLine.packageName,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'outdated':\n return new OutdatedCommand(root, { outputFormat: commandLine.outputFormat }).execute();\n\n case 'why':\n return new WhyCommand(root, {\n target: commandLine.target,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'list':\n return new ListCommand(root, {\n depth: commandLine.depth,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'pack':\n return new PackCommand({\n cwd: commandLine.cwd,\n dryRun: commandLine.dryRun,\n allowMissingLfs: commandLine.allowMissingLfs,\n outFile: commandLine.outFile,\n }).execute();\n\n case 'config':\n return new ConfigCommand({\n cwd: commandLine.cwd,\n action: commandLine.action,\n pathToProperty: commandLine.path,\n rawValue: commandLine.value,\n scope: commandLine.scope,\n output: commandLine.output,\n showOrigin: commandLine.showOrigin,\n trace: commandLine.trace,\n }).execute();\n\n case 'registry':\n return new RegistryCommand(root, {\n action: commandLine.action,\n name: commandLine.name,\n url: commandLine.url,\n refType: commandLine.refType,\n refValue: commandLine.refValue,\n scope: commandLine.scope,\n output: commandLine.output,\n }).execute();\n\n case 'login':\n return new LoginCommand(root, {\n registry: commandLine.registry,\n deviceName: commandLine.deviceName,\n reauthorize: commandLine.reauthorize,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'logout':\n return new LogoutCommand(root, {\n registry: commandLine.registry,\n localOnly: commandLine.localOnly,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'whoami':\n return new WhoamiCommand(root, {\n field: commandLine.field,\n registry: commandLine.registry,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'publish':\n return new PublishCommand(root, {\n registry: commandLine.registry,\n owner: commandLine.owner,\n repository: commandLine.repository,\n tag: commandLine.tag,\n asset: commandLine.asset,\n assetPath: commandLine.assetPath,\n auth: commandLine.auth,\n detach: commandLine.detach,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'yank':\n case 'unyank':\n case 'unpublish':\n case 'deprecate':\n case 'undeprecate':\n return new PackageLifecycleCommand(root, {\n operation: commandLine.command,\n packageName: commandLine.packageName,\n packageVersion: commandLine.packageVersion,\n reason: commandLine.reason,\n registry: commandLine.registry,\n auth: commandLine.auth,\n detach: commandLine.detach,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'requests':\n return new RequestsCommand(root, {\n action: commandLine.action,\n requestId: commandLine.requestId,\n registry: commandLine.registry,\n status: commandLine.status,\n watch: commandLine.watch,\n outputFormat: commandLine.outputFormat,\n }).execute();\n\n case 'init':\n return new InitCommand(\n root,\n { explicitKind: commandLine.type, explicitName: commandLine.name },\n new ProjectContextDetector(),\n new InkPromptService(),\n ).execute();\n\n case 'project-get-name':\n return new ProjectGetNameCommand(root).execute();\n\n default: {\n const exhaustive: never = commandLine;\n void exhaustive;\n return 1;\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  // Generated by build/runCliBuild.ts. Do not edit.
2
2
  export const UAPKG_BUILD_METADATA = Object.freeze({
3
3
  "mode": "production",
4
- "packageVersion": "1.3.1",
5
- "displayVersion": "1.3.1"
4
+ "packageVersion": "1.4.0",
5
+ "displayVersion": "1.4.0"
6
6
  });
@@ -1 +1 @@
1
- {"version":3,"file":"parseCommandLine.js","names":[],"sources":["../../src/cli/parseCommandLine.ts"],"sourcesContent":["import { UAPKGCommandLineParser } from './parsing/UAPKGCommandLineParser.js';\n\nconst parser = new UAPKGCommandLineParser();\n\nexport async function parseUAPKGCommandLine(rawArgv = process.argv) {\n return await parser.parse(rawArgv);\n}\n"],"mappings":";;;AAEA,MAAM,SAAS,IAAI,uBAAuB;AAE1C,eAAsB,sBAAsB,UAAU,QAAQ,MAAM;CAClE,OAAO,MAAM,OAAO,MAAM,OAAO;AACnC"}
1
+ {"version":3,"file":"parseCommandLine.js","names":[],"sources":["../../src/cli/parseCommandLine.ts"],"sourcesContent":["import { UAPKGCommandLineParser } from '#cli/cli/parsing/UAPKGCommandLineParser.ts';\n\nconst parser = new UAPKGCommandLineParser();\n\nexport async function parseUAPKGCommandLine(rawArgv = process.argv) {\n return await parser.parse(rawArgv);\n}\n"],"mappings":";;;AAEA,MAAM,SAAS,IAAI,uBAAuB;AAE1C,eAAsB,sBAAsB,UAAU,QAAQ,MAAM;CAClE,OAAO,MAAM,OAAO,MAAM,OAAO;AACnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UAPKGCommandLineParser.js","names":[],"sources":["../../../src/cli/parsing/UAPKGCommandLineParser.ts"],"sourcesContent":["import yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { UAPKG_BUILD_METADATA } from '../../build/BuildMetadata.js';\nimport type { UAPKGCommandLine } from '../UAPKGCommandLine.js';\nimport { UAPKGParserRegistry } from './UAPKGParserRegistry.js';\n\nexport class UAPKGCommandLineParser {\n constructor(private readonly registry = new UAPKGParserRegistry()) {}\n\n async parse(rawArgv = process.argv): Promise<UAPKGCommandLine> {\n let parsed: UAPKGCommandLine | undefined;\n\n const parser = this.registry\n .registerAll(\n yargs(hideBin(rawArgv))\n .scriptName('uapkg')\n .usage('$0 <command> [args]')\n .version(UAPKG_BUILD_METADATA.displayVersion)\n .demandCommand(1)\n .strict()\n .help(),\n {\n set(commandLine) {\n parsed = commandLine;\n },\n },\n )\n .wrap(Math.min(120, yargs().terminalWidth()));\n\n await parser.parse();\n\n if (!parsed) {\n throw new Error('[uapkg] Failed to resolve command line input');\n }\n\n return parsed;\n }\n}\n"],"mappings":";;;;;;AAMA,IAAa,yBAAb,MAAoC;CACL;CAA7B,YAAY,AAAiB,WAAW,IAAI,oBAAoB,GAAG;EAAtC;CAAuC;CAEpE,MAAM,MAAM,UAAU,QAAQ,MAAiC;EAC7D,IAAI;EAmBJ,MAjBe,KAAK,SACjB,YACC,MAAM,QAAQ,OAAO,CAAC,CAAC,CACpB,WAAW,OAAO,CAAC,CACnB,MAAM,qBAAqB,CAAC,CAC5B,QAAQ,qBAAqB,cAAc,CAAC,CAC5C,cAAc,CAAC,CAAC,CAChB,OAAO,CAAC,CACR,KAAK,GACR,EACE,IAAI,aAAa;GACf,SAAS;EACX,EACF,CACF,CAAC,CACA,KAAK,KAAK,IAAI,KAAK,MAAM,CAAC,CAAC,cAAc,CAAC,CAElC,CAAC,CAAC,MAAM;EAEnB,IAAI,CAAC,QACH,MAAM,IAAI,MAAM,8CAA8C;EAGhE,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"UAPKGCommandLineParser.js","names":[],"sources":["../../../src/cli/parsing/UAPKGCommandLineParser.ts"],"sourcesContent":["import yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { UAPKG_BUILD_METADATA } from '#cli/build/BuildMetadata.ts';\nimport type { UAPKGCommandLine } from '#cli/cli/UAPKGCommandLine.ts';\nimport { UAPKGParserRegistry } from '#cli/cli/parsing/UAPKGParserRegistry.ts';\n\nexport class UAPKGCommandLineParser {\n constructor(private readonly registry = new UAPKGParserRegistry()) {}\n\n async parse(rawArgv = process.argv): Promise<UAPKGCommandLine> {\n let parsed: UAPKGCommandLine | undefined;\n\n const parser = this.registry\n .registerAll(\n yargs(hideBin(rawArgv))\n .scriptName('uapkg')\n .usage('$0 <command> [args]')\n .version(UAPKG_BUILD_METADATA.displayVersion)\n .demandCommand(1)\n .strict()\n .help(),\n {\n set(commandLine) {\n parsed = commandLine;\n },\n },\n )\n .wrap(Math.min(120, yargs().terminalWidth()));\n\n await parser.parse();\n\n if (!parsed) {\n throw new Error('[uapkg] Failed to resolve command line input');\n }\n\n return parsed;\n }\n}\n"],"mappings":";;;;;;AAMA,IAAa,yBAAb,MAAoC;CACL;CAA7B,YAAY,AAAiB,WAAW,IAAI,oBAAoB,GAAG;EAAtC;CAAuC;CAEpE,MAAM,MAAM,UAAU,QAAQ,MAAiC;EAC7D,IAAI;EAmBJ,MAjBe,KAAK,SACjB,YACC,MAAM,QAAQ,OAAO,CAAC,CAAC,CACpB,WAAW,OAAO,CAAC,CACnB,MAAM,qBAAqB,CAAC,CAC5B,QAAQ,qBAAqB,cAAc,CAAC,CAC5C,cAAc,CAAC,CAAC,CAChB,OAAO,CAAC,CACR,KAAK,GACR,EACE,IAAI,aAAa;GACf,SAAS;EACX,EACF,CACF,CAAC,CACA,KAAK,KAAK,IAAI,KAAK,MAAM,CAAC,CAAC,cAAc,CAAC,CAElC,CAAC,CAAC,MAAM;EAEnB,IAAI,CAAC,QACH,MAAM,IAAI,MAAM,8CAA8C;EAGhE,OAAO;CACT;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"UAPKGParserRegistry.js","names":[],"sources":["../../../src/cli/parsing/UAPKGParserRegistry.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport type { UAPKGCommandLine } from '../UAPKGCommandLine.js';\nimport type { UAPKGCommandModule } from './contracts/UAPKGCommandModule.js';\nimport { AddCommandModule } from './modules/AddCommandModule.js';\nimport { ConfigCommandModule } from './modules/ConfigCommandModule.js';\nimport { InitCommandModule } from './modules/InitCommandModule.js';\nimport { InstallCommandModule } from './modules/InstallCommandModule.js';\nimport { LifecycleCommandModule } from './modules/LifecycleCommandModule.js';\nimport { ListCommandModule } from './modules/ListCommandModule.js';\nimport { LoginCommandModule } from './modules/LoginCommandModule.js';\nimport { LogoutCommandModule } from './modules/LogoutCommandModule.js';\nimport { OutdatedCommandModule } from './modules/OutdatedCommandModule.js';\nimport { PackCommandModule } from './modules/PackCommandModule.js';\nimport { ProjectGetNameCommandModule } from './modules/ProjectGetNameCommandModule.js';\nimport { PublishCommandModule } from './modules/PublishCommandModule.js';\nimport { RegistryCommandModule } from './modules/RegistryCommandModule.js';\nimport { RemoveCommandModule } from './modules/RemoveCommandModule.js';\nimport { RequestsCommandModule } from './modules/RequestsCommandModule.js';\nimport { UpdateCommandModule } from './modules/UpdateCommandModule.js';\nimport { WhoamiCommandModule } from './modules/WhoamiCommandModule.js';\nimport { WhyCommandModule } from './modules/WhyCommandModule.js';\n\nexport class UAPKGParserRegistry {\n constructor(\n private readonly modules: UAPKGCommandModule[] = [\n new InitCommandModule(),\n new AddCommandModule(),\n new InstallCommandModule(),\n new UpdateCommandModule(),\n new RemoveCommandModule(),\n new OutdatedCommandModule(),\n new WhyCommandModule(),\n new ListCommandModule(),\n new PackCommandModule(),\n new ProjectGetNameCommandModule(),\n new ConfigCommandModule(),\n new RegistryCommandModule(),\n new LoginCommandModule(),\n new LogoutCommandModule(),\n new WhoamiCommandModule(),\n new PublishCommandModule(),\n new LifecycleCommandModule(),\n new RequestsCommandModule(),\n ],\n ) {}\n\n registerAll(parser: Argv, sink: { set: (commandLine: UAPKGCommandLine) => void }) {\n let next = parser;\n for (const module of this.modules) {\n next = module.register(next, sink);\n }\n\n return next;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsBA,IAAa,sBAAb,MAAiC;CAEZ;CADnB,YACE,AAAiB,UAAgC;EAC/C,IAAI,kBAAkB;EACtB,IAAI,iBAAiB;EACrB,IAAI,qBAAqB;EACzB,IAAI,oBAAoB;EACxB,IAAI,oBAAoB;EACxB,IAAI,sBAAsB;EAC1B,IAAI,iBAAiB;EACrB,IAAI,kBAAkB;EACtB,IAAI,kBAAkB;EACtB,IAAI,4BAA4B;EAChC,IAAI,oBAAoB;EACxB,IAAI,sBAAsB;EAC1B,IAAI,mBAAmB;EACvB,IAAI,oBAAoB;EACxB,IAAI,oBAAoB;EACxB,IAAI,qBAAqB;EACzB,IAAI,uBAAuB;EAC3B,IAAI,sBAAsB;CAC5B,GACA;EApBiB;CAoBhB;CAEH,YAAY,QAAc,MAAwD;EAChF,IAAI,OAAO;EACX,KAAK,MAAM,UAAU,KAAK,SACxB,OAAO,OAAO,SAAS,MAAM,IAAI;EAGnC,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"UAPKGParserRegistry.js","names":[],"sources":["../../../src/cli/parsing/UAPKGParserRegistry.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport type { UAPKGCommandLine } from '#cli/cli/UAPKGCommandLine.ts';\nimport type { UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\nimport { AddCommandModule } from '#cli/cli/parsing/modules/AddCommandModule.ts';\nimport { ConfigCommandModule } from '#cli/cli/parsing/modules/ConfigCommandModule.ts';\nimport { InitCommandModule } from '#cli/cli/parsing/modules/InitCommandModule.ts';\nimport { InstallCommandModule } from '#cli/cli/parsing/modules/InstallCommandModule.ts';\nimport { LifecycleCommandModule } from '#cli/cli/parsing/modules/LifecycleCommandModule.ts';\nimport { ListCommandModule } from '#cli/cli/parsing/modules/ListCommandModule.ts';\nimport { LoginCommandModule } from '#cli/cli/parsing/modules/LoginCommandModule.ts';\nimport { LogoutCommandModule } from '#cli/cli/parsing/modules/LogoutCommandModule.ts';\nimport { OutdatedCommandModule } from '#cli/cli/parsing/modules/OutdatedCommandModule.ts';\nimport { PackCommandModule } from '#cli/cli/parsing/modules/PackCommandModule.ts';\nimport { ProjectGetNameCommandModule } from '#cli/cli/parsing/modules/ProjectGetNameCommandModule.ts';\nimport { PublishCommandModule } from '#cli/cli/parsing/modules/PublishCommandModule.ts';\nimport { RegistryCommandModule } from '#cli/cli/parsing/modules/RegistryCommandModule.ts';\nimport { RemoveCommandModule } from '#cli/cli/parsing/modules/RemoveCommandModule.ts';\nimport { RequestsCommandModule } from '#cli/cli/parsing/modules/RequestsCommandModule.ts';\nimport { UpdateCommandModule } from '#cli/cli/parsing/modules/UpdateCommandModule.ts';\nimport { WhoamiCommandModule } from '#cli/cli/parsing/modules/WhoamiCommandModule.ts';\nimport { WhyCommandModule } from '#cli/cli/parsing/modules/WhyCommandModule.ts';\n\nexport class UAPKGParserRegistry {\n constructor(\n private readonly modules: UAPKGCommandModule[] = [\n new InitCommandModule(),\n new AddCommandModule(),\n new InstallCommandModule(),\n new UpdateCommandModule(),\n new RemoveCommandModule(),\n new OutdatedCommandModule(),\n new WhyCommandModule(),\n new ListCommandModule(),\n new PackCommandModule(),\n new ProjectGetNameCommandModule(),\n new ConfigCommandModule(),\n new RegistryCommandModule(),\n new LoginCommandModule(),\n new LogoutCommandModule(),\n new WhoamiCommandModule(),\n new PublishCommandModule(),\n new LifecycleCommandModule(),\n new RequestsCommandModule(),\n ],\n ) {}\n\n registerAll(parser: Argv, sink: { set: (commandLine: UAPKGCommandLine) => void }) {\n let next = parser;\n for (const module of this.modules) {\n next = module.register(next, sink);\n }\n\n return next;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsBA,IAAa,sBAAb,MAAiC;CAEZ;CADnB,YACE,AAAiB,UAAgC;EAC/C,IAAI,kBAAkB;EACtB,IAAI,iBAAiB;EACrB,IAAI,qBAAqB;EACzB,IAAI,oBAAoB;EACxB,IAAI,oBAAoB;EACxB,IAAI,sBAAsB;EAC1B,IAAI,iBAAiB;EACrB,IAAI,kBAAkB;EACtB,IAAI,kBAAkB;EACtB,IAAI,4BAA4B;EAChC,IAAI,oBAAoB;EACxB,IAAI,sBAAsB;EAC1B,IAAI,mBAAmB;EACvB,IAAI,oBAAoB;EACxB,IAAI,oBAAoB;EACxB,IAAI,qBAAqB;EACzB,IAAI,uBAAuB;EAC3B,IAAI,sBAAsB;CAC5B,GACA;EApBiB;CAoBhB;CAEH,YAAY,QAAc,MAAwD;EAChF,IAAI,OAAO;EACX,KAAK,MAAM,UAAU,KAAK,SACxB,OAAO,OAAO,SAAS,MAAM,IAAI;EAGnC,OAAO;CACT;AACF"}
@@ -4,9 +4,9 @@ import { createUAPKGCommandLineFactory } from "../../UAPKGCommandLine.js";
4
4
  var AddCommandModule = class {
5
5
  factory = createUAPKGCommandLineFactory();
6
6
  register(parser, sink) {
7
- return parser.command("add <source>", "Add dependency source to current uapkg.json", (builder) => builder.positional("source", {
7
+ return parser.command("add <source>", "Add a dependency to uapkg.json and install it", (builder) => builder.positional("source", {
8
8
  type: "string",
9
- describe: "Dependency source specifier",
9
+ describe: "Package name with an optional version range",
10
10
  demandOption: true
11
11
  }).option("force", {
12
12
  type: "boolean",
@@ -15,7 +15,7 @@ var AddCommandModule = class {
15
15
  }).option("pin", {
16
16
  type: "boolean",
17
17
  default: false,
18
- describe: "Add/replace project override for this dependency"
18
+ describe: "Add or replace the project override for this dependency"
19
19
  }).option("dev", {
20
20
  type: "boolean",
21
21
  default: false,
@@ -26,7 +26,7 @@ var AddCommandModule = class {
26
26
  }).option("dry-run", {
27
27
  type: "boolean",
28
28
  default: false,
29
- describe: "Compute the plan but perform no IO"
29
+ describe: "Preview installation; the manifest, lockfile, and registry cache may still change"
30
30
  }).option("json", {
31
31
  type: "boolean",
32
32
  default: false,
@@ -1 +1 @@
1
- {"version":3,"file":"AddCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/AddCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '../../UAPKGCommandLine.js';\nimport type { CommandLineSink, UAPKGCommandModule } from '../contracts/UAPKGCommandModule.js';\n\nexport class AddCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink) {\n return parser.command(\n 'add <source>',\n 'Add dependency source to current uapkg.json',\n (builder) =>\n builder\n .positional('source', {\n type: 'string',\n describe: 'Dependency source specifier',\n demandOption: true,\n })\n .option('force', {\n type: 'boolean',\n default: false,\n describe: 'Override safety policy for local drift/branch divergence',\n })\n .option('pin', {\n type: 'boolean',\n default: false,\n describe: 'Add/replace project override for this dependency',\n })\n .option('dev', { type: 'boolean', default: false, describe: 'Add to devDependencies' })\n .option('registry', { type: 'string', describe: 'Registry name (defaults to config `registry`)' })\n .option('dry-run', { type: 'boolean', default: false, describe: 'Compute the plan but perform no IO' })\n .option('json', { type: 'boolean', default: false, describe: 'Emit JSON on stdout' }),\n (argv) => {\n sink.set(\n this.factory.createAdd(String(argv.source), {\n cwd: process.cwd(),\n force: argv.force,\n pin: argv.pin,\n dev: argv.dev,\n registry: typeof argv.registry === 'string' ? argv.registry : undefined,\n dryRun: argv['dry-run'],\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,mBAAb,MAA4D;CAC1D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAAuB;EAC5C,OAAO,OAAO,QACZ,gBACA,gDACC,YACC,QACG,WAAW,UAAU;GACpB,MAAM;GACN,UAAU;GACV,cAAc;EAChB,CAAC,CAAC,CACD,OAAO,SAAS;GACf,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,OAAO;GACb,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,OAAO;GAAE,MAAM;GAAW,SAAS;GAAO,UAAU;EAAyB,CAAC,CAAC,CACtF,OAAO,YAAY;GAAE,MAAM;GAAU,UAAU;EAAgD,CAAC,CAAC,CACjG,OAAO,WAAW;GAAE,MAAM;GAAW,SAAS;GAAO,UAAU;EAAqC,CAAC,CAAC,CACtG,OAAO,QAAQ;GAAE,MAAM;GAAW,SAAS;GAAO,UAAU;EAAsB,CAAC,IACvF,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,UAAU,OAAO,KAAK,MAAM,GAAG;IAC1C,KAAK,QAAQ,IAAI;IACjB,OAAO,KAAK;IACZ,KAAK,KAAK;IACV,KAAK,KAAK;IACV,UAAU,OAAO,KAAK,aAAa,WAAW,KAAK,WAAW;IAC9D,QAAQ,KAAK;IACb,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF"}
1
+ {"version":3,"file":"AddCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/AddCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '#cli/cli/UAPKGCommandLine.ts';\nimport type { CommandLineSink, UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\n\nexport class AddCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink) {\n return parser.command(\n 'add <source>',\n 'Add a dependency to uapkg.json and install it',\n (builder) =>\n builder\n .positional('source', {\n type: 'string',\n describe: 'Package name with an optional version range',\n demandOption: true,\n })\n .option('force', {\n type: 'boolean',\n default: false,\n describe: 'Override safety policy for local drift/branch divergence',\n })\n .option('pin', {\n type: 'boolean',\n default: false,\n describe: 'Add or replace the project override for this dependency',\n })\n .option('dev', { type: 'boolean', default: false, describe: 'Add to devDependencies' })\n .option('registry', { type: 'string', describe: 'Registry name (defaults to config `registry`)' })\n .option('dry-run', {\n type: 'boolean',\n default: false,\n describe: 'Preview installation; the manifest, lockfile, and registry cache may still change',\n })\n .option('json', { type: 'boolean', default: false, describe: 'Emit JSON on stdout' }),\n (argv) => {\n sink.set(\n this.factory.createAdd(String(argv.source), {\n cwd: process.cwd(),\n force: argv.force,\n pin: argv.pin,\n dev: argv.dev,\n registry: typeof argv.registry === 'string' ? argv.registry : undefined,\n dryRun: argv['dry-run'],\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,mBAAb,MAA4D;CAC1D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAAuB;EAC5C,OAAO,OAAO,QACZ,gBACA,kDACC,YACC,QACG,WAAW,UAAU;GACpB,MAAM;GACN,UAAU;GACV,cAAc;EAChB,CAAC,CAAC,CACD,OAAO,SAAS;GACf,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,OAAO;GACb,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,OAAO;GAAE,MAAM;GAAW,SAAS;GAAO,UAAU;EAAyB,CAAC,CAAC,CACtF,OAAO,YAAY;GAAE,MAAM;GAAU,UAAU;EAAgD,CAAC,CAAC,CACjG,OAAO,WAAW;GACjB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GAAE,MAAM;GAAW,SAAS;GAAO,UAAU;EAAsB,CAAC,IACvF,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,UAAU,OAAO,KAAK,MAAM,GAAG;IAC1C,KAAK,QAAQ,IAAI;IACjB,OAAO,KAAK;IACZ,KAAK,KAAK;IACV,KAAK,KAAK;IACV,UAAU,OAAO,KAAK,aAAa,WAAW,KAAK,WAAW;IAC9D,QAAQ,KAAK;IACb,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF"}
@@ -21,7 +21,7 @@ var ConfigCommandModule = class {
21
21
  describe: "Path to property"
22
22
  }).positional("value", {
23
23
  type: "string",
24
- describe: "Scalar value for set action"
24
+ describe: "Value to set (string, number, or boolean)"
25
25
  }).option("json", {
26
26
  type: "boolean",
27
27
  default: false,
@@ -33,7 +33,7 @@ var ConfigCommandModule = class {
33
33
  }).option("trace", {
34
34
  type: "boolean",
35
35
  default: false,
36
- describe: "Trace value across all layers"
36
+ describe: "Show the value in each configuration layer"
37
37
  }), (argv) => {
38
38
  const scope = resolveScope(argv.global, argv.local);
39
39
  const output = argv.json ? "json" : "text";
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/ConfigCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '../../UAPKGCommandLine.js';\nimport type { CommandLineSink, UAPKGCommandModule } from '../contracts/UAPKGCommandModule.js';\nimport { resolveScope, withScopeOptions } from './sharedOptions.js';\n\nexport class ConfigCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink) {\n return parser.command(\n 'config <action> [path] [value]',\n 'Read and edit configuration values',\n (builder) =>\n withScopeOptions(builder)\n .positional('action', {\n type: 'string',\n choices: ['get', 'list', 'set', 'delete', 'edit'] as const,\n describe: 'Config action',\n demandOption: true,\n })\n .positional('path', {\n type: 'string',\n describe: 'Path to property',\n })\n .positional('value', {\n type: 'string',\n describe: 'Scalar value for set action',\n })\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Output JSON',\n })\n .option('show-origin', {\n type: 'boolean',\n default: false,\n describe: 'Show value origin',\n })\n .option('trace', {\n type: 'boolean',\n default: false,\n describe: 'Trace value across all layers',\n }),\n (argv) => {\n const scope = resolveScope(argv.global, argv.local);\n const output = argv.json ? 'json' : 'text';\n const action = String(argv.action);\n const cwd = process.cwd();\n\n switch (action) {\n case 'get':\n sink.set(\n this.factory.createConfigGet(typeof argv.path === 'string' ? argv.path : '', {\n cwd,\n scope,\n output,\n showOrigin: argv['show-origin'],\n trace: argv.trace,\n }),\n );\n return;\n case 'list':\n sink.set(\n this.factory.createConfigList({\n cwd,\n scope,\n output,\n }),\n );\n return;\n case 'set':\n sink.set(\n this.factory.createConfigSet(\n typeof argv.path === 'string' ? argv.path : '',\n typeof argv.value === 'string' ? argv.value : '',\n {\n cwd,\n scope,\n output,\n },\n ),\n );\n return;\n case 'delete':\n sink.set(\n this.factory.createConfigDelete(typeof argv.path === 'string' ? argv.path : '', {\n cwd,\n scope,\n output,\n }),\n );\n return;\n case 'edit':\n sink.set(\n this.factory.createConfigEdit({\n cwd,\n scope,\n output,\n }),\n );\n return;\n default:\n throw new Error(`[uapkg] Unsupported config action: ${action}`);\n }\n },\n );\n }\n}\n"],"mappings":";;;;AAKA,IAAa,sBAAb,MAA+D;CAC7D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAAuB;EAC5C,OAAO,OAAO,QACZ,kCACA,uCACC,YACC,iBAAiB,OAAO,CAAC,CACtB,WAAW,UAAU;GACpB,MAAM;GACN,SAAS;IAAC;IAAO;IAAQ;IAAO;IAAU;GAAM;GAChD,UAAU;GACV,cAAc;EAChB,CAAC,CAAC,CACD,WAAW,QAAQ;GAClB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,WAAW,SAAS;GACnB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,eAAe;GACrB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,SAAS;GACf,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,IACJ,SAAS;GACR,MAAM,QAAQ,aAAa,KAAK,QAAQ,KAAK,KAAK;GAClD,MAAM,SAAS,KAAK,OAAO,SAAS;GACpC,MAAM,SAAS,OAAO,KAAK,MAAM;GACjC,MAAM,MAAM,QAAQ,IAAI;GAExB,QAAQ,QAAR;IACE,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,gBAAgB,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,IAAI;MAC3E;MACA;MACA;MACA,YAAY,KAAK;MACjB,OAAO,KAAK;KACd,CAAC,CACH;KACA;IACF,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,iBAAiB;MAC5B;MACA;MACA;KACF,CAAC,CACH;KACA;IACF,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,gBACX,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,IAC5C,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ,IAC9C;MACE;MACA;MACA;KACF,CACF,CACF;KACA;IACF,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,mBAAmB,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,IAAI;MAC9E;MACA;MACA;KACF,CAAC,CACH;KACA;IACF,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,iBAAiB;MAC5B;MACA;MACA;KACF,CAAC,CACH;KACA;IACF,SACE,MAAM,IAAI,MAAM,sCAAsC,QAAQ;GAClE;EACF,CACF;CACF;AACF"}
1
+ {"version":3,"file":"ConfigCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/ConfigCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '#cli/cli/UAPKGCommandLine.ts';\nimport type { CommandLineSink, UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\nimport { resolveScope, withScopeOptions } from '#cli/cli/parsing/modules/sharedOptions.ts';\n\nexport class ConfigCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink) {\n return parser.command(\n 'config <action> [path] [value]',\n 'Read and edit configuration values',\n (builder) =>\n withScopeOptions(builder)\n .positional('action', {\n type: 'string',\n choices: ['get', 'list', 'set', 'delete', 'edit'] as const,\n describe: 'Config action',\n demandOption: true,\n })\n .positional('path', {\n type: 'string',\n describe: 'Path to property',\n })\n .positional('value', {\n type: 'string',\n describe: 'Value to set (string, number, or boolean)',\n })\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Output JSON',\n })\n .option('show-origin', {\n type: 'boolean',\n default: false,\n describe: 'Show value origin',\n })\n .option('trace', {\n type: 'boolean',\n default: false,\n describe: 'Show the value in each configuration layer',\n }),\n (argv) => {\n const scope = resolveScope(argv.global, argv.local);\n const output = argv.json ? 'json' : 'text';\n const action = String(argv.action);\n const cwd = process.cwd();\n\n switch (action) {\n case 'get':\n sink.set(\n this.factory.createConfigGet(typeof argv.path === 'string' ? argv.path : '', {\n cwd,\n scope,\n output,\n showOrigin: argv['show-origin'],\n trace: argv.trace,\n }),\n );\n return;\n case 'list':\n sink.set(\n this.factory.createConfigList({\n cwd,\n scope,\n output,\n }),\n );\n return;\n case 'set':\n sink.set(\n this.factory.createConfigSet(\n typeof argv.path === 'string' ? argv.path : '',\n typeof argv.value === 'string' ? argv.value : '',\n {\n cwd,\n scope,\n output,\n },\n ),\n );\n return;\n case 'delete':\n sink.set(\n this.factory.createConfigDelete(typeof argv.path === 'string' ? argv.path : '', {\n cwd,\n scope,\n output,\n }),\n );\n return;\n case 'edit':\n sink.set(\n this.factory.createConfigEdit({\n cwd,\n scope,\n output,\n }),\n );\n return;\n default:\n throw new Error(`[uapkg] Unsupported config action: ${action}`);\n }\n },\n );\n }\n}\n"],"mappings":";;;;AAKA,IAAa,sBAAb,MAA+D;CAC7D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAAuB;EAC5C,OAAO,OAAO,QACZ,kCACA,uCACC,YACC,iBAAiB,OAAO,CAAC,CACtB,WAAW,UAAU;GACpB,MAAM;GACN,SAAS;IAAC;IAAO;IAAQ;IAAO;IAAU;GAAM;GAChD,UAAU;GACV,cAAc;EAChB,CAAC,CAAC,CACD,WAAW,QAAQ;GAClB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,WAAW,SAAS;GACnB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,eAAe;GACrB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,SAAS;GACf,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,IACJ,SAAS;GACR,MAAM,QAAQ,aAAa,KAAK,QAAQ,KAAK,KAAK;GAClD,MAAM,SAAS,KAAK,OAAO,SAAS;GACpC,MAAM,SAAS,OAAO,KAAK,MAAM;GACjC,MAAM,MAAM,QAAQ,IAAI;GAExB,QAAQ,QAAR;IACE,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,gBAAgB,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,IAAI;MAC3E;MACA;MACA;MACA,YAAY,KAAK;MACjB,OAAO,KAAK;KACd,CAAC,CACH;KACA;IACF,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,iBAAiB;MAC5B;MACA;MACA;KACF,CAAC,CACH;KACA;IACF,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,gBACX,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,IAC5C,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ,IAC9C;MACE;MACA;MACA;KACF,CACF,CACF;KACA;IACF,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,mBAAmB,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,IAAI;MAC9E;MACA;MACA;KACF,CAAC,CACH;KACA;IACF,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,iBAAiB;MAC5B;MACA;MACA;KACF,CAAC,CACH;KACA;IACF,SACE,MAAM,IAAI,MAAM,sCAAsC,QAAQ;GAClE;EACF,CACF;CACF;AACF"}
@@ -7,10 +7,10 @@ var InitCommandModule = class {
7
7
  return parser.command("init", "Initialize uapkg.json", (builder) => builder.option("type", {
8
8
  type: "string",
9
9
  choices: ["project", "plugin"],
10
- describe: "Explicit manifest type for init"
10
+ describe: "Manifest type"
11
11
  }).option("name", {
12
12
  type: "string",
13
- describe: "Explicit package name for init"
13
+ describe: "Package name"
14
14
  }), (argv) => {
15
15
  sink.set(this.factory.createInit({
16
16
  cwd: process.cwd(),
@@ -1 +1 @@
1
- {"version":3,"file":"InitCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/InitCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '../../UAPKGCommandLine.js';\nimport type { CommandLineSink, UAPKGCommandModule } from '../contracts/UAPKGCommandModule.js';\n\nexport class InitCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink) {\n return parser.command(\n 'init',\n 'Initialize uapkg.json',\n (builder) =>\n builder\n .option('type', {\n type: 'string',\n choices: ['project', 'plugin'] as const,\n describe: 'Explicit manifest type for init',\n })\n .option('name', {\n type: 'string',\n describe: 'Explicit package name for init',\n }),\n (argv) => {\n sink.set(\n this.factory.createInit({\n cwd: process.cwd(),\n type: argv.type,\n name: typeof argv.name === 'string' ? argv.name : undefined,\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,oBAAb,MAA6D;CAC3D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAAuB;EAC5C,OAAO,OAAO,QACZ,QACA,0BACC,YACC,QACG,OAAO,QAAQ;GACd,MAAM;GACN,SAAS,CAAC,WAAW,QAAQ;GAC7B,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,UAAU;EACZ,CAAC,IACJ,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,WAAW;IACtB,KAAK,QAAQ,IAAI;IACjB,MAAM,KAAK;IACX,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;GACpD,CAAC,CACH;EACF,CACF;CACF;AACF"}
1
+ {"version":3,"file":"InitCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/InitCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '#cli/cli/UAPKGCommandLine.ts';\nimport type { CommandLineSink, UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\n\nexport class InitCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink) {\n return parser.command(\n 'init',\n 'Initialize uapkg.json',\n (builder) =>\n builder\n .option('type', {\n type: 'string',\n choices: ['project', 'plugin'] as const,\n describe: 'Manifest type',\n })\n .option('name', {\n type: 'string',\n describe: 'Package name',\n }),\n (argv) => {\n sink.set(\n this.factory.createInit({\n cwd: process.cwd(),\n type: argv.type,\n name: typeof argv.name === 'string' ? argv.name : undefined,\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,oBAAb,MAA6D;CAC3D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAAuB;EAC5C,OAAO,OAAO,QACZ,QACA,0BACC,YACC,QACG,OAAO,QAAQ;GACd,MAAM;GACN,SAAS,CAAC,WAAW,QAAQ;GAC7B,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,UAAU;EACZ,CAAC,IACJ,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,WAAW;IACtB,KAAK,QAAQ,IAAI;IACjB,MAAM,KAAK;IACX,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;GACpD,CAAC,CACH;EACF,CACF;CACF;AACF"}
@@ -4,18 +4,18 @@ import { createUAPKGCommandLineFactory } from "../../UAPKGCommandLine.js";
4
4
  var InstallCommandModule = class {
5
5
  factory = createUAPKGCommandLineFactory();
6
6
  register(parser, sink) {
7
- return parser.command("install", "Install dependency graph for current manifest", (builder) => builder.option("force", {
7
+ return parser.command("install", "Install dependencies from uapkg.json", (builder) => builder.option("force", {
8
8
  type: "boolean",
9
9
  default: false,
10
10
  describe: "Override safety policies (e.g. target dir exists without uapkg.json)"
11
11
  }).option("frozen", {
12
12
  type: "boolean",
13
13
  default: false,
14
- describe: "Use the existing uapkg.lock verbatim; do not re-resolve"
14
+ describe: "Install from the existing uapkg.lock without resolving new versions"
15
15
  }).option("dry-run", {
16
16
  type: "boolean",
17
17
  default: false,
18
- describe: "Compute the plan but perform no IO"
18
+ describe: "Preview installation; the lockfile and registry cache may still change"
19
19
  }).option("json", {
20
20
  type: "boolean",
21
21
  default: false,
@@ -1 +1 @@
1
- {"version":3,"file":"InstallCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/InstallCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '../../UAPKGCommandLine.js';\nimport type { CommandLineSink, UAPKGCommandModule } from '../contracts/UAPKGCommandModule.js';\n\nexport class InstallCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink) {\n return parser.command(\n 'install',\n 'Install dependency graph for current manifest',\n (builder) =>\n builder\n .option('force', {\n type: 'boolean',\n default: false,\n describe: 'Override safety policies (e.g. target dir exists without uapkg.json)',\n })\n .option('frozen', {\n type: 'boolean',\n default: false,\n describe: 'Use the existing uapkg.lock verbatim; do not re-resolve',\n })\n .option('dry-run', { type: 'boolean', default: false, describe: 'Compute the plan but perform no IO' })\n .option('json', { type: 'boolean', default: false, describe: 'Emit JSON on stdout' })\n .conflicts('force', 'frozen'),\n (argv) => {\n sink.set(\n this.factory.createInstall({\n cwd: process.cwd(),\n force: argv.force,\n frozen: argv.frozen,\n dryRun: argv['dry-run'],\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,uBAAb,MAAgE;CAC9D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAAuB;EAC5C,OAAO,OAAO,QACZ,WACA,kDACC,YACC,QACG,OAAO,SAAS;GACf,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,UAAU;GAChB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,WAAW;GAAE,MAAM;GAAW,SAAS;GAAO,UAAU;EAAqC,CAAC,CAAC,CACtG,OAAO,QAAQ;GAAE,MAAM;GAAW,SAAS;GAAO,UAAU;EAAsB,CAAC,CAAC,CACpF,UAAU,SAAS,QAAQ,IAC/B,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,cAAc;IACzB,KAAK,QAAQ,IAAI;IACjB,OAAO,KAAK;IACZ,QAAQ,KAAK;IACb,QAAQ,KAAK;IACb,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF"}
1
+ {"version":3,"file":"InstallCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/InstallCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '#cli/cli/UAPKGCommandLine.ts';\nimport type { CommandLineSink, UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\n\nexport class InstallCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink) {\n return parser.command(\n 'install',\n 'Install dependencies from uapkg.json',\n (builder) =>\n builder\n .option('force', {\n type: 'boolean',\n default: false,\n describe: 'Override safety policies (e.g. target dir exists without uapkg.json)',\n })\n .option('frozen', {\n type: 'boolean',\n default: false,\n describe: 'Install from the existing uapkg.lock without resolving new versions',\n })\n .option('dry-run', {\n type: 'boolean',\n default: false,\n describe: 'Preview installation; the lockfile and registry cache may still change',\n })\n .option('json', { type: 'boolean', default: false, describe: 'Emit JSON on stdout' })\n .conflicts('force', 'frozen'),\n (argv) => {\n sink.set(\n this.factory.createInstall({\n cwd: process.cwd(),\n force: argv.force,\n frozen: argv.frozen,\n dryRun: argv['dry-run'],\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,uBAAb,MAAgE;CAC9D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAAuB;EAC5C,OAAO,OAAO,QACZ,WACA,yCACC,YACC,QACG,OAAO,SAAS;GACf,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,UAAU;GAChB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,WAAW;GACjB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GAAE,MAAM;GAAW,SAAS;GAAO,UAAU;EAAsB,CAAC,CAAC,CACpF,UAAU,SAAS,QAAQ,IAC/B,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,cAAc;IACzB,KAAK,QAAQ,IAAI;IACjB,OAAO,KAAK;IACZ,QAAQ,KAAK;IACb,QAAQ,KAAK;IACb,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"LifecycleCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/LifecycleCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport {\n createUAPKGCommandLineFactory,\n type UAPKGControlPlaneAuthMode,\n type UAPKGLifecycleCommandName,\n} from '../../UAPKGCommandLine.js';\nimport type { CommandLineSink, UAPKGCommandModule } from '../contracts/UAPKGCommandModule.js';\n\nconst AUTH_MODES = ['auto', 'login', 'gat', 'oidc'] as const;\n\nconst OPERATIONS: ReadonlyArray<{ readonly name: UAPKGLifecycleCommandName; readonly describe: string }> = [\n { name: 'yank', describe: 'Exclude a published version from new resolution' },\n { name: 'unyank', describe: 'Restore a yanked version to new resolution' },\n { name: 'unpublish', describe: 'Permanently remove a recently published version' },\n { name: 'deprecate', describe: 'Attach a deprecation warning to a version' },\n { name: 'undeprecate', describe: 'Clear the deprecation warning from a version' },\n];\n\n/**\n * Registers the five route-derived package lifecycle commands. Each command\n * shares one shape: `uapkg <operation> <package> <version> [--reason ...]`.\n */\nexport class LifecycleCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink): Argv {\n let current = parser;\n for (const operation of OPERATIONS) {\n current = current.command(\n `${operation.name} <package> <version>`,\n operation.describe,\n (builder) =>\n builder\n .positional('package', { type: 'string', describe: 'Package name' })\n .positional('version', { type: 'string', describe: 'Exact package version' })\n .option('reason', { type: 'string', describe: 'Reason recorded with the request' })\n .option('registry', { type: 'string', describe: 'Configured registry alias' })\n .option('auth', {\n type: 'string',\n choices: AUTH_MODES,\n default: 'auto',\n describe: 'Authentication method',\n })\n .option('detach', {\n type: 'boolean',\n default: false,\n describe: 'Return immediately after submitting the request',\n })\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Emit JSON on stdout',\n }),\n (argv) => {\n sink.set(\n this.factory.createLifecycle(operation.name, String(argv.package ?? ''), String(argv.version ?? ''), {\n cwd: process.cwd(),\n reason: stringOption(argv.reason),\n registry: stringOption(argv.registry),\n auth: String(argv.auth) as UAPKGControlPlaneAuthMode,\n detach: argv.detach === true,\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n return current;\n }\n}\n\nfunction stringOption(value: unknown): string | undefined {\n return typeof value === 'string' ? value : undefined;\n}\n"],"mappings":";;;AAQA,MAAM,aAAa;CAAC;CAAQ;CAAS;CAAO;AAAM;AAElD,MAAM,aAAqG;CACzG;EAAE,MAAM;EAAQ,UAAU;CAAkD;CAC5E;EAAE,MAAM;EAAU,UAAU;CAA6C;CACzE;EAAE,MAAM;EAAa,UAAU;CAAkD;CACjF;EAAE,MAAM;EAAa,UAAU;CAA4C;CAC3E;EAAE,MAAM;EAAe,UAAU;CAA+C;AAClF;;;;;AAMA,IAAa,yBAAb,MAAkE;CAChE,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAA6B;EAClD,IAAI,UAAU;EACd,KAAK,MAAM,aAAa,YACtB,UAAU,QAAQ,QAChB,GAAG,UAAU,KAAK,uBAClB,UAAU,WACT,YACC,QACG,WAAW,WAAW;GAAE,MAAM;GAAU,UAAU;EAAe,CAAC,CAAC,CACnE,WAAW,WAAW;GAAE,MAAM;GAAU,UAAU;EAAwB,CAAC,CAAC,CAC5E,OAAO,UAAU;GAAE,MAAM;GAAU,UAAU;EAAmC,CAAC,CAAC,CAClF,OAAO,YAAY;GAAE,MAAM;GAAU,UAAU;EAA4B,CAAC,CAAC,CAC7E,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,UAAU;GAChB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,IACJ,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,gBAAgB,UAAU,MAAM,OAAO,KAAK,WAAW,EAAE,GAAG,OAAO,KAAK,WAAW,EAAE,GAAG;IACnG,KAAK,QAAQ,IAAI;IACjB,QAAQ,aAAa,KAAK,MAAM;IAChC,UAAU,aAAa,KAAK,QAAQ;IACpC,MAAM,OAAO,KAAK,IAAI;IACtB,QAAQ,KAAK,WAAW;IACxB,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;EAEF,OAAO;CACT;AACF;AAEA,SAAS,aAAa,OAAoC;CACxD,OAAO,OAAO,UAAU,WAAW,QAAQ;AAC7C"}
1
+ {"version":3,"file":"LifecycleCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/LifecycleCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport {\n createUAPKGCommandLineFactory,\n type UAPKGControlPlaneAuthMode,\n type UAPKGLifecycleCommandName,\n} from '#cli/cli/UAPKGCommandLine.ts';\nimport type { CommandLineSink, UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\n\nconst AUTH_MODES = ['auto', 'login', 'gat', 'oidc'] as const;\n\nconst OPERATIONS: ReadonlyArray<{ readonly name: UAPKGLifecycleCommandName; readonly describe: string }> = [\n { name: 'yank', describe: 'Exclude a published version from new resolution' },\n { name: 'unyank', describe: 'Restore a yanked version to new resolution' },\n { name: 'unpublish', describe: 'Permanently remove a recently published version' },\n { name: 'deprecate', describe: 'Attach a deprecation warning to a version' },\n { name: 'undeprecate', describe: 'Clear the deprecation warning from a version' },\n];\n\n/**\n * Registers the five route-derived package lifecycle commands. Each command\n * shares one shape: `uapkg <operation> <package> <version> [--reason ...]`.\n */\nexport class LifecycleCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink): Argv {\n let current = parser;\n for (const operation of OPERATIONS) {\n current = current.command(\n `${operation.name} <package> <version>`,\n operation.describe,\n (builder) =>\n builder\n .positional('package', { type: 'string', describe: 'Package name' })\n .positional('version', { type: 'string', describe: 'Exact package version' })\n .option('reason', { type: 'string', describe: 'Reason recorded with the request' })\n .option('registry', { type: 'string', describe: 'Configured registry alias' })\n .option('auth', {\n type: 'string',\n choices: AUTH_MODES,\n default: 'auto',\n describe: 'Authentication method',\n })\n .option('detach', {\n type: 'boolean',\n default: false,\n describe: 'Return immediately after submitting the request',\n })\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Emit JSON on stdout',\n }),\n (argv) => {\n sink.set(\n this.factory.createLifecycle(operation.name, String(argv.package ?? ''), String(argv.version ?? ''), {\n cwd: process.cwd(),\n reason: stringOption(argv.reason),\n registry: stringOption(argv.registry),\n auth: String(argv.auth) as UAPKGControlPlaneAuthMode,\n detach: argv.detach === true,\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n return current;\n }\n}\n\nfunction stringOption(value: unknown): string | undefined {\n return typeof value === 'string' ? value : undefined;\n}\n"],"mappings":";;;AAQA,MAAM,aAAa;CAAC;CAAQ;CAAS;CAAO;AAAM;AAElD,MAAM,aAAqG;CACzG;EAAE,MAAM;EAAQ,UAAU;CAAkD;CAC5E;EAAE,MAAM;EAAU,UAAU;CAA6C;CACzE;EAAE,MAAM;EAAa,UAAU;CAAkD;CACjF;EAAE,MAAM;EAAa,UAAU;CAA4C;CAC3E;EAAE,MAAM;EAAe,UAAU;CAA+C;AAClF;;;;;AAMA,IAAa,yBAAb,MAAkE;CAChE,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAA6B;EAClD,IAAI,UAAU;EACd,KAAK,MAAM,aAAa,YACtB,UAAU,QAAQ,QAChB,GAAG,UAAU,KAAK,uBAClB,UAAU,WACT,YACC,QACG,WAAW,WAAW;GAAE,MAAM;GAAU,UAAU;EAAe,CAAC,CAAC,CACnE,WAAW,WAAW;GAAE,MAAM;GAAU,UAAU;EAAwB,CAAC,CAAC,CAC5E,OAAO,UAAU;GAAE,MAAM;GAAU,UAAU;EAAmC,CAAC,CAAC,CAClF,OAAO,YAAY;GAAE,MAAM;GAAU,UAAU;EAA4B,CAAC,CAAC,CAC7E,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,UAAU;GAChB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,IACJ,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,gBAAgB,UAAU,MAAM,OAAO,KAAK,WAAW,EAAE,GAAG,OAAO,KAAK,WAAW,EAAE,GAAG;IACnG,KAAK,QAAQ,IAAI;IACjB,QAAQ,aAAa,KAAK,MAAM;IAChC,UAAU,aAAa,KAAK,QAAQ;IACpC,MAAM,OAAO,KAAK,IAAI;IACtB,QAAQ,KAAK,WAAW;IACxB,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;EAEF,OAAO;CACT;AACF;AAEA,SAAS,aAAa,OAAoC;CACxD,OAAO,OAAO,UAAU,WAAW,QAAQ;AAC7C"}
@@ -7,7 +7,7 @@ var ListCommandModule = class {
7
7
  return parser.command("list", "Show installed packages from the lockfile", (builder) => builder.option("depth", {
8
8
  type: "number",
9
9
  default: 0,
10
- describe: "Max tree depth (0 = declared only)"
10
+ describe: "0: declared dependencies only; greater than 0: include all transitive dependencies"
11
11
  }).option("json", {
12
12
  type: "boolean",
13
13
  default: false,
@@ -1 +1 @@
1
- {"version":3,"file":"ListCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/ListCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '../../UAPKGCommandLine.js';\nimport type { CommandLineSink, UAPKGCommandModule } from '../contracts/UAPKGCommandModule.js';\n\nexport class ListCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink): Argv {\n return parser.command(\n 'list',\n 'Show installed packages from the lockfile',\n (builder) =>\n builder\n .option('depth', { type: 'number', default: 0, describe: 'Max tree depth (0 = declared only)' })\n .option('json', { type: 'boolean', default: false, describe: 'Emit JSON on stdout' }),\n (argv) => {\n sink.set(\n this.factory.createList({\n cwd: process.cwd(),\n depth: typeof argv.depth === 'number' ? argv.depth : 0,\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,oBAAb,MAA6D;CAC3D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAA6B;EAClD,OAAO,OAAO,QACZ,QACA,8CACC,YACC,QACG,OAAO,SAAS;GAAE,MAAM;GAAU,SAAS;GAAG,UAAU;EAAqC,CAAC,CAAC,CAC/F,OAAO,QAAQ;GAAE,MAAM;GAAW,SAAS;GAAO,UAAU;EAAsB,CAAC,IACvF,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,WAAW;IACtB,KAAK,QAAQ,IAAI;IACjB,OAAO,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ;IACrD,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF"}
1
+ {"version":3,"file":"ListCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/ListCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '#cli/cli/UAPKGCommandLine.ts';\nimport type { CommandLineSink, UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\n\nexport class ListCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink): Argv {\n return parser.command(\n 'list',\n 'Show installed packages from the lockfile',\n (builder) =>\n builder\n .option('depth', {\n type: 'number',\n default: 0,\n describe: '0: declared dependencies only; greater than 0: include all transitive dependencies',\n })\n .option('json', { type: 'boolean', default: false, describe: 'Emit JSON on stdout' }),\n (argv) => {\n sink.set(\n this.factory.createList({\n cwd: process.cwd(),\n depth: typeof argv.depth === 'number' ? argv.depth : 0,\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,oBAAb,MAA6D;CAC3D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAA6B;EAClD,OAAO,OAAO,QACZ,QACA,8CACC,YACC,QACG,OAAO,SAAS;GACf,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GAAE,MAAM;GAAW,SAAS;GAAO,UAAU;EAAsB,CAAC,IACvF,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,WAAW;IACtB,KAAK,QAAQ,IAAI;IACjB,OAAO,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ;IACrD,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF"}
@@ -4,7 +4,7 @@ import { createUAPKGCommandLineFactory } from "../../UAPKGCommandLine.js";
4
4
  var LoginCommandModule = class {
5
5
  factory = createUAPKGCommandLineFactory();
6
6
  register(parser, sink) {
7
- return parser.command("login", "Authorize this browser-capable workstation for one registry", (builder) => builder.option("registry", {
7
+ return parser.command("login", "Sign in to one registry using your browser", (builder) => builder.option("registry", {
8
8
  type: "string",
9
9
  describe: "Configured registry alias (defaults to the selected registry)"
10
10
  }).option("device-name", {
@@ -13,7 +13,7 @@ var LoginCommandModule = class {
13
13
  }).option("reauthorize", {
14
14
  type: "boolean",
15
15
  default: false,
16
- describe: "Replace the saved grant for this registry"
16
+ describe: "Replace the saved login for this registry"
17
17
  }).option("json", {
18
18
  type: "boolean",
19
19
  default: false,
@@ -1 +1 @@
1
- {"version":3,"file":"LoginCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/LoginCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '../../UAPKGCommandLine.js';\nimport type { CommandLineSink, UAPKGCommandModule } from '../contracts/UAPKGCommandModule.js';\n\nexport class LoginCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink): Argv {\n return parser.command(\n 'login',\n 'Authorize this browser-capable workstation for one registry',\n (builder) =>\n builder\n .option('registry', {\n type: 'string',\n describe: 'Configured registry alias (defaults to the selected registry)',\n })\n .option('device-name', {\n type: 'string',\n describe: 'Device label shown on the authorization page',\n })\n .option('reauthorize', {\n type: 'boolean',\n default: false,\n describe: 'Replace the saved grant for this registry',\n })\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Emit JSON on stdout',\n }),\n (argv) => {\n sink.set(\n this.factory.createLogin({\n cwd: process.cwd(),\n registry: typeof argv.registry === 'string' ? argv.registry : undefined,\n deviceName: typeof argv['device-name'] === 'string' ? argv['device-name'] : undefined,\n reauthorize: argv.reauthorize === true,\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,qBAAb,MAA8D;CAC5D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAA6B;EAClD,OAAO,OAAO,QACZ,SACA,gEACC,YACC,QACG,OAAO,YAAY;GAClB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,eAAe;GACrB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,eAAe;GACrB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,IACJ,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,YAAY;IACvB,KAAK,QAAQ,IAAI;IACjB,UAAU,OAAO,KAAK,aAAa,WAAW,KAAK,WAAW;IAC9D,YAAY,OAAO,KAAK,mBAAmB,WAAW,KAAK,iBAAiB;IAC5E,aAAa,KAAK,gBAAgB;IAClC,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF"}
1
+ {"version":3,"file":"LoginCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/LoginCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '#cli/cli/UAPKGCommandLine.ts';\nimport type { CommandLineSink, UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\n\nexport class LoginCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink): Argv {\n return parser.command(\n 'login',\n 'Sign in to one registry using your browser',\n (builder) =>\n builder\n .option('registry', {\n type: 'string',\n describe: 'Configured registry alias (defaults to the selected registry)',\n })\n .option('device-name', {\n type: 'string',\n describe: 'Device label shown on the authorization page',\n })\n .option('reauthorize', {\n type: 'boolean',\n default: false,\n describe: 'Replace the saved login for this registry',\n })\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Emit JSON on stdout',\n }),\n (argv) => {\n sink.set(\n this.factory.createLogin({\n cwd: process.cwd(),\n registry: typeof argv.registry === 'string' ? argv.registry : undefined,\n deviceName: typeof argv['device-name'] === 'string' ? argv['device-name'] : undefined,\n reauthorize: argv.reauthorize === true,\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,qBAAb,MAA8D;CAC5D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAA6B;EAClD,OAAO,OAAO,QACZ,SACA,+CACC,YACC,QACG,OAAO,YAAY;GAClB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,eAAe;GACrB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,eAAe;GACrB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,IACJ,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,YAAY;IACvB,KAAK,QAAQ,IAAI;IACjB,UAAU,OAAO,KAAK,aAAa,WAAW,KAAK,WAAW;IAC9D,YAAY,OAAO,KAAK,mBAAmB,WAAW,KAAK,iBAAiB;IAC5E,aAAa,KAAK,gBAAgB;IAClC,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"LogoutCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/LogoutCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '../../UAPKGCommandLine.js';\nimport type { CommandLineSink, UAPKGCommandModule } from '../contracts/UAPKGCommandModule.js';\n\nexport class LogoutCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink): Argv {\n return parser.command(\n 'logout',\n 'Revoke and remove the saved login for one registry',\n (builder) =>\n builder\n .option('registry', {\n type: 'string',\n describe: 'Configured registry alias (defaults to the selected registry)',\n })\n .option('local-only', {\n type: 'boolean',\n default: false,\n describe: 'Remove local credentials without revoking the remote grant',\n })\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Emit JSON on stdout',\n }),\n (argv) => {\n sink.set(\n this.factory.createLogout({\n cwd: process.cwd(),\n registry: typeof argv.registry === 'string' ? argv.registry : undefined,\n localOnly: argv['local-only'] === true,\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,sBAAb,MAA+D;CAC7D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAA6B;EAClD,OAAO,OAAO,QACZ,UACA,uDACC,YACC,QACG,OAAO,YAAY;GAClB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,cAAc;GACpB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,IACJ,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,aAAa;IACxB,KAAK,QAAQ,IAAI;IACjB,UAAU,OAAO,KAAK,aAAa,WAAW,KAAK,WAAW;IAC9D,WAAW,KAAK,kBAAkB;IAClC,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF"}
1
+ {"version":3,"file":"LogoutCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/LogoutCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '#cli/cli/UAPKGCommandLine.ts';\nimport type { CommandLineSink, UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\n\nexport class LogoutCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink): Argv {\n return parser.command(\n 'logout',\n 'Revoke and remove the saved login for one registry',\n (builder) =>\n builder\n .option('registry', {\n type: 'string',\n describe: 'Configured registry alias (defaults to the selected registry)',\n })\n .option('local-only', {\n type: 'boolean',\n default: false,\n describe: 'Remove local credentials without revoking the remote grant',\n })\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Emit JSON on stdout',\n }),\n (argv) => {\n sink.set(\n this.factory.createLogout({\n cwd: process.cwd(),\n registry: typeof argv.registry === 'string' ? argv.registry : undefined,\n localOnly: argv['local-only'] === true,\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,sBAAb,MAA+D;CAC7D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAA6B;EAClD,OAAO,OAAO,QACZ,UACA,uDACC,YACC,QACG,OAAO,YAAY;GAClB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,cAAc;GACpB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,IACJ,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,aAAa;IACxB,KAAK,QAAQ,IAAI;IACjB,UAAU,OAAO,KAAK,aAAa,WAAW,KAAK,WAAW;IAC9D,WAAW,KAAK,kBAAkB;IAClC,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"OutdatedCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/OutdatedCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '../../UAPKGCommandLine.js';\nimport type { CommandLineSink, UAPKGCommandModule } from '../contracts/UAPKGCommandModule.js';\n\nexport class OutdatedCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink): Argv {\n return parser.command(\n 'outdated',\n 'Show declared dependencies whose installed version lags behind wanted/latest',\n (builder) =>\n builder.option('json', {\n type: 'boolean',\n default: false,\n describe: 'Emit a single JSON object on stdout',\n }),\n (argv) => {\n sink.set(\n this.factory.createOutdated({\n cwd: process.cwd(),\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,wBAAb,MAAiE;CAC/D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAA6B;EAClD,OAAO,OAAO,QACZ,YACA,iFACC,YACC,QAAQ,OAAO,QAAQ;GACrB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,IACF,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,eAAe;IAC1B,KAAK,QAAQ,IAAI;IACjB,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF"}
1
+ {"version":3,"file":"OutdatedCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/OutdatedCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '#cli/cli/UAPKGCommandLine.ts';\nimport type { CommandLineSink, UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\n\nexport class OutdatedCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink): Argv {\n return parser.command(\n 'outdated',\n 'Show declared dependencies whose installed version lags behind wanted/latest',\n (builder) =>\n builder.option('json', {\n type: 'boolean',\n default: false,\n describe: 'Emit a single JSON object on stdout',\n }),\n (argv) => {\n sink.set(\n this.factory.createOutdated({\n cwd: process.cwd(),\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,wBAAb,MAAiE;CAC/D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAA6B;EAClD,OAAO,OAAO,QACZ,YACA,iFACC,YACC,QAAQ,OAAO,QAAQ;GACrB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,IACF,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,eAAe;IAC1B,KAAK,QAAQ,IAAI;IACjB,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF"}
@@ -4,10 +4,10 @@ import { createUAPKGCommandLineFactory } from "../../UAPKGCommandLine.js";
4
4
  var PackCommandModule = class {
5
5
  factory = createUAPKGCommandLineFactory();
6
6
  register(parser, sink) {
7
- return parser.command("pack", "Create package tgz and integrity file", (builder) => builder.option("dry-run", {
7
+ return parser.command("pack", "Create a .tgz package archive and integrity file", (builder) => builder.option("dry-run", {
8
8
  type: "boolean",
9
9
  default: false,
10
- describe: "Print what would be included without creating archive"
10
+ describe: "List the files to include without creating an archive"
11
11
  }).option("allow-missing-lfs", {
12
12
  type: "boolean",
13
13
  default: false,
@@ -1 +1 @@
1
- {"version":3,"file":"PackCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/PackCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '../../UAPKGCommandLine.js';\nimport type { CommandLineSink, UAPKGCommandModule } from '../contracts/UAPKGCommandModule.js';\n\nexport class PackCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink) {\n return parser.command(\n 'pack',\n 'Create package tgz and integrity file',\n (builder) =>\n builder\n .option('dry-run', {\n type: 'boolean',\n default: false,\n describe: 'Print what would be included without creating archive',\n })\n .option('allow-missing-lfs', {\n type: 'boolean',\n default: false,\n describe: 'Allow unresolved Git LFS pointers to be skipped',\n })\n .option('outFile', {\n type: 'string',\n describe: 'Output .tgz file path',\n }),\n (argv) => {\n sink.set(\n this.factory.createPack({\n cwd: process.cwd(),\n dryRun: argv['dry-run'],\n allowMissingLfs: argv['allow-missing-lfs'],\n outFile: typeof argv.outFile === 'string' ? argv.outFile : undefined,\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,oBAAb,MAA6D;CAC3D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAAuB;EAC5C,OAAO,OAAO,QACZ,QACA,0CACC,YACC,QACG,OAAO,WAAW;GACjB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,qBAAqB;GAC3B,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,WAAW;GACjB,MAAM;GACN,UAAU;EACZ,CAAC,IACJ,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,WAAW;IACtB,KAAK,QAAQ,IAAI;IACjB,QAAQ,KAAK;IACb,iBAAiB,KAAK;IACtB,SAAS,OAAO,KAAK,YAAY,WAAW,KAAK,UAAU;GAC7D,CAAC,CACH;EACF,CACF;CACF;AACF"}
1
+ {"version":3,"file":"PackCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/PackCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '#cli/cli/UAPKGCommandLine.ts';\nimport type { CommandLineSink, UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\n\nexport class PackCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink) {\n return parser.command(\n 'pack',\n 'Create a .tgz package archive and integrity file',\n (builder) =>\n builder\n .option('dry-run', {\n type: 'boolean',\n default: false,\n describe: 'List the files to include without creating an archive',\n })\n .option('allow-missing-lfs', {\n type: 'boolean',\n default: false,\n describe: 'Allow unresolved Git LFS pointers to be skipped',\n })\n .option('outFile', {\n type: 'string',\n describe: 'Output .tgz file path',\n }),\n (argv) => {\n sink.set(\n this.factory.createPack({\n cwd: process.cwd(),\n dryRun: argv['dry-run'],\n allowMissingLfs: argv['allow-missing-lfs'],\n outFile: typeof argv.outFile === 'string' ? argv.outFile : undefined,\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,oBAAb,MAA6D;CAC3D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAAuB;EAC5C,OAAO,OAAO,QACZ,QACA,qDACC,YACC,QACG,OAAO,WAAW;GACjB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,qBAAqB;GAC3B,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,WAAW;GACjB,MAAM;GACN,UAAU;EACZ,CAAC,IACJ,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,WAAW;IACtB,KAAK,QAAQ,IAAI;IACjB,QAAQ,KAAK;IACb,iBAAiB,KAAK;IACtB,SAAS,OAAO,KAAK,YAAY,WAAW,KAAK,UAAU;GAC7D,CAAC,CACH;EACF,CACF;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectGetNameCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/ProjectGetNameCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '../../UAPKGCommandLine.js';\nimport type { CommandLineSink, UAPKGCommandModule } from '../contracts/UAPKGCommandModule.js';\n\nexport class ProjectGetNameCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink) {\n return parser.command(\n 'project get name',\n 'Get current project name from uapkg.json when manifest type is project',\n (builder) => builder,\n () => {\n sink.set(\n this.factory.createProjectGetName({\n cwd: process.cwd(),\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,8BAAb,MAAuE;CACrE,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAAuB;EAC5C,OAAO,OAAO,QACZ,oBACA,2EACC,YAAY,eACP;GACJ,KAAK,IACH,KAAK,QAAQ,qBAAqB,EAChC,KAAK,QAAQ,IAAI,EACnB,CAAC,CACH;EACF,CACF;CACF;AACF"}
1
+ {"version":3,"file":"ProjectGetNameCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/ProjectGetNameCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '#cli/cli/UAPKGCommandLine.ts';\nimport type { CommandLineSink, UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\n\nexport class ProjectGetNameCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink) {\n return parser.command(\n 'project get name',\n 'Get current project name from uapkg.json when manifest type is project',\n (builder) => builder,\n () => {\n sink.set(\n this.factory.createProjectGetName({\n cwd: process.cwd(),\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,8BAAb,MAAuE;CACrE,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAAuB;EAC5C,OAAO,OAAO,QACZ,oBACA,2EACC,YAAY,eACP;GACJ,KAAK,IACH,KAAK,QAAQ,qBAAqB,EAChC,KAAK,QAAQ,IAAI,EACnB,CAAC,CACH;EACF,CACF;CACF;AACF"}
@@ -10,15 +10,15 @@ const AUTH_MODES = [
10
10
  var PublishCommandModule = class {
11
11
  factory = createUAPKGCommandLineFactory();
12
12
  register(parser, sink) {
13
- return parser.command("publish", "Submit a GitHub Release for authorized publication", (builder) => builder.option("registry", {
13
+ return parser.command("publish", "Submit a GitHub Release asset for publication", (builder) => builder.option("registry", {
14
14
  type: "string",
15
15
  describe: "Configured registry alias"
16
16
  }).option("owner", {
17
17
  type: "string",
18
- describe: "UAPKG organization namespace for a new unscoped package"
18
+ describe: "UAPKG organization name for a new unscoped package"
19
19
  }).option("repository", {
20
20
  type: "string",
21
- describe: "GitHub owner/repository coordinate"
21
+ describe: "GitHub repository in owner/repository form"
22
22
  }).option("tag", {
23
23
  type: "string",
24
24
  describe: "GitHub Release tag (defaults to v<version>)"
@@ -1 +1 @@
1
- {"version":3,"file":"PublishCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/PublishCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory, type UAPKGControlPlaneAuthMode } from '../../UAPKGCommandLine.js';\nimport type { CommandLineSink, UAPKGCommandModule } from '../contracts/UAPKGCommandModule.js';\n\nconst AUTH_MODES = ['auto', 'login', 'gat', 'oidc'] as const;\n\nexport class PublishCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink): Argv {\n return parser.command(\n 'publish',\n 'Submit a GitHub Release for authorized publication',\n (builder) =>\n builder\n .option('registry', { type: 'string', describe: 'Configured registry alias' })\n .option('owner', {\n type: 'string',\n describe: 'UAPKG organization namespace for a new unscoped package',\n })\n .option('repository', { type: 'string', describe: 'GitHub owner/repository coordinate' })\n .option('tag', { type: 'string', describe: 'GitHub Release tag (defaults to v<version>)' })\n .option('asset', { type: 'string', describe: 'GitHub Release asset name (defaults to package.tgz)' })\n .option('asset-path', {\n type: 'string',\n describe: 'Local archive whose exact bytes should be published (skips the download)',\n })\n .option('auth', {\n type: 'string',\n choices: AUTH_MODES,\n default: 'auto',\n describe: 'Publishing authentication method',\n })\n .option('detach', {\n type: 'boolean',\n default: false,\n describe: 'Return immediately after submitting the publishing request',\n })\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Emit JSON on stdout',\n }),\n (argv) => {\n sink.set(\n this.factory.createPublish({\n cwd: process.cwd(),\n registry: stringOption(argv.registry),\n owner: stringOption(argv.owner),\n repository: stringOption(argv.repository),\n tag: stringOption(argv.tag),\n asset: stringOption(argv.asset),\n assetPath: stringOption(argv['asset-path']),\n auth: String(argv.auth) as UAPKGControlPlaneAuthMode,\n detach: argv.detach === true,\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n\nfunction stringOption(value: unknown): string | undefined {\n return typeof value === 'string' ? value : undefined;\n}\n"],"mappings":";;;AAIA,MAAM,aAAa;CAAC;CAAQ;CAAS;CAAO;AAAM;AAElD,IAAa,uBAAb,MAAgE;CAC9D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAA6B;EAClD,OAAO,OAAO,QACZ,WACA,uDACC,YACC,QACG,OAAO,YAAY;GAAE,MAAM;GAAU,UAAU;EAA4B,CAAC,CAAC,CAC7E,OAAO,SAAS;GACf,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,cAAc;GAAE,MAAM;GAAU,UAAU;EAAqC,CAAC,CAAC,CACxF,OAAO,OAAO;GAAE,MAAM;GAAU,UAAU;EAA8C,CAAC,CAAC,CAC1F,OAAO,SAAS;GAAE,MAAM;GAAU,UAAU;EAAsD,CAAC,CAAC,CACpG,OAAO,cAAc;GACpB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,UAAU;GAChB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,IACJ,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,cAAc;IACzB,KAAK,QAAQ,IAAI;IACjB,UAAU,aAAa,KAAK,QAAQ;IACpC,OAAO,aAAa,KAAK,KAAK;IAC9B,YAAY,aAAa,KAAK,UAAU;IACxC,KAAK,aAAa,KAAK,GAAG;IAC1B,OAAO,aAAa,KAAK,KAAK;IAC9B,WAAW,aAAa,KAAK,aAAa;IAC1C,MAAM,OAAO,KAAK,IAAI;IACtB,QAAQ,KAAK,WAAW;IACxB,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF;AAEA,SAAS,aAAa,OAAoC;CACxD,OAAO,OAAO,UAAU,WAAW,QAAQ;AAC7C"}
1
+ {"version":3,"file":"PublishCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/PublishCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory, type UAPKGControlPlaneAuthMode } from '#cli/cli/UAPKGCommandLine.ts';\nimport type { CommandLineSink, UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\n\nconst AUTH_MODES = ['auto', 'login', 'gat', 'oidc'] as const;\n\nexport class PublishCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink): Argv {\n return parser.command(\n 'publish',\n 'Submit a GitHub Release asset for publication',\n (builder) =>\n builder\n .option('registry', { type: 'string', describe: 'Configured registry alias' })\n .option('owner', {\n type: 'string',\n describe: 'UAPKG organization name for a new unscoped package',\n })\n .option('repository', { type: 'string', describe: 'GitHub repository in owner/repository form' })\n .option('tag', { type: 'string', describe: 'GitHub Release tag (defaults to v<version>)' })\n .option('asset', { type: 'string', describe: 'GitHub Release asset name (defaults to package.tgz)' })\n .option('asset-path', {\n type: 'string',\n describe: 'Local archive whose exact bytes should be published (skips the download)',\n })\n .option('auth', {\n type: 'string',\n choices: AUTH_MODES,\n default: 'auto',\n describe: 'Publishing authentication method',\n })\n .option('detach', {\n type: 'boolean',\n default: false,\n describe: 'Return immediately after submitting the publishing request',\n })\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Emit JSON on stdout',\n }),\n (argv) => {\n sink.set(\n this.factory.createPublish({\n cwd: process.cwd(),\n registry: stringOption(argv.registry),\n owner: stringOption(argv.owner),\n repository: stringOption(argv.repository),\n tag: stringOption(argv.tag),\n asset: stringOption(argv.asset),\n assetPath: stringOption(argv['asset-path']),\n auth: String(argv.auth) as UAPKGControlPlaneAuthMode,\n detach: argv.detach === true,\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n\nfunction stringOption(value: unknown): string | undefined {\n return typeof value === 'string' ? value : undefined;\n}\n"],"mappings":";;;AAIA,MAAM,aAAa;CAAC;CAAQ;CAAS;CAAO;AAAM;AAElD,IAAa,uBAAb,MAAgE;CAC9D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAA6B;EAClD,OAAO,OAAO,QACZ,WACA,kDACC,YACC,QACG,OAAO,YAAY;GAAE,MAAM;GAAU,UAAU;EAA4B,CAAC,CAAC,CAC7E,OAAO,SAAS;GACf,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,cAAc;GAAE,MAAM;GAAU,UAAU;EAA6C,CAAC,CAAC,CAChG,OAAO,OAAO;GAAE,MAAM;GAAU,UAAU;EAA8C,CAAC,CAAC,CAC1F,OAAO,SAAS;GAAE,MAAM;GAAU,UAAU;EAAsD,CAAC,CAAC,CACpG,OAAO,cAAc;GACpB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,UAAU;GAChB,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,IACJ,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,cAAc;IACzB,KAAK,QAAQ,IAAI;IACjB,UAAU,aAAa,KAAK,QAAQ;IACpC,OAAO,aAAa,KAAK,KAAK;IAC9B,YAAY,aAAa,KAAK,UAAU;IACxC,KAAK,aAAa,KAAK,GAAG;IAC1B,OAAO,aAAa,KAAK,KAAK;IAC9B,WAAW,aAAa,KAAK,aAAa;IAC1C,MAAM,OAAO,KAAK,IAAI;IACtB,QAAQ,KAAK,WAAW;IACxB,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF;AAEA,SAAS,aAAa,OAAoC;CACxD,OAAO,OAAO,UAAU,WAAW,QAAQ;AAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"RegistryCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/RegistryCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '../../UAPKGCommandLine.js';\nimport type { CommandLineSink, UAPKGCommandModule } from '../contracts/UAPKGCommandModule.js';\nimport { resolveScope, withScopeOptions } from './sharedOptions.js';\n\nexport class RegistryCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink) {\n return parser.command(\n 'registry <action> [name] [url]',\n 'Manage named registries',\n (builder) =>\n withScopeOptions(builder)\n .positional('action', {\n type: 'string',\n choices: ['add', 'remove', 'list', 'use', 'auth', 'refresh'] as const,\n describe: 'Registry action',\n demandOption: true,\n })\n .positional('name', {\n type: 'string',\n describe: 'Registry name',\n })\n .positional('url', {\n type: 'string',\n describe: 'Registry URL (for add)',\n })\n .option('branch', {\n type: 'string',\n describe: 'Registry git branch reference',\n })\n .option('tag', {\n type: 'string',\n describe: 'Registry git tag reference',\n })\n .option('rev', {\n type: 'string',\n describe: 'Registry git commit reference',\n })\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Output JSON',\n })\n .conflicts('branch', 'tag')\n .conflicts('branch', 'rev')\n .conflicts('tag', 'rev')\n .check((argv) => {\n const action = String(argv.action);\n if (action === 'auth' || action === 'refresh') {\n if (argv.global || argv.local) {\n throw new Error(`[uapkg] registry ${action} does not accept --global or --local`);\n }\n if (typeof argv.url === 'string') {\n throw new Error(`[uapkg] registry ${action} accepts a configured alias only`);\n }\n if (typeof argv.branch === 'string' || typeof argv.tag === 'string' || typeof argv.rev === 'string') {\n throw new Error(`[uapkg] registry ${action} does not accept --branch, --tag, or --rev`);\n }\n }\n return true;\n }),\n (argv) => {\n const scope = resolveScope(argv.global, argv.local);\n const output = argv.json ? 'json' : 'text';\n const action = String(argv.action);\n\n const ref =\n typeof argv.branch === 'string'\n ? { refType: 'branch' as const, refValue: argv.branch }\n : typeof argv.tag === 'string'\n ? { refType: 'tag' as const, refValue: argv.tag }\n : typeof argv.rev === 'string'\n ? { refType: 'rev' as const, refValue: argv.rev }\n : undefined;\n\n switch (action) {\n case 'add':\n sink.set(\n this.factory.createRegistry('add', {\n cwd: process.cwd(),\n scope,\n output,\n name: typeof argv.name === 'string' ? argv.name : undefined,\n url: typeof argv.url === 'string' ? argv.url : undefined,\n refType: ref?.refType,\n refValue: ref?.refValue,\n }),\n );\n return;\n case 'remove':\n sink.set(\n this.factory.createRegistry('remove', {\n cwd: process.cwd(),\n scope,\n output,\n name: typeof argv.name === 'string' ? argv.name : undefined,\n }),\n );\n return;\n case 'list':\n sink.set(\n this.factory.createRegistry('list', {\n cwd: process.cwd(),\n scope,\n output,\n }),\n );\n return;\n case 'use':\n sink.set(\n this.factory.createRegistry('use', {\n cwd: process.cwd(),\n scope,\n output,\n name: typeof argv.name === 'string' ? argv.name : undefined,\n }),\n );\n return;\n case 'auth':\n sink.set(\n this.factory.createRegistry('auth', {\n cwd: process.cwd(),\n output,\n name: typeof argv.name === 'string' ? argv.name : undefined,\n }),\n );\n return;\n case 'refresh':\n sink.set(\n this.factory.createRegistry('refresh', {\n cwd: process.cwd(),\n output,\n name: typeof argv.name === 'string' ? argv.name : undefined,\n }),\n );\n return;\n default:\n throw new Error(`[uapkg] Unsupported registry action: ${action}`);\n }\n },\n );\n }\n}\n"],"mappings":";;;;AAKA,IAAa,wBAAb,MAAiE;CAC/D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAAuB;EAC5C,OAAO,OAAO,QACZ,kCACA,4BACC,YACC,iBAAiB,OAAO,CAAC,CACtB,WAAW,UAAU;GACpB,MAAM;GACN,SAAS;IAAC;IAAO;IAAU;IAAQ;IAAO;IAAQ;GAAS;GAC3D,UAAU;GACV,cAAc;EAChB,CAAC,CAAC,CACD,WAAW,QAAQ;GAClB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,WAAW,OAAO;GACjB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,UAAU;GAChB,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,OAAO;GACb,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,OAAO;GACb,MAAM;GACN,UAAU;EACZ,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,MAAM;GACN,SAAS;GACT,UAAU;EACZ,CAAC,CAAC,CACD,UAAU,UAAU,KAAK,CAAC,CAC1B,UAAU,UAAU,KAAK,CAAC,CAC1B,UAAU,OAAO,KAAK,CAAC,CACvB,OAAO,SAAS;GACf,MAAM,SAAS,OAAO,KAAK,MAAM;GACjC,IAAI,WAAW,UAAU,WAAW,WAAW;IAC7C,IAAI,KAAK,UAAU,KAAK,OACtB,MAAM,IAAI,MAAM,oBAAoB,OAAO,qCAAqC;IAElF,IAAI,OAAO,KAAK,QAAQ,UACtB,MAAM,IAAI,MAAM,oBAAoB,OAAO,iCAAiC;IAE9E,IAAI,OAAO,KAAK,WAAW,YAAY,OAAO,KAAK,QAAQ,YAAY,OAAO,KAAK,QAAQ,UACzF,MAAM,IAAI,MAAM,oBAAoB,OAAO,2CAA2C;GAE1F;GACA,OAAO;EACT,CAAC,IACJ,SAAS;GACR,MAAM,QAAQ,aAAa,KAAK,QAAQ,KAAK,KAAK;GAClD,MAAM,SAAS,KAAK,OAAO,SAAS;GACpC,MAAM,SAAS,OAAO,KAAK,MAAM;GAEjC,MAAM,MACJ,OAAO,KAAK,WAAW,WACnB;IAAE,SAAS;IAAmB,UAAU,KAAK;GAAO,IACpD,OAAO,KAAK,QAAQ,WAClB;IAAE,SAAS;IAAgB,UAAU,KAAK;GAAI,IAC9C,OAAO,KAAK,QAAQ,WAClB;IAAE,SAAS;IAAgB,UAAU,KAAK;GAAI,IAC9C;GAEV,QAAQ,QAAR;IACE,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,eAAe,OAAO;MACjC,KAAK,QAAQ,IAAI;MACjB;MACA;MACA,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;MAClD,KAAK,OAAO,KAAK,QAAQ,WAAW,KAAK,MAAM;MAC/C,SAAS,KAAK;MACd,UAAU,KAAK;KACjB,CAAC,CACH;KACA;IACF,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,eAAe,UAAU;MACpC,KAAK,QAAQ,IAAI;MACjB;MACA;MACA,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;KACpD,CAAC,CACH;KACA;IACF,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,eAAe,QAAQ;MAClC,KAAK,QAAQ,IAAI;MACjB;MACA;KACF,CAAC,CACH;KACA;IACF,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,eAAe,OAAO;MACjC,KAAK,QAAQ,IAAI;MACjB;MACA;MACA,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;KACpD,CAAC,CACH;KACA;IACF,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,eAAe,QAAQ;MAClC,KAAK,QAAQ,IAAI;MACjB;MACA,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;KACpD,CAAC,CACH;KACA;IACF,KAAK;KACH,KAAK,IACH,KAAK,QAAQ,eAAe,WAAW;MACrC,KAAK,QAAQ,IAAI;MACjB;MACA,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;KACpD,CAAC,CACH;KACA;IACF,SACE,MAAM,IAAI,MAAM,wCAAwC,QAAQ;GACpE;EACF,CACF;CACF;AACF"}
1
+ {"version":3,"file":"RegistryCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/RegistryCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '#cli/cli/UAPKGCommandLine.ts';\nimport type { CommandLineSink, UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\nimport { resolveScope, withScopeOptions } from '#cli/cli/parsing/modules/sharedOptions.ts';\n\nexport class RegistryCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink) {\n return parser.command(\n 'registry <action> [name] [url]',\n 'Manage named registries',\n (builder) =>\n withScopeOptions(builder)\n .positional('action', {\n type: 'string',\n choices: ['add', 'remove', 'list', 'use', 'auth', 'refresh'] as const,\n describe: 'Registry action',\n demandOption: true,\n })\n .positional('name', {\n type: 'string',\n describe: 'Registry name',\n })\n .positional('url', {\n type: 'string',\n describe: 'Registry URL (for add)',\n })\n .option('branch', {\n type: 'string',\n describe: 'Registry git branch reference',\n })\n .option('tag', {\n type: 'string',\n describe: 'Registry git tag reference',\n })\n .option('rev', {\n type: 'string',\n describe: 'Registry git commit reference',\n })\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Output JSON',\n })\n .conflicts('branch', 'tag')\n .conflicts('branch', 'rev')\n .conflicts('tag', 'rev')\n .check((argv) => {\n const action = String(argv.action);\n if (action === 'auth' || action === 'refresh') {\n if (argv.global || argv.local) {\n throw new Error(`[uapkg] registry ${action} does not accept --global or --local`);\n }\n if (typeof argv.url === 'string') {\n throw new Error(`[uapkg] registry ${action} accepts a configured alias only`);\n }\n if (typeof argv.branch === 'string' || typeof argv.tag === 'string' || typeof argv.rev === 'string') {\n throw new Error(`[uapkg] registry ${action} does not accept --branch, --tag, or --rev`);\n }\n }\n return true;\n }),\n (argv) => {\n const scope = resolveScope(argv.global, argv.local);\n const output = argv.json ? 'json' : 'text';\n const action = String(argv.action);\n\n const ref =\n typeof argv.branch === 'string'\n ? { refType: 'branch' as const, refValue: argv.branch }\n : typeof argv.tag === 'string'\n ? { refType: 'tag' as const, refValue: argv.tag }\n : typeof argv.rev === 'string'\n ? { refType: 'rev' as const, refValue: argv.rev }\n : undefined;\n\n switch (action) {\n case 'add':\n sink.set(\n this.factory.createRegistry('add', {\n cwd: process.cwd(),\n scope,\n output,\n name: typeof argv.name === 'string' ? argv.name : undefined,\n url: typeof argv.url === 'string' ? argv.url : undefined,\n refType: ref?.refType,\n refValue: ref?.refValue,\n }),\n );\n return;\n case 'remove':\n sink.set(\n this.factory.createRegistry('remove', {\n cwd: process.cwd(),\n scope,\n output,\n name: typeof argv.name === 'string' ? argv.name : undefined,\n }),\n );\n return;\n case 'list':\n sink.set(\n this.factory.createRegistry('list', {\n cwd: process.cwd(),\n scope,\n output,\n }),\n );\n return;\n case 'use':\n sink.set(\n this.factory.createRegistry('use', {\n cwd: process.cwd(),\n scope,\n output,\n name: typeof argv.name === 'string' ? argv.name : undefined,\n }),\n );\n return;\n case 'auth':\n sink.set(\n this.factory.createRegistry('auth', {\n cwd: process.cwd(),\n output,\n name: typeof argv.name === 'string' ? argv.name : undefined,\n }),\n );\n return;\n case 'refresh':\n sink.set(\n this.factory.createRegistry('refresh', {\n cwd: process.cwd(),\n output,\n name: typeof argv.name === 'string' ? argv.name : undefined,\n }),\n );\n return;\n default:\n throw new Error(`[uapkg] Unsupported registry action: ${action}`);\n }\n },\n );\n }\n}\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { createUAPKGCommandLineFactory } from "../../UAPKGCommandLine.js";
4
4
  var RemoveCommandModule = class {
5
5
  factory = createUAPKGCommandLineFactory();
6
6
  register(parser, sink) {
7
- return parser.command("remove <package>", "Remove a dependency from uapkg.json and reconcile the install tree", (builder) => builder.positional("package", {
7
+ return parser.command("remove <package>", "Remove a dependency from uapkg.json and update installed packages", (builder) => builder.positional("package", {
8
8
  type: "string",
9
9
  demandOption: true,
10
10
  describe: "Package name to remove"
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/RemoveCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '../../UAPKGCommandLine.js';\nimport type { CommandLineSink, UAPKGCommandModule } from '../contracts/UAPKGCommandModule.js';\n\nexport class RemoveCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink): Argv {\n return parser.command(\n 'remove <package>',\n 'Remove a dependency from uapkg.json and reconcile the install tree',\n (builder) =>\n builder\n .positional('package', { type: 'string', demandOption: true, describe: 'Package name to remove' })\n .option('json', { type: 'boolean', default: false, describe: 'Emit JSON on stdout' }),\n (argv) => {\n sink.set(\n this.factory.createRemove(String(argv.package), {\n cwd: process.cwd(),\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,sBAAb,MAA+D;CAC7D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAA6B;EAClD,OAAO,OAAO,QACZ,oBACA,uEACC,YACC,QACG,WAAW,WAAW;GAAE,MAAM;GAAU,cAAc;GAAM,UAAU;EAAyB,CAAC,CAAC,CACjG,OAAO,QAAQ;GAAE,MAAM;GAAW,SAAS;GAAO,UAAU;EAAsB,CAAC,IACvF,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,aAAa,OAAO,KAAK,OAAO,GAAG;IAC9C,KAAK,QAAQ,IAAI;IACjB,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF"}
1
+ {"version":3,"file":"RemoveCommandModule.js","names":[],"sources":["../../../../src/cli/parsing/modules/RemoveCommandModule.ts"],"sourcesContent":["import type { Argv } from 'yargs';\nimport { createUAPKGCommandLineFactory } from '#cli/cli/UAPKGCommandLine.ts';\nimport type { CommandLineSink, UAPKGCommandModule } from '#cli/cli/parsing/contracts/UAPKGCommandModule.ts';\n\nexport class RemoveCommandModule implements UAPKGCommandModule {\n private readonly factory = createUAPKGCommandLineFactory();\n\n register(parser: Argv, sink: CommandLineSink): Argv {\n return parser.command(\n 'remove <package>',\n 'Remove a dependency from uapkg.json and update installed packages',\n (builder) =>\n builder\n .positional('package', { type: 'string', demandOption: true, describe: 'Package name to remove' })\n .option('json', { type: 'boolean', default: false, describe: 'Emit JSON on stdout' }),\n (argv) => {\n sink.set(\n this.factory.createRemove(String(argv.package), {\n cwd: process.cwd(),\n outputFormat: argv.json ? 'json' : 'text',\n }),\n );\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,sBAAb,MAA+D;CAC7D,AAAiB,UAAU,8BAA8B;CAEzD,SAAS,QAAc,MAA6B;EAClD,OAAO,OAAO,QACZ,oBACA,sEACC,YACC,QACG,WAAW,WAAW;GAAE,MAAM;GAAU,cAAc;GAAM,UAAU;EAAyB,CAAC,CAAC,CACjG,OAAO,QAAQ;GAAE,MAAM;GAAW,SAAS;GAAO,UAAU;EAAsB,CAAC,IACvF,SAAS;GACR,KAAK,IACH,KAAK,QAAQ,aAAa,OAAO,KAAK,OAAO,GAAG;IAC9C,KAAK,QAAQ,IAAI;IACjB,cAAc,KAAK,OAAO,SAAS;GACrC,CAAC,CACH;EACF,CACF;CACF;AACF"}
@@ -38,7 +38,7 @@ var RequestsCommandModule = class {
38
38
  }).option("watch", {
39
39
  type: "boolean",
40
40
  default: false,
41
- describe: "Watch until the request reaches a terminal state"
41
+ describe: "Watch until the request is ready, rejected, or fails"
42
42
  }).option("json", {
43
43
  type: "boolean",
44
44
  default: false,