create-relkit 0.6.0 → 0.7.1
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
package/dist/generate-process.js
CHANGED
|
@@ -1,14 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { observeExecution } from "@relkit/contracts/operation";
|
|
2
|
+
import { Effect } from "effect";
|
|
3
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
4
|
+
import { GeneratorProcess, generatorProcessLayer } from "./generator-process.js";
|
|
5
|
+
import { domainError, domainTry, publicFailure } from "./generator-errors.js";
|
|
6
|
+
import { runGeneratorPromise } from "./generator-runtime.js";
|
|
2
7
|
import { join } from "node:path";
|
|
3
8
|
import { CreateValidationError } from "./validate.js";
|
|
4
9
|
import { GenerateProjectError, } from "./generate-types.js";
|
|
10
|
+
/**
|
|
11
|
+
* Maps a boundary failure to the public generation error contract.
|
|
12
|
+
* @param error - Original public or internal failure.
|
|
13
|
+
* @param fallback - Code used when the original failure has no public code.
|
|
14
|
+
* @param cleanup - Optional staging path and cleanup outcome.
|
|
15
|
+
* @returns The preserved or translated failure with optional staging disposition.
|
|
16
|
+
*/
|
|
5
17
|
export function generationError(error, fallback, cleanup) {
|
|
18
|
+
error = publicFailure(error);
|
|
6
19
|
let failure;
|
|
7
20
|
if (error instanceof GenerateProjectError)
|
|
8
21
|
failure = error;
|
|
9
22
|
else if (error instanceof CreateValidationError)
|
|
10
23
|
failure = new GenerateProjectError(error.code, error.message);
|
|
11
|
-
else if (error instanceof Error && typeof error.code === "string")
|
|
24
|
+
else if (error instanceof Error && "code" in error && typeof error.code === "string")
|
|
12
25
|
failure = new GenerateProjectError(error.code, error.message, undefined, errorExitCode(error));
|
|
13
26
|
else
|
|
14
27
|
failure = new GenerateProjectError(fallback, error instanceof Error ? error.message : String(error));
|
|
@@ -17,10 +30,21 @@ export function generationError(error, fallback, cleanup) {
|
|
|
17
30
|
const state = cleanup.removed ? "cleaned" : "retained";
|
|
18
31
|
return new GenerateProjectError(failure.code, `${failure.message} Temporary directory ${state}: ${cleanup.temporaryPath}.`, cleanup.temporaryPath, failure.exitCode);
|
|
19
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Reads a supported exit code from an existing public failure.
|
|
35
|
+
* @param error - Existing error whose exitCode field may be present.
|
|
36
|
+
* @returns A supported explicit exit code, or undefined when absent or unsupported.
|
|
37
|
+
*/
|
|
20
38
|
function errorExitCode(error) {
|
|
21
39
|
const value = "exitCode" in error ? error.exitCode : undefined;
|
|
22
40
|
return value === 1 || value === 2 || value === 130 || value === 143 ? value : undefined;
|
|
23
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Runs deterministic failure injection for generation regression tests.
|
|
44
|
+
* @param context - Caller-owned settings and cancellation.
|
|
45
|
+
* @param point - Fixed deterministic generation failure-injection point.
|
|
46
|
+
* @returns Completion when the hook succeeds; injected failures retain the generation error contract.
|
|
47
|
+
*/
|
|
24
48
|
export function injectGenerateFailure(context, point) {
|
|
25
49
|
try {
|
|
26
50
|
context.failAt?.(point);
|
|
@@ -31,50 +55,90 @@ export function injectGenerateFailure(context, point) {
|
|
|
31
55
|
throw new GenerateProjectError(`RELKIT_CREATE_${point.toUpperCase()}_FAILED`, error instanceof Error ? error.message : `Injected ${point} failure.`);
|
|
32
56
|
}
|
|
33
57
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Executes one generation step through scoped process authority.
|
|
60
|
+
* @param context - Existing progress, failure injection and executable settings.
|
|
61
|
+
* @param command - Literal command vector.
|
|
62
|
+
* @param cwd - Staged project directory.
|
|
63
|
+
* @param step - Fixed operation label used by the public failure code.
|
|
64
|
+
* @param point - Fixed deterministic generation failure-injection point.
|
|
65
|
+
* @returns Completion only after process output and exit have settled.
|
|
66
|
+
*/
|
|
67
|
+
export const runProjectStepEffect = Effect.fn("ProjectGeneration.step")(function* (context, command, cwd, step, point) {
|
|
68
|
+
yield* domainTry(() => {
|
|
69
|
+
throwIfAborted(context.signal);
|
|
70
|
+
injectGenerateFailure(context, point);
|
|
71
|
+
});
|
|
72
|
+
const result = yield* (yield* GeneratorProcess).run(command, cwd);
|
|
73
|
+
yield* domainTry(() => throwIfAborted(context.signal));
|
|
39
74
|
if (result.exitCode !== 0) {
|
|
40
75
|
const output = result.stderr?.trim() || result.stdout?.trim();
|
|
41
|
-
|
|
76
|
+
return yield* Effect.fail(domainError(new GenerateProjectError(`RELKIT_CREATE_${step.toUpperCase()}_FAILED`, `${step} failed with exit code ${result.exitCode}.${output ? `\n${output}` : ""}`)));
|
|
42
77
|
}
|
|
78
|
+
}, (effect) => observeExecution("generator", "generation.step", effect));
|
|
79
|
+
/**
|
|
80
|
+
* Preserves generation step's public Promise adapter.
|
|
81
|
+
* @param context - Caller-owned settings and cancellation.
|
|
82
|
+
* @param command - Literal executable and argument vector.
|
|
83
|
+
* @param cwd - Working directory for the operation.
|
|
84
|
+
* @param step - Fixed generated-project verification step.
|
|
85
|
+
* @param point - Fixed deterministic generation failure-injection point.
|
|
86
|
+
* @returns Completion after the existing contract has been applied.
|
|
87
|
+
*/
|
|
88
|
+
export function runProjectStep(context, command, cwd, step, point) {
|
|
89
|
+
const program = runProjectStepEffect(context, command, cwd, step, point);
|
|
90
|
+
return runGeneratorPromise(context.commandRunner === undefined
|
|
91
|
+
? program
|
|
92
|
+
: program.pipe(Effect.provide(generatorProcessLayer(context.commandRunner))), context.signal);
|
|
43
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Throws the caller's existing cancellation reason before any new work is started.
|
|
96
|
+
* @param signal - Optional caller cancellation signal.
|
|
97
|
+
* @returns Completion after the existing contract has been applied.
|
|
98
|
+
*/
|
|
44
99
|
export function throwIfAborted(signal) {
|
|
45
100
|
if (signal?.aborted)
|
|
46
101
|
throw (signal.reason ?? new GenerateProjectError("RELKIT_INTERRUPTED", "Generation was interrupted."));
|
|
47
102
|
}
|
|
48
|
-
|
|
103
|
+
/**
|
|
104
|
+
* Resolves the supported CLI using filesystem and process authority without importing it.
|
|
105
|
+
* @param context - Caller-owned settings and cancellation.
|
|
106
|
+
* @param root - Absolute project or owned resource root.
|
|
107
|
+
* @returns The explicit, local or globally available relkit executable for project checks.
|
|
108
|
+
*/
|
|
109
|
+
export const resolveRelkitExecutableEffect = Effect.fn("ProjectGeneration.resolveCli")(function* (context, root) {
|
|
49
110
|
if (context.relkitExecutable !== undefined)
|
|
50
111
|
return context.relkitExecutable;
|
|
51
112
|
if (context.commandRunner !== undefined)
|
|
52
113
|
return "relkit";
|
|
53
|
-
|
|
54
|
-
|
|
114
|
+
const fs = yield* GeneratorFileSystem;
|
|
115
|
+
const global = yield* (yield* GeneratorProcess).which("relkit");
|
|
116
|
+
for (const candidate of [join(root, "node_modules/.bin/relkit"), global]) {
|
|
117
|
+
if (candidate === null)
|
|
55
118
|
continue;
|
|
56
|
-
|
|
57
|
-
|
|
119
|
+
const available = yield* fs.access(candidate).pipe(Effect.as(true), Effect.catch(() => Effect.succeed(false)));
|
|
120
|
+
if (available)
|
|
58
121
|
return candidate;
|
|
59
|
-
}
|
|
60
|
-
catch { }
|
|
61
122
|
}
|
|
62
|
-
|
|
123
|
+
return yield* Effect.fail(domainError(new GenerateProjectError("RELKIT_CREATE_CLI_UNAVAILABLE", "The relkit CLI is not available for project checks.")));
|
|
124
|
+
}, (effect) => observeExecution("generator", "generation.resolveCli", effect));
|
|
125
|
+
/**
|
|
126
|
+
* Preserves the CLI executable Promise API.
|
|
127
|
+
* @param context - Caller-owned settings and cancellation.
|
|
128
|
+
* @param root - Absolute project or owned resource root.
|
|
129
|
+
* @returns The resolved CLI executable path after validating the supplied or available binary.
|
|
130
|
+
*/
|
|
131
|
+
export function resolveRelkitExecutable(context, root) {
|
|
132
|
+
return runGeneratorPromise(resolveRelkitExecutableEffect(context, root));
|
|
63
133
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
]);
|
|
74
|
-
return { exitCode, stdout, stderr };
|
|
75
|
-
}
|
|
76
|
-
finally {
|
|
77
|
-
signal?.removeEventListener("abort", abort);
|
|
78
|
-
}
|
|
134
|
+
/**
|
|
135
|
+
* Runs a native child at the compatibility edge, with interruption owned by its resource scope.
|
|
136
|
+
* @param command - Executable and literal arguments.
|
|
137
|
+
* @param cwd - Working directory.
|
|
138
|
+
* @param signal - Optional caller cancellation.
|
|
139
|
+
* @returns Output and exit status after the child has been awaited.
|
|
140
|
+
*/
|
|
141
|
+
export function runProjectCommand(command, cwd, signal) {
|
|
142
|
+
return runGeneratorPromise(GeneratorProcess.use((process) => process.run(command, cwd)), signal);
|
|
79
143
|
}
|
|
80
144
|
//# sourceMappingURL=generate-process.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-process.js","sourceRoot":"","sources":["../src/generate-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"generate-process.js","sourceRoot":"","sources":["../src/generate-process.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Effect, Exit } from "effect";
|
|
2
|
+
import type { StageCleanupResult } from "./generate-files-utilities.types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Records an owned stage's disposition alongside the unchanged authoritative failure.
|
|
5
|
+
* @param exit - Authoritative scoped exit whose primary cause must be preserved.
|
|
6
|
+
* @param cleanup - Recorded staging path and cleanup disposition.
|
|
7
|
+
* @param ownerOverride - Optional public owner used to retain interruption cleanup evidence.
|
|
8
|
+
* @returns Completion after the existing contract has been applied.
|
|
9
|
+
*/
|
|
10
|
+
export declare function recordStageCleanup(exit: Exit.Exit<unknown, unknown>, cleanup: StageCleanupResult, ownerOverride?: unknown): Effect.Effect<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Retrieves staging cleanup details used by the existing public generation error formatter.
|
|
13
|
+
* @param value - Public failure or cancellation owner.
|
|
14
|
+
* @returns Recorded staging cleanup outcome, or undefined when no outcome was retained.
|
|
15
|
+
*/
|
|
16
|
+
export declare function stageCleanupFor(value: unknown): StageCleanupResult | undefined;
|
|
17
|
+
//# sourceMappingURL=generate-stage-cleanup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-stage-cleanup.d.ts","sourceRoot":"","sources":["../src/generate-stage-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAI9E;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,kBAAkB,EAC3B,aAAa,CAAC,EAAE,OAAO,GACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CASrB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,SAAS,CAG9E"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Cause, Effect, Exit } from "effect";
|
|
2
|
+
import { publicFailure } from "./generator-errors.js";
|
|
3
|
+
import { generatorCleanupFailures, recordCleanupFailure } from "./generator-cleanup.js";
|
|
4
|
+
const stages = new WeakMap();
|
|
5
|
+
/**
|
|
6
|
+
* Records an owned stage's disposition alongside the unchanged authoritative failure.
|
|
7
|
+
* @param exit - Authoritative scoped exit whose primary cause must be preserved.
|
|
8
|
+
* @param cleanup - Recorded staging path and cleanup disposition.
|
|
9
|
+
* @param ownerOverride - Optional public owner used to retain interruption cleanup evidence.
|
|
10
|
+
* @returns Completion after the existing contract has been applied.
|
|
11
|
+
*/
|
|
12
|
+
export function recordStageCleanup(exit, cleanup, ownerOverride) {
|
|
13
|
+
return Effect.gen(function* () {
|
|
14
|
+
const owner = publicFailure(ownerOverride ?? (Exit.isFailure(exit) ? Cause.squash(exit.cause) : exit.value));
|
|
15
|
+
if (typeof owner === "object" && owner !== null)
|
|
16
|
+
stages.set(owner, cleanup);
|
|
17
|
+
for (const failure of generatorCleanupFailures(cleanup))
|
|
18
|
+
yield* recordCleanupFailure(exit, "stage", failure.cause, ownerOverride);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Retrieves staging cleanup details used by the existing public generation error formatter.
|
|
23
|
+
* @param value - Public failure or cancellation owner.
|
|
24
|
+
* @returns Recorded staging cleanup outcome, or undefined when no outcome was retained.
|
|
25
|
+
*/
|
|
26
|
+
export function stageCleanupFor(value) {
|
|
27
|
+
const owner = publicFailure(value);
|
|
28
|
+
return typeof owner === "object" && owner !== null ? stages.get(owner) : undefined;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=generate-stage-cleanup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-stage-cleanup.js","sourceRoot":"","sources":["../src/generate-stage-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGxF,MAAM,MAAM,GAAG,IAAI,OAAO,EAA8B,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAiC,EACjC,OAA2B,EAC3B,aAAuB;IAEvB,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,KAAK,GAAG,aAAa,CACzB,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAChF,CAAC;QACF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5E,KAAK,MAAM,OAAO,IAAI,wBAAwB,CAAC,OAAO,CAAC;YACrD,KAAK,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrF,CAAC"}
|
package/dist/generate-types.d.ts
CHANGED
|
@@ -2,13 +2,25 @@ import type { AddResult, ScaffoldWarning } from "./add-types.js";
|
|
|
2
2
|
import type { CreateOptions } from "./options.js";
|
|
3
3
|
import type { PromptDriver } from "./prompt-driver.js";
|
|
4
4
|
import type { GenerateNextSteps } from "./generate-output.js";
|
|
5
|
+
/**
|
|
6
|
+
* Native process exit status and captured standard output/error.
|
|
7
|
+
*/
|
|
5
8
|
export interface GenerateCommandResult {
|
|
6
9
|
readonly exitCode: number;
|
|
7
10
|
readonly stdout?: string;
|
|
8
11
|
readonly stderr?: string;
|
|
9
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Existing Promise process adapter receiving literal arguments, cwd and optional cancellation.
|
|
15
|
+
*/
|
|
10
16
|
export type GenerateCommandRunner = (command: readonly string[], cwd: string, signal?: AbortSignal) => Promise<GenerateCommandResult>;
|
|
17
|
+
/**
|
|
18
|
+
* Named generation stages available for deterministic failure injection.
|
|
19
|
+
*/
|
|
11
20
|
export type GenerateFailurePoint = "copy" | "substitute" | "install" | "git" | "doctor" | "check" | "rename";
|
|
21
|
+
/**
|
|
22
|
+
* Caller-owned templates, process/prompt adapters, cancellation and progress settings.
|
|
23
|
+
*/
|
|
12
24
|
export interface GenerateProjectContext {
|
|
13
25
|
readonly cwd?: string;
|
|
14
26
|
readonly templateRoot?: string;
|
|
@@ -17,11 +29,24 @@ export interface GenerateProjectContext {
|
|
|
17
29
|
readonly gitExecutable?: string;
|
|
18
30
|
readonly relkitExecutable?: string;
|
|
19
31
|
readonly signal?: AbortSignal;
|
|
32
|
+
/**
|
|
33
|
+
* Reports the current step through the caller's progress sink.
|
|
34
|
+
* @param message - User-facing progress text for the current step.
|
|
35
|
+
* @returns Completion after the sink receives one progress message.
|
|
36
|
+
*/
|
|
20
37
|
readonly onProgress?: (message: string) => void;
|
|
38
|
+
/**
|
|
39
|
+
* Injects a failure at a named stage for deterministic generation tests.
|
|
40
|
+
* @param point - Fixed deterministic generation failure-injection point.
|
|
41
|
+
* @returns Completion after the hook runs; a thrown failure aborts that stage.
|
|
42
|
+
*/
|
|
21
43
|
readonly failAt?: (point: GenerateFailurePoint) => void;
|
|
22
44
|
readonly interactive?: boolean;
|
|
23
45
|
readonly promptDriver?: PromptDriver;
|
|
24
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Published project's options, destination, files, warnings and local next steps.
|
|
49
|
+
*/
|
|
25
50
|
export interface GenerateProjectResult {
|
|
26
51
|
readonly ok: true;
|
|
27
52
|
readonly command: "create";
|
|
@@ -37,10 +62,21 @@ export interface GenerateProjectResult {
|
|
|
37
62
|
readonly warnings: readonly ScaffoldWarning[];
|
|
38
63
|
readonly nextSteps: GenerateNextSteps;
|
|
39
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Public generation failure carrying its diagnostic code, exit status and optional staging path.
|
|
67
|
+
*/
|
|
40
68
|
export declare class GenerateProjectError extends Error {
|
|
41
69
|
readonly code: string;
|
|
42
70
|
readonly exitCode: 1 | 2 | 130 | 143;
|
|
43
71
|
readonly temporaryPath: string | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* Creates a public generation failure retaining its temporary-path details.
|
|
74
|
+
* @param code - Stable generation or validation diagnostic code.
|
|
75
|
+
* @param message - User-facing diagnostic or prompt text.
|
|
76
|
+
* @param temporaryPath - Staging directory retained in diagnostic output, when present.
|
|
77
|
+
* @param exitCode - Supported process exit code, defaulting from the public code.
|
|
78
|
+
* @returns The canonical public error instance.
|
|
79
|
+
*/
|
|
44
80
|
constructor(code: string, message: string, temporaryPath?: string, exitCode?: 1 | 2 | 130 | 143);
|
|
45
81
|
}
|
|
46
82
|
//# sourceMappingURL=generate-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-types.d.ts","sourceRoot":"","sources":["../src/generate-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,MAAM,oBAAoB,GAC9B,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,SAAS,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;CACvC;AAED,qBAAa,oBAAqB,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"generate-types.d.ts","sourceRoot":"","sources":["../src/generate-types.ts"],"names":[],"mappings":"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"}
|
package/dist/generate-types.js
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public generation failure carrying its diagnostic code, exit status and optional staging path.
|
|
3
|
+
*/
|
|
1
4
|
export class GenerateProjectError extends Error {
|
|
2
5
|
code;
|
|
3
6
|
exitCode;
|
|
4
7
|
temporaryPath;
|
|
8
|
+
/**
|
|
9
|
+
* Creates a public generation failure retaining its temporary-path details.
|
|
10
|
+
* @param code - Stable generation or validation diagnostic code.
|
|
11
|
+
* @param message - User-facing diagnostic or prompt text.
|
|
12
|
+
* @param temporaryPath - Staging directory retained in diagnostic output, when present.
|
|
13
|
+
* @param exitCode - Supported process exit code, defaulting from the public code.
|
|
14
|
+
* @returns The canonical public error instance.
|
|
15
|
+
*/
|
|
5
16
|
constructor(code, message, temporaryPath, exitCode = defaultExitCode(code)) {
|
|
6
17
|
super(message);
|
|
7
18
|
this.code = code;
|
|
@@ -10,6 +21,11 @@ export class GenerateProjectError extends Error {
|
|
|
10
21
|
this.name = "GenerateProjectError";
|
|
11
22
|
}
|
|
12
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Maps usage and cancellation codes to their stable exit statuses.
|
|
26
|
+
* @param code - Public diagnostic code.
|
|
27
|
+
* @returns 2 for usage, 130 for cancellation/interruption, otherwise 1.
|
|
28
|
+
*/
|
|
13
29
|
function defaultExitCode(code) {
|
|
14
30
|
if (code.endsWith("_USAGE"))
|
|
15
31
|
return 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../src/generate-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../src/generate-types.ts"],"names":[],"mappings":"AA2EA;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAalC;IAZF,QAAQ,CAAoB;IAC5B,aAAa,CAAqB;IAE3C;;;;;;;OAOG;IACH,YACW,IAAY,EACrB,OAAe,EACf,aAAsB,EACtB,WAA8B,eAAe,CAAC,IAAI,CAAC;QAEnD,KAAK,CAAC,OAAO,CAAC,CAAC;QALN,SAAI,GAAJ,IAAI,CAAQ;QAMrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,KAAK,oBAAoB;QAAE,OAAO,GAAG,CAAC;IAC7E,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import type { CreateOptions } from "./options.js";
|
|
3
|
+
import { type GenerateProjectContext } from "./generate-types.js";
|
|
4
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
5
|
+
import { GeneratorProcess } from "./generator-process.js";
|
|
6
|
+
import { GeneratorPrompt } from "./generator-prompt.js";
|
|
7
|
+
/**
|
|
8
|
+
* Validates, prepares, verifies and publishes while a Scope owns the disposable stage.
|
|
9
|
+
* @param options - Explicit options retaining existing defaults.
|
|
10
|
+
* @param context - Caller-owned settings and cancellation.
|
|
11
|
+
* @returns The published project's immutable result after native child settlement and staging cleanup.
|
|
12
|
+
*/
|
|
13
|
+
export declare const generateEffect: (options: CreateOptions, context: GenerateProjectContext) => Effect.Effect<Readonly<{
|
|
14
|
+
ok: true;
|
|
15
|
+
command: "create";
|
|
16
|
+
name: string;
|
|
17
|
+
template: "agent" | "minimal" | "api" | "fullstack";
|
|
18
|
+
cloud: "aws" | "none";
|
|
19
|
+
deploy: "none" | "pulumi";
|
|
20
|
+
destination: string;
|
|
21
|
+
files: readonly string[];
|
|
22
|
+
installed: boolean;
|
|
23
|
+
gitInitialized: boolean;
|
|
24
|
+
additions: readonly never[];
|
|
25
|
+
warnings: readonly {
|
|
26
|
+
code: string;
|
|
27
|
+
message: string;
|
|
28
|
+
}[];
|
|
29
|
+
nextSteps: import("./generate-output.types.js").GenerateNextSteps;
|
|
30
|
+
}>, import("./generator-errors.js").GeneratorIoError | import("./generator-errors.js").GeneratorProcessError | import("./generator-errors.js").GeneratorPromptError | import("./generator-errors.js").GeneratorDomainError, GeneratorFileSystem | GeneratorProcess | import("./generator-paths.js").GeneratorPaths | GeneratorPrompt>;
|
|
31
|
+
//# sourceMappingURL=generate-workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-workflow.d.ts","sourceRoot":"","sources":["../src/generate-workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAAa,MAAM,QAAQ,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAmBlD,OAAO,EAAwB,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;qUA0J1B,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { basename, dirname, join } from "node:path";
|
|
2
|
+
import { Cause, Effect, Exit, Ref } from "effect";
|
|
3
|
+
import { observeExecution } from "@relkit/contracts/operation";
|
|
4
|
+
import { validateCreateOptionsEffect } from "./validate.js";
|
|
5
|
+
import { injectGenerateFailure, resolveRelkitExecutableEffect, runProjectStepEffect, throwIfAborted, } from "./generate-process.js";
|
|
6
|
+
import { copyTemplateEffect, cleanupStagedProjectEffect, customizeProjectEffect, listProjectFilesEffect, requireFilesEffect, requireTemplateEffect, } from "./generate-files.js";
|
|
7
|
+
import { createGenerateNextSteps } from "./generate-output.js";
|
|
8
|
+
import { prepareProjectDependencyPatchEffect } from "./dependency-patches.js";
|
|
9
|
+
import { resolveTemplateRootEffect } from "./template-root.js";
|
|
10
|
+
import { GenerateProjectError } from "./generate-types.js";
|
|
11
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
12
|
+
import { GeneratorProcess } from "./generator-process.js";
|
|
13
|
+
import { GeneratorPrompt } from "./generator-prompt.js";
|
|
14
|
+
import { domainError, domainTry } from "./generator-errors.js";
|
|
15
|
+
import { recordCleanupFailure } from "./generator-cleanup.js";
|
|
16
|
+
import { recordStageCleanup } from "./generate-stage-cleanup.js";
|
|
17
|
+
/**
|
|
18
|
+
* Validates, prepares, verifies and publishes while a Scope owns the disposable stage.
|
|
19
|
+
* @param options - Explicit options retaining existing defaults.
|
|
20
|
+
* @param context - Caller-owned settings and cancellation.
|
|
21
|
+
* @returns The published project's immutable result after native child settlement and staging cleanup.
|
|
22
|
+
*/
|
|
23
|
+
export const generateEffect = Effect.fn("ProjectGeneration.execute")((options, context) => Effect.scoped(Effect.gen(function* () {
|
|
24
|
+
const validated = yield* validateCreateOptionsEffect(options, context.cwd === undefined ? {} : { cwd: context.cwd });
|
|
25
|
+
if (context.interactive === true &&
|
|
26
|
+
!(yield* (yield* GeneratorPrompt).confirm({
|
|
27
|
+
message: "Create this project?",
|
|
28
|
+
initialValue: true,
|
|
29
|
+
})))
|
|
30
|
+
return yield* Effect.fail(domainError(new GenerateProjectError("RELKIT_CREATE_CANCELLED", "Scaffolding was cancelled.")));
|
|
31
|
+
context.onProgress?.(`Creating a new RELKIT app in ${validated.destination}.`);
|
|
32
|
+
const fs = yield* GeneratorFileSystem;
|
|
33
|
+
const templateRoot = yield* resolveTemplateRootEffect(context);
|
|
34
|
+
const template = join(templateRoot, options.jobs === undefined ? options.template : "tasks");
|
|
35
|
+
yield* requireTemplateEffect(template);
|
|
36
|
+
const owned = yield* Effect.acquireRelease(Effect.gen(function* () {
|
|
37
|
+
yield* fs.mkdir(dirname(validated.destination), { recursive: true, mode: 0o755 });
|
|
38
|
+
const stage = yield* fs.temporaryDirectory(join(dirname(validated.destination), `.${basename(validated.destination)}-relkit-`));
|
|
39
|
+
return { stage, published: yield* Ref.make(false) };
|
|
40
|
+
}), (owned, exit) => Effect.gen(function* () {
|
|
41
|
+
if (yield* Ref.get(owned.published))
|
|
42
|
+
return;
|
|
43
|
+
const cleanup = yield* cleanupStagedProjectEffect(owned.stage, validated.destination).pipe(Effect.catchCause((cause) => Effect.gen(function* () {
|
|
44
|
+
const retained = { temporaryPath: owned.stage, removed: false };
|
|
45
|
+
yield* recordCleanupFailure(Exit.succeed(retained), "stage", Cause.squash(cause));
|
|
46
|
+
return retained;
|
|
47
|
+
})));
|
|
48
|
+
yield* recordStageCleanup(exit, cleanup, context.signal?.aborted ? context.signal : undefined);
|
|
49
|
+
}));
|
|
50
|
+
yield* domainTry(() => injectGenerateFailure(context, "copy"));
|
|
51
|
+
yield* copyTemplateEffect(template, owned.stage);
|
|
52
|
+
yield* domainTry(() => injectGenerateFailure(context, "substitute"));
|
|
53
|
+
yield* customizeProjectEffect(owned.stage, options);
|
|
54
|
+
yield* requireFilesEffect(owned.stage, [
|
|
55
|
+
"package.json",
|
|
56
|
+
"relkit.config.ts",
|
|
57
|
+
"src/platform/env.ts",
|
|
58
|
+
".env.example",
|
|
59
|
+
".gitignore",
|
|
60
|
+
]);
|
|
61
|
+
yield* prepareProjectDependencyPatchEffect(owned.stage);
|
|
62
|
+
if (options.install) {
|
|
63
|
+
context.onProgress?.("Installing dependencies...");
|
|
64
|
+
yield* runProjectStepEffect(context, [context.bunExecutable ?? globalThis.process.execPath, "install"], owned.stage, "install", "install");
|
|
65
|
+
}
|
|
66
|
+
const git = context.gitExecutable ??
|
|
67
|
+
(context.commandRunner ? "git" : yield* (yield* GeneratorProcess).which("git"));
|
|
68
|
+
const gitInitialized = options.git && git !== null;
|
|
69
|
+
if (gitInitialized) {
|
|
70
|
+
context.onProgress?.("Initializing Git repository...");
|
|
71
|
+
yield* runProjectStepEffect(context, [git, "init"], owned.stage, "git", "git");
|
|
72
|
+
}
|
|
73
|
+
if (options.install) {
|
|
74
|
+
const relkit = yield* resolveRelkitExecutableEffect(context, owned.stage);
|
|
75
|
+
context.onProgress?.("Checking generated project...");
|
|
76
|
+
yield* runProjectStepEffect(context, [
|
|
77
|
+
relkit,
|
|
78
|
+
"doctor",
|
|
79
|
+
"--project-root",
|
|
80
|
+
owned.stage,
|
|
81
|
+
"--no-ports",
|
|
82
|
+
...(options.cloud === "none" || options.deploy === "none" ? ["--no-pulumi"] : []),
|
|
83
|
+
], owned.stage, "doctor", "doctor");
|
|
84
|
+
yield* runProjectStepEffect(context, [relkit, "check", "--project-root", owned.stage], owned.stage, "check", "check");
|
|
85
|
+
}
|
|
86
|
+
yield* domainTry(() => {
|
|
87
|
+
throwIfAborted(context.signal);
|
|
88
|
+
injectGenerateFailure(context, "rename");
|
|
89
|
+
});
|
|
90
|
+
// Native rename and publication bookkeeping settle as one atomic ownership handoff.
|
|
91
|
+
yield* Effect.uninterruptible(fs
|
|
92
|
+
.rename(owned.stage, validated.destination)
|
|
93
|
+
.pipe(Effect.tap(() => Ref.set(owned.published, true))));
|
|
94
|
+
return Object.freeze({
|
|
95
|
+
ok: true,
|
|
96
|
+
command: "create",
|
|
97
|
+
name: options.name,
|
|
98
|
+
template: options.template,
|
|
99
|
+
cloud: options.cloud,
|
|
100
|
+
deploy: options.deploy,
|
|
101
|
+
destination: validated.destination,
|
|
102
|
+
files: Object.freeze(yield* listProjectFilesEffect(validated.destination)),
|
|
103
|
+
installed: options.install,
|
|
104
|
+
gitInitialized,
|
|
105
|
+
additions: Object.freeze([]),
|
|
106
|
+
warnings: Object.freeze(!options.install
|
|
107
|
+
? [
|
|
108
|
+
{
|
|
109
|
+
code: "validation-skipped",
|
|
110
|
+
message: "Install dependencies, then run bun run check.",
|
|
111
|
+
},
|
|
112
|
+
]
|
|
113
|
+
: []),
|
|
114
|
+
nextSteps: createGenerateNextSteps(options, validated.destination, context.cwd),
|
|
115
|
+
});
|
|
116
|
+
})), (effect) => observeExecution("generator", "generation.execute", effect));
|
|
117
|
+
//# sourceMappingURL=generate-workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-workflow.js","sourceRoot":"","sources":["../src/generate-workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/generate.d.ts
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
1
2
|
import type { CreateOptions } from "./options.js";
|
|
2
3
|
import { type GenerateProjectContext, type GenerateProjectResult } from "./generate-types.js";
|
|
3
|
-
|
|
4
|
+
import { GeneratorFileSystem } from "./generator-filesystem.js";
|
|
5
|
+
import { GeneratorProcess } from "./generator-process.js";
|
|
6
|
+
import { GeneratorPaths } from "./generator-paths.js";
|
|
7
|
+
import { GeneratorPrompt } from "./generator-prompt.js";
|
|
8
|
+
import type { ProjectGenerationService } from "./generate.service.types.js";
|
|
9
|
+
declare const ProjectGeneration_base: Context.ServiceClass<ProjectGeneration, "create-relkit/ProjectGeneration", ProjectGenerationService>;
|
|
10
|
+
/** Owns one complete creation workflow, including consent and atomic publication. */
|
|
11
|
+
export declare class ProjectGeneration extends ProjectGeneration_base {
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Generation captures explicit filesystem, path, process and prompt authority at acquisition.
|
|
15
|
+
* @returns A ProjectGeneration Layer requiring filesystem, paths, process and prompt services.
|
|
16
|
+
*/
|
|
17
|
+
export declare const projectGenerationLive: Layer.Layer<ProjectGeneration, never, GeneratorFileSystem | GeneratorProcess | GeneratorPaths | GeneratorPrompt>;
|
|
18
|
+
/**
|
|
19
|
+
* Generates a project through explicitly acquired creation authority.
|
|
20
|
+
* @param options - Normalized creation flags.
|
|
21
|
+
* @param context - Existing template, progress and executable settings.
|
|
22
|
+
* @returns A lazy scoped workflow that settles owned resources before its result.
|
|
23
|
+
*/
|
|
24
|
+
export declare const generateProjectEffect: (options: CreateOptions, context?: GenerateProjectContext | undefined) => Effect.Effect<GenerateProjectResult, import("./generator-errors.js").GeneratorIoError | import("./generator-errors.js").GeneratorProcessError | import("./generator-errors.js").GeneratorPromptError | import("./generator-errors.js").GeneratorDomainError, ProjectGeneration>;
|
|
25
|
+
/**
|
|
26
|
+
* Preserves the public Promise API, flags, errors and generated result shape.
|
|
27
|
+
* @param options - Normalized creation flags.
|
|
28
|
+
* @param context - Existing runner, prompt and cancellation settings.
|
|
29
|
+
* @returns The generated result after atomic publication and scoped cleanup.
|
|
30
|
+
*/
|
|
4
31
|
export declare function generateProject(options: CreateOptions, context?: GenerateProjectContext): Promise<GenerateProjectResult>;
|
|
32
|
+
export {};
|
|
5
33
|
//# sourceMappingURL=generate.d.ts.map
|
package/dist/generate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAIhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIlD,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAyB,MAAM,wBAAwB,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AAU9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;;AAE5E,qFAAqF;AACrF,qBAAa,iBAAkB,SAAQ,sBAGD;CAAG;AAEzC;;;GAGG;AACH,eAAO,MAAM,qBAAqB,kHAuBjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,2VAKjC,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAuBhC"}
|