zudojs-cli 2.1.3 → 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 +19 -8
- 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 +0 -1
- package/dist/src/generators/middleware/index.js +0 -1
- package/dist/src/generators/middleware/middleware.generator.d.ts +0 -1
- package/dist/src/generators/middleware/middleware.generator.js +0 -1
- package/dist/src/generators/middleware/middleware.template.d.ts +0 -1
- package/dist/src/generators/middleware/middleware.template.js +0 -1
- 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 -23
- package/dist/src/templates/shared/server.template.js +42 -69
- 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
|
@@ -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
|
|
@@ -3,4 +3,3 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export { generateMiddleware, middlewareAppSrc, middlewareServerLines, type GenerateMiddlewareOptions, type MiddlewareRegistration, } from "./middleware.generator.js";
|
|
5
5
|
export { renderMiddlewareFile, type MiddlewareFileOptions } from "./middleware.template.js";
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -36,4 +36,3 @@ export declare function middlewareServerLines(basePath: string, factoryName: str
|
|
|
36
36
|
readonly entryLine: string;
|
|
37
37
|
};
|
|
38
38
|
export declare function generateMiddleware(options: GenerateMiddlewareOptions, cwd: string): Promise<string[]>;
|
|
39
|
-
//# sourceMappingURL=middleware.generator.d.ts.map
|
|
@@ -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[];
|
|
@@ -0,0 +1,52 @@
|
|
|
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 { existsSync, readFileSync } from "node:fs";
|
|
13
|
+
import { join } from "node:path";
|
|
14
|
+
import { CLIValidationError } from "../../errors/index.js";
|
|
15
|
+
import { resourceLayerPaths, } from "../../templates/resource/index.js";
|
|
16
|
+
import { conflictingImport, planMarkerEdits } from "../../wiring/index.js";
|
|
17
|
+
/**
|
|
18
|
+
* Throws a {@link CLIValidationError} when the schematic cannot be written
|
|
19
|
+
* cleanly; returns the schematic's own files that already exist (empty
|
|
20
|
+
* unless `force`).
|
|
21
|
+
*/
|
|
22
|
+
export function assertResourceWritable(input) {
|
|
23
|
+
const { cwd, schematic, names, layout, plan, wiring } = input;
|
|
24
|
+
const exists = (path) => existsSync(join(cwd, path));
|
|
25
|
+
const taken = plan.primary
|
|
26
|
+
.flatMap((layer) => resourceLayerPaths(names, layout, layer))
|
|
27
|
+
.filter(exists);
|
|
28
|
+
if (taken.length > 0 && !input.force) {
|
|
29
|
+
throw new CLIValidationError(`${schematic} "${names.slug}" already exists:\n${taken
|
|
30
|
+
.map((path) => ` - ${path}`)
|
|
31
|
+
.join("\n")}\nChoose another name, or re-run with --force to regenerate these files.`);
|
|
32
|
+
}
|
|
33
|
+
if (plan.register && exists(wiring.container)) {
|
|
34
|
+
const container = readFileSync(join(cwd, wiring.container), "utf-8");
|
|
35
|
+
if (container.includes(`${wiring.containerKey}:`) && taken.length === 0) {
|
|
36
|
+
throw new CLIValidationError(`${wiring.container} already constructs "${wiring.containerKey}" (a resource named "${names.slug}" exists elsewhere in this app). Choose another name.`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const clash = plan.register
|
|
40
|
+
? conflictingImport(cwd, wiring.routesIndex, wiring.routeImport)
|
|
41
|
+
: undefined;
|
|
42
|
+
if (clash !== undefined) {
|
|
43
|
+
throw new CLIValidationError(`${wiring.routesIndex} already imports the routes function ${schematic} "${names.slug}" would register (${clash.trim()}). Choose another name.`);
|
|
44
|
+
}
|
|
45
|
+
const { manualSteps } = planMarkerEdits(cwd, input.edits).outcome;
|
|
46
|
+
if (manualSteps.length > 0) {
|
|
47
|
+
throw new CLIValidationError(`Cannot register ${schematic} "${names.slug}": the files it registers into are missing their markers, so nothing was written.\n${manualSteps
|
|
48
|
+
.map((step) => ` - ${step}`)
|
|
49
|
+
.join("\n")}\nRestore the marker comments (or add the lines by hand and re-run with --force once the files exist).`);
|
|
50
|
+
}
|
|
51
|
+
return taken;
|
|
52
|
+
}
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
* Writes the files of a resource-family schematic (see `resource.plan.ts`)
|
|
5
5
|
* and wires them: the routes are registered between the markers of the
|
|
6
6
|
* nearest `routes/index.ts`, and the controller is constructed once, in the
|
|
7
|
-
* app's `src/container.ts`.
|
|
8
|
-
*
|
|
7
|
+
* app's `src/container.ts`. Every precondition is checked before the first
|
|
8
|
+
* write (`resource.checks.ts`); running it twice for the same name fails
|
|
9
|
+
* with the files that already exist, and it never duplicates a registration.
|
|
9
10
|
*/
|
|
10
11
|
import { type ResourceLayout } from "../../templates/resource/index.js";
|
|
11
12
|
import { type ResourceSchematic } from "./resource.plan.js";
|
|
@@ -22,6 +23,7 @@ export interface GenerateResourceOptions {
|
|
|
22
23
|
export interface ResourceGenerationResult {
|
|
23
24
|
readonly files: readonly string[];
|
|
24
25
|
readonly manualSteps: readonly string[];
|
|
26
|
+
/** The Prisma schema a model was appended to, when one was. */
|
|
27
|
+
readonly prismaSchema?: string;
|
|
25
28
|
}
|
|
26
29
|
export declare function generateResource(options: GenerateResourceOptions, cwd: string): Promise<ResourceGenerationResult>;
|
|
27
|
-
//# sourceMappingURL=resource.generator.d.ts.map
|
|
@@ -4,42 +4,39 @@
|
|
|
4
4
|
* Writes the files of a resource-family schematic (see `resource.plan.ts`)
|
|
5
5
|
* and wires them: the routes are registered between the markers of the
|
|
6
6
|
* nearest `routes/index.ts`, and the controller is constructed once, in the
|
|
7
|
-
* app's `src/container.ts`.
|
|
8
|
-
*
|
|
7
|
+
* app's `src/container.ts`. Every precondition is checked before the first
|
|
8
|
+
* write (`resource.checks.ts`); running it twice for the same name fails
|
|
9
|
+
* with the files that already exist, and it never duplicates a registration.
|
|
9
10
|
*/
|
|
10
11
|
import { existsSync, readFileSync } from "node:fs";
|
|
11
12
|
import { join } from "node:path";
|
|
12
|
-
import { CLIValidationError } from "../../errors/index.js";
|
|
13
13
|
import { renderHttpUtils } from "../../templates/backendApp/index.js";
|
|
14
14
|
import { hasPrismaModel, joinPath, renderPrismaModel, renderResourceLayers, resourceLayerPaths, resourceNames, resourceWiring, } from "../../templates/resource/index.js";
|
|
15
15
|
import { writeFileTree } from "../../utils/utils.fileSystem.js";
|
|
16
|
-
import { MARKERS, applyMarkerEdits
|
|
16
|
+
import { MARKERS, applyMarkerEdits } from "../../wiring/index.js";
|
|
17
|
+
import { assertResourceWritable } from "./resource.checks.js";
|
|
17
18
|
import { planResource } from "./resource.plan.js";
|
|
18
19
|
export async function generateResource(options, cwd) {
|
|
19
20
|
const names = resourceNames(options.name);
|
|
20
21
|
const { layout } = options;
|
|
21
22
|
const plan = planResource(options.schematic);
|
|
22
23
|
const exists = (path) => existsSync(join(cwd, path));
|
|
23
|
-
const primaryPaths = plan.primary.flatMap((layer) => resourceLayerPaths(names, layout, layer));
|
|
24
|
-
const taken = primaryPaths.filter(exists);
|
|
25
|
-
if (taken.length > 0 && options.force !== true) {
|
|
26
|
-
throw new CLIValidationError(`${options.schematic} "${names.slug}" already exists:\n${taken
|
|
27
|
-
.map((path) => ` - ${path}`)
|
|
28
|
-
.join("\n")}\nChoose another name, or re-run with --force to regenerate these files.`);
|
|
29
|
-
}
|
|
30
24
|
const wiring = resourceWiring(names, layout);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
25
|
+
const edits = plan.register
|
|
26
|
+
? [
|
|
27
|
+
{ file: wiring.routesIndex, marker: MARKERS.routeImports, line: wiring.routeImport },
|
|
28
|
+
{ file: wiring.routesIndex, marker: MARKERS.routes, line: wiring.routeEntry },
|
|
29
|
+
...wiring.containerImports.map((line) => ({
|
|
30
|
+
file: wiring.container,
|
|
31
|
+
marker: MARKERS.containerImports,
|
|
32
|
+
line,
|
|
33
|
+
})),
|
|
34
|
+
{ file: wiring.container, marker: MARKERS.container, line: wiring.containerEntry },
|
|
35
|
+
]
|
|
36
|
+
: [];
|
|
37
|
+
assertResourceWritable({
|
|
38
|
+
cwd, schematic: options.schematic, names, layout, plan, wiring, edits, force: options.force === true,
|
|
39
|
+
});
|
|
43
40
|
const missingRequired = plan.required.filter((layer) => resourceLayerPaths(names, layout, layer).some((path) => !exists(path)));
|
|
44
41
|
const files = renderResourceLayers(names, layout, [
|
|
45
42
|
...missingRequired,
|
|
@@ -53,24 +50,14 @@ export async function generateResource(options, cwd) {
|
|
|
53
50
|
}
|
|
54
51
|
const writesRepository = plan.primary.includes("repository") || missingRequired.includes("repository");
|
|
55
52
|
const schemaPath = joinPath(layout.appRoot, "prisma", "schema.prisma");
|
|
53
|
+
let prismaSchema;
|
|
56
54
|
if (layout.prisma && writesRepository && exists(schemaPath)) {
|
|
57
55
|
const schema = readFileSync(join(cwd, schemaPath), "utf-8");
|
|
58
56
|
if (!hasPrismaModel(schema, names.entity)) {
|
|
59
57
|
files[schemaPath] = `${schema.replace(/\n*$/, "\n")}${renderPrismaModel(names)}`;
|
|
58
|
+
prismaSchema = schemaPath;
|
|
60
59
|
}
|
|
61
60
|
}
|
|
62
|
-
const edits = plan.register
|
|
63
|
-
? [
|
|
64
|
-
{ file: wiring.routesIndex, marker: MARKERS.routeImports, line: wiring.routeImport },
|
|
65
|
-
{ file: wiring.routesIndex, marker: MARKERS.routes, line: wiring.routeEntry },
|
|
66
|
-
...wiring.containerImports.map((line) => ({
|
|
67
|
-
file: wiring.container,
|
|
68
|
-
marker: MARKERS.containerImports,
|
|
69
|
-
line,
|
|
70
|
-
})),
|
|
71
|
-
{ file: wiring.container, marker: MARKERS.container, line: wiring.containerEntry },
|
|
72
|
-
]
|
|
73
|
-
: [];
|
|
74
61
|
if (!options.dryRun) {
|
|
75
62
|
await writeFileTree(cwd, files);
|
|
76
63
|
}
|
|
@@ -82,6 +69,6 @@ export async function generateResource(options, cwd) {
|
|
|
82
69
|
return {
|
|
83
70
|
files: [...Object.keys(files), ...outcome.edited],
|
|
84
71
|
manualSteps,
|
|
72
|
+
...(prismaSchema === undefined ? {} : { prismaSchema }),
|
|
85
73
|
};
|
|
86
74
|
}
|
|
87
|
-
//# sourceMappingURL=resource.generator.js.map
|
|
@@ -23,4 +23,3 @@ export interface ResourceLayoutInput {
|
|
|
23
23
|
* @throws {CLIValidationError} When the selected service or module does not exist.
|
|
24
24
|
*/
|
|
25
25
|
export declare function resolveResourceLayout(input: ResourceLayoutInput): ResourceLayout;
|
|
26
|
-
//# sourceMappingURL=resource.layout.d.ts.map
|