opkg 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +109 -186
- package/assets/openpackage_ascii_dark.png +0 -0
- package/assets/openpackage_ascii_light.png +0 -0
- package/dist/commands/add.js +34 -10
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/apply.js +16 -0
- package/dist/commands/apply.js.map +1 -0
- package/dist/commands/delete.js +1 -1
- package/dist/commands/delete.js.map +1 -1
- package/dist/commands/install.js +177 -8
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/list.js +2 -2
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/login.js +1 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.js +1 -1
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/new.js +125 -0
- package/dist/commands/new.js.map +1 -0
- package/dist/commands/pack.js +7 -13
- package/dist/commands/pack.js.map +1 -1
- package/dist/commands/pull.js +1 -1
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/push.js +1 -1
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/remove.js +63 -0
- package/dist/commands/remove.js.map +1 -0
- package/dist/commands/save.js +11 -17
- package/dist/commands/save.js.map +1 -1
- package/dist/commands/set.js +33 -0
- package/dist/commands/set.js.map +1 -0
- package/dist/commands/show.js +16 -94
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/status.js +26 -701
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/uninstall.js +14 -427
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/constants/index.js +72 -16
- package/dist/constants/index.js.map +1 -1
- package/dist/core/add/add-conflict-handler.js +1 -8
- package/dist/core/add/add-conflict-handler.js.map +1 -1
- package/dist/core/add/add-pipeline.js +12 -10
- package/dist/core/add/add-pipeline.js.map +1 -1
- package/dist/core/add/add-to-source-pipeline.js +123 -0
- package/dist/core/add/add-to-source-pipeline.js.map +1 -0
- package/dist/core/add/package-index-updater.js +77 -78
- package/dist/core/add/package-index-updater.js.map +1 -1
- package/dist/core/add/platform-path-transformer.js +6 -4
- package/dist/core/add/platform-path-transformer.js.map +1 -1
- package/dist/core/add/source-collector.js +2 -3
- package/dist/core/add/source-collector.js.map +1 -1
- package/dist/core/apply/apply-pipeline.js +110 -0
- package/dist/core/apply/apply-pipeline.js.map +1 -0
- package/dist/core/dependency-resolver.js +263 -21
- package/dist/core/dependency-resolver.js.map +1 -1
- package/dist/core/discovery/file-discovery.js +1 -2
- package/dist/core/discovery/file-discovery.js.map +1 -1
- package/dist/core/discovery/platform-files-discovery.js +33 -18
- package/dist/core/discovery/platform-files-discovery.js.map +1 -1
- package/dist/core/flows/flow-executor.js +974 -0
- package/dist/core/flows/flow-executor.js.map +1 -0
- package/dist/core/flows/flow-inverter.js +442 -0
- package/dist/core/flows/flow-inverter.js.map +1 -0
- package/dist/core/flows/flow-key-extractor.js +101 -0
- package/dist/core/flows/flow-key-extractor.js.map +1 -0
- package/dist/core/flows/flow-key-mapper.js +382 -0
- package/dist/core/flows/flow-key-mapper.js.map +1 -0
- package/dist/core/flows/flow-transforms.js +632 -0
- package/dist/core/flows/flow-transforms.js.map +1 -0
- package/dist/core/flows/map-pipeline/context.js +73 -0
- package/dist/core/flows/map-pipeline/context.js.map +1 -0
- package/dist/core/flows/map-pipeline/index.js +156 -0
- package/dist/core/flows/map-pipeline/index.js.map +1 -0
- package/dist/core/flows/map-pipeline/operations/copy.js +104 -0
- package/dist/core/flows/map-pipeline/operations/copy.js.map +1 -0
- package/dist/core/flows/map-pipeline/operations/pipe.js +70 -0
- package/dist/core/flows/map-pipeline/operations/pipe.js.map +1 -0
- package/dist/core/flows/map-pipeline/operations/rename.js +102 -0
- package/dist/core/flows/map-pipeline/operations/rename.js.map +1 -0
- package/dist/core/flows/map-pipeline/operations/set.js +50 -0
- package/dist/core/flows/map-pipeline/operations/set.js.map +1 -0
- package/dist/core/flows/map-pipeline/operations/switch.js +79 -0
- package/dist/core/flows/map-pipeline/operations/switch.js.map +1 -0
- package/dist/core/flows/map-pipeline/operations/transform.js +543 -0
- package/dist/core/flows/map-pipeline/operations/transform.js.map +1 -0
- package/dist/core/flows/map-pipeline/operations/unset.js +65 -0
- package/dist/core/flows/map-pipeline/operations/unset.js.map +1 -0
- package/dist/core/flows/map-pipeline/types.js +8 -0
- package/dist/core/flows/map-pipeline/types.js.map +1 -0
- package/dist/core/flows/map-pipeline/utils.js +278 -0
- package/dist/core/flows/map-pipeline/utils.js.map +1 -0
- package/dist/core/flows/platform-converter.js +328 -0
- package/dist/core/flows/platform-converter.js.map +1 -0
- package/dist/core/flows/source-resolver.js +192 -0
- package/dist/core/flows/source-resolver.js.map +1 -0
- package/dist/core/flows/toml-domain-transforms.js +23 -0
- package/dist/core/flows/toml-domain-transforms.js.map +1 -0
- package/dist/core/install/bulk-install-pipeline.js +68 -7
- package/dist/core/install/bulk-install-pipeline.js.map +1 -1
- package/dist/core/install/canonical-plan.js +3 -3
- package/dist/core/install/canonical-plan.js.map +1 -1
- package/dist/core/install/dry-run.js +3 -3
- package/dist/core/install/dry-run.js.map +1 -1
- package/dist/core/install/flow-based-installer.js +1158 -0
- package/dist/core/install/flow-based-installer.js.map +1 -0
- package/dist/core/install/flow-workspace-tracker.js +111 -0
- package/dist/core/install/flow-workspace-tracker.js.map +1 -0
- package/dist/core/install/format-detector.js +228 -0
- package/dist/core/install/format-detector.js.map +1 -0
- package/dist/core/install/git-package-loader.js +20 -0
- package/dist/core/install/git-package-loader.js.map +1 -0
- package/dist/core/install/install-errors.js +1 -1
- package/dist/core/install/install-errors.js.map +1 -1
- package/dist/core/install/install-flow.js +34 -14
- package/dist/core/install/install-flow.js.map +1 -1
- package/dist/core/install/install-pipeline.js +52 -17
- package/dist/core/install/install-pipeline.js.map +1 -1
- package/dist/core/install/install-reporting.js +26 -8
- package/dist/core/install/install-reporting.js.map +1 -1
- package/dist/core/install/local-source-resolution.js +103 -0
- package/dist/core/install/local-source-resolution.js.map +1 -0
- package/dist/core/install/marketplace-handler.js +221 -0
- package/dist/core/install/marketplace-handler.js.map +1 -0
- package/dist/core/install/path-install-pipeline.js +241 -0
- package/dist/core/install/path-install-pipeline.js.map +1 -0
- package/dist/core/install/path-package-loader.js +116 -0
- package/dist/core/install/path-package-loader.js.map +1 -0
- package/dist/core/install/plugin-detector.js +72 -0
- package/dist/core/install/plugin-detector.js.map +1 -0
- package/dist/core/install/plugin-to-universal-converter.js +218 -0
- package/dist/core/install/plugin-to-universal-converter.js.map +1 -0
- package/dist/core/install/plugin-transformer.js +191 -0
- package/dist/core/install/plugin-transformer.js.map +1 -0
- package/dist/core/install/version-selection.js +1 -1
- package/dist/core/install/version-selection.js.map +1 -1
- package/dist/core/openpackage.js +40 -22
- package/dist/core/openpackage.js.map +1 -1
- package/dist/core/pack/pack-output.js +62 -0
- package/dist/core/pack/pack-output.js.map +1 -0
- package/dist/core/pack/pack-pipeline.js +186 -0
- package/dist/core/pack/pack-pipeline.js.map +1 -0
- package/dist/core/package-context.js +45 -70
- package/dist/core/package-context.js.map +1 -1
- package/dist/core/package-creation.js +203 -0
- package/dist/core/package-creation.js.map +1 -0
- package/dist/core/package.js +20 -6
- package/dist/core/package.js.map +1 -1
- package/dist/core/platforms.js +665 -209
- package/dist/core/platforms.js.map +1 -1
- package/dist/core/push/push-context.js +1 -1
- package/dist/core/push/push-context.js.map +1 -1
- package/dist/core/push/push-upload.js +2 -2
- package/dist/core/push/push-upload.js.map +1 -1
- package/dist/core/registry.js +6 -6
- package/dist/core/registry.js.map +1 -1
- package/dist/core/remote-pull.js +2 -2
- package/dist/core/remote-pull.js.map +1 -1
- package/dist/core/remove/removal-collector.js +52 -0
- package/dist/core/remove/removal-collector.js.map +1 -0
- package/dist/core/remove/removal-confirmation.js +39 -0
- package/dist/core/remove/removal-confirmation.js.map +1 -0
- package/dist/core/remove/remove-from-source-pipeline.js +173 -0
- package/dist/core/remove/remove-from-source-pipeline.js.map +1 -0
- package/dist/core/save/constants.js +3 -3
- package/dist/core/save/constants.js.map +1 -1
- package/dist/core/save/flow-based-saver.js +270 -0
- package/dist/core/save/flow-based-saver.js.map +1 -0
- package/dist/core/save/name-resolution.js +1 -1
- package/dist/core/save/name-resolution.js.map +1 -1
- package/dist/core/save/package-yml-generator.js +4 -5
- package/dist/core/save/package-yml-generator.js.map +1 -1
- package/dist/core/save/save-candidate-builder.js +215 -0
- package/dist/core/save/save-candidate-builder.js.map +1 -0
- package/dist/core/save/save-candidate-loader.js +12 -11
- package/dist/core/save/save-candidate-loader.js.map +1 -1
- package/dist/core/save/save-conflict-analyzer.js +150 -0
- package/dist/core/save/save-conflict-analyzer.js.map +1 -0
- package/dist/core/save/save-conflict-resolution.js +28 -14
- package/dist/core/save/save-conflict-resolution.js.map +1 -1
- package/dist/core/save/save-conflict-resolver.js +31 -275
- package/dist/core/save/save-conflict-resolver.js.map +1 -1
- package/dist/core/save/save-group-builder.js +52 -0
- package/dist/core/save/save-group-builder.js.map +1 -0
- package/dist/core/save/save-interactive-resolver.js +190 -0
- package/dist/core/save/save-interactive-resolver.js.map +1 -0
- package/dist/core/save/save-pipeline.js +58 -34
- package/dist/core/save/save-pipeline.js.map +1 -1
- package/dist/core/save/save-platform-handler.js +53 -0
- package/dist/core/save/save-platform-handler.js.map +1 -0
- package/dist/core/save/save-resolution-executor.js +145 -0
- package/dist/core/save/save-resolution-executor.js.map +1 -0
- package/dist/core/save/save-result-reporter.js +167 -0
- package/dist/core/save/save-result-reporter.js.map +1 -0
- package/dist/core/save/save-to-source-pipeline.js +154 -0
- package/dist/core/save/save-to-source-pipeline.js.map +1 -0
- package/dist/core/save/save-versioning.js +4 -4
- package/dist/core/save/save-versioning.js.map +1 -1
- package/dist/core/save/save-write-coordinator.js +204 -0
- package/dist/core/save/save-write-coordinator.js.map +1 -0
- package/dist/core/save/save-yml-resolution.js +28 -216
- package/dist/core/save/save-yml-resolution.js.map +1 -1
- package/dist/core/save/workspace-rename.js +7 -8
- package/dist/core/save/workspace-rename.js.map +1 -1
- package/dist/core/set/set-output.js +72 -0
- package/dist/core/set/set-output.js.map +1 -0
- package/dist/core/set/set-pipeline.js +361 -0
- package/dist/core/set/set-pipeline.js.map +1 -0
- package/dist/core/set/set-types.js +5 -0
- package/dist/core/set/set-types.js.map +1 -0
- package/dist/core/show/package-resolver.js +257 -0
- package/dist/core/show/package-resolver.js.map +1 -0
- package/dist/core/show/scope-discovery.js +165 -0
- package/dist/core/show/scope-discovery.js.map +1 -0
- package/dist/core/show/show-output.js +168 -0
- package/dist/core/show/show-output.js.map +1 -0
- package/dist/core/show/show-pipeline.js +113 -0
- package/dist/core/show/show-pipeline.js.map +1 -0
- package/dist/core/show/show-types.js +5 -0
- package/dist/core/show/show-types.js.map +1 -0
- package/dist/core/source-resolution/dependency-graph.js +104 -0
- package/dist/core/source-resolution/dependency-graph.js.map +1 -0
- package/dist/core/source-resolution/resolve-mutable-source.js +109 -0
- package/dist/core/source-resolution/resolve-mutable-source.js.map +1 -0
- package/dist/core/source-resolution/resolve-package-source.js +29 -0
- package/dist/core/source-resolution/resolve-package-source.js.map +1 -0
- package/dist/core/source-resolution/resolve-registry-version.js +35 -0
- package/dist/core/source-resolution/resolve-registry-version.js.map +1 -0
- package/dist/core/source-resolution/types.js.map +1 -0
- package/dist/core/status/status-file-discovery.js +23 -12
- package/dist/core/status/status-file-discovery.js.map +1 -1
- package/dist/core/status/status-pipeline.js +134 -0
- package/dist/core/status/status-pipeline.js.map +1 -0
- package/dist/core/sync/platform-sync-summary.js +27 -0
- package/dist/core/sync/platform-sync-summary.js.map +1 -0
- package/dist/core/uninstall/flow-aware-uninstaller.js +189 -0
- package/dist/core/uninstall/flow-aware-uninstaller.js.map +1 -0
- package/dist/core/uninstall/uninstall-file-discovery.js +11 -6
- package/dist/core/uninstall/uninstall-file-discovery.js.map +1 -1
- package/dist/core/uninstall/uninstall-pipeline.js +141 -0
- package/dist/core/uninstall/uninstall-pipeline.js.map +1 -0
- package/dist/core/universal-patterns.js +64 -0
- package/dist/core/universal-patterns.js.map +1 -0
- package/dist/index.js +99 -6
- package/dist/index.js.map +1 -1
- package/dist/types/flows.js +8 -0
- package/dist/types/flows.js.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/platform-flows.js +8 -0
- package/dist/types/platform-flows.js.map +1 -0
- package/dist/types/workspace-index.js +6 -0
- package/dist/types/workspace-index.js.map +1 -0
- package/dist/utils/custom-path-resolution.js +160 -0
- package/dist/utils/custom-path-resolution.js.map +1 -0
- package/dist/utils/dependency-coverage.js +1 -1
- package/dist/utils/dependency-coverage.js.map +1 -1
- package/dist/utils/file-processing.js +1 -1
- package/dist/utils/flow-index-installer.js +209 -0
- package/dist/utils/flow-index-installer.js.map +1 -0
- package/dist/utils/formatters.js +47 -1
- package/dist/utils/formatters.js.map +1 -1
- package/dist/utils/fs.js +17 -0
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/git-clone-registry.js +88 -0
- package/dist/utils/git-clone-registry.js.map +1 -0
- package/dist/utils/git-clone.js +69 -0
- package/dist/utils/git-clone.js.map +1 -0
- package/dist/utils/git-spec.js +96 -0
- package/dist/utils/git-spec.js.map +1 -0
- package/dist/utils/http-client.js +7 -0
- package/dist/utils/http-client.js.map +1 -1
- package/dist/utils/index-based-installer.js +356 -163
- package/dist/utils/index-based-installer.js.map +1 -1
- package/dist/utils/install-conflict-handler.js +2 -2
- package/dist/utils/install-conflict-handler.js.map +1 -1
- package/dist/utils/install-file-discovery.js +18 -13
- package/dist/utils/install-file-discovery.js.map +1 -1
- package/dist/utils/install-helpers.js +43 -20
- package/dist/utils/install-helpers.js.map +1 -1
- package/dist/utils/jsonc.js +23 -1
- package/dist/utils/jsonc.js.map +1 -1
- package/dist/utils/manifest-paths.js +1 -1
- package/dist/utils/manifest-paths.js.map +1 -1
- package/dist/utils/markdown-frontmatter.js +46 -0
- package/dist/utils/markdown-frontmatter.js.map +1 -1
- package/dist/utils/package-copy.js +5 -103
- package/dist/utils/package-copy.js.map +1 -1
- package/dist/utils/package-filters.js +9 -105
- package/dist/utils/package-filters.js.map +1 -1
- package/dist/utils/package-index-yml.js +27 -6
- package/dist/utils/package-index-yml.js.map +1 -1
- package/dist/utils/package-input.js +98 -0
- package/dist/utils/package-input.js.map +1 -0
- package/dist/utils/package-management.js +80 -28
- package/dist/utils/package-management.js.map +1 -1
- package/dist/utils/package-name-resolution.js +327 -0
- package/dist/utils/package-name-resolution.js.map +1 -0
- package/dist/utils/package-name.js +18 -16
- package/dist/utils/package-name.js.map +1 -1
- package/dist/utils/package-versioning.js +2 -33
- package/dist/utils/package-versioning.js.map +1 -1
- package/dist/utils/package-yml.js +19 -28
- package/dist/utils/package-yml.js.map +1 -1
- package/dist/utils/path-resolution.js +102 -0
- package/dist/utils/path-resolution.js.map +1 -0
- package/dist/utils/paths.js +6 -6
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/platform-file.js +36 -24
- package/dist/utils/platform-file.js.map +1 -1
- package/dist/utils/platform-mapper.js +222 -68
- package/dist/utils/platform-mapper.js.map +1 -1
- package/dist/utils/platform-root-files.js +44 -0
- package/dist/utils/platform-root-files.js.map +1 -0
- package/dist/utils/platform-utils.js +35 -54
- package/dist/utils/platform-utils.js.map +1 -1
- package/dist/utils/platform-yaml-merge.js +20 -140
- package/dist/utils/platform-yaml-merge.js.map +1 -1
- package/dist/utils/prompts.js +92 -7
- package/dist/utils/prompts.js.map +1 -1
- package/dist/utils/registry-entry-filter.js +50 -27
- package/dist/utils/registry-entry-filter.js.map +1 -1
- package/dist/utils/registry-paths.js +5 -4
- package/dist/utils/registry-paths.js.map +1 -1
- package/dist/utils/scope-resolution.js +156 -0
- package/dist/utils/scope-resolution.js.map +1 -0
- package/dist/utils/source-mutability.js +15 -0
- package/dist/utils/source-mutability.js.map +1 -0
- package/dist/utils/tarball.js +29 -4
- package/dist/utils/tarball.js.map +1 -1
- package/dist/utils/version-ranges.js +1 -32
- package/dist/utils/version-ranges.js.map +1 -1
- package/dist/utils/workspace-index-helpers.js +28 -0
- package/dist/utils/workspace-index-helpers.js.map +1 -0
- package/dist/utils/workspace-index-ownership.js +100 -0
- package/dist/utils/workspace-index-ownership.js.map +1 -0
- package/dist/utils/workspace-index-yml.js +173 -0
- package/dist/utils/workspace-index-yml.js.map +1 -0
- package/examples/custom-subdirs-platform.jsonc +157 -0
- package/package.json +7 -2
- package/platforms.jsonc +531 -84
- package/schemas/map-pipeline-v1.json +256 -0
- package/schemas/platforms-v1.json +400 -0
- package/specs/README.md +88 -0
- package/specs/add/README.md +166 -0
- package/specs/agents-claude.md +570 -0
- package/specs/agents-opencode.md +622 -0
- package/specs/apply/README.md +21 -0
- package/specs/apply/apply-behavior.md +58 -0
- package/specs/apply/apply-command.md +51 -0
- package/specs/apply/conflicts.md +41 -0
- package/specs/apply/index-effects.md +81 -0
- package/specs/architecture.md +107 -0
- package/specs/auth/README.md +17 -0
- package/specs/auth/auth-http-contract.md +25 -0
- package/specs/auth/cli/credentials.md +39 -0
- package/specs/auth/cli/login.md +32 -0
- package/specs/auth/cli/logout.md +16 -0
- package/specs/claude-mcp.md +1065 -0
- package/specs/claude-plugins-marketplace.md +363 -0
- package/specs/claude-plugins.md +413 -0
- package/specs/cli-options.md +52 -0
- package/specs/codex-mcp.md +114 -0
- package/specs/commands-overview.md +175 -0
- package/specs/directory-layout.md +95 -0
- package/specs/install/README.md +12 -4
- package/specs/install/git-sources.md +230 -0
- package/specs/install/install-behavior.md +483 -73
- package/specs/install/package-yml-canonical.md +67 -35
- package/specs/install/version-resolution.md +69 -115
- package/specs/new/README.md +769 -0
- package/specs/new/SUMMARY.md +310 -0
- package/specs/new/scope-behavior.md +793 -0
- package/specs/pack/README.md +77 -0
- package/specs/pack/package-name-resolution.md +330 -0
- package/specs/package/README.md +18 -17
- package/specs/package/nested-packages-and-parent-packages.md +32 -31
- package/specs/package/package-index-yml.md +95 -101
- package/specs/package/package-root-layout.md +64 -46
- package/specs/package/registry-payload-and-copy.md +50 -44
- package/specs/package/universal-content.md +33 -56
- package/specs/package-sources.md +248 -0
- package/specs/platforms/README.md +52 -0
- package/specs/platforms/configuration.md +571 -0
- package/specs/platforms/detection.md +552 -0
- package/specs/platforms/directory-layout.md +599 -0
- package/specs/platforms/examples.md +1146 -0
- package/specs/platforms/flow-reference.md +1240 -0
- package/specs/platforms/flows.md +1488 -0
- package/specs/platforms/map-pipeline.md +801 -0
- package/specs/platforms/overview.md +349 -0
- package/specs/platforms/specification.md +700 -0
- package/specs/platforms/troubleshooting.md +697 -0
- package/specs/platforms/universal-converter.md +520 -0
- package/specs/push/README.md +1 -0
- package/specs/push/push-behavior.md +11 -3
- package/specs/push/push-remote-upload.md +1 -1
- package/specs/push/push-scoping.md +1 -1
- package/specs/push/push-version-selection.md +1 -1
- package/specs/registry.md +111 -0
- package/specs/remove/README.md +257 -0
- package/specs/save/README.md +21 -17
- package/specs/save/save-conflict-resolution.md +205 -83
- package/specs/save/save-file-discovery.md +6 -4
- package/specs/save/save-frontmatter-overrides.md +11 -15
- package/specs/save/save-modes-inputs.md +9 -39
- package/specs/save/save-naming-scoping.md +4 -4
- package/specs/save/save-package-detection.md +13 -13
- package/specs/save/save-registry-sync.md +16 -106
- package/specs/save/save-versioning.md +80 -0
- package/specs/scope-management.md +92 -0
- package/specs/set/README.md +520 -0
- package/specs/set/set-behavior.md +563 -0
- package/specs/show/README.md +483 -0
- package/specs/show/show-remote.md +494 -0
- package/specs/status/README.md +38 -0
- package/specs/uninstall/README.md +231 -0
- package/dist/commands/duplicate.js +0 -69
- package/dist/commands/duplicate.js.map +0 -1
- package/dist/commands/init.js +0 -117
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/prune.js +0 -357
- package/dist/commands/prune.js.map +0 -1
- package/dist/commands/tui.js +0 -61
- package/dist/commands/tui.js.map +0 -1
- package/dist/core/install/index.js +0 -3
- package/dist/core/install/index.js.map +0 -1
- package/dist/core/push/push-single-file.js +0 -56
- package/dist/core/push/push-single-file.js.map +0 -1
- package/dist/core/save/package-detection.js +0 -147
- package/dist/core/save/package-detection.js.map +0 -1
- package/dist/core/save/save-single-file.js +0 -124
- package/dist/core/save/save-single-file.js.map +0 -1
- package/dist/core/token-store.js +0 -73
- package/dist/core/token-store.js.map +0 -1
- package/dist/tui/app.js +0 -95
- package/dist/tui/app.js.map +0 -1
- package/dist/tui/components/package-list.js +0 -73
- package/dist/tui/components/package-list.js.map +0 -1
- package/dist/tui/controller.js +0 -365
- package/dist/tui/controller.js.map +0 -1
- package/dist/tui/index.js +0 -12
- package/dist/tui/index.js.map +0 -1
- package/dist/tui/services/file-index.js +0 -64
- package/dist/tui/services/file-index.js.map +0 -1
- package/dist/tui/services/packages.js +0 -18
- package/dist/tui/services/packages.js.map +0 -1
- package/dist/tui/services/save.js +0 -21
- package/dist/tui/services/save.js.map +0 -1
- package/dist/tui/state/app-state.js +0 -15
- package/dist/tui/state/app-state.js.map +0 -1
- package/dist/tui/state.js +0 -17
- package/dist/tui/state.js.map +0 -1
- package/dist/tui/types.js.map +0 -1
- package/dist/tui/views/add-file-modal.js +0 -129
- package/dist/tui/views/add-file-modal.js.map +0 -1
- package/dist/tui/views/file-preview.js +0 -44
- package/dist/tui/views/file-preview.js.map +0 -1
- package/dist/tui/views/list-packages.js +0 -73
- package/dist/tui/views/list-packages.js.map +0 -1
- package/dist/tui/views/main-menu.js +0 -29
- package/dist/tui/views/main-menu.js.map +0 -1
- package/dist/tui/views/manage-view.js +0 -81
- package/dist/tui/views/manage-view.js.map +0 -1
- package/dist/tui/views/package-hub.js +0 -120
- package/dist/tui/views/package-hub.js.map +0 -1
- package/dist/tui/views/placeholder.js +0 -24
- package/dist/tui/views/placeholder.js.map +0 -1
- package/dist/utils/bun-bootstrap.js +0 -72
- package/dist/utils/bun-bootstrap.js.map +0 -1
- package/dist/utils/entity-id.js +0 -19
- package/dist/utils/entity-id.js.map +0 -1
- package/dist/utils/package-local-files.js +0 -5
- package/dist/utils/package-local-files.js.map +0 -1
- package/dist/utils/path-matching.js +0 -74
- package/dist/utils/path-matching.js.map +0 -1
- package/dist/utils/root-file-operations.js +0 -39
- package/dist/utils/root-file-operations.js.map +0 -1
- package/dist/utils/root-file-transformer.js +0 -27
- package/dist/utils/root-file-transformer.js.map +0 -1
- package/dist/utils/yaml-frontmatter.js +0 -25
- package/dist/utils/yaml-frontmatter.js.map +0 -1
- package/specs/auth/auth-device-flow.md +0 -70
- package/specs/login/login-device-flow.md +0 -70
- package/specs/platforms.md +0 -193
- package/specs/save-pack-versioning.md +0 -224
- package/specs/save-pack.md +0 -68
- /package/dist/{tui → core/source-resolution}/types.js +0 -0
|
@@ -27,10 +27,10 @@ export async function ensureLocalOpenPackageStructure(cwd) {
|
|
|
27
27
|
]);
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
|
-
* Create a basic
|
|
30
|
+
* Create a basic openpackage.yml file for workspace if it doesn't exist
|
|
31
31
|
* Shared utility for both install and save commands
|
|
32
|
-
* @param force - If true, overwrite existing
|
|
33
|
-
* @returns the
|
|
32
|
+
* @param force - If true, overwrite existing openpackage.yml
|
|
33
|
+
* @returns the openpackage.yml if it was created, null if it already existed and force=false
|
|
34
34
|
*/
|
|
35
35
|
export async function createWorkspacePackageYml(cwd, force = false) {
|
|
36
36
|
await ensureLocalOpenPackageStructure(cwd);
|
|
@@ -43,20 +43,20 @@ export async function createWorkspacePackageYml(cwd, force = false) {
|
|
|
43
43
|
};
|
|
44
44
|
if (await exists(packageYmlPath)) {
|
|
45
45
|
if (!force) {
|
|
46
|
-
return null; //
|
|
46
|
+
return null; // openpackage.yml already exists, no need to create
|
|
47
47
|
}
|
|
48
48
|
await writePackageYml(packageYmlPath, basicPackageYml);
|
|
49
|
-
logger.info(`Overwrote basic
|
|
50
|
-
console.log(`📋 Overwrote basic
|
|
49
|
+
logger.info(`Overwrote basic openpackage.yml with name: ${projectName}`);
|
|
50
|
+
console.log(`📋 Overwrote basic openpackage.yml in .openpackage/ with name: ${projectName}`);
|
|
51
51
|
return basicPackageYml;
|
|
52
52
|
}
|
|
53
53
|
await writePackageYml(packageYmlPath, basicPackageYml);
|
|
54
|
-
logger.info(`Initialized workspace
|
|
55
|
-
console.log(`📋 Initialized workspace
|
|
54
|
+
logger.info(`Initialized workspace openpackage.yml`);
|
|
55
|
+
console.log(`📋 Initialized workspace openpackage.yml in .openpackage/`);
|
|
56
56
|
return basicPackageYml;
|
|
57
57
|
}
|
|
58
58
|
/**
|
|
59
|
-
* Ensure a
|
|
59
|
+
* Ensure a cached package directory and openpackage.yml exist, optionally prompting for details.
|
|
60
60
|
* This is for NESTED packages only. Root packages use different flow.
|
|
61
61
|
*/
|
|
62
62
|
export async function ensurePackageWithYml(cwd, packageName, options = {}) {
|
|
@@ -82,12 +82,12 @@ export async function ensurePackageWithYml(cwd, packageName, options = {}) {
|
|
|
82
82
|
name: normalizedName,
|
|
83
83
|
partial: true
|
|
84
84
|
};
|
|
85
|
-
logger.info(`Loaded
|
|
86
|
-
console.log(`✓ Loaded
|
|
85
|
+
logger.info(`Loaded openpackage.yml for '${normalizedName}' from local registry copy`);
|
|
86
|
+
console.log(`✓ Loaded openpackage.yml from local registry for ${normalizedName}`);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
catch (error) {
|
|
90
|
-
logger.debug('Unable to seed
|
|
90
|
+
logger.debug('Unable to seed openpackage.yml from registry; falling back to prompts', { normalizedName, error });
|
|
91
91
|
}
|
|
92
92
|
if (!packageConfig) {
|
|
93
93
|
if (options.interactive) {
|
|
@@ -105,12 +105,6 @@ export async function ensurePackageWithYml(cwd, packageName, options = {}) {
|
|
|
105
105
|
partial: true
|
|
106
106
|
};
|
|
107
107
|
}
|
|
108
|
-
if (!packageConfig.include || packageConfig.include.length === 0) {
|
|
109
|
-
packageConfig = {
|
|
110
|
-
...packageConfig,
|
|
111
|
-
include: ['**']
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
108
|
await writePackageYml(packageYmlPath, packageConfig);
|
|
115
109
|
logger.info(`Created new package '${packageConfig.name}${packageConfig.version ? `@${packageConfig.version}` : ''}' at ${relative(cwd, packageDir)}`);
|
|
116
110
|
}
|
|
@@ -128,14 +122,18 @@ export async function ensurePackageWithYml(cwd, packageName, options = {}) {
|
|
|
128
122
|
};
|
|
129
123
|
}
|
|
130
124
|
/**
|
|
131
|
-
* Add a package dependency to
|
|
125
|
+
* Add a package dependency to openpackage.yml with smart placement logic
|
|
132
126
|
* Shared utility for both install and save commands
|
|
133
127
|
*/
|
|
134
128
|
export async function addPackageToYml(cwd, packageName, packageVersion, isDev = false, originalVersion, // The original version/range that was requested
|
|
135
|
-
silent = false, include)
|
|
129
|
+
silent = false, include, path, // Path to local directory or tarball (for path-based dependencies)
|
|
130
|
+
git, // Git source url (mutually exclusive with path/version)
|
|
131
|
+
ref, // Git ref (branch/tag/sha)
|
|
132
|
+
subdirectory // Git subdirectory path (for plugins in marketplaces)
|
|
133
|
+
) {
|
|
136
134
|
const packageYmlPath = getLocalPackageYmlPath(cwd);
|
|
137
135
|
if (!(await exists(packageYmlPath))) {
|
|
138
|
-
return; // If no
|
|
136
|
+
return; // If no openpackage.yml exists, ignore this step
|
|
139
137
|
}
|
|
140
138
|
const config = await parsePackageYml(packageYmlPath);
|
|
141
139
|
if (!config.packages)
|
|
@@ -165,8 +163,8 @@ silent = false, include) {
|
|
|
165
163
|
? config[currentLocation][existingIndex]?.version
|
|
166
164
|
: undefined;
|
|
167
165
|
const shouldOmitVersion = isUnversionedVersion(packageVersion) || isUnversionedVersion(originalVersion);
|
|
168
|
-
let versionToWrite = shouldOmitVersion ? undefined : originalVersion;
|
|
169
|
-
if (!shouldOmitVersion && packageVersion) {
|
|
166
|
+
let versionToWrite = git ? undefined : shouldOmitVersion ? undefined : originalVersion;
|
|
167
|
+
if (!git && !shouldOmitVersion && packageVersion) {
|
|
170
168
|
const baseVersion = extractBaseVersion(packageVersion);
|
|
171
169
|
const defaultRange = createCaretRange(baseVersion);
|
|
172
170
|
versionToWrite = originalVersion ?? defaultRange;
|
|
@@ -214,7 +212,11 @@ silent = false, include) {
|
|
|
214
212
|
const dependency = {
|
|
215
213
|
name: normalizedPackageName,
|
|
216
214
|
...(versionToWrite ? { version: versionToWrite } : {}),
|
|
217
|
-
...(includeToWrite ? { include: includeToWrite } : {})
|
|
215
|
+
...(includeToWrite ? { include: includeToWrite } : {}),
|
|
216
|
+
...(path ? { path } : {}),
|
|
217
|
+
...(git ? { git } : {}),
|
|
218
|
+
...(ref ? { ref } : {}),
|
|
219
|
+
...(subdirectory ? { subdirectory } : {})
|
|
218
220
|
};
|
|
219
221
|
// Determine target location (packages vs dev-packages)
|
|
220
222
|
let targetArray;
|
|
@@ -246,7 +248,7 @@ silent = false, include) {
|
|
|
246
248
|
targetArrayRef[existingTargetIndex] = dependency;
|
|
247
249
|
if (!silent) {
|
|
248
250
|
logger.info(`Updated existing package dependency: ${nameWithVersion}`);
|
|
249
|
-
console.log(`✓ Updated ${nameWithVersion} in main
|
|
251
|
+
console.log(`✓ Updated ${nameWithVersion} in main openpackage.yml`);
|
|
250
252
|
}
|
|
251
253
|
}
|
|
252
254
|
}
|
|
@@ -254,7 +256,7 @@ silent = false, include) {
|
|
|
254
256
|
targetArrayRef.push(dependency);
|
|
255
257
|
if (!silent) {
|
|
256
258
|
logger.info(`Added new package dependency: ${nameWithVersion}`);
|
|
257
|
-
console.log(`✓ Added ${nameWithVersion} to main
|
|
259
|
+
console.log(`✓ Added ${nameWithVersion} to main openpackage.yml`);
|
|
258
260
|
}
|
|
259
261
|
}
|
|
260
262
|
await writePackageYml(packageYmlPath, config);
|
|
@@ -272,7 +274,7 @@ export async function writeLocalPackageFromRegistry(cwd, packageName, version) {
|
|
|
272
274
|
}
|
|
273
275
|
/**
|
|
274
276
|
* Copy a subset of package files from the local registry into the project cache (.openpackage/packages/<pkg>/),
|
|
275
|
-
* always including
|
|
277
|
+
* always including openpackage.yml. Used for partial installs.
|
|
276
278
|
*/
|
|
277
279
|
export async function writePartialLocalPackageFromRegistry(cwd, packageName, version, includePaths) {
|
|
278
280
|
const pkg = await packageManager.loadPackage(packageName, version);
|
|
@@ -293,7 +295,7 @@ export async function writePartialLocalPackageFromRegistry(cwd, packageName, ver
|
|
|
293
295
|
});
|
|
294
296
|
}
|
|
295
297
|
/**
|
|
296
|
-
* Update only the include list for an existing dependency in
|
|
298
|
+
* Update only the include list for an existing dependency in openpackage.yml.
|
|
297
299
|
* - include: string[] => set/dedupe
|
|
298
300
|
* - include: null => clear include field
|
|
299
301
|
* - include: undefined => no-op
|
|
@@ -320,6 +322,37 @@ export async function updatePackageDependencyInclude(cwd, packageName, target, i
|
|
|
320
322
|
}
|
|
321
323
|
await writePackageYml(packageYmlPath, config);
|
|
322
324
|
}
|
|
325
|
+
/**
|
|
326
|
+
* Remove a dependency entry from openpackage.yml (both packages and dev-packages).
|
|
327
|
+
*/
|
|
328
|
+
export async function removePackageFromOpenpackageYml(cwd, packageName) {
|
|
329
|
+
const packageYmlPath = getLocalPackageYmlPath(cwd);
|
|
330
|
+
if (!(await exists(packageYmlPath)))
|
|
331
|
+
return false;
|
|
332
|
+
try {
|
|
333
|
+
const config = await parsePackageYml(packageYmlPath);
|
|
334
|
+
const sections = [DEPENDENCY_ARRAYS.PACKAGES, DEPENDENCY_ARRAYS.DEV_PACKAGES];
|
|
335
|
+
let removed = false;
|
|
336
|
+
for (const section of sections) {
|
|
337
|
+
const arr = config[section];
|
|
338
|
+
if (!arr)
|
|
339
|
+
continue;
|
|
340
|
+
const next = arr.filter(dep => !arePackageNamesEquivalent(dep.name, packageName));
|
|
341
|
+
if (next.length !== arr.length) {
|
|
342
|
+
config[section] = next;
|
|
343
|
+
removed = true;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
if (removed) {
|
|
347
|
+
await writePackageYml(packageYmlPath, config);
|
|
348
|
+
}
|
|
349
|
+
return removed;
|
|
350
|
+
}
|
|
351
|
+
catch (error) {
|
|
352
|
+
logger.warn(`Failed to update openpackage.yml when removing ${packageName}: ${error}`);
|
|
353
|
+
return false;
|
|
354
|
+
}
|
|
355
|
+
}
|
|
323
356
|
function rangeIncludesVersion(range, version) {
|
|
324
357
|
if (!range || !version) {
|
|
325
358
|
return false;
|
|
@@ -331,4 +364,23 @@ function rangeIncludesVersion(range, version) {
|
|
|
331
364
|
return false;
|
|
332
365
|
}
|
|
333
366
|
}
|
|
367
|
+
/**
|
|
368
|
+
* Check if a package is a path-based dependency in the workspace openpackage.yml.
|
|
369
|
+
* Path-based dependencies should be skipped during save operations.
|
|
370
|
+
*/
|
|
371
|
+
export async function isPathBasedDependency(cwd, packageName) {
|
|
372
|
+
const packageYmlPath = getLocalPackageYmlPath(cwd);
|
|
373
|
+
if (!(await exists(packageYmlPath))) {
|
|
374
|
+
return false;
|
|
375
|
+
}
|
|
376
|
+
try {
|
|
377
|
+
const config = await parsePackageYml(packageYmlPath);
|
|
378
|
+
const allDeps = [...(config.packages || []), ...(config['dev-packages'] || [])];
|
|
379
|
+
const dep = allDeps.find(d => arePackageNamesEquivalent(d.name, packageName));
|
|
380
|
+
return Boolean(dep?.path);
|
|
381
|
+
}
|
|
382
|
+
catch {
|
|
383
|
+
return false;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
334
386
|
//# sourceMappingURL=package-management.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-management.js","sourceRoot":"","sources":["../../src/utils/package-management.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"package-management.js","sourceRoot":"","sources":["../../src/utils/package-management.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Shared package name resolution logic used by both install and pack commands.
|
|
3
|
+
*
|
|
4
|
+
* This module provides a unified way to resolve package names to file system paths by searching
|
|
5
|
+
* across multiple locations with configurable priorities:
|
|
6
|
+
*
|
|
7
|
+
* Search Locations (in order):
|
|
8
|
+
* 1. CWD (current working directory) - if checkCwd=true
|
|
9
|
+
* 2. Workspace packages (.openpackage/packages/) - if searchWorkspace=true
|
|
10
|
+
* 3. Global packages (~/.openpackage/packages/) - if searchGlobal=true
|
|
11
|
+
* 4. Local registry (~/.openpackage/registry/) - if searchRegistry=true
|
|
12
|
+
*
|
|
13
|
+
* Priority Rules:
|
|
14
|
+
* - CWD always wins if name matches and checkCwd=true (pack behavior)
|
|
15
|
+
* - Workspace always wins among remaining sources (both install and pack)
|
|
16
|
+
* - Between global and registry: highest version wins
|
|
17
|
+
* - Tie-breaker: prefer global (mutable) over registry (immutable) on same version
|
|
18
|
+
*
|
|
19
|
+
* Usage Examples:
|
|
20
|
+
*
|
|
21
|
+
* ```typescript
|
|
22
|
+
* // Pack command - prioritize CWD, skip registry (already immutable)
|
|
23
|
+
* const packResult = await resolvePackageByName({
|
|
24
|
+
* cwd: process.cwd(),
|
|
25
|
+
* packageName: 'my-package',
|
|
26
|
+
* checkCwd: true, // Check CWD first (highest priority)
|
|
27
|
+
* searchWorkspace: true, // Then workspace packages
|
|
28
|
+
* searchGlobal: true, // Then global packages
|
|
29
|
+
* searchRegistry: false // Skip registry (already packed)
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* // Install command - search all sources including registry
|
|
33
|
+
* const installResult = await resolvePackageByName({
|
|
34
|
+
* cwd: process.cwd(),
|
|
35
|
+
* packageName: 'my-package',
|
|
36
|
+
* checkCwd: false, // Don't prioritize CWD
|
|
37
|
+
* searchWorkspace: true, // Check workspace packages
|
|
38
|
+
* searchGlobal: true, // Check global packages
|
|
39
|
+
* searchRegistry: true // Check registry (install needs this)
|
|
40
|
+
* });
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
import { join } from 'path';
|
|
44
|
+
import * as semver from 'semver';
|
|
45
|
+
import { DIR_PATTERNS, OPENPACKAGE_DIRS, UNVERSIONED } from '../constants/index.js';
|
|
46
|
+
import { isValidPackageDirectory, loadPackageConfig } from '../core/package-context.js';
|
|
47
|
+
import { getOpenPackageDirectories, listPackageVersions, getPackageVersionPath } from '../core/directory.js';
|
|
48
|
+
import { normalizePackageName, SCOPED_PACKAGE_REGEX } from './package-name.js';
|
|
49
|
+
import { logger } from './logger.js';
|
|
50
|
+
/**
|
|
51
|
+
* Helper to construct scoped package paths (@scope/name)
|
|
52
|
+
*/
|
|
53
|
+
function getScopedPackagePath(baseDir, packageName) {
|
|
54
|
+
const scopedMatch = packageName.match(SCOPED_PACKAGE_REGEX);
|
|
55
|
+
if (scopedMatch) {
|
|
56
|
+
const [, scope, localName] = scopedMatch;
|
|
57
|
+
return join(baseDir, '@' + scope, localName);
|
|
58
|
+
}
|
|
59
|
+
return join(baseDir, packageName);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Check if CWD is a valid package directory with matching name
|
|
63
|
+
*/
|
|
64
|
+
async function checkCwdPackage(cwd, packageName) {
|
|
65
|
+
if (!await isValidPackageDirectory(cwd)) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
const manifest = await loadPackageConfig(cwd);
|
|
69
|
+
if (!manifest) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
// Check if name matches (case-insensitive)
|
|
73
|
+
const normalizedCwdName = normalizePackageName(manifest.name);
|
|
74
|
+
const normalizedTargetName = normalizePackageName(packageName);
|
|
75
|
+
if (normalizedCwdName !== normalizedTargetName) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
logger.debug('Found package in CWD', { packageName, path: cwd, version: manifest.version });
|
|
79
|
+
return {
|
|
80
|
+
path: cwd,
|
|
81
|
+
version: manifest.version || UNVERSIONED,
|
|
82
|
+
type: 'cwd',
|
|
83
|
+
packageName: normalizedCwdName
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Check workspace packages directory
|
|
88
|
+
*/
|
|
89
|
+
async function checkWorkspacePackage(cwd, packageName) {
|
|
90
|
+
const normalizedName = normalizePackageName(packageName);
|
|
91
|
+
const localPath = getScopedPackagePath(join(cwd, DIR_PATTERNS.OPENPACKAGE, OPENPACKAGE_DIRS.PACKAGES), normalizedName);
|
|
92
|
+
if (!await isValidPackageDirectory(localPath)) {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
const manifest = await loadPackageConfig(localPath);
|
|
96
|
+
logger.debug('Found package in workspace', { packageName, path: localPath, version: manifest?.version });
|
|
97
|
+
return {
|
|
98
|
+
path: localPath,
|
|
99
|
+
version: manifest?.version || UNVERSIONED,
|
|
100
|
+
type: 'workspace',
|
|
101
|
+
packageName: normalizedName
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Check global packages directory
|
|
106
|
+
*/
|
|
107
|
+
async function checkGlobalPackage(packageName) {
|
|
108
|
+
const normalizedName = normalizePackageName(packageName);
|
|
109
|
+
const dirs = getOpenPackageDirectories();
|
|
110
|
+
const globalPath = getScopedPackagePath(join(dirs.data, OPENPACKAGE_DIRS.PACKAGES), normalizedName);
|
|
111
|
+
if (!await isValidPackageDirectory(globalPath)) {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
const manifest = await loadPackageConfig(globalPath);
|
|
116
|
+
logger.debug('Found package in global packages', {
|
|
117
|
+
packageName,
|
|
118
|
+
path: globalPath,
|
|
119
|
+
version: manifest?.version
|
|
120
|
+
});
|
|
121
|
+
return {
|
|
122
|
+
path: globalPath,
|
|
123
|
+
version: manifest?.version || UNVERSIONED,
|
|
124
|
+
type: 'global',
|
|
125
|
+
packageName: normalizedName
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
logger.warn('Failed to load global package manifest', { packageName, path: globalPath, error });
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Check local registry (get latest version)
|
|
135
|
+
*/
|
|
136
|
+
async function checkRegistryPackage(packageName) {
|
|
137
|
+
const normalizedName = normalizePackageName(packageName);
|
|
138
|
+
try {
|
|
139
|
+
const registryVersions = await listPackageVersions(normalizedName);
|
|
140
|
+
if (registryVersions.length === 0) {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
const latestVersion = registryVersions[0]; // Already sorted desc
|
|
144
|
+
const registryPath = getPackageVersionPath(normalizedName, latestVersion);
|
|
145
|
+
logger.debug('Found package in registry', {
|
|
146
|
+
packageName,
|
|
147
|
+
path: registryPath,
|
|
148
|
+
version: latestVersion
|
|
149
|
+
});
|
|
150
|
+
return {
|
|
151
|
+
path: registryPath,
|
|
152
|
+
version: latestVersion,
|
|
153
|
+
type: 'registry',
|
|
154
|
+
packageName: normalizedName
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
logger.debug('No registry versions found', { packageName });
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Select the best candidate from multiple package sources
|
|
164
|
+
* Priority rules:
|
|
165
|
+
* 1. CWD always wins (if checked and found)
|
|
166
|
+
* 2. Workspace always wins (among non-CWD)
|
|
167
|
+
* 3. Highest version between global and registry
|
|
168
|
+
* 4. Tie-breaker: prefer global (mutable) over registry (immutable)
|
|
169
|
+
*/
|
|
170
|
+
function selectBestCandidate(candidates) {
|
|
171
|
+
if (candidates.length === 0) {
|
|
172
|
+
throw new Error('selectBestCandidate called with empty candidates array');
|
|
173
|
+
}
|
|
174
|
+
if (candidates.length === 1) {
|
|
175
|
+
return candidates[0];
|
|
176
|
+
}
|
|
177
|
+
// CWD always wins if present
|
|
178
|
+
const cwdCandidate = candidates.find(c => c.type === 'cwd');
|
|
179
|
+
if (cwdCandidate) {
|
|
180
|
+
return cwdCandidate;
|
|
181
|
+
}
|
|
182
|
+
// Workspace always wins (among non-CWD)
|
|
183
|
+
const workspaceCandidate = candidates.find(c => c.type === 'workspace');
|
|
184
|
+
if (workspaceCandidate) {
|
|
185
|
+
return workspaceCandidate;
|
|
186
|
+
}
|
|
187
|
+
// Now we only have global and/or registry candidates
|
|
188
|
+
// Handle unversioned packages
|
|
189
|
+
const hasUnversioned = candidates.some(c => c.version === UNVERSIONED);
|
|
190
|
+
if (hasUnversioned) {
|
|
191
|
+
// Prefer versioned over unversioned
|
|
192
|
+
const versioned = candidates.filter(c => c.version !== UNVERSIONED);
|
|
193
|
+
if (versioned.length > 0) {
|
|
194
|
+
// Return highest versioned
|
|
195
|
+
versioned.sort((a, b) => semver.compare(b.version, a.version));
|
|
196
|
+
return versioned[0];
|
|
197
|
+
}
|
|
198
|
+
// All unversioned - prefer global
|
|
199
|
+
const global = candidates.find(c => c.type === 'global');
|
|
200
|
+
return global || candidates[0];
|
|
201
|
+
}
|
|
202
|
+
// Sort by version (highest first), prefer global on tie
|
|
203
|
+
const sorted = [...candidates].sort((a, b) => {
|
|
204
|
+
const versionCompare = semver.compare(b.version, a.version);
|
|
205
|
+
if (versionCompare !== 0)
|
|
206
|
+
return versionCompare;
|
|
207
|
+
// Tie-breaker: same version, prefer global (mutable)
|
|
208
|
+
if (a.type === 'global' && b.type === 'registry')
|
|
209
|
+
return -1;
|
|
210
|
+
if (a.type === 'registry' && b.type === 'global')
|
|
211
|
+
return 1;
|
|
212
|
+
return 0;
|
|
213
|
+
});
|
|
214
|
+
return sorted[0];
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Determine the reason why a particular candidate was selected
|
|
218
|
+
*/
|
|
219
|
+
function determineSelectionReason(candidates, selected) {
|
|
220
|
+
if (candidates.length === 1) {
|
|
221
|
+
return 'only-source';
|
|
222
|
+
}
|
|
223
|
+
if (selected.type === 'cwd') {
|
|
224
|
+
return 'cwd-match';
|
|
225
|
+
}
|
|
226
|
+
if (selected.type === 'workspace') {
|
|
227
|
+
return 'workspace-override';
|
|
228
|
+
}
|
|
229
|
+
// Compare with other candidates (global vs registry)
|
|
230
|
+
const other = candidates.find(c => c !== selected && c.type !== 'workspace' && c.type !== 'cwd');
|
|
231
|
+
if (!other) {
|
|
232
|
+
return 'only-source';
|
|
233
|
+
}
|
|
234
|
+
// Handle unversioned comparisons
|
|
235
|
+
if (selected.version === UNVERSIONED || other.version === UNVERSIONED) {
|
|
236
|
+
return 'newer-version';
|
|
237
|
+
}
|
|
238
|
+
const versionCompare = semver.compare(selected.version, other.version);
|
|
239
|
+
if (versionCompare > 0) {
|
|
240
|
+
return 'newer-version';
|
|
241
|
+
}
|
|
242
|
+
else if (versionCompare === 0) {
|
|
243
|
+
return 'same-version-prefer-mutable';
|
|
244
|
+
}
|
|
245
|
+
// Shouldn't reach here since we select highest
|
|
246
|
+
return 'newer-version';
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Resolve a package name to a file system path.
|
|
250
|
+
*
|
|
251
|
+
* This function searches for packages in various locations based on the provided options:
|
|
252
|
+
* - CWD (current working directory) - if checkCwd is true
|
|
253
|
+
* - Workspace packages (.openpackage/packages/)
|
|
254
|
+
* - Global packages (~/.openpackage/packages/)
|
|
255
|
+
* - Local registry (~/.openpackage/registry/)
|
|
256
|
+
*
|
|
257
|
+
* Priority order:
|
|
258
|
+
* 1. CWD (if name matches and checkCwd=true) - highest priority for pack
|
|
259
|
+
* 2. Workspace packages - always wins among remaining sources
|
|
260
|
+
* 3. Global vs Registry - version comparison, prefer higher version
|
|
261
|
+
* 4. Tie-breaker - same version prefers global (mutable)
|
|
262
|
+
*
|
|
263
|
+
* @param options - Resolution options
|
|
264
|
+
* @returns Resolution result with path and metadata
|
|
265
|
+
*/
|
|
266
|
+
export async function resolvePackageByName(options) {
|
|
267
|
+
const { cwd, packageName, checkCwd = false, searchWorkspace = true, searchGlobal = true, searchRegistry = true } = options;
|
|
268
|
+
const candidates = [];
|
|
269
|
+
// 1. Check CWD (highest priority for pack)
|
|
270
|
+
if (checkCwd) {
|
|
271
|
+
const cwdCandidate = await checkCwdPackage(cwd, packageName);
|
|
272
|
+
if (cwdCandidate) {
|
|
273
|
+
candidates.push(cwdCandidate);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
// 2. Check workspace packages
|
|
277
|
+
if (searchWorkspace) {
|
|
278
|
+
const workspaceCandidate = await checkWorkspacePackage(cwd, packageName);
|
|
279
|
+
if (workspaceCandidate) {
|
|
280
|
+
candidates.push(workspaceCandidate);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
// 3. Check global packages
|
|
284
|
+
if (searchGlobal) {
|
|
285
|
+
const globalCandidate = await checkGlobalPackage(packageName);
|
|
286
|
+
if (globalCandidate) {
|
|
287
|
+
candidates.push(globalCandidate);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
// 4. Check local registry
|
|
291
|
+
if (searchRegistry) {
|
|
292
|
+
const registryCandidate = await checkRegistryPackage(packageName);
|
|
293
|
+
if (registryCandidate) {
|
|
294
|
+
candidates.push(registryCandidate);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
// No candidates found
|
|
298
|
+
if (candidates.length === 0) {
|
|
299
|
+
logger.debug('No package found in any location', { packageName, options });
|
|
300
|
+
return { found: false };
|
|
301
|
+
}
|
|
302
|
+
// Select best candidate
|
|
303
|
+
const selected = selectBestCandidate(candidates);
|
|
304
|
+
const reason = determineSelectionReason(candidates, selected);
|
|
305
|
+
logger.info('Resolved package name', {
|
|
306
|
+
packageName,
|
|
307
|
+
selected: {
|
|
308
|
+
type: selected.type,
|
|
309
|
+
version: selected.version,
|
|
310
|
+
path: selected.path
|
|
311
|
+
},
|
|
312
|
+
candidateCount: candidates.length,
|
|
313
|
+
reason
|
|
314
|
+
});
|
|
315
|
+
return {
|
|
316
|
+
found: true,
|
|
317
|
+
path: selected.path,
|
|
318
|
+
version: selected.version,
|
|
319
|
+
sourceType: selected.type,
|
|
320
|
+
resolutionInfo: {
|
|
321
|
+
candidates,
|
|
322
|
+
selected,
|
|
323
|
+
reason
|
|
324
|
+
}
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
//# sourceMappingURL=package-name-resolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-name-resolution.js","sourceRoot":"","sources":["../../src/utils/package-name-resolution.ts"],"names":[],"mappings":"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"}
|