zudojs-cli 0.1.2 → 1.0.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/LICENSE +21 -0
- package/README.md +14 -1
- package/dist/src/adapters/databases/postgres.adapter.d.ts +0 -14
- package/dist/src/adapters/databases/postgres.adapter.js +0 -30
- package/dist/src/adapters/frontend/angular.adapter.js +6 -0
- package/dist/src/adapters/frontend/astro.adapter.js +2 -2
- package/dist/src/adapters/frontend/react.adapter.js +26 -17
- package/dist/src/adapters/frontend/svelte.adapter.js +1 -0
- package/dist/src/adapters/frontend/sveltekit.adapter.js +7 -8
- package/dist/src/adapters/frontend/vanilla.adapter.js +1 -1
- package/dist/src/adapters/frontend/vue.adapter.js +1 -0
- package/dist/src/adapters/package-managers/bun.adapter.js +5 -5
- package/dist/src/adapters/package-managers/npm.adapter.js +5 -5
- package/dist/src/adapters/package-managers/pnpm.adapter.js +5 -5
- package/dist/src/adapters/package-managers/yarn.adapter.js +5 -5
- package/dist/src/bin/zudojs.js +42 -6
- package/dist/src/cliApplication/cliApplication.builtins.d.ts +11 -2
- package/dist/src/cliApplication/cliApplication.builtins.js +15 -4
- package/dist/src/cliApplication/cliApplication.core.js +20 -5
- package/dist/src/cliConstant/cliConstant.value.d.ts +1 -1
- package/dist/src/cliConstant/cliConstant.value.js +2 -1
- package/dist/src/cliConstant/cliVersion.d.ts +16 -0
- package/dist/src/cliConstant/cliVersion.js +57 -0
- package/dist/src/cliParser/cliParser.core.js +7 -0
- package/dist/src/cliParser/cliParser.shortOption.js +1 -1
- package/dist/src/commands/add.command.js +27 -24
- package/dist/src/commands/build.command.js +13 -7
- package/dist/src/commands/create.command.js +169 -51
- package/dist/src/commands/dev.command.js +62 -27
- package/dist/src/commands/doctor.command.js +45 -23
- package/dist/src/commands/generate.command.js +103 -34
- package/dist/src/constants/index.d.ts +3 -1
- package/dist/src/constants/index.js +3 -1
- package/dist/src/generators/command/command.generator.d.ts +1 -0
- package/dist/src/generators/command/command.generator.js +10 -4
- package/dist/src/generators/controller/controller.generator.d.ts +1 -0
- package/dist/src/generators/controller/controller.generator.js +12 -9
- package/dist/src/generators/dto/dto.generator.d.ts +1 -0
- package/dist/src/generators/dto/dto.generator.js +9 -3
- package/dist/src/generators/event/event.generator.d.ts +1 -0
- package/dist/src/generators/event/event.generator.js +10 -4
- package/dist/src/generators/frontend/frontendGenerator.core.js +4 -28
- package/dist/src/generators/frontend/frontendPipeline.d.ts +26 -0
- package/dist/src/generators/frontend/frontendPipeline.js +93 -0
- package/dist/src/generators/fullstack/fullstackComposer.core.d.ts +1 -2
- package/dist/src/generators/fullstack/fullstackComposer.core.js +72 -43
- package/dist/src/generators/infrastructure/infrastructure.generator.d.ts +11 -0
- package/dist/src/generators/infrastructure/infrastructure.generator.js +101 -61
- package/dist/src/generators/integration/integrationGenerator.core.d.ts +6 -0
- package/dist/src/generators/integration/integrationGenerator.core.js +35 -6
- package/dist/src/generators/job/job.generator.d.ts +1 -0
- package/dist/src/generators/job/job.generator.js +9 -3
- package/dist/src/generators/middleware/middleware.generator.d.ts +1 -0
- package/dist/src/generators/middleware/middleware.generator.js +10 -4
- package/dist/src/generators/model/model.generator.d.ts +1 -0
- package/dist/src/generators/model/model.generator.js +9 -3
- package/dist/src/generators/module/module.generator.d.ts +1 -0
- package/dist/src/generators/module/module.generator.js +11 -24
- package/dist/src/generators/project/project.generator.js +2 -23
- package/dist/src/generators/query/query.generator.d.ts +1 -0
- package/dist/src/generators/query/query.generator.js +10 -4
- package/dist/src/generators/repository/repository.generator.d.ts +1 -0
- package/dist/src/generators/repository/repository.generator.js +12 -9
- package/dist/src/generators/route/route.generator.d.ts +1 -0
- package/dist/src/generators/route/route.generator.js +11 -5
- package/dist/src/generators/service/service.generator.d.ts +1 -0
- package/dist/src/generators/service/service.generator.js +12 -9
- package/dist/src/generators/validator/validator.generator.d.ts +1 -0
- package/dist/src/generators/validator/validator.generator.js +9 -3
- package/dist/src/installers/dependency.installer.js +6 -2
- package/dist/src/manifest/manifestManager.core.d.ts +3 -0
- package/dist/src/prompts/backend/index.d.ts +1 -0
- package/dist/src/prompts/backend/index.js +1 -0
- package/dist/src/prompts/backend/services.prompt.d.ts +7 -0
- package/dist/src/prompts/backend/services.prompt.js +39 -0
- package/dist/src/prompts/index.d.ts +0 -1
- package/dist/src/prompts/index.js +0 -1
- package/dist/src/rollback/rollbackManager.core.js +0 -1
- package/dist/src/runners/process/processRunner.core.d.ts +4 -0
- package/dist/src/runners/process/processRunner.core.js +17 -3
- package/dist/src/scaffolders/framework.scaffolder.js +9 -6
- package/dist/src/scaffolders/scaffolder.helper.js +7 -2
- package/dist/src/scripts/postinstall.cjs +24 -3
- package/dist/src/templates/microservice/index.d.ts +1 -1
- package/dist/src/templates/microservice/index.js +1 -1
- package/dist/src/templates/microservice/microservice.template.d.ts +15 -0
- package/dist/src/templates/microservice/microservice.template.js +148 -162
- package/dist/src/templates/modular-monolith/modularMonolith.template.js +45 -76
- package/dist/src/templates/monolith/monolith.template.d.ts +1 -0
- package/dist/src/templates/monolith/monolith.template.js +48 -68
- package/dist/src/templates/shared/appRuntime.template.d.ts +71 -0
- package/dist/src/templates/shared/appRuntime.template.js +209 -0
- package/dist/src/templates/shared/index.d.ts +5 -0
- package/dist/src/templates/shared/index.js +5 -0
- package/dist/src/utils/index.d.ts +3 -3
- package/dist/src/utils/index.js +3 -3
- package/dist/src/utils/utils.exec.d.ts +19 -1
- package/dist/src/utils/utils.exec.js +37 -3
- package/dist/src/utils/utils.fileSystem.d.ts +6 -0
- package/dist/src/utils/utils.fileSystem.js +19 -0
- package/dist/src/utils/utils.name.d.ts +26 -0
- package/dist/src/utils/utils.name.js +51 -1
- package/package.json +29 -22
- package/src/scripts/postinstall.cjs +24 -3
- package/dist/.tsbuildinfo +0 -1
- package/dist/src/adapters/databases/index.d.ts.map +0 -1
- package/dist/src/adapters/databases/index.js.map +0 -1
- package/dist/src/adapters/databases/mysql.adapter.d.ts.map +0 -1
- package/dist/src/adapters/databases/mysql.adapter.js.map +0 -1
- package/dist/src/adapters/databases/postgres.adapter.d.ts.map +0 -1
- package/dist/src/adapters/databases/postgres.adapter.js.map +0 -1
- package/dist/src/adapters/databases/sqlite.adapter.d.ts.map +0 -1
- package/dist/src/adapters/databases/sqlite.adapter.js.map +0 -1
- package/dist/src/adapters/frontend/angular.adapter.d.ts.map +0 -1
- package/dist/src/adapters/frontend/angular.adapter.js.map +0 -1
- package/dist/src/adapters/frontend/astro.adapter.d.ts.map +0 -1
- package/dist/src/adapters/frontend/astro.adapter.js.map +0 -1
- package/dist/src/adapters/frontend/flutter.adapter.d.ts.map +0 -1
- package/dist/src/adapters/frontend/flutter.adapter.js.map +0 -1
- package/dist/src/adapters/frontend/frontendAdapter.type.d.ts.map +0 -1
- package/dist/src/adapters/frontend/frontendAdapter.type.js.map +0 -1
- package/dist/src/adapters/frontend/index.d.ts.map +0 -1
- package/dist/src/adapters/frontend/index.js.map +0 -1
- package/dist/src/adapters/frontend/next.adapter.d.ts.map +0 -1
- package/dist/src/adapters/frontend/next.adapter.js.map +0 -1
- package/dist/src/adapters/frontend/nuxt.adapter.d.ts.map +0 -1
- package/dist/src/adapters/frontend/nuxt.adapter.js.map +0 -1
- package/dist/src/adapters/frontend/react-native.adapter.d.ts.map +0 -1
- package/dist/src/adapters/frontend/react-native.adapter.js.map +0 -1
- package/dist/src/adapters/frontend/react.adapter.d.ts.map +0 -1
- package/dist/src/adapters/frontend/react.adapter.js.map +0 -1
- package/dist/src/adapters/frontend/svelte.adapter.d.ts.map +0 -1
- package/dist/src/adapters/frontend/svelte.adapter.js.map +0 -1
- package/dist/src/adapters/frontend/sveltekit.adapter.d.ts.map +0 -1
- package/dist/src/adapters/frontend/sveltekit.adapter.js.map +0 -1
- package/dist/src/adapters/frontend/vanilla.adapter.d.ts.map +0 -1
- package/dist/src/adapters/frontend/vanilla.adapter.js.map +0 -1
- package/dist/src/adapters/frontend/vue.adapter.d.ts.map +0 -1
- package/dist/src/adapters/frontend/vue.adapter.js.map +0 -1
- package/dist/src/adapters/package-managers/bun.adapter.d.ts.map +0 -1
- package/dist/src/adapters/package-managers/bun.adapter.js.map +0 -1
- package/dist/src/adapters/package-managers/index.d.ts.map +0 -1
- package/dist/src/adapters/package-managers/index.js.map +0 -1
- package/dist/src/adapters/package-managers/npm.adapter.d.ts.map +0 -1
- package/dist/src/adapters/package-managers/npm.adapter.js.map +0 -1
- package/dist/src/adapters/package-managers/packageManager.type.d.ts.map +0 -1
- package/dist/src/adapters/package-managers/packageManager.type.js.map +0 -1
- package/dist/src/adapters/package-managers/pnpm.adapter.d.ts.map +0 -1
- package/dist/src/adapters/package-managers/pnpm.adapter.js.map +0 -1
- package/dist/src/adapters/package-managers/yarn.adapter.d.ts.map +0 -1
- package/dist/src/adapters/package-managers/yarn.adapter.js.map +0 -1
- package/dist/src/bin/zudojs.d.ts.map +0 -1
- package/dist/src/bin/zudojs.js.map +0 -1
- package/dist/src/cliApplication/cliApplication.builtins.d.ts.map +0 -1
- package/dist/src/cliApplication/cliApplication.builtins.js.map +0 -1
- package/dist/src/cliApplication/cliApplication.core.d.ts.map +0 -1
- package/dist/src/cliApplication/cliApplication.core.js.map +0 -1
- package/dist/src/cliApplication/cliApplication.writer.d.ts.map +0 -1
- package/dist/src/cliApplication/cliApplication.writer.js.map +0 -1
- package/dist/src/cliApplication/index.d.ts.map +0 -1
- package/dist/src/cliApplication/index.js.map +0 -1
- package/dist/src/cliCommand/cliCommand.builder.d.ts.map +0 -1
- package/dist/src/cliCommand/cliCommand.builder.js.map +0 -1
- package/dist/src/cliCommand/cliCommand.factory.d.ts.map +0 -1
- package/dist/src/cliCommand/cliCommand.factory.js.map +0 -1
- package/dist/src/cliCommand/cliCommand.registry.d.ts.map +0 -1
- package/dist/src/cliCommand/cliCommand.registry.js.map +0 -1
- package/dist/src/cliCommand/cliCommand.validator.d.ts.map +0 -1
- package/dist/src/cliCommand/cliCommand.validator.js.map +0 -1
- package/dist/src/cliCommand/index.d.ts.map +0 -1
- package/dist/src/cliCommand/index.js.map +0 -1
- package/dist/src/cliConstant/cliConstant.value.d.ts.map +0 -1
- package/dist/src/cliConstant/cliConstant.value.js.map +0 -1
- package/dist/src/cliConstant/index.d.ts.map +0 -1
- package/dist/src/cliConstant/index.js.map +0 -1
- package/dist/src/cliError/cliError.argument.d.ts.map +0 -1
- package/dist/src/cliError/cliError.argument.js.map +0 -1
- package/dist/src/cliError/cliError.base.d.ts.map +0 -1
- package/dist/src/cliError/cliError.base.js.map +0 -1
- package/dist/src/cliError/cliError.command.d.ts.map +0 -1
- package/dist/src/cliError/cliError.command.js.map +0 -1
- package/dist/src/cliError/cliError.execution.d.ts.map +0 -1
- package/dist/src/cliError/cliError.execution.js.map +0 -1
- package/dist/src/cliError/cliError.option.d.ts.map +0 -1
- package/dist/src/cliError/cliError.option.js.map +0 -1
- package/dist/src/cliError/index.d.ts.map +0 -1
- package/dist/src/cliError/index.js.map +0 -1
- package/dist/src/cliParser/cliParser.core.d.ts.map +0 -1
- package/dist/src/cliParser/cliParser.core.js.map +0 -1
- package/dist/src/cliParser/cliParser.helper.d.ts.map +0 -1
- package/dist/src/cliParser/cliParser.helper.js.map +0 -1
- package/dist/src/cliParser/cliParser.longOption.d.ts.map +0 -1
- package/dist/src/cliParser/cliParser.longOption.js.map +0 -1
- package/dist/src/cliParser/cliParser.shortOption.d.ts.map +0 -1
- package/dist/src/cliParser/cliParser.shortOption.js.map +0 -1
- package/dist/src/cliParser/index.d.ts.map +0 -1
- package/dist/src/cliParser/index.js.map +0 -1
- package/dist/src/cliType/cliType.type.d.ts.map +0 -1
- package/dist/src/cliType/cliType.type.js.map +0 -1
- package/dist/src/cliType/index.d.ts.map +0 -1
- package/dist/src/cliType/index.js.map +0 -1
- package/dist/src/cliVersion/cliVersion.core.d.ts.map +0 -1
- package/dist/src/cliVersion/cliVersion.core.js.map +0 -1
- package/dist/src/cliVersion/index.d.ts.map +0 -1
- package/dist/src/cliVersion/index.js.map +0 -1
- package/dist/src/commands/add.command.d.ts.map +0 -1
- package/dist/src/commands/add.command.js.map +0 -1
- package/dist/src/commands/build.command.d.ts.map +0 -1
- package/dist/src/commands/build.command.js.map +0 -1
- package/dist/src/commands/create.command.d.ts.map +0 -1
- package/dist/src/commands/create.command.js.map +0 -1
- package/dist/src/commands/dev.command.d.ts.map +0 -1
- package/dist/src/commands/dev.command.js.map +0 -1
- package/dist/src/commands/doctor.command.d.ts.map +0 -1
- package/dist/src/commands/doctor.command.js.map +0 -1
- package/dist/src/commands/generate.command.d.ts.map +0 -1
- package/dist/src/commands/generate.command.js.map +0 -1
- package/dist/src/commands/index.d.ts.map +0 -1
- package/dist/src/commands/index.js.map +0 -1
- package/dist/src/commands/info.command.d.ts.map +0 -1
- package/dist/src/commands/info.command.js.map +0 -1
- package/dist/src/constants/index.d.ts.map +0 -1
- package/dist/src/constants/index.js.map +0 -1
- package/dist/src/errors/index.d.ts.map +0 -1
- package/dist/src/errors/index.js.map +0 -1
- package/dist/src/generators/backend/backend.generator.d.ts.map +0 -1
- package/dist/src/generators/backend/backend.generator.js.map +0 -1
- package/dist/src/generators/backend/index.d.ts.map +0 -1
- package/dist/src/generators/backend/index.js.map +0 -1
- package/dist/src/generators/command/command.generator.d.ts.map +0 -1
- package/dist/src/generators/command/command.generator.js.map +0 -1
- package/dist/src/generators/controller/controller.generator.d.ts.map +0 -1
- package/dist/src/generators/controller/controller.generator.js.map +0 -1
- package/dist/src/generators/dto/dto.generator.d.ts.map +0 -1
- package/dist/src/generators/dto/dto.generator.js.map +0 -1
- package/dist/src/generators/dto/index.d.ts.map +0 -1
- package/dist/src/generators/dto/index.js.map +0 -1
- package/dist/src/generators/event/event.generator.d.ts.map +0 -1
- package/dist/src/generators/event/event.generator.js.map +0 -1
- package/dist/src/generators/event/index.d.ts.map +0 -1
- package/dist/src/generators/event/index.js.map +0 -1
- package/dist/src/generators/frontend/frontendGenerator.core.d.ts.map +0 -1
- package/dist/src/generators/frontend/frontendGenerator.core.js.map +0 -1
- package/dist/src/generators/frontend/index.d.ts.map +0 -1
- package/dist/src/generators/frontend/index.js.map +0 -1
- package/dist/src/generators/fullstack/fullstackComposer.core.d.ts.map +0 -1
- package/dist/src/generators/fullstack/fullstackComposer.core.js.map +0 -1
- package/dist/src/generators/fullstack/index.d.ts.map +0 -1
- package/dist/src/generators/fullstack/index.js.map +0 -1
- package/dist/src/generators/index.d.ts.map +0 -1
- package/dist/src/generators/index.js.map +0 -1
- package/dist/src/generators/infrastructure/index.d.ts.map +0 -1
- package/dist/src/generators/infrastructure/index.js.map +0 -1
- package/dist/src/generators/infrastructure/infrastructure.generator.d.ts.map +0 -1
- package/dist/src/generators/infrastructure/infrastructure.generator.js.map +0 -1
- package/dist/src/generators/integration/index.d.ts.map +0 -1
- package/dist/src/generators/integration/index.js.map +0 -1
- package/dist/src/generators/integration/integrationGenerator.core.d.ts.map +0 -1
- package/dist/src/generators/integration/integrationGenerator.core.js.map +0 -1
- package/dist/src/generators/job/index.d.ts.map +0 -1
- package/dist/src/generators/job/index.js.map +0 -1
- package/dist/src/generators/job/job.generator.d.ts.map +0 -1
- package/dist/src/generators/job/job.generator.js.map +0 -1
- package/dist/src/generators/middleware/index.d.ts.map +0 -1
- package/dist/src/generators/middleware/index.js.map +0 -1
- package/dist/src/generators/middleware/middleware.generator.d.ts.map +0 -1
- package/dist/src/generators/middleware/middleware.generator.js.map +0 -1
- package/dist/src/generators/model/index.d.ts.map +0 -1
- package/dist/src/generators/model/index.js.map +0 -1
- package/dist/src/generators/model/model.generator.d.ts.map +0 -1
- package/dist/src/generators/model/model.generator.js.map +0 -1
- package/dist/src/generators/module/module.generator.d.ts.map +0 -1
- package/dist/src/generators/module/module.generator.js.map +0 -1
- package/dist/src/generators/project/project.generator.d.ts.map +0 -1
- package/dist/src/generators/project/project.generator.js.map +0 -1
- package/dist/src/generators/query/query.generator.d.ts.map +0 -1
- package/dist/src/generators/query/query.generator.js.map +0 -1
- package/dist/src/generators/repository/repository.generator.d.ts.map +0 -1
- package/dist/src/generators/repository/repository.generator.js.map +0 -1
- package/dist/src/generators/route/index.d.ts.map +0 -1
- package/dist/src/generators/route/index.js.map +0 -1
- package/dist/src/generators/route/route.generator.d.ts.map +0 -1
- package/dist/src/generators/route/route.generator.js.map +0 -1
- package/dist/src/generators/service/service.generator.d.ts.map +0 -1
- package/dist/src/generators/service/service.generator.js.map +0 -1
- package/dist/src/generators/validator/index.d.ts.map +0 -1
- package/dist/src/generators/validator/index.js.map +0 -1
- package/dist/src/generators/validator/validator.generator.d.ts.map +0 -1
- package/dist/src/generators/validator/validator.generator.js.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/installers/dependency.installer.d.ts.map +0 -1
- package/dist/src/installers/dependency.installer.js.map +0 -1
- package/dist/src/installers/index.d.ts.map +0 -1
- package/dist/src/installers/index.js.map +0 -1
- package/dist/src/manifest/index.d.ts.map +0 -1
- package/dist/src/manifest/index.js.map +0 -1
- package/dist/src/manifest/manifestManager.core.d.ts.map +0 -1
- package/dist/src/manifest/manifestManager.core.js.map +0 -1
- package/dist/src/prompts/backend/api-style.prompt.d.ts.map +0 -1
- package/dist/src/prompts/backend/api-style.prompt.js.map +0 -1
- package/dist/src/prompts/backend/backend-architecture.prompt.d.ts.map +0 -1
- package/dist/src/prompts/backend/backend-architecture.prompt.js.map +0 -1
- package/dist/src/prompts/backend/database.prompt.d.ts.map +0 -1
- package/dist/src/prompts/backend/database.prompt.js.map +0 -1
- package/dist/src/prompts/backend/index.d.ts.map +0 -1
- package/dist/src/prompts/backend/index.js.map +0 -1
- package/dist/src/prompts/capabilities/capabilities.prompt.d.ts.map +0 -1
- package/dist/src/prompts/capabilities/capabilities.prompt.js.map +0 -1
- package/dist/src/prompts/capabilities/index.d.ts.map +0 -1
- package/dist/src/prompts/capabilities/index.js.map +0 -1
- package/dist/src/prompts/frontend/framework.prompt.d.ts.map +0 -1
- package/dist/src/prompts/frontend/framework.prompt.js.map +0 -1
- package/dist/src/prompts/frontend/frontend-architecture.prompt.d.ts.map +0 -1
- package/dist/src/prompts/frontend/frontend-architecture.prompt.js.map +0 -1
- package/dist/src/prompts/frontend/index.d.ts.map +0 -1
- package/dist/src/prompts/frontend/index.js.map +0 -1
- package/dist/src/prompts/index.d.ts.map +0 -1
- package/dist/src/prompts/index.js.map +0 -1
- package/dist/src/prompts/project/confirmation.prompt.d.ts.map +0 -1
- package/dist/src/prompts/project/confirmation.prompt.js.map +0 -1
- package/dist/src/prompts/project/index.d.ts.map +0 -1
- package/dist/src/prompts/project/index.js.map +0 -1
- package/dist/src/prompts/project/project-name.prompt.d.ts.map +0 -1
- package/dist/src/prompts/project/project-name.prompt.js.map +0 -1
- package/dist/src/prompts/project/project-type.prompt.d.ts.map +0 -1
- package/dist/src/prompts/project/project-type.prompt.js.map +0 -1
- package/dist/src/prompts/prompts.createProject.d.ts +0 -33
- package/dist/src/prompts/prompts.createProject.d.ts.map +0 -1
- package/dist/src/prompts/prompts.createProject.js +0 -150
- package/dist/src/prompts/prompts.createProject.js.map +0 -1
- package/dist/src/prompts/workspace/index.d.ts.map +0 -1
- package/dist/src/prompts/workspace/index.js.map +0 -1
- package/dist/src/prompts/workspace/package-manager.prompt.d.ts.map +0 -1
- package/dist/src/prompts/workspace/package-manager.prompt.js.map +0 -1
- package/dist/src/registries/adapter/frontendAdapterRegistry.core.d.ts.map +0 -1
- package/dist/src/registries/adapter/frontendAdapterRegistry.core.js.map +0 -1
- package/dist/src/registries/adapter/packageManagerRegistry.core.d.ts.map +0 -1
- package/dist/src/registries/adapter/packageManagerRegistry.core.js.map +0 -1
- package/dist/src/registries/dependency/dependencyRegistry.core.d.ts.map +0 -1
- package/dist/src/registries/dependency/dependencyRegistry.core.js.map +0 -1
- package/dist/src/registries/dependency/index.d.ts.map +0 -1
- package/dist/src/registries/dependency/index.js.map +0 -1
- package/dist/src/registries/generator/generatorRegistry.core.d.ts.map +0 -1
- package/dist/src/registries/generator/generatorRegistry.core.js.map +0 -1
- package/dist/src/registries/generator/index.d.ts.map +0 -1
- package/dist/src/registries/generator/index.js.map +0 -1
- package/dist/src/registries/index.d.ts.map +0 -1
- package/dist/src/registries/index.js.map +0 -1
- package/dist/src/resolvers/architecture.resolver.d.ts.map +0 -1
- package/dist/src/resolvers/architecture.resolver.js.map +0 -1
- package/dist/src/resolvers/capability/capabilityResolver.core.d.ts.map +0 -1
- package/dist/src/resolvers/capability/capabilityResolver.core.js.map +0 -1
- package/dist/src/resolvers/capability/index.d.ts.map +0 -1
- package/dist/src/resolvers/capability/index.js.map +0 -1
- package/dist/src/resolvers/configuration/configurationResolver.core.d.ts.map +0 -1
- package/dist/src/resolvers/configuration/configurationResolver.core.js.map +0 -1
- package/dist/src/resolvers/configuration/index.d.ts.map +0 -1
- package/dist/src/resolvers/configuration/index.js.map +0 -1
- package/dist/src/resolvers/dependency/dependencyResolver.core.d.ts.map +0 -1
- package/dist/src/resolvers/dependency/dependencyResolver.core.js.map +0 -1
- package/dist/src/resolvers/dependency/index.d.ts.map +0 -1
- package/dist/src/resolvers/dependency/index.js.map +0 -1
- package/dist/src/resolvers/index.d.ts.map +0 -1
- package/dist/src/resolvers/index.js.map +0 -1
- package/dist/src/resolvers/project.resolver.d.ts.map +0 -1
- package/dist/src/resolvers/project.resolver.js.map +0 -1
- package/dist/src/rollback/index.d.ts.map +0 -1
- package/dist/src/rollback/index.js.map +0 -1
- package/dist/src/rollback/rollbackManager.core.d.ts.map +0 -1
- package/dist/src/rollback/rollbackManager.core.js.map +0 -1
- package/dist/src/runners/package-manager/index.d.ts.map +0 -1
- package/dist/src/runners/package-manager/index.js.map +0 -1
- package/dist/src/runners/package-manager/packageManagerRunner.core.d.ts.map +0 -1
- package/dist/src/runners/package-manager/packageManagerRunner.core.js.map +0 -1
- package/dist/src/runners/process/index.d.ts.map +0 -1
- package/dist/src/runners/process/index.js.map +0 -1
- package/dist/src/runners/process/processRunner.core.d.ts.map +0 -1
- package/dist/src/runners/process/processRunner.core.js.map +0 -1
- package/dist/src/runners/task/index.d.ts.map +0 -1
- package/dist/src/runners/task/index.js.map +0 -1
- package/dist/src/runners/task/taskRunner.core.d.ts.map +0 -1
- package/dist/src/runners/task/taskRunner.core.js.map +0 -1
- package/dist/src/scaffolders/framework.scaffolder.d.ts.map +0 -1
- package/dist/src/scaffolders/framework.scaffolder.js.map +0 -1
- package/dist/src/scaffolders/index.d.ts.map +0 -1
- package/dist/src/scaffolders/index.js.map +0 -1
- package/dist/src/scaffolders/scaffolder.helper.d.ts.map +0 -1
- package/dist/src/scaffolders/scaffolder.helper.js.map +0 -1
- package/dist/src/templates/microservice/index.d.ts.map +0 -1
- package/dist/src/templates/microservice/index.js.map +0 -1
- package/dist/src/templates/microservice/microservice.template.d.ts.map +0 -1
- package/dist/src/templates/microservice/microservice.template.js.map +0 -1
- package/dist/src/templates/modular-monolith/index.d.ts.map +0 -1
- package/dist/src/templates/modular-monolith/index.js.map +0 -1
- package/dist/src/templates/modular-monolith/modularMonolith.template.d.ts.map +0 -1
- package/dist/src/templates/modular-monolith/modularMonolith.template.js.map +0 -1
- package/dist/src/templates/monolith/index.d.ts.map +0 -1
- package/dist/src/templates/monolith/index.js.map +0 -1
- package/dist/src/templates/monolith/monolith.template.d.ts.map +0 -1
- package/dist/src/templates/monolith/monolith.template.js.map +0 -1
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/types/index.js.map +0 -1
- package/dist/src/types/projectConfiguration.type.d.ts.map +0 -1
- package/dist/src/types/projectConfiguration.type.js.map +0 -1
- package/dist/src/types/scaffold.type.d.ts.map +0 -1
- package/dist/src/types/scaffold.type.js.map +0 -1
- package/dist/src/utils/index.d.ts.map +0 -1
- package/dist/src/utils/index.js.map +0 -1
- package/dist/src/utils/utils.detect.d.ts.map +0 -1
- package/dist/src/utils/utils.detect.js.map +0 -1
- package/dist/src/utils/utils.exec.d.ts.map +0 -1
- package/dist/src/utils/utils.exec.js.map +0 -1
- package/dist/src/utils/utils.fileSystem.d.ts.map +0 -1
- package/dist/src/utils/utils.fileSystem.js.map +0 -1
- package/dist/src/utils/utils.name.d.ts.map +0 -1
- package/dist/src/utils/utils.name.js.map +0 -1
- package/dist/src/validators/compatibility/compatibilityValidator.core.d.ts.map +0 -1
- package/dist/src/validators/compatibility/compatibilityValidator.core.js.map +0 -1
- package/dist/src/validators/compatibility/index.d.ts.map +0 -1
- package/dist/src/validators/compatibility/index.js.map +0 -1
- package/dist/src/validators/environment/environmentValidator.core.d.ts.map +0 -1
- package/dist/src/validators/environment/environmentValidator.core.js.map +0 -1
- package/dist/src/validators/environment/index.d.ts.map +0 -1
- package/dist/src/validators/environment/index.js.map +0 -1
- package/dist/src/validators/index.d.ts.map +0 -1
- package/dist/src/validators/index.js.map +0 -1
- package/dist/src/validators/project/index.d.ts.map +0 -1
- package/dist/src/validators/project/index.js.map +0 -1
- package/dist/src/validators/project/projectValidator.core.d.ts.map +0 -1
- package/dist/src/validators/project/projectValidator.core.js.map +0 -1
|
@@ -4,21 +4,27 @@
|
|
|
4
4
|
* Generates route files.
|
|
5
5
|
*/
|
|
6
6
|
import { writeFileTree } from "../../utils/utils.fileSystem.js";
|
|
7
|
+
import { normalizeName, toCamelCase } from "../../utils/utils.name.js";
|
|
7
8
|
export async function generateRoute(options, cwd) {
|
|
9
|
+
const name = normalizeName(options.name);
|
|
10
|
+
const nameCamel = toCamelCase(options.name);
|
|
8
11
|
const files = {
|
|
9
|
-
[`${options.basePath}/routes/${
|
|
10
|
-
* ${
|
|
12
|
+
[`${options.basePath}/routes/${name}.route.ts`]: `/**
|
|
13
|
+
* ${name} route.
|
|
11
14
|
*/
|
|
12
15
|
|
|
13
|
-
export const ${
|
|
14
|
-
path: "/${
|
|
16
|
+
export const ${nameCamel}Route = {
|
|
17
|
+
path: "/${name}",
|
|
15
18
|
method: "GET",
|
|
16
19
|
handler: async () => {
|
|
17
|
-
return { message: "${
|
|
20
|
+
return { message: "${name}" };
|
|
18
21
|
},
|
|
19
22
|
};
|
|
20
23
|
`,
|
|
21
24
|
};
|
|
25
|
+
if (options.dryRun) {
|
|
26
|
+
return Object.keys(files);
|
|
27
|
+
}
|
|
22
28
|
await writeFileTree(cwd, files);
|
|
23
29
|
return Object.keys(files);
|
|
24
30
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
export interface GenerateServiceOptions {
|
|
7
7
|
readonly name: string;
|
|
8
8
|
readonly basePath?: string;
|
|
9
|
+
readonly dryRun?: boolean;
|
|
9
10
|
}
|
|
10
11
|
export declare function generateService(options: GenerateServiceOptions, cwd: string): Promise<string[]>;
|
|
11
12
|
//# sourceMappingURL=service.generator.d.ts.map
|
|
@@ -3,14 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Generates a new service with CQRS structure.
|
|
5
5
|
*/
|
|
6
|
-
import { writeFileTree } from "../../utils/utils.fileSystem.js";
|
|
6
|
+
import { writeFileTree, mergeBarrelExport, } from "../../utils/utils.fileSystem.js";
|
|
7
7
|
import { CLIGenerationError } from "../../errors/index.js";
|
|
8
|
+
import { assertGeneratableName, toPascalCase } from "../../utils/utils.name.js";
|
|
8
9
|
export async function generateService(options, cwd) {
|
|
9
10
|
const basePath = options.basePath ?? "services";
|
|
10
|
-
const name = options.name
|
|
11
|
-
const namePascal = name
|
|
12
|
-
.replace(/-([a-z])/g, (_, c) => c.toUpperCase())
|
|
13
|
-
.replace(/^./, (c) => c.toUpperCase());
|
|
11
|
+
const name = assertGeneratableName(options.name, "service name");
|
|
12
|
+
const namePascal = toPascalCase(name);
|
|
14
13
|
const files = {
|
|
15
14
|
[`${basePath}/${name}/${name}.service.ts`]: `import { createLogger } from "@zudojs/logger";
|
|
16
15
|
|
|
@@ -22,11 +21,15 @@ export class ${namePascal}Service {
|
|
|
22
21
|
}
|
|
23
22
|
}
|
|
24
23
|
`,
|
|
25
|
-
|
|
26
|
-
`,
|
|
27
|
-
|
|
28
|
-
[`${basePath}/${name}/
|
|
24
|
+
// Merge with any existing barrel content instead of overwriting it.
|
|
25
|
+
[`${basePath}/${name}/index.ts`]: mergeBarrelExport(cwd, `${basePath}/${name}/index.ts`, `export { ${namePascal}Service } from "./${name}.service.js";`),
|
|
26
|
+
// Preserve any existing content in the CQRS barrels.
|
|
27
|
+
[`${basePath}/${name}/commands/index.ts`]: mergeBarrelExport(cwd, `${basePath}/${name}/commands/index.ts`, ""),
|
|
28
|
+
[`${basePath}/${name}/queries/index.ts`]: mergeBarrelExport(cwd, `${basePath}/${name}/queries/index.ts`, ""),
|
|
29
29
|
};
|
|
30
|
+
if (options.dryRun) {
|
|
31
|
+
return Object.keys(files);
|
|
32
|
+
}
|
|
30
33
|
try {
|
|
31
34
|
await writeFileTree(cwd, files);
|
|
32
35
|
return Object.keys(files);
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
export interface GenerateValidatorOptions {
|
|
7
7
|
readonly name: string;
|
|
8
8
|
readonly basePath: string;
|
|
9
|
+
readonly dryRun?: boolean;
|
|
9
10
|
}
|
|
10
11
|
export declare function generateValidator(options: GenerateValidatorOptions, cwd: string): Promise<string[]>;
|
|
11
12
|
//# sourceMappingURL=validator.generator.d.ts.map
|
|
@@ -4,17 +4,23 @@
|
|
|
4
4
|
* Generates validator files.
|
|
5
5
|
*/
|
|
6
6
|
import { writeFileTree } from "../../utils/utils.fileSystem.js";
|
|
7
|
+
import { normalizeName, toPascalCase } from "../../utils/utils.name.js";
|
|
7
8
|
export async function generateValidator(options, cwd) {
|
|
9
|
+
const name = normalizeName(options.name);
|
|
10
|
+
const namePascal = toPascalCase(options.name);
|
|
8
11
|
const files = {
|
|
9
|
-
[`${options.basePath}/validators/${
|
|
10
|
-
* ${
|
|
12
|
+
[`${options.basePath}/validators/${name}.validator.ts`]: `/**
|
|
13
|
+
* ${name} validator.
|
|
11
14
|
*/
|
|
12
15
|
|
|
13
|
-
export function validate${
|
|
16
|
+
export function validate${namePascal}(input: unknown): boolean {
|
|
14
17
|
return true;
|
|
15
18
|
}
|
|
16
19
|
`,
|
|
17
20
|
};
|
|
21
|
+
if (options.dryRun) {
|
|
22
|
+
return Object.keys(files);
|
|
23
|
+
}
|
|
18
24
|
await writeFileTree(cwd, files);
|
|
19
25
|
return Object.keys(files);
|
|
20
26
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { runStreaming } from "../utils/utils.exec.js";
|
|
2
2
|
export function getInstallCommand(packageManager) {
|
|
3
3
|
switch (packageManager) {
|
|
4
4
|
case "pnpm":
|
|
@@ -7,6 +7,8 @@ export function getInstallCommand(packageManager) {
|
|
|
7
7
|
return ["npm", "install"];
|
|
8
8
|
case "yarn":
|
|
9
9
|
return ["yarn", "install"];
|
|
10
|
+
case "bun":
|
|
11
|
+
return ["bun", "install"];
|
|
10
12
|
default:
|
|
11
13
|
return ["pnpm", "install"];
|
|
12
14
|
}
|
|
@@ -19,12 +21,14 @@ export function getAddCommand(packageManager, pkg) {
|
|
|
19
21
|
return ["npm", "install", pkg];
|
|
20
22
|
case "yarn":
|
|
21
23
|
return ["yarn", "add", pkg];
|
|
24
|
+
case "bun":
|
|
25
|
+
return ["bun", "add", pkg];
|
|
22
26
|
default:
|
|
23
27
|
return ["pnpm", "add", pkg];
|
|
24
28
|
}
|
|
25
29
|
}
|
|
26
30
|
export async function installDependencies(packageManager, cwd) {
|
|
27
31
|
const [file, ...args] = getInstallCommand(packageManager);
|
|
28
|
-
await
|
|
32
|
+
await runStreaming(file, args, cwd);
|
|
29
33
|
}
|
|
30
34
|
//# sourceMappingURL=dependency.installer.js.map
|
|
@@ -5,7 +5,10 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export interface ZudojsManifest {
|
|
7
7
|
readonly version: string;
|
|
8
|
+
readonly projectType?: string;
|
|
8
9
|
readonly architecture: string;
|
|
10
|
+
/** Service names for microservice projects. */
|
|
11
|
+
readonly services?: readonly string[];
|
|
9
12
|
readonly backend?: {
|
|
10
13
|
readonly architecture: string;
|
|
11
14
|
readonly api: string;
|
|
@@ -6,4 +6,5 @@
|
|
|
6
6
|
export { promptBackendArchitecture } from "./backend-architecture.prompt.js";
|
|
7
7
|
export { promptDatabase } from "./database.prompt.js";
|
|
8
8
|
export { promptApiStyle } from "./api-style.prompt.js";
|
|
9
|
+
export { promptServices } from "./services.prompt.js";
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -6,4 +6,5 @@
|
|
|
6
6
|
export { promptBackendArchitecture } from "./backend-architecture.prompt.js";
|
|
7
7
|
export { promptDatabase } from "./database.prompt.js";
|
|
8
8
|
export { promptApiStyle } from "./api-style.prompt.js";
|
|
9
|
+
export { promptServices } from "./services.prompt.js";
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zudojs-cli — Services Prompt
|
|
3
|
+
*
|
|
4
|
+
* Prompts for microservice service names (comma-separated).
|
|
5
|
+
*/
|
|
6
|
+
import * as p from "@clack/prompts";
|
|
7
|
+
const SERVICE_NAME_PATTERN = /^[a-zA-Z0-9_-]+$/;
|
|
8
|
+
function parseServices(value) {
|
|
9
|
+
return value
|
|
10
|
+
.split(",")
|
|
11
|
+
.map((s) => s.trim())
|
|
12
|
+
.filter(Boolean);
|
|
13
|
+
}
|
|
14
|
+
export async function promptServices(overrides) {
|
|
15
|
+
if (overrides && overrides.length > 0) {
|
|
16
|
+
return [...overrides];
|
|
17
|
+
}
|
|
18
|
+
const value = await p.text({
|
|
19
|
+
message: "Service names (comma-separated)",
|
|
20
|
+
placeholder: "identity,billing,notification",
|
|
21
|
+
validate(input) {
|
|
22
|
+
const services = parseServices(input ?? "");
|
|
23
|
+
if (services.length === 0) {
|
|
24
|
+
return "At least one service name is required.";
|
|
25
|
+
}
|
|
26
|
+
for (const service of services) {
|
|
27
|
+
if (!SERVICE_NAME_PATTERN.test(service)) {
|
|
28
|
+
return `Invalid service name "${service}". Only alphanumeric characters, hyphens, and underscores are allowed.`;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
if (p.isCancel(value)) {
|
|
34
|
+
p.cancel("Operation cancelled.");
|
|
35
|
+
process.exit(0);
|
|
36
|
+
}
|
|
37
|
+
return parseServices(value);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=services.prompt.js.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* zudojs-cli — Prompts Index
|
|
3
3
|
*/
|
|
4
|
-
export { promptCreateProject, type CreateProjectPrompts, type PromptChoice, } from "./prompts.createProject.js";
|
|
5
4
|
export { promptProjectName } from "./project/project-name.prompt.js";
|
|
6
5
|
export { promptProjectType } from "./project/project-type.prompt.js";
|
|
7
6
|
export { promptConfirmation } from "./project/confirmation.prompt.js";
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* zudojs-cli — Prompts Index
|
|
3
3
|
*/
|
|
4
|
-
export { promptCreateProject, } from "./prompts.createProject.js";
|
|
5
4
|
export { promptProjectName } from "./project/project-name.prompt.js";
|
|
6
5
|
export { promptProjectType } from "./project/project-type.prompt.js";
|
|
7
6
|
export { promptConfirmation } from "./project/confirmation.prompt.js";
|
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
export interface ProcessOptions {
|
|
7
7
|
readonly cwd: string;
|
|
8
8
|
readonly env?: Record<string, string>;
|
|
9
|
+
/**
|
|
10
|
+
* Child stdio mode. Only meaningful for {@link ProcessRunner.runBackground};
|
|
11
|
+
* {@link ProcessRunner.run} always buffers output so it can return it.
|
|
12
|
+
*/
|
|
9
13
|
readonly stdio?: "inherit" | "pipe" | "ignore";
|
|
10
14
|
}
|
|
11
15
|
export declare class ProcessRunner {
|
|
@@ -7,12 +7,26 @@ import { execCommand } from "../../utils/utils.exec.js";
|
|
|
7
7
|
export class ProcessRunner {
|
|
8
8
|
async run(command, args, options) {
|
|
9
9
|
try {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
// The buffered output used to be thrown away and every caller got
|
|
11
|
+
// empty strings, making the documented `stdout`/`stderr` fields
|
|
12
|
+
// useless. `options.env` was ignored here too.
|
|
13
|
+
const result = await execCommand(command, Array.from(args), options.cwd, {
|
|
14
|
+
...(options.env ? { env: { ...process.env, ...options.env } } : {}),
|
|
15
|
+
});
|
|
16
|
+
return { stdout: result.stdout, stderr: result.stderr, exitCode: 0 };
|
|
12
17
|
}
|
|
13
18
|
catch (error) {
|
|
14
19
|
const message = error instanceof Error ? error.message : String(error);
|
|
15
|
-
|
|
20
|
+
const stdout = typeof error.stdout === "string"
|
|
21
|
+
? error.stdout
|
|
22
|
+
: "";
|
|
23
|
+
const stderr = typeof error.stderr === "string"
|
|
24
|
+
? error.stderr
|
|
25
|
+
: message;
|
|
26
|
+
const exitCode = typeof error.code === "number"
|
|
27
|
+
? error.code
|
|
28
|
+
: 1;
|
|
29
|
+
return { stdout, stderr, exitCode };
|
|
16
30
|
}
|
|
17
31
|
}
|
|
18
32
|
async runBackground(command, args, options) {
|
|
@@ -7,7 +7,10 @@ import { execCommand } from "../utils/utils.exec.js";
|
|
|
7
7
|
export class FrameworkScaffolder {
|
|
8
8
|
async scaffold(targetPath) {
|
|
9
9
|
try {
|
|
10
|
-
await execCommand(this.command, this.args, targetPath
|
|
10
|
+
await execCommand(this.command, this.args, targetPath, {
|
|
11
|
+
// Suppress interactive prompts from create-* tools.
|
|
12
|
+
env: { ...process.env, CI: "1" },
|
|
13
|
+
});
|
|
11
14
|
return { success: true, path: targetPath };
|
|
12
15
|
}
|
|
13
16
|
catch (error) {
|
|
@@ -19,12 +22,12 @@ export class FrameworkScaffolder {
|
|
|
19
22
|
export class ViteReactScaffolder extends FrameworkScaffolder {
|
|
20
23
|
name = "react-vite";
|
|
21
24
|
command = "npm";
|
|
22
|
-
args = ["create", "vite@latest", ".", "--template", "react-ts"];
|
|
25
|
+
args = ["create", "vite@latest", ".", "--", "--template", "react-ts"];
|
|
23
26
|
}
|
|
24
27
|
export class ViteVueScaffolder extends FrameworkScaffolder {
|
|
25
28
|
name = "vue-vite";
|
|
26
29
|
command = "npm";
|
|
27
|
-
args = ["create", "vite@latest", ".", "--template", "vue-ts"];
|
|
30
|
+
args = ["create", "vite@latest", ".", "--", "--template", "vue-ts"];
|
|
28
31
|
}
|
|
29
32
|
export class NextScaffolder extends FrameworkScaffolder {
|
|
30
33
|
name = "next";
|
|
@@ -61,12 +64,12 @@ export class AngularScaffolder extends FrameworkScaffolder {
|
|
|
61
64
|
export class AstroScaffolder extends FrameworkScaffolder {
|
|
62
65
|
name = "astro";
|
|
63
66
|
command = "npm";
|
|
64
|
-
args = ["create", "astro@latest", ".", "--template", "minimal"];
|
|
67
|
+
args = ["create", "astro@latest", ".", "--", "--template", "minimal"];
|
|
65
68
|
}
|
|
66
69
|
export class SvelteScaffolder extends FrameworkScaffolder {
|
|
67
70
|
name = "svelte";
|
|
68
71
|
command = "npm";
|
|
69
|
-
args = ["create", "
|
|
72
|
+
args = ["create", "vite@latest", ".", "--", "--template", "svelte-ts"];
|
|
70
73
|
}
|
|
71
74
|
export class SvelteKitScaffolder extends FrameworkScaffolder {
|
|
72
75
|
name = "sveltekit";
|
|
@@ -76,7 +79,7 @@ export class SvelteKitScaffolder extends FrameworkScaffolder {
|
|
|
76
79
|
export class VanillaScaffolder extends FrameworkScaffolder {
|
|
77
80
|
name = "vanilla";
|
|
78
81
|
command = "npm";
|
|
79
|
-
args = ["create", "vite@latest", ".", "--template", "vanilla-ts"];
|
|
82
|
+
args = ["create", "vite@latest", ".", "--", "--template", "vanilla-ts"];
|
|
80
83
|
}
|
|
81
84
|
export class FlutterScaffolder extends FrameworkScaffolder {
|
|
82
85
|
name = "flutter";
|
|
@@ -7,10 +7,15 @@ import { execCommand } from "../utils/utils.exec.js";
|
|
|
7
7
|
import { writeFileTree } from "../utils/utils.fileSystem.js";
|
|
8
8
|
export async function scaffoldWithFallback(options) {
|
|
9
9
|
try {
|
|
10
|
-
await execCommand(options.command, Array.from(options.args), options.targetPath
|
|
10
|
+
await execCommand(options.command, Array.from(options.args), options.targetPath, {
|
|
11
|
+
// Suppress interactive prompts from create-* tools.
|
|
12
|
+
env: { ...process.env, CI: "1" },
|
|
13
|
+
});
|
|
11
14
|
return true;
|
|
12
15
|
}
|
|
13
|
-
catch {
|
|
16
|
+
catch (error) {
|
|
17
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
18
|
+
console.warn(`Warning: official scaffolder "${options.command} ${options.args.join(" ")}" failed (${message.split("\n")[0]}). Using built-in fallback template.`);
|
|
14
19
|
await writeFileTree(options.targetPath, options.fallbackFiles);
|
|
15
20
|
return false;
|
|
16
21
|
}
|
|
@@ -25,7 +25,7 @@ async function checkLatestVersion(packageName) {
|
|
|
25
25
|
const timeout = setTimeout(() => controller.abort(), 5000);
|
|
26
26
|
|
|
27
27
|
const response = await fetch(
|
|
28
|
-
`https://registry.npmjs.org
|
|
28
|
+
`https://registry.npmjs.org/${packageName}/latest`,
|
|
29
29
|
{ signal: controller.signal },
|
|
30
30
|
);
|
|
31
31
|
clearTimeout(timeout);
|
|
@@ -41,15 +41,36 @@ async function checkLatestVersion(packageName) {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Whether the update check should be skipped.
|
|
46
|
+
*
|
|
47
|
+
* The check reaches out to registry.npmjs.org on every install. That is
|
|
48
|
+
* unwanted in CI, in Docker builds and on air-gapped machines, and there was
|
|
49
|
+
* previously no way to turn it off.
|
|
50
|
+
*/
|
|
51
|
+
function shouldSkip() {
|
|
52
|
+
if (process.env.ZUDOJS_NO_UPDATE_CHECK) return true;
|
|
53
|
+
if (process.env.CI) return true;
|
|
54
|
+
if (process.env.NODE_ENV === "test") return true;
|
|
55
|
+
if (process.env.npm_config_offline === "true") return true;
|
|
56
|
+
// Only a global install is the one the user upgrades with `npm i -g`.
|
|
57
|
+
if (process.env.npm_config_global !== "true") return true;
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
|
|
44
61
|
async function main() {
|
|
62
|
+
if (shouldSkip()) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
|
|
45
66
|
const installed = getInstalledVersion();
|
|
46
|
-
const latest = await checkLatestVersion("
|
|
67
|
+
const latest = await checkLatestVersion("zudojs-cli");
|
|
47
68
|
|
|
48
69
|
if (latest && latest !== installed) {
|
|
49
70
|
console.log(
|
|
50
71
|
`\n zudojs ${installed} is installed, but version ${latest} is available.`,
|
|
51
72
|
);
|
|
52
|
-
console.log(` Run: npm install -g
|
|
73
|
+
console.log(` Run: npm install -g zudojs-cli@latest\n`);
|
|
53
74
|
}
|
|
54
75
|
}
|
|
55
76
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* zudojs-cli — Microservice Template Index
|
|
3
3
|
*/
|
|
4
|
-
export { generateMicroserviceFiles } from "./microservice.template.js";
|
|
4
|
+
export { generateMicroserviceFiles, resolveMicroserviceServices, DEFAULT_MICROSERVICE_SERVICES, RESERVED_MICROSERVICE_APP_NAMES, } from "./microservice.template.js";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* zudojs-cli — Microservice Template Index
|
|
3
3
|
*/
|
|
4
|
-
export { generateMicroserviceFiles } from "./microservice.template.js";
|
|
4
|
+
export { generateMicroserviceFiles, resolveMicroserviceServices, DEFAULT_MICROSERVICE_SERVICES, RESERVED_MICROSERVICE_APP_NAMES, } from "./microservice.template.js";
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -17,10 +17,25 @@
|
|
|
17
17
|
* ├── infrastructure/
|
|
18
18
|
* ├── package.json
|
|
19
19
|
* ├── pnpm-workspace.yaml
|
|
20
|
+
* ├── zudojs.config.ts
|
|
20
21
|
* ├── docker-compose.yml
|
|
21
22
|
* └── README.md
|
|
22
23
|
* ```
|
|
23
24
|
*/
|
|
24
25
|
import type { ScaffoldOptions } from "../../types/index.js";
|
|
26
|
+
/** Default service names used when none are provided. */
|
|
27
|
+
export declare const DEFAULT_MICROSERVICE_SERVICES: readonly ["identity", "enrollment", "assessment", "notification"];
|
|
28
|
+
/**
|
|
29
|
+
* The gateway app is always generated at `apps/gateway`, so "gateway" is a
|
|
30
|
+
* reserved name: a service called `gateway` would produce a second, competing
|
|
31
|
+
* gateway at `apps/services/gateway`.
|
|
32
|
+
*/
|
|
33
|
+
export declare const RESERVED_MICROSERVICE_APP_NAMES: readonly ["gateway"];
|
|
34
|
+
/**
|
|
35
|
+
* Normalizes a requested service list into the service apps generated under
|
|
36
|
+
* `apps/services/`. Reserved names and duplicates are dropped; an empty list
|
|
37
|
+
* falls back to DEFAULT_MICROSERVICE_SERVICES.
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveMicroserviceServices(requested: readonly string[]): readonly string[];
|
|
25
40
|
export declare function generateMicroserviceFiles(options: ScaffoldOptions): Record<string, string>;
|
|
26
41
|
//# sourceMappingURL=microservice.template.d.ts.map
|