zudojs-cli 2.1.2 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -3
- package/dist/src/adapters/databases/databaseAdapter.resolver.d.ts +0 -1
- package/dist/src/adapters/databases/databaseAdapter.resolver.js +0 -1
- package/dist/src/adapters/databases/index.d.ts +0 -1
- package/dist/src/adapters/databases/index.js +0 -1
- package/dist/src/adapters/databases/mysql.adapter.d.ts +0 -1
- package/dist/src/adapters/databases/mysql.adapter.js +0 -1
- package/dist/src/adapters/databases/postgres.adapter.d.ts +0 -1
- package/dist/src/adapters/databases/postgres.adapter.js +0 -1
- package/dist/src/adapters/databases/sqlite.adapter.d.ts +0 -1
- package/dist/src/adapters/databases/sqlite.adapter.js +0 -1
- package/dist/src/adapters/frontend/angular.adapter.d.ts +0 -1
- package/dist/src/adapters/frontend/angular.adapter.js +0 -1
- package/dist/src/adapters/frontend/astro.adapter.d.ts +0 -1
- package/dist/src/adapters/frontend/astro.adapter.js +0 -1
- package/dist/src/adapters/frontend/fallback/fallback.helper.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/fallback.helper.js +0 -1
- package/dist/src/adapters/frontend/fallback/framework/angular/angular.fallback.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/framework/angular/angular.fallback.js +0 -1
- package/dist/src/adapters/frontend/fallback/framework/angular/angularWorkspace.fallback.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/framework/angular/angularWorkspace.fallback.js +0 -1
- package/dist/src/adapters/frontend/fallback/framework/angular/index.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/framework/angular/index.js +0 -1
- package/dist/src/adapters/frontend/fallback/framework/astro.fallback.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/framework/astro.fallback.js +0 -1
- package/dist/src/adapters/frontend/fallback/framework/index.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/framework/index.js +0 -1
- package/dist/src/adapters/frontend/fallback/framework/next.fallback.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/framework/next.fallback.js +0 -1
- package/dist/src/adapters/frontend/fallback/framework/nuxt.fallback.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/framework/nuxt.fallback.js +0 -1
- package/dist/src/adapters/frontend/fallback/framework/sveltekit.fallback.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/framework/sveltekit.fallback.js +0 -1
- package/dist/src/adapters/frontend/fallback/index.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/index.js +0 -1
- package/dist/src/adapters/frontend/fallback/vite/index.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/vite/index.js +0 -1
- package/dist/src/adapters/frontend/fallback/vite/react.fallback.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/vite/react.fallback.js +0 -1
- package/dist/src/adapters/frontend/fallback/vite/svelte.fallback.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/vite/svelte.fallback.js +0 -1
- package/dist/src/adapters/frontend/fallback/vite/vanilla.fallback.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/vite/vanilla.fallback.js +0 -1
- package/dist/src/adapters/frontend/fallback/vite/vue.fallback.d.ts +0 -1
- package/dist/src/adapters/frontend/fallback/vite/vue.fallback.js +0 -1
- package/dist/src/adapters/frontend/flutter.adapter.d.ts +0 -1
- package/dist/src/adapters/frontend/flutter.adapter.js +0 -1
- package/dist/src/adapters/frontend/frontendAdapter.type.d.ts +0 -1
- package/dist/src/adapters/frontend/frontendAdapter.type.js +0 -1
- package/dist/src/adapters/frontend/index.d.ts +0 -1
- package/dist/src/adapters/frontend/index.js +0 -1
- package/dist/src/adapters/frontend/next.adapter.d.ts +0 -1
- package/dist/src/adapters/frontend/next.adapter.js +0 -1
- package/dist/src/adapters/frontend/nuxt.adapter.d.ts +0 -1
- package/dist/src/adapters/frontend/nuxt.adapter.js +0 -1
- package/dist/src/adapters/frontend/react-native.adapter.d.ts +0 -1
- package/dist/src/adapters/frontend/react-native.adapter.js +0 -1
- package/dist/src/adapters/frontend/react.adapter.d.ts +0 -1
- package/dist/src/adapters/frontend/react.adapter.js +0 -1
- package/dist/src/adapters/frontend/svelte.adapter.d.ts +0 -1
- package/dist/src/adapters/frontend/svelte.adapter.js +0 -1
- package/dist/src/adapters/frontend/sveltekit.adapter.d.ts +0 -1
- package/dist/src/adapters/frontend/sveltekit.adapter.js +0 -1
- package/dist/src/adapters/frontend/vanilla.adapter.d.ts +0 -1
- package/dist/src/adapters/frontend/vanilla.adapter.js +0 -1
- package/dist/src/adapters/frontend/vue.adapter.d.ts +0 -1
- package/dist/src/adapters/frontend/vue.adapter.js +0 -1
- package/dist/src/adapters/package-managers/bun.adapter.d.ts +0 -1
- package/dist/src/adapters/package-managers/bun.adapter.js +0 -1
- package/dist/src/adapters/package-managers/index.d.ts +0 -1
- package/dist/src/adapters/package-managers/index.js +0 -1
- package/dist/src/adapters/package-managers/npm.adapter.d.ts +0 -1
- package/dist/src/adapters/package-managers/npm.adapter.js +0 -1
- package/dist/src/adapters/package-managers/packageManager.type.d.ts +0 -1
- package/dist/src/adapters/package-managers/packageManager.type.js +0 -1
- package/dist/src/adapters/package-managers/pnpm.adapter.d.ts +0 -1
- package/dist/src/adapters/package-managers/pnpm.adapter.js +0 -1
- package/dist/src/adapters/package-managers/yarn.adapter.d.ts +0 -1
- package/dist/src/adapters/package-managers/yarn.adapter.js +0 -1
- package/dist/src/bin/bin.menu.d.ts +0 -1
- package/dist/src/bin/bin.menu.js +0 -1
- package/dist/src/bin/bin.runner.d.ts +0 -1
- package/dist/src/bin/bin.runner.js +0 -1
- package/dist/src/bin/index.d.ts +0 -1
- package/dist/src/bin/index.js +0 -1
- package/dist/src/bin/zudojs.d.ts +0 -1
- package/dist/src/bin/zudojs.js +1 -2
- package/dist/src/cliApplication/cliApplication.builtins.d.ts +0 -1
- package/dist/src/cliApplication/cliApplication.builtins.js +0 -1
- package/dist/src/cliApplication/cliApplication.core.d.ts +0 -1
- package/dist/src/cliApplication/cliApplication.core.js +0 -1
- package/dist/src/cliApplication/cliApplication.help.d.ts +0 -1
- package/dist/src/cliApplication/cliApplication.help.js +0 -1
- package/dist/src/cliApplication/cliApplication.logger.d.ts +0 -1
- package/dist/src/cliApplication/cliApplication.logger.js +0 -1
- package/dist/src/cliApplication/cliApplication.writer.d.ts +0 -1
- package/dist/src/cliApplication/cliApplication.writer.js +0 -1
- package/dist/src/cliApplication/index.d.ts +0 -1
- package/dist/src/cliApplication/index.js +0 -1
- package/dist/src/cliApplication/invocation/index.d.ts +0 -1
- package/dist/src/cliApplication/invocation/index.js +0 -1
- package/dist/src/cliApplication/invocation/invocation.hint.d.ts +0 -7
- package/dist/src/cliApplication/invocation/invocation.hint.js +14 -1
- package/dist/src/cliApplication/invocation/invocation.locate.d.ts +0 -1
- package/dist/src/cliApplication/invocation/invocation.locate.js +0 -1
- package/dist/src/cliApplication/invocation/invocation.name.d.ts +0 -1
- package/dist/src/cliApplication/invocation/invocation.name.js +0 -1
- package/dist/src/cliApplication/invocation/invocation.sanitize.d.ts +0 -1
- package/dist/src/cliApplication/invocation/invocation.sanitize.js +0 -1
- package/dist/src/cliCommand/cliCommand.builder.d.ts +0 -1
- package/dist/src/cliCommand/cliCommand.builder.js +0 -1
- package/dist/src/cliCommand/cliCommand.factory.d.ts +0 -1
- package/dist/src/cliCommand/cliCommand.factory.js +0 -1
- package/dist/src/cliCommand/cliCommand.registry.d.ts +0 -1
- package/dist/src/cliCommand/cliCommand.registry.js +0 -1
- package/dist/src/cliCommand/cliCommand.validator.d.ts +0 -1
- package/dist/src/cliCommand/cliCommand.validator.js +0 -1
- package/dist/src/cliCommand/index.d.ts +0 -1
- package/dist/src/cliCommand/index.js +0 -1
- package/dist/src/cliConstant/cliConstant.value.d.ts +0 -1
- package/dist/src/cliConstant/cliConstant.value.js +0 -1
- package/dist/src/cliConstant/cliVersion.d.ts +0 -1
- package/dist/src/cliConstant/cliVersion.js +0 -1
- package/dist/src/cliConstant/index.d.ts +0 -1
- package/dist/src/cliConstant/index.js +0 -1
- package/dist/src/cliError/cliError.argument.d.ts +0 -1
- package/dist/src/cliError/cliError.argument.js +0 -1
- package/dist/src/cliError/cliError.base.d.ts +0 -1
- package/dist/src/cliError/cliError.base.js +0 -1
- package/dist/src/cliError/cliError.command.d.ts +0 -1
- package/dist/src/cliError/cliError.command.js +0 -1
- package/dist/src/cliError/cliError.execution.d.ts +0 -1
- package/dist/src/cliError/cliError.execution.js +0 -1
- package/dist/src/cliError/cliError.option.d.ts +0 -1
- package/dist/src/cliError/cliError.option.js +0 -1
- package/dist/src/cliError/index.d.ts +0 -1
- package/dist/src/cliError/index.js +0 -1
- package/dist/src/cliParser/cliParser.core.d.ts +0 -1
- package/dist/src/cliParser/cliParser.core.js +0 -1
- package/dist/src/cliParser/cliParser.helper.d.ts +0 -1
- package/dist/src/cliParser/cliParser.helper.js +0 -1
- package/dist/src/cliParser/cliParser.longOption.d.ts +0 -1
- package/dist/src/cliParser/cliParser.longOption.js +0 -1
- package/dist/src/cliParser/cliParser.shortOption.d.ts +0 -1
- package/dist/src/cliParser/cliParser.shortOption.js +0 -1
- package/dist/src/cliParser/index.d.ts +0 -1
- package/dist/src/cliParser/index.js +0 -1
- package/dist/src/cliType/cliType.type.d.ts +0 -1
- package/dist/src/cliType/cliType.type.js +0 -1
- package/dist/src/cliType/index.d.ts +0 -1
- package/dist/src/cliType/index.js +0 -1
- package/dist/src/cliVersion/cliVersion.core.d.ts +0 -1
- package/dist/src/cliVersion/cliVersion.core.js +0 -1
- package/dist/src/cliVersion/cliVersion.update.d.ts +0 -1
- package/dist/src/cliVersion/cliVersion.update.js +0 -1
- package/dist/src/cliVersion/index.d.ts +0 -1
- package/dist/src/cliVersion/index.js +0 -1
- package/dist/src/commands/add.command.d.ts +0 -1
- package/dist/src/commands/add.command.js +1 -2
- package/dist/src/commands/build.command.d.ts +0 -1
- package/dist/src/commands/build.command.js +0 -1
- package/dist/src/commands/commandError.helper.d.ts +0 -1
- package/dist/src/commands/commandError.helper.js +0 -1
- package/dist/src/commands/create.command.d.ts +0 -1
- package/dist/src/commands/create.command.js +0 -1
- package/dist/src/commands/dev/dev.plan.d.ts +39 -0
- package/dist/src/commands/dev/dev.plan.js +83 -0
- package/dist/src/commands/dev/index.d.ts +4 -0
- package/dist/src/commands/dev/index.js +4 -0
- package/dist/src/commands/dev.command.d.ts +4 -30
- package/dist/src/commands/dev.command.js +10 -80
- package/dist/src/commands/doctor.command.d.ts +0 -1
- package/dist/src/commands/doctor.command.js +0 -1
- package/dist/src/commands/generate.command.d.ts +0 -1
- package/dist/src/commands/generate.command.js +30 -10
- package/dist/src/commands/index.d.ts +0 -1
- package/dist/src/commands/index.js +0 -1
- package/dist/src/commands/info.command.d.ts +0 -1
- package/dist/src/commands/info.command.js +0 -1
- package/dist/src/constants/index.d.ts +0 -1
- package/dist/src/constants/index.js +0 -1
- package/dist/src/constants/zudojsVersions.generated.d.ts +0 -1
- package/dist/src/constants/zudojsVersions.generated.js +38 -39
- package/dist/src/constants/zudojsVersions.helper.d.ts +0 -1
- package/dist/src/constants/zudojsVersions.helper.js +0 -1
- package/dist/src/errors/index.d.ts +0 -1
- package/dist/src/errors/index.js +0 -1
- package/dist/src/generators/backend/backend.generator.d.ts +0 -1
- package/dist/src/generators/backend/backend.generator.js +0 -1
- package/dist/src/generators/backend/index.d.ts +0 -1
- package/dist/src/generators/backend/index.js +0 -1
- package/dist/src/generators/command/command.generator.d.ts +0 -1
- package/dist/src/generators/command/command.generator.js +0 -1
- package/dist/src/generators/command/command.template.d.ts +0 -1
- package/dist/src/generators/command/command.template.js +0 -1
- package/dist/src/generators/command/index.d.ts +0 -1
- package/dist/src/generators/command/index.js +0 -1
- package/dist/src/generators/event/event.generator.d.ts +0 -1
- package/dist/src/generators/event/event.generator.js +0 -1
- package/dist/src/generators/event/index.d.ts +0 -1
- package/dist/src/generators/event/index.js +0 -1
- package/dist/src/generators/frontend/frontendGenerator.core.d.ts +0 -1
- package/dist/src/generators/frontend/frontendGenerator.core.js +0 -1
- package/dist/src/generators/frontend/frontendPipeline.d.ts +0 -1
- package/dist/src/generators/frontend/frontendPipeline.js +0 -1
- package/dist/src/generators/frontend/index.d.ts +0 -1
- package/dist/src/generators/frontend/index.js +0 -1
- package/dist/src/generators/fullstack/fullstackBackend.layout.d.ts +0 -1
- package/dist/src/generators/fullstack/fullstackBackend.layout.js +0 -1
- package/dist/src/generators/fullstack/fullstackComposer.core.d.ts +0 -1
- package/dist/src/generators/fullstack/fullstackComposer.core.js +0 -1
- package/dist/src/generators/fullstack/index.d.ts +0 -1
- package/dist/src/generators/fullstack/index.js +0 -1
- package/dist/src/generators/index.d.ts +0 -1
- package/dist/src/generators/index.js +0 -1
- package/dist/src/generators/infrastructure/index.d.ts +0 -1
- package/dist/src/generators/infrastructure/index.js +0 -1
- package/dist/src/generators/infrastructure/infrastructure.generator.d.ts +0 -1
- package/dist/src/generators/infrastructure/infrastructure.generator.js +0 -1
- package/dist/src/generators/integration/index.d.ts +0 -1
- package/dist/src/generators/integration/index.js +0 -1
- package/dist/src/generators/integration/integrationGenerator.core.d.ts +0 -1
- package/dist/src/generators/integration/integrationGenerator.core.js +0 -1
- package/dist/src/generators/job/index.d.ts +0 -1
- package/dist/src/generators/job/index.js +0 -1
- package/dist/src/generators/job/job.generator.d.ts +0 -1
- package/dist/src/generators/job/job.generator.js +0 -1
- package/dist/src/generators/middleware/index.d.ts +2 -2
- package/dist/src/generators/middleware/index.js +2 -2
- package/dist/src/generators/middleware/middleware.generator.d.ts +28 -2
- package/dist/src/generators/middleware/middleware.generator.js +60 -16
- package/dist/src/generators/middleware/middleware.template.d.ts +20 -0
- package/dist/src/generators/middleware/middleware.template.js +34 -0
- package/dist/src/generators/model/index.d.ts +0 -1
- package/dist/src/generators/model/index.js +0 -1
- package/dist/src/generators/model/model.generator.d.ts +0 -1
- package/dist/src/generators/model/model.generator.js +0 -1
- package/dist/src/generators/module/index.d.ts +0 -1
- package/dist/src/generators/module/index.js +0 -1
- package/dist/src/generators/module/module.generator.d.ts +0 -1
- package/dist/src/generators/module/module.generator.js +27 -11
- package/dist/src/generators/module/module.registration.d.ts +4 -3
- package/dist/src/generators/module/module.registration.js +5 -4
- package/dist/src/generators/project/project.generator.d.ts +0 -1
- package/dist/src/generators/project/project.generator.js +0 -1
- package/dist/src/generators/query/index.d.ts +0 -1
- package/dist/src/generators/query/index.js +0 -1
- package/dist/src/generators/query/query.generator.d.ts +0 -1
- package/dist/src/generators/query/query.generator.js +0 -1
- package/dist/src/generators/query/query.template.d.ts +0 -1
- package/dist/src/generators/query/query.template.js +0 -1
- package/dist/src/generators/resource/index.d.ts +0 -1
- package/dist/src/generators/resource/index.js +0 -1
- package/dist/src/generators/resource/resource.checks.d.ts +31 -0
- package/dist/src/generators/resource/resource.checks.js +52 -0
- package/dist/src/generators/resource/resource.generator.d.ts +5 -3
- package/dist/src/generators/resource/resource.generator.js +23 -36
- package/dist/src/generators/resource/resource.layout.d.ts +0 -1
- package/dist/src/generators/resource/resource.layout.js +0 -1
- package/dist/src/generators/resource/resource.plan.d.ts +0 -1
- package/dist/src/generators/resource/resource.plan.js +0 -1
- package/dist/src/generators/resource/resource.run.d.ts +12 -2
- package/dist/src/generators/resource/resource.run.js +33 -9
- package/dist/src/generators/validator/index.d.ts +0 -1
- package/dist/src/generators/validator/index.js +0 -1
- package/dist/src/generators/validator/validator.generator.d.ts +6 -2
- package/dist/src/generators/validator/validator.generator.js +31 -10
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.js +0 -1
- package/dist/src/installers/dependency.installer.d.ts +0 -1
- package/dist/src/installers/dependency.installer.js +0 -1
- package/dist/src/installers/index.d.ts +0 -1
- package/dist/src/installers/index.js +0 -1
- package/dist/src/manifest/index.d.ts +0 -1
- package/dist/src/manifest/index.js +0 -1
- package/dist/src/manifest/manifestFile.helper.d.ts +0 -1
- package/dist/src/manifest/manifestFile.helper.js +0 -1
- package/dist/src/manifest/manifestManager.core.d.ts +0 -1
- package/dist/src/manifest/manifestManager.core.js +0 -1
- package/dist/src/prompts/backend/api-style.prompt.d.ts +0 -1
- package/dist/src/prompts/backend/api-style.prompt.js +0 -1
- package/dist/src/prompts/backend/backend-architecture.prompt.d.ts +0 -1
- package/dist/src/prompts/backend/backend-architecture.prompt.js +0 -1
- package/dist/src/prompts/backend/database.prompt.d.ts +0 -1
- package/dist/src/prompts/backend/database.prompt.js +0 -1
- package/dist/src/prompts/backend/index.d.ts +0 -1
- package/dist/src/prompts/backend/index.js +0 -1
- package/dist/src/prompts/backend/services.prompt.d.ts +0 -1
- package/dist/src/prompts/backend/services.prompt.js +0 -1
- package/dist/src/prompts/cancel.prompt.d.ts +0 -1
- package/dist/src/prompts/cancel.prompt.js +0 -1
- package/dist/src/prompts/capabilities/capabilities.prompt.d.ts +0 -1
- package/dist/src/prompts/capabilities/capabilities.prompt.js +0 -1
- package/dist/src/prompts/capabilities/index.d.ts +0 -1
- package/dist/src/prompts/capabilities/index.js +0 -1
- package/dist/src/prompts/frontend/framework.prompt.d.ts +0 -1
- package/dist/src/prompts/frontend/framework.prompt.js +0 -1
- package/dist/src/prompts/frontend/frontend-architecture.prompt.d.ts +0 -1
- package/dist/src/prompts/frontend/frontend-architecture.prompt.js +0 -1
- package/dist/src/prompts/frontend/index.d.ts +0 -1
- package/dist/src/prompts/frontend/index.js +0 -1
- package/dist/src/prompts/index.d.ts +0 -1
- package/dist/src/prompts/index.js +0 -1
- package/dist/src/prompts/menu/index.d.ts +0 -1
- package/dist/src/prompts/menu/index.js +0 -1
- package/dist/src/prompts/menu/menu.adapter.d.ts +0 -1
- package/dist/src/prompts/menu/menu.adapter.js +0 -1
- package/dist/src/prompts/menu/menu.constant.d.ts +0 -1
- package/dist/src/prompts/menu/menu.constant.js +0 -1
- package/dist/src/prompts/menu/menu.flow.d.ts +0 -1
- package/dist/src/prompts/menu/menu.flow.js +0 -1
- package/dist/src/prompts/menu/menu.select.d.ts +0 -1
- package/dist/src/prompts/menu/menu.select.js +0 -1
- package/dist/src/prompts/menu/menu.type.d.ts +0 -1
- package/dist/src/prompts/menu/menu.type.js +0 -1
- package/dist/src/prompts/project/confirmation.prompt.d.ts +0 -1
- package/dist/src/prompts/project/confirmation.prompt.js +0 -1
- package/dist/src/prompts/project/index.d.ts +0 -1
- package/dist/src/prompts/project/index.js +0 -1
- package/dist/src/prompts/project/project-name.prompt.d.ts +0 -1
- package/dist/src/prompts/project/project-name.prompt.js +0 -1
- package/dist/src/prompts/project/project-type.prompt.d.ts +0 -1
- package/dist/src/prompts/project/project-type.prompt.js +0 -1
- package/dist/src/prompts/workspace/index.d.ts +0 -1
- package/dist/src/prompts/workspace/index.js +0 -1
- package/dist/src/prompts/workspace/package-manager.prompt.d.ts +0 -1
- package/dist/src/prompts/workspace/package-manager.prompt.js +0 -1
- package/dist/src/recipes/apply/index.d.ts +0 -1
- package/dist/src/recipes/apply/index.js +0 -1
- package/dist/src/recipes/apply/recipeApply.app.d.ts +0 -1
- package/dist/src/recipes/apply/recipeApply.app.js +0 -1
- package/dist/src/recipes/apply/recipeApply.context.d.ts +0 -1
- package/dist/src/recipes/apply/recipeApply.context.js +0 -1
- package/dist/src/recipes/apply/recipeApply.files.d.ts +0 -1
- package/dist/src/recipes/apply/recipeApply.files.js +0 -1
- package/dist/src/recipes/apply/recipeApply.project.d.ts +13 -3
- package/dist/src/recipes/apply/recipeApply.project.js +56 -3
- package/dist/src/recipes/apply/recipeApply.report.d.ts +0 -1
- package/dist/src/recipes/apply/recipeApply.report.js +0 -1
- package/dist/src/recipes/catalog/database/database.files.d.ts +0 -1
- package/dist/src/recipes/catalog/database/database.files.js +0 -1
- package/dist/src/recipes/catalog/database/database.recipe.d.ts +0 -1
- package/dist/src/recipes/catalog/database/database.recipe.js +11 -2
- package/dist/src/recipes/catalog/database/index.d.ts +0 -1
- package/dist/src/recipes/catalog/database/index.js +0 -1
- package/dist/src/recipes/catalog/email.recipe.d.ts +0 -1
- package/dist/src/recipes/catalog/email.recipe.js +0 -1
- package/dist/src/recipes/catalog/index.d.ts +0 -1
- package/dist/src/recipes/catalog/index.js +0 -1
- package/dist/src/recipes/catalog/openapi.recipe.d.ts +0 -1
- package/dist/src/recipes/catalog/openapi.recipe.js +0 -1
- package/dist/src/recipes/catalog/platform/cache.recipe.d.ts +0 -1
- package/dist/src/recipes/catalog/platform/cache.recipe.js +0 -1
- package/dist/src/recipes/catalog/platform/index.d.ts +0 -1
- package/dist/src/recipes/catalog/platform/index.js +0 -1
- package/dist/src/recipes/catalog/platform/messaging.recipe.d.ts +0 -1
- package/dist/src/recipes/catalog/platform/messaging.recipe.js +0 -1
- package/dist/src/recipes/catalog/platform/observability.recipe.d.ts +0 -1
- package/dist/src/recipes/catalog/platform/observability.recipe.js +0 -1
- package/dist/src/recipes/catalog/platform/queue.recipe.d.ts +0 -1
- package/dist/src/recipes/catalog/platform/queue.recipe.js +0 -1
- package/dist/src/recipes/catalog/platform/scheduler.recipe.d.ts +0 -1
- package/dist/src/recipes/catalog/platform/scheduler.recipe.js +0 -1
- package/dist/src/recipes/catalog/redis.recipe.d.ts +0 -1
- package/dist/src/recipes/catalog/redis.recipe.js +0 -1
- package/dist/src/recipes/catalog/storage.recipe.d.ts +0 -1
- package/dist/src/recipes/catalog/storage.recipe.js +0 -1
- package/dist/src/recipes/catalog/websockets.recipe.d.ts +0 -1
- package/dist/src/recipes/catalog/websockets.recipe.js +0 -1
- package/dist/src/recipes/docker/docker.compose.d.ts +0 -1
- package/dist/src/recipes/docker/docker.compose.js +0 -1
- package/dist/src/recipes/docker/docker.recipe.d.ts +0 -1
- package/dist/src/recipes/docker/docker.recipe.js +0 -1
- package/dist/src/recipes/docker/docker.refresh.d.ts +0 -1
- package/dist/src/recipes/docker/docker.refresh.js +0 -1
- package/dist/src/recipes/docker/index.d.ts +0 -1
- package/dist/src/recipes/docker/index.js +0 -1
- package/dist/src/recipes/index.d.ts +0 -1
- package/dist/src/recipes/index.js +0 -1
- package/dist/src/recipes/recipe.registry.d.ts +0 -1
- package/dist/src/recipes/recipe.registry.js +0 -1
- package/dist/src/recipes/recipe.type.d.ts +6 -1
- package/dist/src/recipes/recipe.type.js +0 -1
- package/dist/src/registries/adapter/frontendAdapterRegistry.core.d.ts +0 -1
- package/dist/src/registries/adapter/frontendAdapterRegistry.core.js +0 -1
- package/dist/src/registries/adapter/packageManagerRegistry.core.d.ts +0 -1
- package/dist/src/registries/adapter/packageManagerRegistry.core.js +0 -1
- package/dist/src/registries/dependency/dependencyRegistry.core.d.ts +0 -1
- package/dist/src/registries/dependency/dependencyRegistry.core.js +0 -1
- package/dist/src/registries/dependency/index.d.ts +0 -1
- package/dist/src/registries/dependency/index.js +0 -1
- package/dist/src/registries/generator/generatorRegistry.core.d.ts +0 -1
- package/dist/src/registries/generator/generatorRegistry.core.js +0 -1
- package/dist/src/registries/generator/index.d.ts +0 -1
- package/dist/src/registries/generator/index.js +0 -1
- package/dist/src/registries/index.d.ts +0 -1
- package/dist/src/registries/index.js +0 -1
- package/dist/src/resolvers/architecture.resolver.d.ts +0 -1
- package/dist/src/resolvers/architecture.resolver.js +13 -3
- package/dist/src/resolvers/capability/capabilityResolver.core.d.ts +0 -1
- package/dist/src/resolvers/capability/capabilityResolver.core.js +0 -1
- package/dist/src/resolvers/capability/index.d.ts +0 -1
- package/dist/src/resolvers/capability/index.js +0 -1
- package/dist/src/resolvers/configuration/configurationResolver.core.d.ts +0 -1
- package/dist/src/resolvers/configuration/configurationResolver.core.js +0 -1
- package/dist/src/resolvers/configuration/index.d.ts +0 -1
- package/dist/src/resolvers/configuration/index.js +0 -1
- package/dist/src/resolvers/dependency/dependencyResolver.core.d.ts +0 -1
- package/dist/src/resolvers/dependency/dependencyResolver.core.js +0 -1
- package/dist/src/resolvers/dependency/dependencyVersions.constant.d.ts +0 -1
- package/dist/src/resolvers/dependency/dependencyVersions.constant.js +0 -1
- package/dist/src/resolvers/dependency/index.d.ts +0 -1
- package/dist/src/resolvers/dependency/index.js +0 -1
- package/dist/src/resolvers/index.d.ts +0 -1
- package/dist/src/resolvers/index.js +0 -1
- package/dist/src/resolvers/layout/index.d.ts +0 -1
- package/dist/src/resolvers/layout/index.js +0 -1
- package/dist/src/resolvers/layout/projectLayout.core.d.ts +0 -1
- package/dist/src/resolvers/layout/projectLayout.core.js +0 -1
- package/dist/src/resolvers/project.resolver.d.ts +0 -1
- package/dist/src/resolvers/project.resolver.js +0 -1
- package/dist/src/rollback/index.d.ts +0 -1
- package/dist/src/rollback/index.js +0 -1
- package/dist/src/rollback/rollbackManager.core.d.ts +0 -1
- package/dist/src/rollback/rollbackManager.core.js +0 -1
- package/dist/src/runners/package-manager/index.d.ts +0 -1
- package/dist/src/runners/package-manager/index.js +0 -1
- package/dist/src/runners/package-manager/packageManagerRunner.core.d.ts +0 -1
- package/dist/src/runners/package-manager/packageManagerRunner.core.js +0 -1
- package/dist/src/runners/process/index.d.ts +0 -1
- package/dist/src/runners/process/index.js +0 -1
- package/dist/src/runners/process/processRunner.core.d.ts +0 -1
- package/dist/src/runners/process/processRunner.core.js +0 -1
- package/dist/src/runners/task/index.d.ts +0 -1
- package/dist/src/runners/task/index.js +0 -1
- package/dist/src/runners/task/taskRunner.core.d.ts +0 -1
- package/dist/src/runners/task/taskRunner.core.js +0 -1
- package/dist/src/scaffolders/framework.scaffolder.d.ts +0 -1
- package/dist/src/scaffolders/framework.scaffolder.js +0 -1
- package/dist/src/scaffolders/index.d.ts +0 -1
- package/dist/src/scaffolders/index.js +0 -1
- package/dist/src/scaffolders/scaffolder.helper.d.ts +0 -1
- package/dist/src/scaffolders/scaffolder.helper.js +0 -1
- package/dist/src/templates/backendApp/backendApp.core.d.ts +0 -1
- package/dist/src/templates/backendApp/backendApp.core.js +0 -1
- package/dist/src/templates/backendApp/backendApp.modules.d.ts +0 -1
- package/dist/src/templates/backendApp/backendApp.modules.js +0 -1
- package/dist/src/templates/backendApp/backendApp.project.d.ts +19 -3
- package/dist/src/templates/backendApp/backendApp.project.js +41 -3
- package/dist/src/templates/backendApp/index.d.ts +0 -1
- package/dist/src/templates/backendApp/index.js +0 -1
- package/dist/src/templates/backendApp/parts/config.template.d.ts +0 -1
- package/dist/src/templates/backendApp/parts/config.template.js +13 -6
- package/dist/src/templates/backendApp/parts/httpUtils.template.d.ts +2 -2
- package/dist/src/templates/backendApp/parts/httpUtils.template.js +20 -6
- package/dist/src/templates/backendApp/parts/index.d.ts +0 -1
- package/dist/src/templates/backendApp/parts/index.js +0 -1
- package/dist/src/templates/backendApp/parts/integrations.template.d.ts +0 -1
- package/dist/src/templates/backendApp/parts/integrations.template.js +0 -1
- package/dist/src/templates/backendApp/parts/wiring.template.d.ts +3 -2
- package/dist/src/templates/backendApp/parts/wiring.template.js +13 -3
- package/dist/src/templates/microservice/index.d.ts +0 -1
- package/dist/src/templates/microservice/index.js +0 -1
- package/dist/src/templates/microservice/microservice.template.d.ts +0 -1
- package/dist/src/templates/microservice/microservice.template.js +6 -27
- package/dist/src/templates/modular-monolith/index.d.ts +0 -1
- package/dist/src/templates/modular-monolith/index.js +0 -1
- package/dist/src/templates/modular-monolith/modularMonolith.template.d.ts +0 -1
- package/dist/src/templates/modular-monolith/modularMonolith.template.js +3 -10
- package/dist/src/templates/monolith/index.d.ts +0 -1
- package/dist/src/templates/monolith/index.js +0 -1
- package/dist/src/templates/monolith/monolith.template.d.ts +0 -1
- package/dist/src/templates/monolith/monolith.template.js +3 -11
- package/dist/src/templates/resource/index.d.ts +0 -1
- package/dist/src/templates/resource/index.js +0 -1
- package/dist/src/templates/resource/layers/index.d.ts +4 -4
- package/dist/src/templates/resource/layers/index.js +4 -4
- package/dist/src/templates/resource/layers/resourceData.template.d.ts +8 -4
- package/dist/src/templates/resource/layers/resourceData.template.js +30 -72
- package/dist/src/templates/resource/layers/resourceHttp/index.d.ts +6 -0
- package/dist/src/templates/resource/layers/resourceHttp/index.js +6 -0
- package/dist/src/templates/resource/layers/resourceHttp/resourceController.template.d.ts +10 -0
- package/dist/src/templates/resource/layers/resourceHttp/resourceController.template.js +55 -0
- package/dist/src/templates/resource/layers/resourceHttp/resourceRoutes.template.d.ts +6 -0
- package/dist/src/templates/resource/layers/resourceHttp/resourceRoutes.template.js +77 -0
- package/dist/src/templates/resource/layers/resourceHttp/resourceTest.template.d.ts +11 -0
- package/dist/src/templates/resource/layers/resourceHttp/resourceTest.template.js +84 -0
- package/dist/src/templates/resource/layers/resourceMemory.template.d.ts +6 -0
- package/dist/src/templates/resource/layers/resourceMemory.template.js +87 -0
- package/dist/src/templates/resource/layers/resourcePrisma.template.d.ts +0 -1
- package/dist/src/templates/resource/layers/resourcePrisma.template.js +10 -9
- package/dist/src/templates/resource/layers/resourceService.template.d.ts +1 -8
- package/dist/src/templates/resource/layers/resourceService.template.js +9 -54
- package/dist/src/templates/resource/resource.files.d.ts +0 -1
- package/dist/src/templates/resource/resource.files.js +7 -6
- package/dist/src/templates/resource/resource.names.d.ts +0 -1
- package/dist/src/templates/resource/resource.names.js +0 -1
- package/dist/src/templates/resource/resource.type.d.ts +0 -1
- package/dist/src/templates/resource/resource.type.js +0 -1
- package/dist/src/templates/shared/appRuntime.template.d.ts +0 -1
- package/dist/src/templates/shared/appRuntime.template.js +6 -5
- package/dist/src/templates/shared/capability.template.d.ts +0 -1
- package/dist/src/templates/shared/capability.template.js +0 -1
- package/dist/src/templates/shared/dockerfile/dockerfile.install.d.ts +0 -1
- package/dist/src/templates/shared/dockerfile/dockerfile.install.js +0 -1
- package/dist/src/templates/shared/dockerfile/dockerfile.template.d.ts +0 -1
- package/dist/src/templates/shared/dockerfile/dockerfile.template.js +15 -5
- package/dist/src/templates/shared/dockerfile/index.d.ts +0 -1
- package/dist/src/templates/shared/dockerfile/index.js +0 -1
- package/dist/src/templates/shared/index.d.ts +1 -1
- package/dist/src/templates/shared/index.js +1 -1
- package/dist/src/templates/shared/pnpm.template.d.ts +0 -1
- package/dist/src/templates/shared/pnpm.template.js +0 -1
- package/dist/src/templates/shared/server.parts.d.ts +28 -0
- package/dist/src/templates/shared/server.parts.js +59 -0
- package/dist/src/templates/shared/server.template.d.ts +17 -16
- package/dist/src/templates/shared/server.template.js +42 -57
- package/dist/src/types/index.d.ts +0 -1
- package/dist/src/types/index.js +0 -1
- package/dist/src/types/projectConfiguration.type.d.ts +0 -1
- package/dist/src/types/projectConfiguration.type.js +0 -1
- package/dist/src/types/scaffold.type.d.ts +0 -1
- package/dist/src/types/scaffold.type.js +0 -1
- package/dist/src/utils/index.d.ts +0 -1
- package/dist/src/utils/index.js +0 -1
- package/dist/src/utils/utils.detect.d.ts +0 -1
- package/dist/src/utils/utils.detect.js +0 -1
- package/dist/src/utils/utils.exec.d.ts +0 -1
- package/dist/src/utils/utils.exec.js +0 -1
- package/dist/src/utils/utils.fileSystem.d.ts +0 -1
- package/dist/src/utils/utils.fileSystem.js +0 -1
- package/dist/src/utils/utils.name.d.ts +0 -1
- package/dist/src/utils/utils.name.js +0 -1
- package/dist/src/utils/utils.writeGuard.d.ts +0 -1
- package/dist/src/utils/utils.writeGuard.js +0 -1
- package/dist/src/validators/compatibility/compatibilityValidator.core.d.ts +0 -1
- package/dist/src/validators/compatibility/compatibilityValidator.core.js +0 -1
- package/dist/src/validators/compatibility/index.d.ts +0 -1
- package/dist/src/validators/compatibility/index.js +0 -1
- package/dist/src/validators/environment/environmentValidator.core.d.ts +0 -1
- package/dist/src/validators/environment/environmentValidator.core.js +0 -1
- package/dist/src/validators/environment/index.d.ts +0 -1
- package/dist/src/validators/environment/index.js +0 -1
- package/dist/src/validators/index.d.ts +0 -1
- package/dist/src/validators/index.js +0 -1
- package/dist/src/validators/project/index.d.ts +0 -1
- package/dist/src/validators/project/index.js +0 -1
- package/dist/src/validators/project/projectValidator.core.d.ts +0 -1
- package/dist/src/validators/project/projectValidator.core.js +0 -1
- package/dist/src/wiring/index.d.ts +0 -1
- package/dist/src/wiring/index.js +0 -1
- package/dist/src/wiring/wiring.dependencies.d.ts +0 -1
- package/dist/src/wiring/wiring.dependencies.js +0 -1
- package/dist/src/wiring/wiring.edits.d.ts +0 -1
- package/dist/src/wiring/wiring.edits.js +0 -1
- package/dist/src/wiring/wiring.markers.d.ts +7 -5
- package/dist/src/wiring/wiring.markers.js +8 -7
- package/package.json +6 -6
- package/dist/src/generators/controller/controller.generator.d.ts +0 -11
- package/dist/src/generators/controller/controller.generator.js +0 -47
- package/dist/src/generators/dto/dto.generator.d.ts +0 -12
- package/dist/src/generators/dto/dto.generator.js +0 -27
- package/dist/src/generators/dto/index.d.ts +0 -5
- package/dist/src/generators/dto/index.js +0 -5
- package/dist/src/generators/repository/repository.generator.d.ts +0 -10
- package/dist/src/generators/repository/repository.generator.js +0 -80
- package/dist/src/generators/route/index.d.ts +0 -5
- package/dist/src/generators/route/index.js +0 -5
- package/dist/src/generators/route/route.generator.d.ts +0 -12
- package/dist/src/generators/route/route.generator.js +0 -31
- package/dist/src/templates/resource/layers/resourceRoutes.template.d.ts +0 -13
- package/dist/src/templates/resource/layers/resourceRoutes.template.js +0 -129
|
@@ -12,15 +12,26 @@ import { lockedInstallSteps, workspaceMemberInstallSteps, } from "./dockerfile.i
|
|
|
12
12
|
function runnerFor(packageManager) {
|
|
13
13
|
return packageManager === "npm" || packageManager === "bun" ? "npm" : packageManager;
|
|
14
14
|
}
|
|
15
|
-
/**
|
|
16
|
-
|
|
15
|
+
/**
|
|
16
|
+
* The runtime stage of a single-package image. With Prisma, the schema,
|
|
17
|
+
* migrations and `prisma.config.ts` come along (the CLI is a runtime
|
|
18
|
+
* dependency), so the same image applies migrations.
|
|
19
|
+
*/
|
|
20
|
+
function runtimeStage(port, dist, from, prisma = false) {
|
|
21
|
+
const migrations = prisma
|
|
22
|
+
? `COPY --from=build --chown=node:node ${from}/prisma ./prisma
|
|
23
|
+
COPY --from=build --chown=node:node ${from}/prisma.config.ts ./
|
|
24
|
+
# Apply migrations with this image before starting a new version:
|
|
25
|
+
# docker run --rm --env-file .env <image> npx prisma migrate deploy
|
|
26
|
+
`
|
|
27
|
+
: "";
|
|
17
28
|
return `FROM node:24-alpine AS runtime
|
|
18
29
|
ENV NODE_ENV=production
|
|
19
30
|
WORKDIR /app
|
|
20
31
|
COPY --from=build --chown=node:node ${from}/package.json ./
|
|
21
32
|
COPY --from=build --chown=node:node ${from}/node_modules ./node_modules
|
|
22
33
|
COPY --from=build --chown=node:node ${from}/${dist} ./${dist}
|
|
23
|
-
USER node
|
|
34
|
+
${migrations}USER node
|
|
24
35
|
EXPOSE ${port}
|
|
25
36
|
HEALTHCHECK --interval=30s --timeout=5s --start-period=15s CMD ["node", "-e", "fetch('http://127.0.0.1:${port}/health').then((r) => process.exit(r.ok ? 0 : 1), () => process.exit(1))"]
|
|
26
37
|
CMD ["node", "${dist}/server.js"]
|
|
@@ -58,7 +69,7 @@ export function renderAppPackageDockerfile(options) {
|
|
|
58
69
|
...(steps.prune === undefined ? [] : [`RUN ${steps.prune}`]),
|
|
59
70
|
"",
|
|
60
71
|
];
|
|
61
|
-
return `${lines.join("\n")}\n${runtimeStage(options.port, "dist", "/app")}`;
|
|
72
|
+
return `${lines.join("\n")}\n${runtimeStage(options.port, "dist", "/app", options.prisma === true)}`;
|
|
62
73
|
}
|
|
63
74
|
/**
|
|
64
75
|
* A Dockerfile for a workspace whose server lives in `appDirectory`. The whole
|
|
@@ -92,4 +103,3 @@ HEALTHCHECK --interval=30s --timeout=5s --start-period=15s CMD ["node", "-e", "f
|
|
|
92
103
|
CMD ["node", "${dist}/server.js"]
|
|
93
104
|
`;
|
|
94
105
|
}
|
|
95
|
-
//# sourceMappingURL=dockerfile.template.js.map
|
|
@@ -5,5 +5,5 @@ export * from "./appRuntime.template.js";
|
|
|
5
5
|
export * from "./capability.template.js";
|
|
6
6
|
export * from "./dockerfile/index.js";
|
|
7
7
|
export * from "./pnpm.template.js";
|
|
8
|
+
export { renderShutdownBlock } from "./server.parts.js";
|
|
8
9
|
export * from "./server.template.js";
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -5,5 +5,5 @@ export * from "./appRuntime.template.js";
|
|
|
5
5
|
export * from "./capability.template.js";
|
|
6
6
|
export * from "./dockerfile/index.js";
|
|
7
7
|
export * from "./pnpm.template.js";
|
|
8
|
+
export { renderShutdownBlock } from "./server.parts.js";
|
|
8
9
|
export * from "./server.template.js";
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zudojs-cli — Fragments of the generated `src/server.ts`.
|
|
3
|
+
*
|
|
4
|
+
* The OpenAPI lines (also inserted by `zudojs add openapi`) and the
|
|
5
|
+
* shutdown block. `server.template.ts` assembles them.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* The lines `zudojs add openapi` (or `create`) puts in server.ts.
|
|
9
|
+
*
|
|
10
|
+
* The documentation page is served in every environment but production:
|
|
11
|
+
* it lists every route and its schemas, which a public deployment should
|
|
12
|
+
* not hand out by default. `/openapi.json` stays, for clients and tooling.
|
|
13
|
+
*/
|
|
14
|
+
export declare function openApiServerLines(title: string): {
|
|
15
|
+
readonly importLine: string;
|
|
16
|
+
readonly mountLine: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* The SIGINT/SIGTERM handlers and the "Listening on" line.
|
|
20
|
+
*
|
|
21
|
+
* The signal listeners stay registered (`process.on`, not `once`) for the
|
|
22
|
+
* whole shutdown. Under `tsx watch`, Ctrl+C delivers SIGINT twice (from the
|
|
23
|
+
* terminal and forwarded by the watcher); with `once` the second signal
|
|
24
|
+
* found no listener and Node's default action killed the process before
|
|
25
|
+
* the runtime had stopped or logged anything. "Listening on" is logged once
|
|
26
|
+
* the listeners are in place, so a signal sent after it is always handled.
|
|
27
|
+
*/
|
|
28
|
+
export declare function renderShutdownBlock(): string;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zudojs-cli — Fragments of the generated `src/server.ts`.
|
|
3
|
+
*
|
|
4
|
+
* The OpenAPI lines (also inserted by `zudojs add openapi`) and the
|
|
5
|
+
* shutdown block. `server.template.ts` assembles them.
|
|
6
|
+
*/
|
|
7
|
+
/** Emits a string as a TypeScript string literal that cannot break out. */
|
|
8
|
+
function literal(value) {
|
|
9
|
+
return JSON.stringify(value);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The lines `zudojs add openapi` (or `create`) puts in server.ts.
|
|
13
|
+
*
|
|
14
|
+
* The documentation page is served in every environment but production:
|
|
15
|
+
* it lists every route and its schemas, which a public deployment should
|
|
16
|
+
* not hand out by default. `/openapi.json` stays, for clients and tooling.
|
|
17
|
+
*/
|
|
18
|
+
export function openApiServerLines(title) {
|
|
19
|
+
return {
|
|
20
|
+
importLine: `import { mountOpenAPI } from "@zudojs/http";`,
|
|
21
|
+
mountLine: `mountOpenAPI(router, { info: { title: ${literal(title)}, version: "0.1.0" }, docsPath: config.nodeEnv === "production" ? false : "/docs" });`,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The SIGINT/SIGTERM handlers and the "Listening on" line.
|
|
26
|
+
*
|
|
27
|
+
* The signal listeners stay registered (`process.on`, not `once`) for the
|
|
28
|
+
* whole shutdown. Under `tsx watch`, Ctrl+C delivers SIGINT twice (from the
|
|
29
|
+
* terminal and forwarded by the watcher); with `once` the second signal
|
|
30
|
+
* found no listener and Node's default action killed the process before
|
|
31
|
+
* the runtime had stopped or logged anything. "Listening on" is logged once
|
|
32
|
+
* the listeners are in place, so a signal sent after it is always handled.
|
|
33
|
+
*/
|
|
34
|
+
export function renderShutdownBlock() {
|
|
35
|
+
return `let stopping = false;
|
|
36
|
+
for (const signal of ["SIGINT", "SIGTERM"] as const) {
|
|
37
|
+
process.on(signal, () => {
|
|
38
|
+
if (stopping) {
|
|
39
|
+
console.log(\`Received \${signal} again: already shutting down.\`);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
stopping = true;
|
|
43
|
+
console.log(\`Received \${signal}: shutting down.\`);
|
|
44
|
+
void drainIntegrations(integrations)
|
|
45
|
+
.then(() => server.stop())
|
|
46
|
+
.then(() => runtime.stop())
|
|
47
|
+
.then(() => {
|
|
48
|
+
process.exit(0);
|
|
49
|
+
})
|
|
50
|
+
.catch((error: unknown) => {
|
|
51
|
+
console.error(error);
|
|
52
|
+
process.exit(1);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
console.log(\`Listening on http://\${config.host}:\${server.address?.port ?? config.port}\`);
|
|
58
|
+
`;
|
|
59
|
+
}
|
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* zudojs-cli — Generated `src/server.ts`
|
|
3
3
|
*
|
|
4
|
-
* The entry point loads the configuration, builds
|
|
5
|
-
* `
|
|
6
|
-
* the
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* The entry point loads the configuration, builds the runtime with
|
|
5
|
+
* `createApp()`, constructs the composition root (`container.ts`) and
|
|
6
|
+
* registers it in the runtime's DI container, builds a router with
|
|
7
|
+
* `createRouter()`, registers every route through `registerRoutes`, mounts
|
|
8
|
+
* the OpenAPI document (and, outside production, the `/docs` page) when the
|
|
9
|
+
* `openapi` capability is on, and serves the router with `createHttpServer`
|
|
10
|
+
* + `createNodeHttpAdapter`.
|
|
9
11
|
*
|
|
10
12
|
* Every response passes through the @zudojs/security default headers, a
|
|
11
13
|
* CORS policy that allows only `CORS_ORIGINS` (none by default) and a
|
|
12
|
-
* per-client rate limit (`RATE_LIMIT_MAX` per `RATE_LIMIT_WINDOW_MS
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* per-client rate limit (`RATE_LIMIT_MAX` per `RATE_LIMIT_WINDOW_MS`; 0
|
|
15
|
+
* turns it off). Exposed errors are answered with their status; anything
|
|
16
|
+
* else is logged with the runtime's logger and answered with a generic 500
|
|
17
|
+
* built inside the pipeline, so it carries the security headers too. It
|
|
18
|
+
* used to rethrow, which left the adapter to answer a bare 500 that nothing
|
|
19
|
+
* logged. On SIGINT/SIGTERM integrations drain, HTTP stops, then the
|
|
20
|
+
* runtime stops (see `server.parts.ts`).
|
|
21
|
+
* `tests/generatedProject.typecheck.test.ts` type-checks the output against
|
|
22
|
+
* the current `@zudojs/*` sources; `tests/cli.round12.server.test.ts` runs it.
|
|
17
23
|
*/
|
|
24
|
+
export { openApiServerLines } from "./server.parts.js";
|
|
18
25
|
/** Options for {@link renderServerFile}. */
|
|
19
26
|
export interface ServerFileOptions {
|
|
20
27
|
/** Title of the OpenAPI document. */
|
|
@@ -22,11 +29,5 @@ export interface ServerFileOptions {
|
|
|
22
29
|
/** Whether `/openapi.json` and `/docs` are mounted. */
|
|
23
30
|
readonly openapi: boolean;
|
|
24
31
|
}
|
|
25
|
-
/** The lines `zudojs add openapi` (or `create`) puts in server.ts. */
|
|
26
|
-
export declare function openApiServerLines(title: string): {
|
|
27
|
-
readonly importLine: string;
|
|
28
|
-
readonly mountLine: string;
|
|
29
|
-
};
|
|
30
32
|
/** Renders `src/server.ts`. */
|
|
31
33
|
export declare function renderServerFile(options: ServerFileOptions): string;
|
|
32
|
-
//# sourceMappingURL=server.template.d.ts.map
|
|
@@ -1,32 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* zudojs-cli — Generated `src/server.ts`
|
|
3
3
|
*
|
|
4
|
-
* The entry point loads the configuration, builds
|
|
5
|
-
* `
|
|
6
|
-
* the
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* The entry point loads the configuration, builds the runtime with
|
|
5
|
+
* `createApp()`, constructs the composition root (`container.ts`) and
|
|
6
|
+
* registers it in the runtime's DI container, builds a router with
|
|
7
|
+
* `createRouter()`, registers every route through `registerRoutes`, mounts
|
|
8
|
+
* the OpenAPI document (and, outside production, the `/docs` page) when the
|
|
9
|
+
* `openapi` capability is on, and serves the router with `createHttpServer`
|
|
10
|
+
* + `createNodeHttpAdapter`.
|
|
9
11
|
*
|
|
10
12
|
* Every response passes through the @zudojs/security default headers, a
|
|
11
13
|
* CORS policy that allows only `CORS_ORIGINS` (none by default) and a
|
|
12
|
-
* per-client rate limit (`RATE_LIMIT_MAX` per `RATE_LIMIT_WINDOW_MS
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* per-client rate limit (`RATE_LIMIT_MAX` per `RATE_LIMIT_WINDOW_MS`; 0
|
|
15
|
+
* turns it off). Exposed errors are answered with their status; anything
|
|
16
|
+
* else is logged with the runtime's logger and answered with a generic 500
|
|
17
|
+
* built inside the pipeline, so it carries the security headers too. It
|
|
18
|
+
* used to rethrow, which left the adapter to answer a bare 500 that nothing
|
|
19
|
+
* logged. On SIGINT/SIGTERM integrations drain, HTTP stops, then the
|
|
20
|
+
* runtime stops (see `server.parts.ts`).
|
|
21
|
+
* `tests/generatedProject.typecheck.test.ts` type-checks the output against
|
|
22
|
+
* the current `@zudojs/*` sources; `tests/cli.round12.server.test.ts` runs it.
|
|
17
23
|
*/
|
|
18
24
|
import { MARKERS, renderMarkerBlock } from "../../wiring/index.js";
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return JSON.stringify(value);
|
|
22
|
-
}
|
|
23
|
-
/** The lines `zudojs add openapi` (or `create`) puts in server.ts. */
|
|
24
|
-
export function openApiServerLines(title) {
|
|
25
|
-
return {
|
|
26
|
-
importLine: `import { mountOpenAPI } from "@zudojs/http";`,
|
|
27
|
-
mountLine: `mountOpenAPI(router, { info: { title: ${literal(title)}, version: "0.1.0" } });`,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
25
|
+
import { openApiServerLines, renderShutdownBlock } from "./server.parts.js";
|
|
26
|
+
export { openApiServerLines } from "./server.parts.js";
|
|
30
27
|
/** Renders `src/server.ts`. */
|
|
31
28
|
export function renderServerFile(options) {
|
|
32
29
|
const openapi = openApiServerLines(options.title);
|
|
@@ -47,27 +44,30 @@ ${renderMarkerBlock(MARKERS.serverImports, options.openapi ? [openapi.importLine
|
|
|
47
44
|
|
|
48
45
|
import { createApp } from "./app.js";
|
|
49
46
|
import { loadConfig } from "./configs/index.js";
|
|
50
|
-
import { createDependencies } from "./container.js";
|
|
47
|
+
import { APP_DEPENDENCIES, createDependencies } from "./container.js";
|
|
51
48
|
import { checkIntegrations, drainIntegrations, integrations } from "./integrations/index.js";
|
|
52
49
|
import { registerRoutes } from "./routes/index.js";
|
|
53
|
-
import { errorResponse, securityHeaders } from "./utils/http.js";
|
|
50
|
+
import { errorDetails, errorResponse, json, securityHeaders } from "./utils/http.js";
|
|
54
51
|
|
|
55
52
|
const config = await loadConfig();
|
|
56
53
|
const httpServer = createServer();
|
|
57
54
|
const runtime = createApp({ config, httpServer });
|
|
55
|
+
const logger = runtime.context.logger;
|
|
56
|
+
|
|
57
|
+
const dependencies = createDependencies({
|
|
58
|
+
health: async () => {
|
|
59
|
+
const checks = await checkIntegrations(integrations);
|
|
60
|
+
const ready =
|
|
61
|
+
runtime.state === "running" && Object.values(checks).every((check) => check === "up");
|
|
62
|
+
return { ready, checks };
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
// Modules reach the composition root through the runtime container:
|
|
66
|
+
// context.application.container.resolve(APP_DEPENDENCIES).
|
|
67
|
+
runtime.context.container.registerValue(APP_DEPENDENCIES, dependencies);
|
|
58
68
|
|
|
59
69
|
const router = createRouter();
|
|
60
|
-
registerRoutes(
|
|
61
|
-
router,
|
|
62
|
-
createDependencies({
|
|
63
|
-
health: async () => {
|
|
64
|
-
const checks = await checkIntegrations(integrations);
|
|
65
|
-
const ready =
|
|
66
|
-
runtime.state === "running" && Object.values(checks).every((check) => check === "up");
|
|
67
|
-
return { ready, checks };
|
|
68
|
-
},
|
|
69
|
-
}),
|
|
70
|
-
);
|
|
70
|
+
registerRoutes(router, dependencies);
|
|
71
71
|
${renderMarkerBlock(MARKERS.serverMounts, options.openapi ? [openapi.mountLine] : [])}
|
|
72
72
|
|
|
73
73
|
const dispatch: HttpMiddleware = async (context) => {
|
|
@@ -75,8 +75,9 @@ const dispatch: HttpMiddleware = async (context) => {
|
|
|
75
75
|
return (await router.dispatch(context.request, { signal: context.signal })).response;
|
|
76
76
|
} catch (error) {
|
|
77
77
|
const response = errorResponse(error);
|
|
78
|
-
if (response
|
|
79
|
-
|
|
78
|
+
if (response !== undefined && response.status < 500) return response;
|
|
79
|
+
logger.error(\`Unhandled error: \${context.request.method} \${context.request.path}\`, errorDetails(error));
|
|
80
|
+
return response ?? json(500, { error: "Internal Server Error" });
|
|
80
81
|
}
|
|
81
82
|
};
|
|
82
83
|
|
|
@@ -84,7 +85,10 @@ const pipeline = new HttpMiddlewarePipeline({
|
|
|
84
85
|
middlewares: [
|
|
85
86
|
securityHeaders(),
|
|
86
87
|
createCorsMiddleware({ allowOrigin: config.corsOrigins }),
|
|
87
|
-
|
|
88
|
+
// RATE_LIMIT_MAX=0 turns the limit off (load tests, local development).
|
|
89
|
+
...(config.rateLimit.max > 0
|
|
90
|
+
? [createRateLimitMiddleware({ windowMs: config.rateLimit.windowMs, max: config.rateLimit.max })]
|
|
91
|
+
: []),
|
|
88
92
|
${renderMarkerBlock(MARKERS.serverMiddleware, [], " ")}
|
|
89
93
|
dispatch,
|
|
90
94
|
],
|
|
@@ -98,25 +102,6 @@ const server = createHttpServer({
|
|
|
98
102
|
});
|
|
99
103
|
|
|
100
104
|
await server.start();
|
|
101
|
-
console.log(\`Listening on http://\${config.host}:\${server.address?.port ?? config.port}\`);
|
|
102
105
|
|
|
103
|
-
|
|
104
|
-
for (const signal of ["SIGINT", "SIGTERM"] as const) {
|
|
105
|
-
process.once(signal, () => {
|
|
106
|
-
if (stopping) return;
|
|
107
|
-
stopping = true;
|
|
108
|
-
void drainIntegrations(integrations)
|
|
109
|
-
.then(() => server.stop())
|
|
110
|
-
.then(() => runtime.stop())
|
|
111
|
-
.then(() => {
|
|
112
|
-
process.exit(0);
|
|
113
|
-
})
|
|
114
|
-
.catch((error: unknown) => {
|
|
115
|
-
console.error(error);
|
|
116
|
-
process.exit(1);
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
`;
|
|
106
|
+
${renderShutdownBlock()}`;
|
|
121
107
|
}
|
|
122
|
-
//# sourceMappingURL=server.template.js.map
|
|
@@ -5,4 +5,3 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export type { ProjectType, BackendArchitecture, FrontendFramework, FrontendArchitecture, PackageManagerType, DatabaseProvider, ApiStyle, ProjectConfiguration, } from "./projectConfiguration.type.js";
|
|
7
7
|
export type { ArchitectureType, PackageManager, DatabaseEngine, ScaffoldOptions, ProjectTemplate, GenerateOptions, } from "./scaffold.type.js";
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/types/index.js
CHANGED
|
@@ -8,4 +8,3 @@ export { normalizeName, toPascalCase, toCamelCase } from "./utils.name.js";
|
|
|
8
8
|
export { detectArchitecture } from "./utils.detect.js";
|
|
9
9
|
export { execCommand, runStreaming } from "./utils.exec.js";
|
|
10
10
|
export { activeWriteCapture, captureWrites, findWriteConflicts, } from "./utils.writeGuard.js";
|
|
11
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/utils/index.js
CHANGED
|
@@ -8,4 +8,3 @@ export { normalizeName, toPascalCase, toCamelCase } from "./utils.name.js";
|
|
|
8
8
|
export { detectArchitecture } from "./utils.detect.js";
|
|
9
9
|
export { execCommand, runStreaming } from "./utils.exec.js";
|
|
10
10
|
export { activeWriteCapture, captureWrites, findWriteConflicts, } from "./utils.writeGuard.js";
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -59,4 +59,3 @@ export declare function execCommand(file: string, args: readonly string[], cwd:
|
|
|
59
59
|
* rather than rejects, since stopping it was the caller's intent.
|
|
60
60
|
*/
|
|
61
61
|
export declare function runStreaming(file: string, args: readonly string[], cwd: string, options?: ExecOptions): Promise<void>;
|
|
62
|
-
//# sourceMappingURL=utils.exec.d.ts.map
|
|
@@ -6,4 +6,3 @@ export declare function writeFileTree(basePath: string, files: Readonly<Record<s
|
|
|
6
6
|
* existing content is returned unchanged.
|
|
7
7
|
*/
|
|
8
8
|
export declare function mergeBarrelExport(basePath: string, indexPath: string, exportLine: string): string;
|
|
9
|
-
//# sourceMappingURL=utils.fileSystem.d.ts.map
|
|
@@ -27,4 +27,3 @@ export declare function captureWrites(run: () => Promise<unknown>): Promise<Read
|
|
|
27
27
|
* by appending (paths relative to `cwd`).
|
|
28
28
|
*/
|
|
29
29
|
export declare function findWriteConflicts(cwd: string, files: ReadonlyMap<string, string>): string[];
|
|
30
|
-
//# sourceMappingURL=utils.writeGuard.d.ts.map
|
|
@@ -6,4 +6,3 @@
|
|
|
6
6
|
export { EnvironmentValidator, type EnvironmentCheck, type EnvironmentValidationResult, } from "./environment/index.js";
|
|
7
7
|
export { ProjectValidator, type ProjectCheck, type ProjectValidationResult, } from "./project/index.js";
|
|
8
8
|
export { CompatibilityValidator, type CompatibilityCheck, type CompatibilityResult, } from "./compatibility/index.js";
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/wiring/index.js
CHANGED
|
@@ -26,4 +26,3 @@ export declare function ensureZudojsDependencies(root: string, files: readonly s
|
|
|
26
26
|
export declare function describeAddedDependencies(edits: readonly AddedDependencies[]): string[];
|
|
27
27
|
/** "1 file" / "3 files". */
|
|
28
28
|
export declare function fileCount(count: number): string;
|
|
29
|
-
//# sourceMappingURL=wiring.dependencies.d.ts.map
|
|
@@ -48,4 +48,3 @@ export declare function applyMarkerEdits(cwd: string, edits: readonly MarkerEdit
|
|
|
48
48
|
* app stopped compiling on the duplicate identifier.
|
|
49
49
|
*/
|
|
50
50
|
export declare function conflictingImport(cwd: string, file: string, importLine: string): string | undefined;
|
|
51
|
-
//# sourceMappingURL=wiring.edits.d.ts.map
|