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
|
@@ -23,4 +23,3 @@ export interface FullstackBackendLayout {
|
|
|
23
23
|
* compose file, README) are dropped: the fullstack root owns those.
|
|
24
24
|
*/
|
|
25
25
|
export declare function layoutFullstackBackend(architecture: string, backendFiles: Readonly<Record<string, string>>): FullstackBackendLayout;
|
|
26
|
-
//# sourceMappingURL=fullstackBackend.layout.d.ts.map
|
|
@@ -11,4 +11,3 @@ export { generateModule } from "./module/module.generator.js";
|
|
|
11
11
|
export { generateCommand } from "./command/command.generator.js";
|
|
12
12
|
export { generateQuery } from "./query/query.generator.js";
|
|
13
13
|
export { generateResource, resolveResourceLayout, planResource, RESOURCE_SCHEMATICS, } from "./resource/index.js";
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -11,4 +11,3 @@ export { generateModule } from "./module/module.generator.js";
|
|
|
11
11
|
export { generateCommand } from "./command/command.generator.js";
|
|
12
12
|
export { generateQuery } from "./query/query.generator.js";
|
|
13
13
|
export { generateResource, resolveResourceLayout, planResource, RESOURCE_SCHEMATICS, } from "./resource/index.js";
|
|
14
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* zudojs-cli — Middleware Generator
|
|
3
3
|
*/
|
|
4
|
-
export { generateMiddleware, type GenerateMiddlewareOptions, } from "./middleware.generator.js";
|
|
5
|
-
|
|
4
|
+
export { generateMiddleware, middlewareAppSrc, middlewareServerLines, type GenerateMiddlewareOptions, type MiddlewareRegistration, } from "./middleware.generator.js";
|
|
5
|
+
export { renderMiddlewareFile, type MiddlewareFileOptions } from "./middleware.template.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* zudojs-cli — Middleware Generator
|
|
3
3
|
*/
|
|
4
|
-
export { generateMiddleware, } from "./middleware.generator.js";
|
|
5
|
-
|
|
4
|
+
export { generateMiddleware, middlewareAppSrc, middlewareServerLines, } from "./middleware.generator.js";
|
|
5
|
+
export { renderMiddlewareFile } from "./middleware.template.js";
|
|
@@ -1,12 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* zudojs-cli — Middleware Generator
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Writes `<basePath>/middlewares/<name>.middleware.ts` (an `HttpMiddleware`
|
|
5
|
+
* from @zudojs/http), exports it from the folder barrel and registers it in
|
|
6
|
+
* the app's `src/server.ts` between the `zudojs:server-imports` and
|
|
7
|
+
* `zudojs:server-middleware` markers. A server.ts missing either marker pair
|
|
8
|
+
* is left unchanged (no import without its registration) and the lines to
|
|
9
|
+
* add by hand are reported instead.
|
|
5
10
|
*/
|
|
6
11
|
export interface GenerateMiddlewareOptions {
|
|
7
12
|
readonly name: string;
|
|
8
13
|
readonly basePath: string;
|
|
9
14
|
readonly dryRun?: boolean;
|
|
15
|
+
/** Receives the registration outcome (e.g. lines to add by hand). */
|
|
16
|
+
readonly onRegistered?: (registration: MiddlewareRegistration) => void;
|
|
10
17
|
}
|
|
18
|
+
/** Outcome of registering a generated middleware in `server.ts`. */
|
|
19
|
+
export interface MiddlewareRegistration {
|
|
20
|
+
/** Whether server.ts now runs the middleware. */
|
|
21
|
+
readonly registered: boolean;
|
|
22
|
+
/** The server file it was (or should be) registered in. */
|
|
23
|
+
readonly serverFile: string;
|
|
24
|
+
/** Lines to add by hand when `registered` is false. */
|
|
25
|
+
readonly manualSteps: readonly string[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The app source directory owning `basePath`: `src` for `src` and
|
|
29
|
+
* `src/modules/billing`, `apps/services/x/src` for a service.
|
|
30
|
+
*/
|
|
31
|
+
export declare function middlewareAppSrc(basePath: string): string;
|
|
32
|
+
/** The import and pipeline lines that register `factoryName` in server.ts. */
|
|
33
|
+
export declare function middlewareServerLines(basePath: string, factoryName: string): {
|
|
34
|
+
readonly serverFile: string;
|
|
35
|
+
readonly importLine: string;
|
|
36
|
+
readonly entryLine: string;
|
|
37
|
+
};
|
|
11
38
|
export declare function generateMiddleware(options: GenerateMiddlewareOptions, cwd: string): Promise<string[]>;
|
|
12
|
-
//# sourceMappingURL=middleware.generator.d.ts.map
|
|
@@ -1,29 +1,73 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* zudojs-cli — Middleware Generator
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Writes `<basePath>/middlewares/<name>.middleware.ts` (an `HttpMiddleware`
|
|
5
|
+
* from @zudojs/http), exports it from the folder barrel and registers it in
|
|
6
|
+
* the app's `src/server.ts` between the `zudojs:server-imports` and
|
|
7
|
+
* `zudojs:server-middleware` markers. A server.ts missing either marker pair
|
|
8
|
+
* is left unchanged (no import without its registration) and the lines to
|
|
9
|
+
* add by hand are reported instead.
|
|
5
10
|
*/
|
|
6
|
-
import {
|
|
11
|
+
import { posix } from "node:path";
|
|
12
|
+
import { CLIValidationError } from "../../errors/index.js";
|
|
13
|
+
import { mergeBarrelExport, writeFileTree } from "../../utils/utils.fileSystem.js";
|
|
7
14
|
import { normalizeName, toCamelCase } from "../../utils/utils.name.js";
|
|
15
|
+
import { MARKERS, applyMarkerEdits, conflictingImport, planMarkerEdits, } from "../../wiring/index.js";
|
|
16
|
+
import { renderMiddlewareFile } from "./middleware.template.js";
|
|
17
|
+
/**
|
|
18
|
+
* The app source directory owning `basePath`: `src` for `src` and
|
|
19
|
+
* `src/modules/billing`, `apps/services/x/src` for a service.
|
|
20
|
+
*/
|
|
21
|
+
export function middlewareAppSrc(basePath) {
|
|
22
|
+
return basePath.replace(/\/modules\/[^/]+$/, "");
|
|
23
|
+
}
|
|
24
|
+
/** The import and pipeline lines that register `factoryName` in server.ts. */
|
|
25
|
+
export function middlewareServerLines(basePath, factoryName) {
|
|
26
|
+
const appSrc = middlewareAppSrc(basePath);
|
|
27
|
+
const barrel = posix.relative(appSrc, `${basePath}/middlewares/index.js`);
|
|
28
|
+
return {
|
|
29
|
+
serverFile: `${appSrc}/server.ts`,
|
|
30
|
+
importLine: `import { ${factoryName} } from "./${barrel}";`,
|
|
31
|
+
entryLine: `${factoryName}(),`,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
8
34
|
export async function generateMiddleware(options, cwd) {
|
|
9
35
|
const name = normalizeName(options.name);
|
|
10
|
-
const
|
|
36
|
+
const factoryName = `${toCamelCase(options.name)}Middleware`;
|
|
37
|
+
const lines = middlewareServerLines(options.basePath, factoryName);
|
|
38
|
+
const barrel = `${options.basePath}/middlewares/index.ts`;
|
|
39
|
+
const clash = conflictingImport(cwd, lines.serverFile, lines.importLine);
|
|
40
|
+
if (clash !== undefined) {
|
|
41
|
+
throw new CLIValidationError(`${lines.serverFile} already imports ${factoryName} (${clash.trim()}), so middleware "${name}" cannot be registered. Choose another name.`);
|
|
42
|
+
}
|
|
11
43
|
const files = {
|
|
12
|
-
[`${options.basePath}/middlewares/${name}.middleware.ts`]:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
await next();
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
`,
|
|
44
|
+
[`${options.basePath}/middlewares/${name}.middleware.ts`]: renderMiddlewareFile({
|
|
45
|
+
name,
|
|
46
|
+
factoryName,
|
|
47
|
+
serverFile: lines.serverFile,
|
|
48
|
+
}),
|
|
49
|
+
[barrel]: mergeBarrelExport(cwd, barrel, `export { ${factoryName} } from "./${name}.middleware.js";`),
|
|
22
50
|
};
|
|
51
|
+
const edits = [
|
|
52
|
+
{ file: lines.serverFile, marker: MARKERS.serverImports, line: lines.importLine },
|
|
53
|
+
{ file: lines.serverFile, marker: MARKERS.serverMiddleware, line: lines.entryLine },
|
|
54
|
+
];
|
|
55
|
+
const planned = planMarkerEdits(cwd, edits).outcome;
|
|
56
|
+
const registered = planned.manualSteps.length === 0;
|
|
23
57
|
if (options.dryRun) {
|
|
24
|
-
return Object.keys(files);
|
|
58
|
+
return [...Object.keys(files), ...(registered ? planned.edited : [])];
|
|
25
59
|
}
|
|
26
60
|
await writeFileTree(cwd, files);
|
|
27
|
-
|
|
61
|
+
const edited = registered ? (await applyMarkerEdits(cwd, edits)).edited : [];
|
|
62
|
+
options.onRegistered?.({
|
|
63
|
+
registered,
|
|
64
|
+
serverFile: lines.serverFile,
|
|
65
|
+
manualSteps: registered
|
|
66
|
+
? []
|
|
67
|
+
: [
|
|
68
|
+
`In ${lines.serverFile}: ${lines.importLine}`,
|
|
69
|
+
`In ${lines.serverFile}: add ${lines.entryLine} to the middlewares list of the HttpMiddlewarePipeline, before dispatch`,
|
|
70
|
+
],
|
|
71
|
+
});
|
|
72
|
+
return [...Object.keys(files), ...edited];
|
|
28
73
|
}
|
|
29
|
-
//# sourceMappingURL=middleware.generator.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zudojs-cli — Generated `<name>.middleware.ts`.
|
|
3
|
+
*
|
|
4
|
+
* `generate middleware` used to write
|
|
5
|
+
* `(ctx: unknown, next: () => Promise<void>) => Promise<void>`: registering
|
|
6
|
+
* it in the server pipeline failed tsc with TS2322, and because it returned
|
|
7
|
+
* nothing the response produced by `next()` was dropped. The file is now a
|
|
8
|
+
* real `HttpMiddleware` from @zudojs/http that returns `next()`'s response.
|
|
9
|
+
*/
|
|
10
|
+
/** Options for {@link renderMiddlewareFile}. */
|
|
11
|
+
export interface MiddlewareFileOptions {
|
|
12
|
+
/** Normalized (kebab-case) name, e.g. `request-timer`. */
|
|
13
|
+
readonly name: string;
|
|
14
|
+
/** Factory function name, e.g. `requestTimerMiddleware`. */
|
|
15
|
+
readonly factoryName: string;
|
|
16
|
+
/** Where the factory is registered, e.g. `src/server.ts`. */
|
|
17
|
+
readonly serverFile: string;
|
|
18
|
+
}
|
|
19
|
+
/** Renders the middleware source file. */
|
|
20
|
+
export declare function renderMiddlewareFile(options: MiddlewareFileOptions): string;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zudojs-cli — Generated `<name>.middleware.ts`.
|
|
3
|
+
*
|
|
4
|
+
* `generate middleware` used to write
|
|
5
|
+
* `(ctx: unknown, next: () => Promise<void>) => Promise<void>`: registering
|
|
6
|
+
* it in the server pipeline failed tsc with TS2322, and because it returned
|
|
7
|
+
* nothing the response produced by `next()` was dropped. The file is now a
|
|
8
|
+
* real `HttpMiddleware` from @zudojs/http that returns `next()`'s response.
|
|
9
|
+
*/
|
|
10
|
+
/** Renders the middleware source file. */
|
|
11
|
+
export function renderMiddlewareFile(options) {
|
|
12
|
+
return `import type { HttpMiddleware } from "@zudojs/http";
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* ${options.name} middleware.
|
|
16
|
+
*
|
|
17
|
+
* It runs when \`${options.factoryName}()\` is in the \`middlewares\` list of
|
|
18
|
+
* ${options.serverFile}, between the \`// zudojs:server-middleware\` markers:
|
|
19
|
+
* after the security headers, CORS and rate limit, before routing.
|
|
20
|
+
* \`zudojs generate middleware\` adds it there when the markers exist.
|
|
21
|
+
*
|
|
22
|
+
* To answer without calling \`next()\`, return a response such as
|
|
23
|
+
* \`createResponseContext({ status: 403 }).json({ error: "Forbidden" })\`.
|
|
24
|
+
* Otherwise return what \`next()\` resolves to, and \`clone()\` it before
|
|
25
|
+
* changing its headers.
|
|
26
|
+
*/
|
|
27
|
+
export function ${options.factoryName}(): HttpMiddleware {
|
|
28
|
+
return async (_context, next) => {
|
|
29
|
+
const response = await next();
|
|
30
|
+
return response;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
`;
|
|
34
|
+
}
|
|
@@ -15,4 +15,3 @@ export interface GenerateModuleOptions {
|
|
|
15
15
|
readonly onRegistered?: (registration: ModuleRegistration) => void;
|
|
16
16
|
}
|
|
17
17
|
export declare function generateModule(options: GenerateModuleOptions, cwd: string): Promise<string[]>;
|
|
18
|
-
//# sourceMappingURL=module.generator.d.ts.map
|
|
@@ -12,7 +12,7 @@ import { assertGeneratableName, toPascalCase } from "../../utils/utils.name.js";
|
|
|
12
12
|
import { moduleSpec, renderModuleFile } from "../../templates/shared/appRuntime.template.js";
|
|
13
13
|
import { registerModuleInApp } from "./module.registration.js";
|
|
14
14
|
import { moduleRoutesWiring, renderModuleRoutesIndex, } from "../../templates/backendApp/index.js";
|
|
15
|
-
import { MARKERS, applyMarkerEdits, conflictingImport } from "../../wiring/index.js";
|
|
15
|
+
import { MARKERS, applyMarkerEdits, conflictingImport, planMarkerEdits, } from "../../wiring/index.js";
|
|
16
16
|
import { existsSync } from "node:fs";
|
|
17
17
|
import { join } from "node:path";
|
|
18
18
|
export async function generateModule(options, cwd) {
|
|
@@ -48,11 +48,34 @@ export class ${namePascal}Feature {
|
|
|
48
48
|
if (clash !== undefined) {
|
|
49
49
|
throw new CLIValidationError(`${appRoutes} already imports ${routes.functionName} (${clash.trim()}), so module "${name}" cannot register its routes. Choose another name.`);
|
|
50
50
|
}
|
|
51
|
+
const routeEditList = hasAppRoutes
|
|
52
|
+
? [
|
|
53
|
+
{ file: appRoutes, marker: MARKERS.routeImports, line: routes.importLine },
|
|
54
|
+
{ file: appRoutes, marker: MARKERS.routes, line: routes.entryLine },
|
|
55
|
+
]
|
|
56
|
+
: [];
|
|
51
57
|
if (hasAppRoutes) {
|
|
52
58
|
files[`${basePath}/${name}/routes/index.ts`] = renderModuleRoutesIndex(routes.functionName, "../../../container.js");
|
|
59
|
+
// Checked before anything is written: a routes index without its
|
|
60
|
+
// markers used to be reported after the files existed, as a warning on
|
|
61
|
+
// a run that exited 0, and the module's routes answered 404.
|
|
62
|
+
const { manualSteps } = planMarkerEdits(cwd, routeEditList).outcome;
|
|
63
|
+
if (manualSteps.length > 0) {
|
|
64
|
+
throw new CLIValidationError(`Cannot register the routes of module "${name}": ${appRoutes} is missing its markers, so nothing was written.
|
|
65
|
+
${manualSteps
|
|
66
|
+
.map((step) => ` - ${step}`)
|
|
67
|
+
.join("\n")}\nRestore the marker comments and re-run.`);
|
|
68
|
+
}
|
|
53
69
|
}
|
|
70
|
+
const appPath = `${dirname(basePath)}/app.ts`;
|
|
71
|
+
const appImport = `./${basename(basePath)}/index.js`;
|
|
54
72
|
if (options.dryRun) {
|
|
55
|
-
|
|
73
|
+
const registration = registerModuleInApp(cwd, appPath, spec.className, appImport, true);
|
|
74
|
+
return [
|
|
75
|
+
...Object.keys(files),
|
|
76
|
+
...(hasAppRoutes ? [appRoutes] : []),
|
|
77
|
+
...(registration.registered ? [appPath] : []),
|
|
78
|
+
];
|
|
56
79
|
}
|
|
57
80
|
try {
|
|
58
81
|
await writeFileTree(cwd, files);
|
|
@@ -60,14 +83,8 @@ export class ${namePascal}Feature {
|
|
|
60
83
|
catch (error) {
|
|
61
84
|
throw new CLIGenerationError(`Failed to generate module: ${name}`, error);
|
|
62
85
|
}
|
|
63
|
-
const routeEdits = hasAppRoutes
|
|
64
|
-
|
|
65
|
-
{ file: appRoutes, marker: MARKERS.routeImports, line: routes.importLine },
|
|
66
|
-
{ file: appRoutes, marker: MARKERS.routes, line: routes.entryLine },
|
|
67
|
-
])
|
|
68
|
-
: undefined;
|
|
69
|
-
const appPath = `${dirname(basePath)}/app.ts`;
|
|
70
|
-
const registration = registerModuleInApp(cwd, appPath, spec.className, `./${basename(basePath)}/index.js`);
|
|
86
|
+
const routeEdits = hasAppRoutes ? await applyMarkerEdits(cwd, routeEditList) : undefined;
|
|
87
|
+
const registration = registerModuleInApp(cwd, appPath, spec.className, appImport);
|
|
71
88
|
options.onRegistered?.(routeEdits && routeEdits.manualSteps.length > 0
|
|
72
89
|
? {
|
|
73
90
|
registered: registration.registered,
|
|
@@ -80,4 +97,3 @@ export class ${namePascal}Feature {
|
|
|
80
97
|
...(routeEdits?.edited ?? []),
|
|
81
98
|
];
|
|
82
99
|
}
|
|
83
|
-
//# sourceMappingURL=module.generator.js.map
|
|
@@ -17,7 +17,8 @@ export interface ModuleRegistration {
|
|
|
17
17
|
/**
|
|
18
18
|
* Adds `new <className>()` to the module list in `appPath` and imports it
|
|
19
19
|
* from `importPath`. Idempotent. Leaves a hand-edited app.ts it does not
|
|
20
|
-
* recognise untouched and returns the lines to add instead.
|
|
20
|
+
* recognise untouched and returns the lines to add instead. With `dryRun`
|
|
21
|
+
* it reports the outcome and writes nothing, so a dry run can list app.ts
|
|
22
|
+
* among the files a real run would change.
|
|
21
23
|
*/
|
|
22
|
-
export declare function registerModuleInApp(cwd: string, appPath: string, className: string, importPath: string): ModuleRegistration;
|
|
23
|
-
//# sourceMappingURL=module.registration.d.ts.map
|
|
24
|
+
export declare function registerModuleInApp(cwd: string, appPath: string, className: string, importPath: string, dryRun?: boolean): ModuleRegistration;
|
|
@@ -15,9 +15,11 @@ const MODULE_LIST = " for (const module of [\n";
|
|
|
15
15
|
/**
|
|
16
16
|
* Adds `new <className>()` to the module list in `appPath` and imports it
|
|
17
17
|
* from `importPath`. Idempotent. Leaves a hand-edited app.ts it does not
|
|
18
|
-
* recognise untouched and returns the lines to add instead.
|
|
18
|
+
* recognise untouched and returns the lines to add instead. With `dryRun`
|
|
19
|
+
* it reports the outcome and writes nothing, so a dry run can list app.ts
|
|
20
|
+
* among the files a real run would change.
|
|
19
21
|
*/
|
|
20
|
-
export function registerModuleInApp(cwd, appPath, className, importPath) {
|
|
22
|
+
export function registerModuleInApp(cwd, appPath, className, importPath, dryRun = false) {
|
|
21
23
|
const importLine = `import { ${className} } from "${importPath}";`;
|
|
22
24
|
const entry = ` new ${className}(),\n`;
|
|
23
25
|
const manualSteps = [
|
|
@@ -43,8 +45,7 @@ export function registerModuleInApp(cwd, appPath, className, importPath) {
|
|
|
43
45
|
source.slice(insertAt);
|
|
44
46
|
// During the overwrite check the generator runs with writes captured; the
|
|
45
47
|
// registration is an intended edit, not a conflict, so it is skipped then.
|
|
46
|
-
if (!activeWriteCapture())
|
|
48
|
+
if (!dryRun && !activeWriteCapture())
|
|
47
49
|
writeFileSync(fullPath, updated);
|
|
48
50
|
return { registered: true, manualSteps: [] };
|
|
49
51
|
}
|
|
50
|
-
//# sourceMappingURL=module.registration.js.map
|
|
@@ -11,4 +11,3 @@ export declare function renderQueryFile(n: CqrsSchematicNames): string;
|
|
|
11
11
|
export declare function renderQueryHandlerFile(n: CqrsSchematicNames): string;
|
|
12
12
|
/** `index.ts`: the query folder's barrel. */
|
|
13
13
|
export declare function renderQueryBarrel(n: CqrsSchematicNames): string;
|
|
14
|
-
//# sourceMappingURL=query.template.d.ts.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zudojs-cli — What must hold before a resource schematic writes anything.
|
|
3
|
+
*
|
|
4
|
+
* Every check runs before the first file is written, so a refused run
|
|
5
|
+
* leaves the project exactly as it was: the schematic's own files must not
|
|
6
|
+
* exist (unless `--force`), the container key and the routes import must be
|
|
7
|
+
* free, and — when the schematic registers itself — the marker pairs it
|
|
8
|
+
* inserts into must be present. A missing marker used to be a warning
|
|
9
|
+
* printed after the files were written and the run had "succeeded", with
|
|
10
|
+
* the unregistered routes answering 404.
|
|
11
|
+
*/
|
|
12
|
+
import { type ResourceLayout, type ResourceNames, type ResourceWiring } from "../../templates/resource/index.js";
|
|
13
|
+
import { type MarkerEdit } from "../../wiring/index.js";
|
|
14
|
+
import type { ResourcePlan, ResourceSchematic } from "./resource.plan.js";
|
|
15
|
+
/** Inputs of {@link assertResourceWritable}. */
|
|
16
|
+
export interface ResourceCheckInput {
|
|
17
|
+
readonly cwd: string;
|
|
18
|
+
readonly schematic: ResourceSchematic;
|
|
19
|
+
readonly names: ResourceNames;
|
|
20
|
+
readonly layout: ResourceLayout;
|
|
21
|
+
readonly plan: ResourcePlan;
|
|
22
|
+
readonly wiring: ResourceWiring;
|
|
23
|
+
readonly edits: readonly MarkerEdit[];
|
|
24
|
+
readonly force: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Throws a {@link CLIValidationError} when the schematic cannot be written
|
|
28
|
+
* cleanly; returns the schematic's own files that already exist (empty
|
|
29
|
+
* unless `force`).
|
|
30
|
+
*/
|
|
31
|
+
export declare function assertResourceWritable(input: ResourceCheckInput): readonly string[];
|