create-relkit 0.6.0 → 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/dist/add-name.d.ts +8 -1
- package/dist/add-name.d.ts.map +1 -1
- package/dist/add-name.js +5 -1
- package/dist/add-name.js.map +1 -1
- package/dist/add-options-parser.d.ts +49 -0
- package/dist/add-options-parser.d.ts.map +1 -1
- package/dist/add-options-parser.js +52 -0
- package/dist/add-options-parser.js.map +1 -1
- package/dist/add-options-resource.d.ts +8 -0
- package/dist/add-options-resource.d.ts.map +1 -1
- package/dist/add-options-resource.js +8 -0
- package/dist/add-options-resource.js.map +1 -1
- package/dist/add-options.d.ts +6 -1
- package/dist/add-options.d.ts.map +1 -1
- package/dist/add-options.js +48 -1
- package/dist/add-options.js.map +1 -1
- package/dist/add-output.d.ts +10 -0
- package/dist/add-output.d.ts.map +1 -1
- package/dist/add-output.js +21 -0
- package/dist/add-output.js.map +1 -1
- package/dist/add-plan.d.ts +25 -0
- package/dist/add-plan.d.ts.map +1 -1
- package/dist/add-plan.js +91 -57
- package/dist/add-plan.js.map +1 -1
- package/dist/add-plan.types.d.ts +13 -0
- package/dist/add-plan.types.d.ts.map +1 -0
- package/dist/add-plan.types.js +2 -0
- package/dist/add-plan.types.js.map +1 -0
- package/dist/add-resolution-discovery.d.ts +56 -2
- package/dist/add-resolution-discovery.d.ts.map +1 -1
- package/dist/add-resolution-discovery.js +74 -10
- package/dist/add-resolution-discovery.js.map +1 -1
- package/dist/add-resolution-prompt.d.ts +46 -0
- package/dist/add-resolution-prompt.d.ts.map +1 -0
- package/dist/add-resolution-prompt.js +88 -0
- package/dist/add-resolution-prompt.js.map +1 -0
- package/dist/add-resolution-state-base.d.ts +112 -0
- package/dist/add-resolution-state-base.d.ts.map +1 -0
- package/dist/add-resolution-state-base.js +141 -0
- package/dist/add-resolution-state-base.js.map +1 -0
- package/dist/add-resolution-state.d.ts +66 -11
- package/dist/add-resolution-state.d.ts.map +1 -1
- package/dist/add-resolution-state.js +81 -69
- package/dist/add-resolution-state.js.map +1 -1
- package/dist/add-resolution-state.types.d.ts +6 -0
- package/dist/add-resolution-state.types.d.ts.map +1 -0
- package/dist/add-resolution-state.types.js +2 -0
- package/dist/add-resolution-state.types.js.map +1 -0
- package/dist/add-resolver-domain-execution.d.ts +35 -0
- package/dist/add-resolver-domain-execution.d.ts.map +1 -0
- package/dist/add-resolver-domain-execution.js +101 -0
- package/dist/add-resolver-domain-execution.js.map +1 -0
- package/dist/add-resolver-domain-input.d.ts +30 -0
- package/dist/add-resolver-domain-input.d.ts.map +1 -0
- package/dist/add-resolver-domain-input.js +83 -0
- package/dist/add-resolver-domain-input.js.map +1 -0
- package/dist/add-resolver-domain.d.ts +17 -0
- package/dist/add-resolver-domain.d.ts.map +1 -1
- package/dist/add-resolver-domain.js +36 -136
- package/dist/add-resolver-domain.js.map +1 -1
- package/dist/add-resolver-platform.d.ts +17 -0
- package/dist/add-resolver-platform.d.ts.map +1 -1
- package/dist/add-resolver-platform.js +83 -36
- package/dist/add-resolver-platform.js.map +1 -1
- package/dist/add-resolver-provider.d.ts +15 -0
- package/dist/add-resolver-provider.d.ts.map +1 -0
- package/dist/add-resolver-provider.js +67 -0
- package/dist/add-resolver-provider.js.map +1 -0
- package/dist/add-resolver-resources.d.ts +17 -0
- package/dist/add-resolver-resources.d.ts.map +1 -1
- package/dist/add-resolver-resources.js +79 -85
- package/dist/add-resolver-resources.js.map +1 -1
- package/dist/add-resolver.d.ts +33 -9
- package/dist/add-resolver.d.ts.map +1 -1
- package/dist/add-resolver.js +70 -31
- package/dist/add-resolver.js.map +1 -1
- package/dist/add-resolver.types.d.ts +27 -0
- package/dist/add-resolver.types.d.ts.map +1 -0
- package/dist/add-resolver.types.js +2 -0
- package/dist/add-resolver.types.js.map +1 -0
- package/dist/add-transaction-files-compat.d.ts +33 -0
- package/dist/add-transaction-files-compat.d.ts.map +1 -0
- package/dist/add-transaction-files-compat.js +42 -0
- package/dist/add-transaction-files-compat.js.map +1 -0
- package/dist/add-transaction-files.d.ts +49 -9
- package/dist/add-transaction-files.d.ts.map +1 -1
- package/dist/add-transaction-files.js +122 -74
- package/dist/add-transaction-files.js.map +1 -1
- package/dist/add-transaction-files.types.d.ts +7 -0
- package/dist/add-transaction-files.types.d.ts.map +1 -0
- package/dist/add-transaction-files.types.js +2 -0
- package/dist/add-transaction-files.types.js.map +1 -0
- package/dist/add-transaction-process.d.ts +37 -0
- package/dist/add-transaction-process.d.ts.map +1 -0
- package/dist/add-transaction-process.js +54 -0
- package/dist/add-transaction-process.js.map +1 -0
- package/dist/add-transaction-workflow.d.ts +23 -0
- package/dist/add-transaction-workflow.d.ts.map +1 -0
- package/dist/add-transaction-workflow.js +77 -0
- package/dist/add-transaction-workflow.js.map +1 -0
- package/dist/add-transaction.d.ts +26 -13
- package/dist/add-transaction.d.ts.map +1 -1
- package/dist/add-transaction.js +55 -105
- package/dist/add-transaction.js.map +1 -1
- package/dist/add-transaction.types.d.ts +32 -0
- package/dist/add-transaction.types.d.ts.map +1 -0
- package/dist/add-transaction.types.js +2 -0
- package/dist/add-transaction.types.js.map +1 -0
- package/dist/add-types.d.ts +56 -0
- package/dist/add-types.d.ts.map +1 -1
- package/dist/add-types.js +15 -0
- package/dist/add-types.js.map +1 -1
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +83 -0
- package/dist/bin.js.map +1 -0
- package/dist/bucket-profiles.d.ts +17 -3
- package/dist/bucket-profiles.d.ts.map +1 -1
- package/dist/bucket-profiles.js +27 -5
- package/dist/bucket-profiles.js.map +1 -1
- package/dist/bucket-profiles.types.d.ts +9 -0
- package/dist/bucket-profiles.types.d.ts.map +1 -0
- package/dist/bucket-profiles.types.js +2 -0
- package/dist/bucket-profiles.types.js.map +1 -0
- package/dist/build-catalog.d.ts +14 -0
- package/dist/build-catalog.d.ts.map +1 -0
- package/dist/build-catalog.js +70 -0
- package/dist/build-catalog.js.map +1 -0
- package/dist/catalog-resolution.d.ts +12 -0
- package/dist/catalog-resolution.d.ts.map +1 -0
- package/dist/catalog-resolution.js +43 -0
- package/dist/catalog-resolution.js.map +1 -0
- package/dist/catalog-resolution.types.d.ts +3 -0
- package/dist/catalog-resolution.types.d.ts.map +1 -0
- package/dist/catalog-resolution.types.js +2 -0
- package/dist/catalog-resolution.types.js.map +1 -0
- package/dist/create-preview.d.ts +30 -7
- package/dist/create-preview.d.ts.map +1 -1
- package/dist/create-preview.js +41 -11
- package/dist/create-preview.js.map +1 -1
- package/dist/create-preview.types.d.ts +9 -0
- package/dist/create-preview.types.d.ts.map +1 -0
- package/dist/create-preview.types.js +2 -0
- package/dist/create-preview.types.js.map +1 -0
- package/dist/create-resolver.d.ts +27 -10
- package/dist/create-resolver.d.ts.map +1 -1
- package/dist/create-resolver.js +105 -74
- package/dist/create-resolver.js.map +1 -1
- package/dist/create-resolver.types.d.ts +15 -0
- package/dist/create-resolver.types.d.ts.map +1 -0
- package/dist/create-resolver.types.js +2 -0
- package/dist/create-resolver.types.js.map +1 -0
- package/dist/dependency-patch-installation.d.ts +16 -0
- package/dist/dependency-patch-installation.d.ts.map +1 -0
- package/dist/dependency-patch-installation.js +59 -0
- package/dist/dependency-patch-installation.js.map +1 -0
- package/dist/dependency-patches.d.ts +57 -0
- package/dist/dependency-patches.d.ts.map +1 -0
- package/dist/dependency-patches.js +134 -0
- package/dist/dependency-patches.js.map +1 -0
- package/dist/dependency-patches.types.d.ts +21 -0
- package/dist/dependency-patches.types.d.ts.map +1 -0
- package/dist/dependency-patches.types.js +2 -0
- package/dist/dependency-patches.types.js.map +1 -0
- package/dist/domain-artifact.d.ts +76 -0
- package/dist/domain-artifact.d.ts.map +1 -0
- package/dist/domain-artifact.js +115 -0
- package/dist/domain-artifact.js.map +1 -0
- package/dist/domain-planning.d.ts +36 -20
- package/dist/domain-planning.d.ts.map +1 -1
- package/dist/domain-planning.js +45 -55
- package/dist/domain-planning.js.map +1 -1
- package/dist/domain-planning.types.d.ts +21 -0
- package/dist/domain-planning.types.d.ts.map +1 -0
- package/dist/domain-planning.types.js +2 -0
- package/dist/domain-planning.types.js.map +1 -0
- package/dist/generate-deployment.d.ts +18 -0
- package/dist/generate-deployment.d.ts.map +1 -0
- package/dist/generate-deployment.js +100 -0
- package/dist/generate-deployment.js.map +1 -0
- package/dist/generate-files-compat.d.ts +43 -0
- package/dist/generate-files-compat.d.ts.map +1 -0
- package/dist/generate-files-compat.js +56 -0
- package/dist/generate-files-compat.js.map +1 -0
- package/dist/generate-files-utilities.d.ts +63 -10
- package/dist/generate-files-utilities.d.ts.map +1 -1
- package/dist/generate-files-utilities.js +99 -48
- package/dist/generate-files-utilities.js.map +1 -1
- package/dist/generate-files-utilities.types.d.ts +6 -0
- package/dist/generate-files-utilities.types.d.ts.map +1 -0
- package/dist/generate-files-utilities.types.js +2 -0
- package/dist/generate-files-utilities.types.js.map +1 -0
- package/dist/generate-files.d.ts +30 -1
- package/dist/generate-files.d.ts.map +1 -1
- package/dist/generate-files.js +56 -85
- package/dist/generate-files.js.map +1 -1
- package/dist/generate-output.d.ts +14 -17
- package/dist/generate-output.d.ts.map +1 -1
- package/dist/generate-output.js +27 -0
- package/dist/generate-output.js.map +1 -1
- package/dist/generate-output.types.d.ts +21 -0
- package/dist/generate-output.types.d.ts.map +1 -0
- package/dist/generate-output.types.js +2 -0
- package/dist/generate-output.types.js.map +1 -0
- package/dist/generate-process.d.ts +60 -0
- package/dist/generate-process.d.ts.map +1 -1
- package/dist/generate-process.js +95 -31
- package/dist/generate-process.js.map +1 -1
- package/dist/generate-stage-cleanup.d.ts +17 -0
- package/dist/generate-stage-cleanup.d.ts.map +1 -0
- package/dist/generate-stage-cleanup.js +30 -0
- package/dist/generate-stage-cleanup.js.map +1 -0
- package/dist/generate-types.d.ts +36 -0
- package/dist/generate-types.d.ts.map +1 -1
- package/dist/generate-types.js +16 -0
- package/dist/generate-types.js.map +1 -1
- package/dist/generate-workflow.d.ts +31 -0
- package/dist/generate-workflow.d.ts.map +1 -0
- package/dist/generate-workflow.js +117 -0
- package/dist/generate-workflow.js.map +1 -0
- package/dist/generate.d.ts +29 -1
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +55 -97
- package/dist/generate.js.map +1 -1
- package/dist/generate.service.types.d.ts +15 -0
- package/dist/generate.service.types.d.ts.map +1 -0
- package/dist/generate.service.types.js +2 -0
- package/dist/generate.service.types.js.map +1 -0
- package/dist/generator-cleanup.d.ts +27 -0
- package/dist/generator-cleanup.d.ts.map +1 -0
- package/dist/generator-cleanup.js +64 -0
- package/dist/generator-cleanup.js.map +1 -0
- package/dist/generator-cleanup.types.d.ts +6 -0
- package/dist/generator-cleanup.types.d.ts.map +1 -0
- package/dist/generator-cleanup.types.js +2 -0
- package/dist/generator-cleanup.types.js.map +1 -0
- package/dist/generator-errors.d.ts +74 -0
- package/dist/generator-errors.d.ts.map +1 -0
- package/dist/generator-errors.js +89 -0
- package/dist/generator-errors.js.map +1 -0
- package/dist/generator-filesystem.d.ts +25 -0
- package/dist/generator-filesystem.d.ts.map +1 -0
- package/dist/generator-filesystem.js +68 -0
- package/dist/generator-filesystem.js.map +1 -0
- package/dist/generator-filesystem.types.d.ts +112 -0
- package/dist/generator-filesystem.types.d.ts.map +1 -0
- package/dist/generator-filesystem.types.js +2 -0
- package/dist/generator-filesystem.types.js.map +1 -0
- package/dist/generator-paths.d.ts +13 -0
- package/dist/generator-paths.d.ts.map +1 -0
- package/dist/generator-paths.js +45 -0
- package/dist/generator-paths.js.map +1 -0
- package/dist/generator-paths.types.d.ts +40 -0
- package/dist/generator-paths.types.d.ts.map +1 -0
- package/dist/generator-paths.types.js +2 -0
- package/dist/generator-paths.types.js.map +1 -0
- package/dist/generator-process.d.ts +25 -0
- package/dist/generator-process.d.ts.map +1 -0
- package/dist/generator-process.js +124 -0
- package/dist/generator-process.js.map +1 -0
- package/dist/generator-process.types.d.ts +27 -0
- package/dist/generator-process.types.d.ts.map +1 -0
- package/dist/generator-process.types.js +2 -0
- package/dist/generator-process.types.js.map +1 -0
- package/dist/generator-prompt.d.ts +22 -0
- package/dist/generator-prompt.d.ts.map +1 -0
- package/dist/generator-prompt.js +58 -0
- package/dist/generator-prompt.js.map +1 -0
- package/dist/generator-prompt.types.d.ts +38 -0
- package/dist/generator-prompt.types.d.ts.map +1 -0
- package/dist/generator-prompt.types.js +2 -0
- package/dist/generator-prompt.types.js.map +1 -0
- package/dist/generator-runtime.d.ts +22 -0
- package/dist/generator-runtime.d.ts.map +1 -0
- package/dist/generator-runtime.js +31 -0
- package/dist/generator-runtime.js.map +1 -0
- package/dist/index.d.ts +13 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -79
- package/dist/index.js.map +1 -1
- package/dist/options.d.ts +50 -1
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js +48 -1
- package/dist/options.js.map +1 -1
- package/dist/patches/drizzle-orm.patch +692 -0
- package/dist/plan-builder-effects.d.ts +124 -0
- package/dist/plan-builder-effects.d.ts.map +1 -0
- package/dist/plan-builder-effects.js +172 -0
- package/dist/plan-builder-effects.js.map +1 -0
- package/dist/plan-builder-files.d.ts +12 -0
- package/dist/plan-builder-files.d.ts.map +1 -0
- package/dist/plan-builder-files.js +99 -0
- package/dist/plan-builder-files.js.map +1 -0
- package/dist/plan-builder-files.types.d.ts +49 -0
- package/dist/plan-builder-files.types.d.ts.map +1 -0
- package/dist/plan-builder-files.types.js +2 -0
- package/dist/plan-builder-files.types.js.map +1 -0
- package/dist/plan-builder-manifest.d.ts +11 -0
- package/dist/plan-builder-manifest.d.ts.map +1 -0
- package/dist/plan-builder-manifest.js +37 -0
- package/dist/plan-builder-manifest.js.map +1 -0
- package/dist/plan-builder.d.ts +78 -18
- package/dist/plan-builder.d.ts.map +1 -1
- package/dist/plan-builder.js +105 -126
- package/dist/plan-builder.js.map +1 -1
- package/dist/plan-builder.types.d.ts +22 -0
- package/dist/plan-builder.types.d.ts.map +1 -0
- package/dist/plan-builder.types.js +2 -0
- package/dist/plan-builder.types.js.map +1 -0
- package/dist/plan-manifest.d.ts +16 -4
- package/dist/plan-manifest.d.ts.map +1 -1
- package/dist/plan-manifest.js +60 -3
- package/dist/plan-manifest.js.map +1 -1
- package/dist/plan-manifest.types.d.ts +13 -0
- package/dist/plan-manifest.types.d.ts.map +1 -0
- package/dist/plan-manifest.types.js +2 -0
- package/dist/plan-manifest.types.js.map +1 -0
- package/dist/project-catalog.d.ts +17 -0
- package/dist/project-catalog.d.ts.map +1 -0
- package/dist/project-catalog.js +69 -0
- package/dist/project-catalog.js.map +1 -0
- package/dist/project-discovery-app.d.ts +7 -0
- package/dist/project-discovery-app.d.ts.map +1 -1
- package/dist/project-discovery-app.js +71 -0
- package/dist/project-discovery-app.js.map +1 -1
- package/dist/project-discovery-database.d.ts +10 -0
- package/dist/project-discovery-database.d.ts.map +1 -1
- package/dist/project-discovery-database.js +18 -0
- package/dist/project-discovery-database.js.map +1 -1
- package/dist/project-discovery-facts.d.ts +13 -0
- package/dist/project-discovery-facts.d.ts.map +1 -0
- package/dist/project-discovery-facts.js +170 -0
- package/dist/project-discovery-facts.js.map +1 -0
- package/dist/project-discovery-types.d.ts +15 -0
- package/dist/project-discovery-types.d.ts.map +1 -1
- package/dist/project-discovery.d.ts +31 -1
- package/dist/project-discovery.d.ts.map +1 -1
- package/dist/project-discovery.js +51 -147
- package/dist/project-discovery.js.map +1 -1
- package/dist/project-discovery.service.types.d.ts +13 -0
- package/dist/project-discovery.service.types.d.ts.map +1 -0
- package/dist/project-discovery.service.types.js +2 -0
- package/dist/project-discovery.service.types.js.map +1 -0
- package/dist/project-manifest.schemas.d.ts +22 -0
- package/dist/project-manifest.schemas.d.ts.map +1 -0
- package/dist/project-manifest.schemas.js +22 -0
- package/dist/project-manifest.schemas.js.map +1 -0
- package/dist/prompt-driver.d.ts +7 -30
- package/dist/prompt-driver.d.ts.map +1 -1
- package/dist/prompt-driver.js +25 -4
- package/dist/prompt-driver.js.map +1 -1
- package/dist/prompt-driver.types.d.ts +92 -0
- package/dist/prompt-driver.types.d.ts.map +1 -0
- package/dist/prompt-driver.types.js +2 -0
- package/dist/prompt-driver.types.js.map +1 -0
- package/dist/provider-planning-definitions.d.ts +43 -0
- package/dist/provider-planning-definitions.d.ts.map +1 -1
- package/dist/provider-planning-definitions.js +43 -0
- package/dist/provider-planning-definitions.js.map +1 -1
- package/dist/provider-planning.d.ts +37 -7
- package/dist/provider-planning.d.ts.map +1 -1
- package/dist/provider-planning.js +69 -76
- package/dist/provider-planning.js.map +1 -1
- package/dist/provider-planning.types.d.ts +14 -0
- package/dist/provider-planning.types.d.ts.map +1 -0
- package/dist/provider-planning.types.js +2 -0
- package/dist/provider-planning.types.js.map +1 -0
- package/dist/provider-profile-definition.d.ts +45 -0
- package/dist/provider-profile-definition.d.ts.map +1 -0
- package/dist/provider-profile-definition.js +93 -0
- package/dist/provider-profile-definition.js.map +1 -0
- package/dist/render-ai-sources.d.ts +20 -0
- package/dist/render-ai-sources.d.ts.map +1 -1
- package/dist/render-ai-sources.js +21 -0
- package/dist/render-ai-sources.js.map +1 -1
- package/dist/render-ai.d.ts +49 -0
- package/dist/render-ai.d.ts.map +1 -1
- package/dist/render-ai.js +62 -12
- package/dist/render-ai.js.map +1 -1
- package/dist/render-auth-schema.d.ts +5 -0
- package/dist/render-auth-schema.d.ts.map +1 -1
- package/dist/render-auth-schema.js +8 -0
- package/dist/render-auth-schema.js.map +1 -1
- package/dist/render-auth-sources.d.ts +8 -0
- package/dist/render-auth-sources.d.ts.map +1 -1
- package/dist/render-auth-sources.js +8 -0
- package/dist/render-auth-sources.js.map +1 -1
- package/dist/render-auth.d.ts +21 -0
- package/dist/render-auth.d.ts.map +1 -1
- package/dist/render-auth.js +86 -24
- package/dist/render-auth.js.map +1 -1
- package/dist/render-database-sources.d.ts +15 -0
- package/dist/render-database-sources.d.ts.map +1 -1
- package/dist/render-database-sources.js +15 -0
- package/dist/render-database-sources.js.map +1 -1
- package/dist/render-database.d.ts +24 -0
- package/dist/render-database.d.ts.map +1 -1
- package/dist/render-database.js +37 -17
- package/dist/render-database.js.map +1 -1
- package/dist/render-domain-callables.d.ts +67 -0
- package/dist/render-domain-callables.d.ts.map +1 -0
- package/dist/render-domain-callables.js +99 -0
- package/dist/render-domain-callables.js.map +1 -0
- package/dist/render-domain-events.d.ts +59 -0
- package/dist/render-domain-events.d.ts.map +1 -0
- package/dist/render-domain-events.js +92 -0
- package/dist/render-domain-events.js.map +1 -0
- package/dist/render-domain-jobs.d.ts +56 -0
- package/dist/render-domain-jobs.d.ts.map +1 -0
- package/dist/render-domain-jobs.js +84 -0
- package/dist/render-domain-jobs.js.map +1 -0
- package/dist/render-domain-register.d.ts +18 -0
- package/dist/render-domain-register.d.ts.map +1 -1
- package/dist/render-domain-register.js +27 -7
- package/dist/render-domain-register.js.map +1 -1
- package/dist/render-domain-sources.d.ts +63 -0
- package/dist/render-domain-sources.d.ts.map +1 -1
- package/dist/render-domain-sources.js +65 -0
- package/dist/render-domain-sources.js.map +1 -1
- package/dist/render-domain.d.ts +4 -25
- package/dist/render-domain.d.ts.map +1 -1
- package/dist/render-domain.js +3 -97
- package/dist/render-domain.js.map +1 -1
- package/dist/render-domain.types.d.ts +15 -0
- package/dist/render-domain.types.d.ts.map +1 -0
- package/dist/render-domain.types.js +2 -0
- package/dist/render-domain.types.js.map +1 -0
- package/dist/render-resource-sources.d.ts +12 -0
- package/dist/render-resource-sources.d.ts.map +1 -1
- package/dist/render-resource-sources.js +12 -0
- package/dist/render-resource-sources.js.map +1 -1
- package/dist/render-resources.d.ts +47 -0
- package/dist/render-resources.d.ts.map +1 -1
- package/dist/render-resources.js +62 -15
- package/dist/render-resources.js.map +1 -1
- package/dist/render-route-sources.d.ts +19 -0
- package/dist/render-route-sources.d.ts.map +1 -1
- package/dist/render-route-sources.js +19 -0
- package/dist/render-route-sources.js.map +1 -1
- package/dist/render-routes.d.ts +57 -0
- package/dist/render-routes.d.ts.map +1 -1
- package/dist/render-routes.js +72 -10
- package/dist/render-routes.js.map +1 -1
- package/dist/render-service.d.ts +23 -1
- package/dist/render-service.d.ts.map +1 -1
- package/dist/render-service.js +65 -20
- package/dist/render-service.js.map +1 -1
- package/dist/scaffold-catalog.d.ts +7 -6
- package/dist/scaffold-catalog.d.ts.map +1 -1
- package/dist/scaffold-catalog.js +11 -5
- package/dist/scaffold-catalog.js.map +1 -1
- package/dist/scaffold-catalog.types.d.ts +11 -0
- package/dist/scaffold-catalog.types.d.ts.map +1 -0
- package/dist/scaffold-catalog.types.js +2 -0
- package/dist/scaffold-catalog.types.js.map +1 -0
- package/dist/source-edit.d.ts +38 -2
- package/dist/source-edit.d.ts.map +1 -1
- package/dist/source-edit.js +39 -94
- package/dist/source-edit.js.map +1 -1
- package/dist/source-factory-edit.d.ts +78 -0
- package/dist/source-factory-edit.d.ts.map +1 -0
- package/dist/source-factory-edit.js +156 -0
- package/dist/source-factory-edit.js.map +1 -0
- package/dist/source-import-edit.d.ts +7 -1
- package/dist/source-import-edit.d.ts.map +1 -1
- package/dist/source-import-edit.js +20 -1
- package/dist/source-import-edit.js.map +1 -1
- package/dist/template-root.d.ts +15 -4
- package/dist/template-root.d.ts.map +1 -1
- package/dist/template-root.js +22 -5
- package/dist/template-root.js.map +1 -1
- package/dist/templates/default/README.md +1 -1
- package/dist/templates/default/v1/agent/package.json +4 -4
- package/dist/templates/default/v1/api/package.json +3 -3
- package/dist/templates/default/v1/fullstack/package.json +6 -6
- package/dist/templates/default/v1/minimal/package.json +3 -3
- package/dist/templates/default/v1/tasks/package.json +3 -3
- package/dist/validate-errors.d.ts +12 -0
- package/dist/validate-errors.d.ts.map +1 -0
- package/dist/validate-errors.js +16 -0
- package/dist/validate-errors.js.map +1 -0
- package/dist/validate-paths.d.ts +43 -0
- package/dist/validate-paths.d.ts.map +1 -0
- package/dist/validate-paths.js +105 -0
- package/dist/validate-paths.js.map +1 -0
- package/dist/validate.d.ts +56 -17
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +89 -130
- package/dist/validate.js.map +1 -1
- package/dist/validate.types.d.ts +19 -0
- package/dist/validate.types.d.ts.map +1 -0
- package/dist/validate.types.js +2 -0
- package/dist/validate.types.js.map +1 -0
- package/package.json +67 -5
- package/src/catalog-resolution.ts +55 -0
- package/src/catalog-resolution.types.ts +2 -0
- package/dist/create-additions.d.ts +0 -7
- package/dist/create-additions.d.ts.map +0 -1
- package/dist/create-additions.js +0 -27
- package/dist/create-additions.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-preview.d.ts","sourceRoot":"","sources":["../src/create-preview.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-preview.d.ts","sourceRoot":"","sources":["../src/create-preview.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAGxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAMpE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;8KAgD5B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,GAAG,cAAc,CAAM,GACjE,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAcjE"}
|
package/dist/create-preview.js
CHANGED
|
@@ -1,15 +1,30 @@
|
|
|
1
|
-
import { readFile } from "node:fs/promises";
|
|
2
1
|
import { join } from "node:path";
|
|
3
|
-
import
|
|
2
|
+
import ownManifest from "../package.json";
|
|
3
|
+
import { Effect, Schema } from "effect";
|
|
4
|
+
import { observeExecution } from "@relkit/contracts/operation";
|
|
5
|
+
import { EXAMPLE_PATH_PREFIXES, listProjectFilesEffect } from "./generate-files.js";
|
|
6
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
7
|
+
import { domainError, domainTry } from "./generator-errors.js";
|
|
8
|
+
import { runGeneratorPromise } from "./generator-runtime.js";
|
|
9
|
+
import { ProjectManifest } from "./project-manifest.schemas.js";
|
|
4
10
|
import { readAppDiscovery } from "./project-discovery-app.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
import { validateCreateOptionsEffect } from "./validate.js";
|
|
12
|
+
import { resolveTemplateRootEffect } from "./template-root.js";
|
|
13
|
+
/**
|
|
14
|
+
* Previews explicit creation flags without mutating project or staging paths.
|
|
15
|
+
* @param options - Normalized creation flags.
|
|
16
|
+
* @param context - Existing template and current-directory settings.
|
|
17
|
+
* @returns A lazy immutable file/dependency/profile preview.
|
|
18
|
+
*/
|
|
19
|
+
export const planCreateEffect = Effect.fn("CreatePreview.plan")(function* (options, context = {}) {
|
|
20
|
+
const validated = yield* validateCreateOptionsEffect(options, context.cwd === undefined ? {} : { cwd: context.cwd });
|
|
21
|
+
const root = join(yield* resolveTemplateRootEffect(context), options.jobs === undefined ? options.template : "tasks");
|
|
22
|
+
const fs = yield* GeneratorFileSystem;
|
|
23
|
+
const source = yield* fs.readText(join(root, "package.json"));
|
|
24
|
+
const parsed = yield* domainTry(() => JSON.parse(source));
|
|
25
|
+
const manifest = yield* Schema.decodeUnknownEffect(ProjectManifest)(parsed).pipe(Effect.mapError(domainError));
|
|
11
26
|
const dependencies = { ...manifest.dependencies, ...manifest.devDependencies };
|
|
12
|
-
const version = dependencies["@relkit/app"] ??
|
|
27
|
+
const version = dependencies["@relkit/app"] ?? ownManifest.version;
|
|
13
28
|
if (options.cloud === "aws")
|
|
14
29
|
dependencies["@relkit/aws"] = version;
|
|
15
30
|
if (options.deploy === "pulumi")
|
|
@@ -19,8 +34,9 @@ export async function planCreate(options, context = {}) {
|
|
|
19
34
|
dependencies[`@relkit/${options.jobs.replace(/-docker$/u, "")}`] = version;
|
|
20
35
|
}
|
|
21
36
|
const configPath = join(root, "relkit.config.ts");
|
|
22
|
-
const
|
|
23
|
-
const
|
|
37
|
+
const configSource = yield* fs.readText(configPath);
|
|
38
|
+
const app = yield* domainTry(() => readAppDiscovery(configSource, configPath, root));
|
|
39
|
+
const files = (yield* listProjectFilesEffect(root))
|
|
24
40
|
.map((path) => (path === "gitignore" ? ".gitignore" : path))
|
|
25
41
|
.filter((path) => options.examples ||
|
|
26
42
|
!EXAMPLE_PATH_PREFIXES.some((prefix) => path === prefix || path.startsWith(`${prefix}/`)));
|
|
@@ -31,7 +47,21 @@ export async function planCreate(options, context = {}) {
|
|
|
31
47
|
profiles: Object.freeze(app.profiles.map((profile) => `${profile.capability}:${profile.name}`)),
|
|
32
48
|
warnings: Object.freeze([]),
|
|
33
49
|
});
|
|
50
|
+
}, (effect) => observeExecution("generator", "create.preview", effect));
|
|
51
|
+
/**
|
|
52
|
+
* Preserves the existing preview Promise API.
|
|
53
|
+
* @param options - Normalized flags.
|
|
54
|
+
* @param context - Existing template settings.
|
|
55
|
+
* @returns Read-only creation details.
|
|
56
|
+
*/
|
|
57
|
+
export function planCreate(options, context = {}) {
|
|
58
|
+
return runGeneratorPromise(planCreateEffect(options, context));
|
|
34
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Formats an immutable preview as the existing human-readable terminal output.
|
|
62
|
+
* @param plan - Complete immutable operation plan.
|
|
63
|
+
* @returns Terminal text listing the destination, files, dependencies, profiles and warnings.
|
|
64
|
+
*/
|
|
35
65
|
export function formatCreatePlan(plan) {
|
|
36
66
|
return [
|
|
37
67
|
`Destination: ${plan.destination}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-preview.js","sourceRoot":"","sources":["../src/create-preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-preview.js","sourceRoot":"","sources":["../src/create-preview.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Existing read-only creation preview result. */
|
|
2
|
+
export interface CreateScaffoldPlan {
|
|
3
|
+
readonly destination: string;
|
|
4
|
+
readonly files: readonly string[];
|
|
5
|
+
readonly dependencies: Readonly<Record<string, string>>;
|
|
6
|
+
readonly profiles: readonly string[];
|
|
7
|
+
readonly warnings: readonly string[];
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=create-preview.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-preview.types.d.ts","sourceRoot":"","sources":["../src/create-preview.types.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-preview.types.js","sourceRoot":"","sources":["../src/create-preview.types.ts"],"names":[],"mappings":""}
|
|
@@ -1,14 +1,31 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
1
2
|
import { type CreateOptions } from "./options.js";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
import { GeneratorPrompt } from "./generator-prompt.js";
|
|
4
|
+
import type { ResolveCreateContext, ResolvedCreateOptions } from "./create-resolver.types.js";
|
|
5
|
+
export type { ResolveCreateContext, ResolvedCreateOptions } from "./create-resolver.types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Resolves explicit flags and prompts for missing name, template, jobs and destination choices.
|
|
8
|
+
* @param args - Existing create argument vector.
|
|
9
|
+
* @param context - Existing JSON and interactivity settings.
|
|
10
|
+
* @returns Options retaining undefined jobs when disabled and whether any choice was prompted.
|
|
11
|
+
* @remarks Generation owns final consent; Git initialization defaults to enabled without a prompt.
|
|
12
|
+
*/
|
|
13
|
+
export declare const resolveCreateOptionsDetailsEffect: (args: readonly string[], context?: ResolveCreateContext | undefined) => Effect.Effect<{
|
|
14
|
+
options: CreateOptions;
|
|
15
|
+
prompted: boolean;
|
|
16
|
+
}, import("./generator-errors.js").GeneratorPromptError | import("./generator-errors.js").GeneratorDomainError, GeneratorPrompt>;
|
|
17
|
+
/**
|
|
18
|
+
* Preserves normalized creation's Promise compatibility API.
|
|
19
|
+
* @param args - Existing flags.
|
|
20
|
+
* @param context - Existing prompt settings.
|
|
21
|
+
* @returns Explicit or prompted choices with the existing defaults for other settings.
|
|
22
|
+
*/
|
|
12
23
|
export declare function resolveCreateOptions(args: readonly string[], context?: ResolveCreateContext): Promise<CreateOptions>;
|
|
24
|
+
/**
|
|
25
|
+
* Preserves detailed creation resolution with the shared interactive choices.
|
|
26
|
+
* @param args - Existing flags.
|
|
27
|
+
* @param context - Existing prompt settings.
|
|
28
|
+
* @returns Options and whether any creation choice was requested.
|
|
29
|
+
*/
|
|
13
30
|
export declare function resolveCreateOptionsDetails(args: readonly string[], context?: ResolveCreateContext): Promise<ResolvedCreateOptions>;
|
|
14
31
|
//# sourceMappingURL=create-resolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-resolver.d.ts","sourceRoot":"","sources":["../src/create-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-resolver.d.ts","sourceRoot":"","sources":["../src/create-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AAI9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC9F,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAO9F;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC;;;gIAqD7C,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,aAAa,CAAC,CAExB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAWhC"}
|
package/dist/create-resolver.js
CHANGED
|
@@ -1,88 +1,102 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { observeExecution } from "@relkit/contracts/operation";
|
|
3
|
+
import { CREATE_JOBS, CREATE_OPTION_DEFAULTS, CREATE_TEMPLATES, normalizeCreateOptions, } from "./options.js";
|
|
2
4
|
import { createClackPromptDriver } from "./prompt-driver.js";
|
|
5
|
+
import { GeneratorPrompt, generatorPromptLayer } from "./generator-prompt.js";
|
|
6
|
+
import { domainTry } from "./generator-errors.js";
|
|
7
|
+
import { runGeneratorPromise } from "./generator-runtime.js";
|
|
3
8
|
import { isValidPackageName } from "./validate.js";
|
|
9
|
+
/**
|
|
10
|
+
* Create flags whose values bypass interactive name resolution.
|
|
11
|
+
*/
|
|
4
12
|
const VALUE_OPTIONS = new Set(["template", "cloud", "deploy", "jobs", "directory"]);
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
const prompt = context.promptDriver ?? createClackPromptDriver("RELKIT_CREATE_CANCELLED");
|
|
13
|
+
/**
|
|
14
|
+
* Resolves explicit flags and prompts for missing name, template, jobs and destination choices.
|
|
15
|
+
* @param args - Existing create argument vector.
|
|
16
|
+
* @param context - Existing JSON and interactivity settings.
|
|
17
|
+
* @returns Options retaining undefined jobs when disabled and whether any choice was prompted.
|
|
18
|
+
* @remarks Generation owns final consent; Git initialization defaults to enabled without a prompt.
|
|
19
|
+
*/
|
|
20
|
+
export const resolveCreateOptionsDetailsEffect = Effect.fn("CreateResolution.resolve")(function* (args, context = {}) {
|
|
16
21
|
const output = [...args];
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
output
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
22
|
+
let prompted = false;
|
|
23
|
+
if (context.interactive === true) {
|
|
24
|
+
const prompt = yield* GeneratorPrompt;
|
|
25
|
+
let name = positional(output);
|
|
26
|
+
if (!name) {
|
|
27
|
+
name = yield* prompt.text({
|
|
28
|
+
message: "Project name",
|
|
29
|
+
validate: (value) => isValidPackageName(value) ? undefined : "Use a valid npm package name.",
|
|
30
|
+
});
|
|
31
|
+
output.unshift(name);
|
|
32
|
+
prompted = true;
|
|
33
|
+
}
|
|
34
|
+
if (!has(output, "template")) {
|
|
35
|
+
const template = yield* prompt.select({
|
|
36
|
+
message: "Starter template",
|
|
37
|
+
options: CREATE_TEMPLATES.map((value) => ({ value, label: title(value) })),
|
|
38
|
+
initialValue: CREATE_OPTION_DEFAULTS.template,
|
|
39
|
+
});
|
|
40
|
+
output.push("--template", template);
|
|
41
|
+
prompted = true;
|
|
42
|
+
}
|
|
43
|
+
if (!has(output, "jobs")) {
|
|
44
|
+
const jobs = yield* prompt.select({
|
|
45
|
+
message: "Jobs service",
|
|
46
|
+
options: [
|
|
47
|
+
{ value: "none", label: "None" },
|
|
48
|
+
...CREATE_JOBS.map((value) => ({ value, label: title(value) })),
|
|
49
|
+
],
|
|
50
|
+
initialValue: "none",
|
|
51
|
+
});
|
|
52
|
+
if (jobs !== "none")
|
|
53
|
+
output.push("--jobs", jobs);
|
|
54
|
+
prompted = true;
|
|
55
|
+
}
|
|
56
|
+
if (!has(output, "directory")) {
|
|
57
|
+
const directory = yield* prompt.text({
|
|
58
|
+
message: "Destination",
|
|
59
|
+
initialValue: name,
|
|
60
|
+
validate: (value) => (value?.trim() ? undefined : "A destination is required."),
|
|
61
|
+
});
|
|
62
|
+
output.push("--directory", directory);
|
|
63
|
+
prompted = true;
|
|
64
|
+
}
|
|
57
65
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
prompted: !complete,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
async function booleanChoice(args, prompt, name, message, initialValue) {
|
|
73
|
-
if (has(args, name) || has(args, `no-${name}`))
|
|
74
|
-
return;
|
|
75
|
-
args.push(`--${(await prompt.confirm({ message, initialValue })) ? name : `no-${name}`}`);
|
|
66
|
+
const options = yield* domainTry(() => normalizeCreateOptions(output, context.json === undefined ? {} : { json: context.json }));
|
|
67
|
+
return { options, prompted };
|
|
68
|
+
}, (effect) => observeExecution("generator", "create.resolve", effect));
|
|
69
|
+
/**
|
|
70
|
+
* Preserves normalized creation's Promise compatibility API.
|
|
71
|
+
* @param args - Existing flags.
|
|
72
|
+
* @param context - Existing prompt settings.
|
|
73
|
+
* @returns Explicit or prompted choices with the existing defaults for other settings.
|
|
74
|
+
*/
|
|
75
|
+
export async function resolveCreateOptions(args, context = {}) {
|
|
76
|
+
return (await resolveCreateOptionsDetails(args, context)).options;
|
|
76
77
|
}
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Preserves detailed creation resolution with the shared interactive choices.
|
|
80
|
+
* @param args - Existing flags.
|
|
81
|
+
* @param context - Existing prompt settings.
|
|
82
|
+
* @returns Options and whether any creation choice was requested.
|
|
83
|
+
*/
|
|
84
|
+
export function resolveCreateOptionsDetails(args, context = {}) {
|
|
85
|
+
return runGeneratorPromise(resolveCreateOptionsDetailsEffect(args, context).pipe(Effect.provide(generatorPromptLayer(context.promptDriver ?? createClackPromptDriver("RELKIT_CREATE_CANCELLED")))), context.signal);
|
|
79
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Selects only the positional name while skipping values owned by explicit options.
|
|
89
|
+
* @param args - Literal flag and positional arguments.
|
|
90
|
+
* @returns The first project-name argument, or undefined when all tokens are flags or flag values.
|
|
91
|
+
*/
|
|
80
92
|
function positional(args) {
|
|
81
93
|
for (let index = 0; index < args.length; index += 1) {
|
|
82
94
|
const value = args[index];
|
|
95
|
+
if (value === undefined)
|
|
96
|
+
continue;
|
|
83
97
|
if (value.startsWith("--")) {
|
|
84
98
|
const name = value.slice(2).split("=", 1)[0];
|
|
85
|
-
if (!value.includes("=") && VALUE_OPTIONS.has(name))
|
|
99
|
+
if (!value.includes("=") && name !== undefined && VALUE_OPTIONS.has(name))
|
|
86
100
|
index += 1;
|
|
87
101
|
}
|
|
88
102
|
else
|
|
@@ -90,7 +104,24 @@ function positional(args) {
|
|
|
90
104
|
}
|
|
91
105
|
return undefined;
|
|
92
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Checks both separate and inline spellings of an explicit creation option.
|
|
109
|
+
* @param args - Literal flag and positional arguments.
|
|
110
|
+
* @param name - Supported flag name without its leading dashes.
|
|
111
|
+
* @returns Whether the caller already supplied this choice.
|
|
112
|
+
*/
|
|
113
|
+
function has(args, name) {
|
|
114
|
+
return args.some((value) => value === `--${name}` || value.startsWith(`--${name}=`));
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Formats a declared template or jobs provider for its native selection label.
|
|
118
|
+
* @param value - Supported choice value.
|
|
119
|
+
* @returns A readable label retaining the Docker provider distinction.
|
|
120
|
+
*/
|
|
93
121
|
function title(value) {
|
|
94
|
-
return value
|
|
122
|
+
return value
|
|
123
|
+
.replace("effect-mq", "Effect MQ")
|
|
124
|
+
.replace(/-docker$/u, " (Docker)")
|
|
125
|
+
.replace(/^./u, (character) => character.toUpperCase());
|
|
95
126
|
}
|
|
96
127
|
//# sourceMappingURL=create-resolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-resolver.js","sourceRoot":"","sources":["../src/create-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-resolver.js","sourceRoot":"","sources":["../src/create-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CreateOptions } from "./options.js";
|
|
2
|
+
import type { PromptDriver } from "./prompt-driver.types.js";
|
|
3
|
+
/** Existing create-resolution settings; noninteractive input never needs prompt authority. */
|
|
4
|
+
export interface ResolveCreateContext {
|
|
5
|
+
readonly json?: boolean;
|
|
6
|
+
readonly interactive?: boolean;
|
|
7
|
+
readonly promptDriver?: PromptDriver;
|
|
8
|
+
readonly signal?: AbortSignal;
|
|
9
|
+
}
|
|
10
|
+
/** Existing resolver result; prompted records whether any creation choice was requested. */
|
|
11
|
+
export interface ResolvedCreateOptions {
|
|
12
|
+
readonly options: CreateOptions;
|
|
13
|
+
readonly prompted: boolean;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=create-resolver.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-resolver.types.d.ts","sourceRoot":"","sources":["../src/create-resolver.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,8FAA8F;AAC9F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,4FAA4F;AAC5F,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-resolver.types.js","sourceRoot":"","sources":["../src/create-resolver.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
3
|
+
import type { ScaffoldPlan } from "./add-types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Detects patch-only installation requirements before a transaction mutates the project.
|
|
6
|
+
* @param plan - Validated scaffold plan.
|
|
7
|
+
* @returns Whether its managed asset or Bun patch declaration changes.
|
|
8
|
+
*/
|
|
9
|
+
export declare const dependencyPatchNeedsInstallEffect: (plan: ScaffoldPlan) => Effect.Effect<boolean, import("./generator-errors.js").GeneratorIoError | import("./generator-errors.js").GeneratorDomainError, GeneratorFileSystem>;
|
|
10
|
+
/**
|
|
11
|
+
* Preserves the patch-installation Promise compatibility API.
|
|
12
|
+
* @param plan - Plan to inspect.
|
|
13
|
+
* @returns Whether patch delivery requires installation even when no package is new.
|
|
14
|
+
*/
|
|
15
|
+
export declare function dependencyPatchNeedsInstall(plan: ScaffoldPlan): Promise<boolean>;
|
|
16
|
+
//# sourceMappingURL=dependency-patch-installation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-patch-installation.d.ts","sourceRoot":"","sources":["../src/dependency-patch-installation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,8KA4B7C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { observeExecution } from "@relkit/contracts/operation";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { Effect } from "effect";
|
|
4
|
+
import { buildCatalogPatch } from "./build-catalog.js";
|
|
5
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
6
|
+
import { domainTry, hasErrno } from "./generator-errors.js";
|
|
7
|
+
import { runGeneratorPromise } from "./generator-runtime.js";
|
|
8
|
+
/**
|
|
9
|
+
* Detects patch-only installation requirements before a transaction mutates the project.
|
|
10
|
+
* @param plan - Validated scaffold plan.
|
|
11
|
+
* @returns Whether its managed asset or Bun patch declaration changes.
|
|
12
|
+
*/
|
|
13
|
+
export const dependencyPatchNeedsInstallEffect = Effect.fn("DependencyPatch.needsInstall")(function* (plan) {
|
|
14
|
+
const manifestOperation = plan.operations.find((operation) => operation.path === "package.json");
|
|
15
|
+
if (manifestOperation === undefined &&
|
|
16
|
+
!plan.operations.some((operation) => operation.path.startsWith("patches/drizzle-orm@")))
|
|
17
|
+
return false;
|
|
18
|
+
const patch = yield* domainTry(() => buildCatalogPatch("drizzle-orm"));
|
|
19
|
+
if (plan.operations.some((operation) => operation.path === `patches/${patch.key}.patch`))
|
|
20
|
+
return true;
|
|
21
|
+
if (manifestOperation === undefined)
|
|
22
|
+
return false;
|
|
23
|
+
const next = yield* domainTry(() => patchEntry(manifestOperation.content, patch.key));
|
|
24
|
+
const contents = yield* (yield* GeneratorFileSystem)
|
|
25
|
+
.readText(join(plan.projectRoot, "package.json"))
|
|
26
|
+
.pipe(Effect.catchIf((error) => hasErrno(error, "ENOENT"), () => Effect.succeed(undefined)));
|
|
27
|
+
const previous = contents === undefined ? undefined : yield* domainTry(() => patchEntry(contents, patch.key));
|
|
28
|
+
return next !== previous;
|
|
29
|
+
}, (effect) => observeExecution("generator", "planning.dependencyPatchNeedsInstall", effect));
|
|
30
|
+
/**
|
|
31
|
+
* Preserves the patch-installation Promise compatibility API.
|
|
32
|
+
* @param plan - Plan to inspect.
|
|
33
|
+
* @returns Whether patch delivery requires installation even when no package is new.
|
|
34
|
+
*/
|
|
35
|
+
export function dependencyPatchNeedsInstall(plan) {
|
|
36
|
+
return runGeneratorPromise(dependencyPatchNeedsInstallEffect(plan));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Selects one patch entry without interpreting unrelated package fields.
|
|
40
|
+
* @param content - Complete bytes or text planned for the destination.
|
|
41
|
+
* @param key - Bun patch key identifying a package and exact version.
|
|
42
|
+
* @returns The string patch asset path for the key, or undefined when no string entry exists.
|
|
43
|
+
*/
|
|
44
|
+
function patchEntry(content, key) {
|
|
45
|
+
const manifest = JSON.parse(content);
|
|
46
|
+
if (!isRecord(manifest) || !isRecord(manifest.patchedDependencies))
|
|
47
|
+
return undefined;
|
|
48
|
+
const value = manifest.patchedDependencies[key];
|
|
49
|
+
return typeof value === "string" ? value : undefined;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Narrows an unknown value to a non-null object excluding arrays.
|
|
53
|
+
* @param value - Unknown value at the object boundary.
|
|
54
|
+
* @returns Whether the value is a non-null, non-array object.
|
|
55
|
+
*/
|
|
56
|
+
function isRecord(value) {
|
|
57
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=dependency-patch-installation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-patch-installation.js","sourceRoot":"","sources":["../src/dependency-patch-installation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,EAAE,CAAC,8BAA8B,CAAC,CACxF,QAAQ,CAAC,EAAE,IAAkB;IAC3B,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAC5C,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,cAAc,CACjD,CAAC;IACF,IACE,iBAAiB,KAAK,SAAS;QAC/B,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAEvF,OAAO,KAAK,CAAC;IACf,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;IACvE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,KAAK,CAAC,GAAG,QAAQ,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,IAAI,iBAAiB,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC;SACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;SAChD,IAAI,CACH,MAAM,CAAC,OAAO,CACZ,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,EACpC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAChC,CACF,CAAC;IACJ,MAAM,QAAQ,GACZ,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,OAAO,IAAI,KAAK,QAAQ,CAAC;AAC3B,CAAC,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,sCAAsC,EAAE,MAAM,CAAC,CAC1F,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAkB;IAC5D,OAAO,mBAAmB,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,OAAe,EAAE,GAAW;IAC9C,MAAM,QAAQ,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAAE,OAAO,SAAS,CAAC;IACrF,MAAM,KAAK,GAAG,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
3
|
+
import type { DependencyPatch, DependencyPatchPlan } from "./dependency-patches.types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Loads verified Drizzle declaration repairs from source or the owning packed release.
|
|
6
|
+
* @returns The unchanged repair bytes and their catalog-derived project destination.
|
|
7
|
+
* @remarks Packed execution reads only its bundled asset, never a consumer checkout.
|
|
8
|
+
*/
|
|
9
|
+
export declare const readDrizzlePatchEffect: () => Effect.Effect<Readonly<{
|
|
10
|
+
path: `patches/${string}.patch`;
|
|
11
|
+
content: string;
|
|
12
|
+
version: string;
|
|
13
|
+
key: string;
|
|
14
|
+
asset: string;
|
|
15
|
+
hash: string;
|
|
16
|
+
}>, import("./generator-errors.js").GeneratorIoError | import("./generator-errors.js").GeneratorDomainError, GeneratorFileSystem>;
|
|
17
|
+
/**
|
|
18
|
+
* Plans byte-identical repair ownership without mutating project assets.
|
|
19
|
+
* @param projectRoot - Project whose asset and manifest will commit together.
|
|
20
|
+
* @param source - Current or already-planned package manifest bytes.
|
|
21
|
+
* @param patch - Verified release-owned repair.
|
|
22
|
+
* @returns Manifest changes and optional asset creation.
|
|
23
|
+
*/
|
|
24
|
+
export declare const planDependencyPatchEffect: (projectRoot: string, source: string, patch: DependencyPatch) => Effect.Effect<{
|
|
25
|
+
operation?: {
|
|
26
|
+
path: string;
|
|
27
|
+
action: "create";
|
|
28
|
+
content: string;
|
|
29
|
+
};
|
|
30
|
+
content: string;
|
|
31
|
+
}, import("./generator-errors.js").GeneratorIoError | import("./generator-errors.js").GeneratorDomainError, GeneratorFileSystem>;
|
|
32
|
+
/**
|
|
33
|
+
* Delivers repair assets before the first installation inside a generation-owned stage.
|
|
34
|
+
* @param projectRoot - Disposable staging directory.
|
|
35
|
+
* @returns Completion once the manifest and unchanged patch asset are ready together.
|
|
36
|
+
*/
|
|
37
|
+
export declare const prepareProjectDependencyPatchEffect: (projectRoot: string) => Effect.Effect<void, import("./generator-errors.js").GeneratorIoError | import("./generator-errors.js").GeneratorDomainError, GeneratorFileSystem>;
|
|
38
|
+
/**
|
|
39
|
+
* Preserves the verified repair Promise API.
|
|
40
|
+
* @returns The validated concrete patch descriptor, versioned project path and canonical patch text.
|
|
41
|
+
*/
|
|
42
|
+
export declare function readDrizzlePatch(): Promise<DependencyPatch>;
|
|
43
|
+
/**
|
|
44
|
+
* Preserves patch planning's Promise API and collision constructors.
|
|
45
|
+
* @param projectRoot - Absolute project root.
|
|
46
|
+
* @param source - Authored source text inspected or transformed without execution.
|
|
47
|
+
* @param patch - Validated portable patch descriptor, destination path and canonical bytes.
|
|
48
|
+
* @returns The manifest projection and optional patch file operation after collision preflight.
|
|
49
|
+
*/
|
|
50
|
+
export declare function planDependencyPatch(projectRoot: string, source: string, patch: DependencyPatch): Promise<DependencyPatchPlan>;
|
|
51
|
+
/**
|
|
52
|
+
* Preserves staging repair delivery's Promise API.
|
|
53
|
+
* @param projectRoot - Absolute project root.
|
|
54
|
+
* @returns Completion after the existing contract has been applied.
|
|
55
|
+
*/
|
|
56
|
+
export declare function prepareProjectDependencyPatch(projectRoot: string): Promise<void>;
|
|
57
|
+
//# sourceMappingURL=dependency-patches.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-patches.d.ts","sourceRoot":"","sources":["../src/dependency-patches.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAOxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE1F;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;iIAgBlC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;gIA0CrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,4KAe/C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC,CAE3D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhF"}
|