zudojs-cli 0.1.1 → 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 +177 -84
- 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 +68 -62
- 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 -1
- package/dist/src/templates/microservice/microservice.template.js +165 -183
- package/dist/src/templates/modular-monolith/modularMonolith.template.js +54 -106
- package/dist/src/templates/monolith/monolith.template.d.ts +1 -0
- package/dist/src/templates/monolith/monolith.template.js +50 -94
- 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 -143
- 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
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Zudojs Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -51,8 +51,20 @@ zudojs generate module users
|
|
|
51
51
|
|
|
52
52
|
# Add a feature
|
|
53
53
|
zudojs add database
|
|
54
|
+
|
|
55
|
+
# Build the project
|
|
56
|
+
zudojs build
|
|
54
57
|
```
|
|
55
58
|
|
|
59
|
+
`zudojs build` and `zudojs doctor` exit with a non-zero status when they fail,
|
|
60
|
+
so they can be used as CI gates.
|
|
61
|
+
|
|
62
|
+
### Disabling the update check
|
|
63
|
+
|
|
64
|
+
`zudojs-cli` checks npm for a newer version after a global install. Set
|
|
65
|
+
`ZUDOJS_NO_UPDATE_CHECK=1` to turn it off; it is skipped automatically when
|
|
66
|
+
`CI` is set, when npm is offline, and for non-global installs.
|
|
67
|
+
|
|
56
68
|
## Commands
|
|
57
69
|
|
|
58
70
|
| Command | Description |
|
|
@@ -61,12 +73,13 @@ zudojs add database
|
|
|
61
73
|
| `generate` | Generate files (service, module, command, query, controller, repository) |
|
|
62
74
|
| `add` | Add feature packages (database, queue, messaging, etc.) |
|
|
63
75
|
| `dev` | Start development servers |
|
|
76
|
+
| `build` | Build the project with its detected package manager |
|
|
64
77
|
| `doctor` | Run project diagnostics |
|
|
65
78
|
| `info` | Show project information |
|
|
66
79
|
|
|
67
80
|
## Supported Frameworks
|
|
68
81
|
|
|
69
|
-
- **Backend:** Node.js
|
|
82
|
+
- **Backend:** Node.js (Zudojs runtime)
|
|
70
83
|
- **Frontend:** React, Next.js, Vue, Nuxt, Angular, Svelte, SvelteKit, Astro, Vanilla, Flutter, React Native
|
|
71
84
|
- **Architectures:** Monolith, Modular Monolith, Microservice
|
|
72
85
|
|
|
@@ -17,18 +17,4 @@ export declare class PostgresAdapter implements DatabaseAdapter {
|
|
|
17
17
|
getDependencies(): readonly string[];
|
|
18
18
|
getEnvironmentVariables(): Record<string, string>;
|
|
19
19
|
}
|
|
20
|
-
export declare class MySqlAdapter implements DatabaseAdapter {
|
|
21
|
-
readonly name = "mysql";
|
|
22
|
-
readonly driver = "mysql";
|
|
23
|
-
getConnectionString(dbName: string): string;
|
|
24
|
-
getDependencies(): readonly string[];
|
|
25
|
-
getEnvironmentVariables(): Record<string, string>;
|
|
26
|
-
}
|
|
27
|
-
export declare class SqliteAdapter implements DatabaseAdapter {
|
|
28
|
-
readonly name = "sqlite";
|
|
29
|
-
readonly driver = "sqlite";
|
|
30
|
-
getConnectionString(dbName: string): string;
|
|
31
|
-
getDependencies(): readonly string[];
|
|
32
|
-
getEnvironmentVariables(): Record<string, string>;
|
|
33
|
-
}
|
|
34
20
|
//# sourceMappingURL=postgres.adapter.d.ts.map
|
|
@@ -18,34 +18,4 @@ export class PostgresAdapter {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
export class MySqlAdapter {
|
|
22
|
-
name = "mysql";
|
|
23
|
-
driver = "mysql";
|
|
24
|
-
getConnectionString(dbName) {
|
|
25
|
-
return `mysql://localhost:3306/${dbName}`;
|
|
26
|
-
}
|
|
27
|
-
getDependencies() {
|
|
28
|
-
return ["@zudojs/database"];
|
|
29
|
-
}
|
|
30
|
-
getEnvironmentVariables() {
|
|
31
|
-
return {
|
|
32
|
-
DATABASE_URL: "mysql://localhost:3306/mydb",
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
export class SqliteAdapter {
|
|
37
|
-
name = "sqlite";
|
|
38
|
-
driver = "sqlite";
|
|
39
|
-
getConnectionString(dbName) {
|
|
40
|
-
return `sqlite:${dbName}.db`;
|
|
41
|
-
}
|
|
42
|
-
getDependencies() {
|
|
43
|
-
return ["@zudojs/database"];
|
|
44
|
-
}
|
|
45
|
-
getEnvironmentVariables() {
|
|
46
|
-
return {
|
|
47
|
-
DATABASE_URL: "sqlite:mydb.db",
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
21
|
//# sourceMappingURL=postgres.adapter.js.map
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* @module adapters/frontend/angular
|
|
5
5
|
*/
|
|
6
6
|
import { writeFileTree } from "../../utils/utils.fileSystem.js";
|
|
7
|
+
import { normalizeName } from "../../utils/utils.name.js";
|
|
7
8
|
import { scaffoldWithFallback } from "../../scaffolders/scaffolder.helper.js";
|
|
8
9
|
/**
|
|
9
10
|
* Angular adapter with standalone support.
|
|
@@ -19,11 +20,16 @@ export class AngularAdapter {
|
|
|
19
20
|
}
|
|
20
21
|
async scaffold(context) {
|
|
21
22
|
const files = this.getBaseFiles(context);
|
|
23
|
+
// Angular CLI requires a valid project name; "." is not one. Pass the
|
|
24
|
+
// real name and scaffold into the current directory via --directory.
|
|
25
|
+
const projectName = normalizeName(context.project.name) || "zudojs-app";
|
|
22
26
|
await scaffoldWithFallback({
|
|
23
27
|
command: "npx",
|
|
24
28
|
args: [
|
|
25
29
|
"@angular/cli@latest",
|
|
26
30
|
"new",
|
|
31
|
+
projectName,
|
|
32
|
+
"--directory",
|
|
27
33
|
".",
|
|
28
34
|
"--skip-git",
|
|
29
35
|
"--skip-install",
|
|
@@ -25,12 +25,12 @@ export class AstroAdapter {
|
|
|
25
25
|
"create",
|
|
26
26
|
"astro@latest",
|
|
27
27
|
".",
|
|
28
|
+
"--",
|
|
28
29
|
"--template",
|
|
29
30
|
"minimal",
|
|
30
31
|
"--no-install",
|
|
31
32
|
"--no-git",
|
|
32
|
-
"--
|
|
33
|
-
"strict",
|
|
33
|
+
"--yes",
|
|
34
34
|
],
|
|
35
35
|
targetPath: context.projectPath,
|
|
36
36
|
fallbackFiles: files,
|
|
@@ -32,6 +32,7 @@ export class ReactAdapter {
|
|
|
32
32
|
"create",
|
|
33
33
|
"vite@latest",
|
|
34
34
|
".",
|
|
35
|
+
"--",
|
|
35
36
|
"--template",
|
|
36
37
|
context.language === "javascript" ? "react" : "react-ts",
|
|
37
38
|
],
|
|
@@ -76,6 +77,7 @@ export class ReactAdapter {
|
|
|
76
77
|
}
|
|
77
78
|
getBaseFiles(context) {
|
|
78
79
|
const useTypeScript = context.language === "typescript";
|
|
80
|
+
const ext = useTypeScript ? "tsx" : "jsx";
|
|
79
81
|
return {
|
|
80
82
|
"package.json": JSON.stringify({
|
|
81
83
|
name: context.project.name,
|
|
@@ -84,7 +86,8 @@ export class ReactAdapter {
|
|
|
84
86
|
type: "module",
|
|
85
87
|
scripts: {
|
|
86
88
|
dev: "vite",
|
|
87
|
-
build
|
|
89
|
+
// Vite performs the build; tsc only typechecks (noEmit).
|
|
90
|
+
build: useTypeScript ? "tsc --noEmit && vite build" : "vite build",
|
|
88
91
|
preview: "vite preview",
|
|
89
92
|
},
|
|
90
93
|
dependencies: {
|
|
@@ -104,18 +107,24 @@ export default defineConfig({
|
|
|
104
107
|
plugins: [react()],
|
|
105
108
|
});
|
|
106
109
|
`,
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
110
|
+
...(useTypeScript
|
|
111
|
+
? {
|
|
112
|
+
"tsconfig.json": JSON.stringify({
|
|
113
|
+
compilerOptions: {
|
|
114
|
+
target: "ES2020",
|
|
115
|
+
useDefineForClassFields: true,
|
|
116
|
+
lib: ["ES2020", "DOM", "DOM.Iterable"],
|
|
117
|
+
module: "ESNext",
|
|
118
|
+
skipLibCheck: true,
|
|
119
|
+
moduleResolution: "bundler",
|
|
120
|
+
allowImportingTsExtensions: true,
|
|
121
|
+
resolveJsonModule: true,
|
|
122
|
+
jsx: "react-jsx",
|
|
123
|
+
noEmit: true,
|
|
124
|
+
},
|
|
125
|
+
}, null, 2),
|
|
126
|
+
}
|
|
127
|
+
: {}),
|
|
119
128
|
"index.html": `<!DOCTYPE html>
|
|
120
129
|
<html lang="en">
|
|
121
130
|
<head>
|
|
@@ -125,21 +134,21 @@ export default defineConfig({
|
|
|
125
134
|
</head>
|
|
126
135
|
<body>
|
|
127
136
|
<div id="root"></div>
|
|
128
|
-
<script type="module" src="/src/main
|
|
137
|
+
<script type="module" src="/src/main.${ext}"></script>
|
|
129
138
|
</body>
|
|
130
139
|
</html>
|
|
131
140
|
`,
|
|
132
|
-
|
|
141
|
+
[`src/main.${ext}`]: `import { StrictMode } from "react";
|
|
133
142
|
import { createRoot } from "react-dom/client";
|
|
134
143
|
import App from "./App";
|
|
135
144
|
|
|
136
|
-
createRoot(document.getElementById("root")!).render(
|
|
145
|
+
createRoot(document.getElementById("root")${useTypeScript ? "!" : ""}).render(
|
|
137
146
|
<StrictMode>
|
|
138
147
|
<App />
|
|
139
148
|
</StrictMode>,
|
|
140
149
|
);
|
|
141
150
|
`,
|
|
142
|
-
|
|
151
|
+
[`src/App.${ext}`]: `export default function App() {
|
|
143
152
|
return (
|
|
144
153
|
<div>
|
|
145
154
|
<h1>Hello from Zudojs</h1>
|
|
@@ -20,17 +20,16 @@ export class SvelteKitAdapter {
|
|
|
20
20
|
async scaffold(context) {
|
|
21
21
|
const files = this.getBaseFiles(context);
|
|
22
22
|
await scaffoldWithFallback({
|
|
23
|
-
command: "
|
|
23
|
+
command: "npx",
|
|
24
24
|
args: [
|
|
25
|
+
"sv",
|
|
25
26
|
"create",
|
|
26
|
-
"svelte@latest",
|
|
27
27
|
".",
|
|
28
|
-
"--
|
|
29
|
-
"
|
|
30
|
-
"--
|
|
31
|
-
"
|
|
32
|
-
"--no-
|
|
33
|
-
"--no-git",
|
|
28
|
+
"--template",
|
|
29
|
+
"minimal",
|
|
30
|
+
"--types",
|
|
31
|
+
"ts",
|
|
32
|
+
"--no-add-ons",
|
|
34
33
|
"--no-install",
|
|
35
34
|
],
|
|
36
35
|
targetPath: context.projectPath,
|
|
@@ -21,7 +21,7 @@ export class VanillaAdapter {
|
|
|
21
21
|
const files = this.getBaseFiles(context);
|
|
22
22
|
await scaffoldWithFallback({
|
|
23
23
|
command: "npm",
|
|
24
|
-
args: ["create", "vite@latest", ".", "--template", "vanilla-ts"],
|
|
24
|
+
args: ["create", "vite@latest", ".", "--", "--template", "vanilla-ts"],
|
|
25
25
|
targetPath: context.projectPath,
|
|
26
26
|
fallbackFiles: files,
|
|
27
27
|
});
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module adapters/package-managers/bun
|
|
5
5
|
*/
|
|
6
|
-
import { execCommand } from "../../utils/utils.exec.js";
|
|
6
|
+
import { execCommand, runStreaming } from "../../utils/utils.exec.js";
|
|
7
7
|
/**
|
|
8
8
|
* bun adapter implementation.
|
|
9
9
|
*/
|
|
@@ -19,20 +19,20 @@ export class BunAdapter {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
async install(projectPath) {
|
|
22
|
-
await
|
|
22
|
+
await runStreaming("bun", ["install"], projectPath);
|
|
23
23
|
}
|
|
24
24
|
async add(projectPath, packages) {
|
|
25
25
|
if (packages.length === 0)
|
|
26
26
|
return;
|
|
27
|
-
await
|
|
27
|
+
await runStreaming("bun", ["add", ...packages], projectPath);
|
|
28
28
|
}
|
|
29
29
|
async addDev(projectPath, packages) {
|
|
30
30
|
if (packages.length === 0)
|
|
31
31
|
return;
|
|
32
|
-
await
|
|
32
|
+
await runStreaming("bun", ["add", "-d", ...packages], projectPath);
|
|
33
33
|
}
|
|
34
34
|
async run(projectPath, script) {
|
|
35
|
-
await
|
|
35
|
+
await runStreaming("bun", ["run", script], projectPath);
|
|
36
36
|
}
|
|
37
37
|
getInstallCommand() {
|
|
38
38
|
return "bun install";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module adapters/package-managers/npm
|
|
5
5
|
*/
|
|
6
|
-
import { execCommand } from "../../utils/utils.exec.js";
|
|
6
|
+
import { execCommand, runStreaming } from "../../utils/utils.exec.js";
|
|
7
7
|
/**
|
|
8
8
|
* npm adapter implementation.
|
|
9
9
|
*/
|
|
@@ -19,20 +19,20 @@ export class NpmAdapter {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
async install(projectPath) {
|
|
22
|
-
await
|
|
22
|
+
await runStreaming("npm", ["install"], projectPath);
|
|
23
23
|
}
|
|
24
24
|
async add(projectPath, packages) {
|
|
25
25
|
if (packages.length === 0)
|
|
26
26
|
return;
|
|
27
|
-
await
|
|
27
|
+
await runStreaming("npm", ["install", ...packages], projectPath);
|
|
28
28
|
}
|
|
29
29
|
async addDev(projectPath, packages) {
|
|
30
30
|
if (packages.length === 0)
|
|
31
31
|
return;
|
|
32
|
-
await
|
|
32
|
+
await runStreaming("npm", ["install", "-D", ...packages], projectPath);
|
|
33
33
|
}
|
|
34
34
|
async run(projectPath, script) {
|
|
35
|
-
await
|
|
35
|
+
await runStreaming("npm", ["run", script], projectPath);
|
|
36
36
|
}
|
|
37
37
|
getInstallCommand() {
|
|
38
38
|
return "npm install";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module adapters/package-managers/pnpm
|
|
5
5
|
*/
|
|
6
|
-
import { execCommand } from "../../utils/utils.exec.js";
|
|
6
|
+
import { execCommand, runStreaming } from "../../utils/utils.exec.js";
|
|
7
7
|
/**
|
|
8
8
|
* pnpm adapter implementation.
|
|
9
9
|
*/
|
|
@@ -19,20 +19,20 @@ export class PnpmAdapter {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
async install(projectPath) {
|
|
22
|
-
await
|
|
22
|
+
await runStreaming("pnpm", ["install"], projectPath);
|
|
23
23
|
}
|
|
24
24
|
async add(projectPath, packages) {
|
|
25
25
|
if (packages.length === 0)
|
|
26
26
|
return;
|
|
27
|
-
await
|
|
27
|
+
await runStreaming("pnpm", ["add", ...packages], projectPath);
|
|
28
28
|
}
|
|
29
29
|
async addDev(projectPath, packages) {
|
|
30
30
|
if (packages.length === 0)
|
|
31
31
|
return;
|
|
32
|
-
await
|
|
32
|
+
await runStreaming("pnpm", ["add", "-D", ...packages], projectPath);
|
|
33
33
|
}
|
|
34
34
|
async run(projectPath, script) {
|
|
35
|
-
await
|
|
35
|
+
await runStreaming("pnpm", ["run", script], projectPath);
|
|
36
36
|
}
|
|
37
37
|
getInstallCommand() {
|
|
38
38
|
return "pnpm install";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module adapters/package-managers/yarn
|
|
5
5
|
*/
|
|
6
|
-
import { execCommand } from "../../utils/utils.exec.js";
|
|
6
|
+
import { execCommand, runStreaming } from "../../utils/utils.exec.js";
|
|
7
7
|
/**
|
|
8
8
|
* yarn adapter implementation.
|
|
9
9
|
*/
|
|
@@ -19,20 +19,20 @@ export class YarnAdapter {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
async install(projectPath) {
|
|
22
|
-
await
|
|
22
|
+
await runStreaming("yarn", ["install"], projectPath);
|
|
23
23
|
}
|
|
24
24
|
async add(projectPath, packages) {
|
|
25
25
|
if (packages.length === 0)
|
|
26
26
|
return;
|
|
27
|
-
await
|
|
27
|
+
await runStreaming("yarn", ["add", ...packages], projectPath);
|
|
28
28
|
}
|
|
29
29
|
async addDev(projectPath, packages) {
|
|
30
30
|
if (packages.length === 0)
|
|
31
31
|
return;
|
|
32
|
-
await
|
|
32
|
+
await runStreaming("yarn", ["add", "-D", ...packages], projectPath);
|
|
33
33
|
}
|
|
34
34
|
async run(projectPath, script) {
|
|
35
|
-
await
|
|
35
|
+
await runStreaming("yarn", [script], projectPath);
|
|
36
36
|
}
|
|
37
37
|
getInstallCommand() {
|
|
38
38
|
return "yarn install";
|
package/dist/src/bin/zudojs.js
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @module bin/zudojs
|
|
6
6
|
*/
|
|
7
|
+
import { readFileSync } from "node:fs";
|
|
8
|
+
import { dirname, join } from "node:path";
|
|
9
|
+
import { fileURLToPath } from "node:url";
|
|
7
10
|
import { createCLI } from "../cliApplication/index.js";
|
|
8
11
|
import { CLI_DEFAULTS } from "../cliConstant/cliConstant.value.js";
|
|
9
12
|
import { createCommand } from "../cliCommand/index.js";
|
|
@@ -14,9 +17,32 @@ import { runAddCommand } from "../commands/add.command.js";
|
|
|
14
17
|
import { runBuildCommand } from "../commands/build.command.js";
|
|
15
18
|
import { runDoctorCommand } from "../commands/doctor.command.js";
|
|
16
19
|
import { runInfoCommand } from "../commands/info.command.js";
|
|
20
|
+
/**
|
|
21
|
+
* Reads the CLI's real version from its own package.json at runtime so
|
|
22
|
+
* `zudojs --version` can never drift from the published version.
|
|
23
|
+
*/
|
|
24
|
+
function readCliVersion() {
|
|
25
|
+
let dir = dirname(fileURLToPath(import.meta.url));
|
|
26
|
+
for (let depth = 0; depth < 6; depth++) {
|
|
27
|
+
try {
|
|
28
|
+
const pkg = JSON.parse(readFileSync(join(dir, "package.json"), "utf-8"));
|
|
29
|
+
if (pkg.name === "zudojs-cli" && pkg.version) {
|
|
30
|
+
return pkg.version;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// keep walking up
|
|
35
|
+
}
|
|
36
|
+
const parent = dirname(dir);
|
|
37
|
+
if (parent === dir)
|
|
38
|
+
break;
|
|
39
|
+
dir = parent;
|
|
40
|
+
}
|
|
41
|
+
return CLI_DEFAULTS.VERSION;
|
|
42
|
+
}
|
|
17
43
|
const app = createCLI({
|
|
18
44
|
name: "Zudojs",
|
|
19
|
-
version:
|
|
45
|
+
version: readCliVersion(),
|
|
20
46
|
description: "Command-line interface for the Zudojs framework.",
|
|
21
47
|
});
|
|
22
48
|
app.register(createCommand({
|
|
@@ -73,7 +99,7 @@ app.register(createCommand({
|
|
|
73
99
|
},
|
|
74
100
|
{
|
|
75
101
|
name: "frontend-architecture",
|
|
76
|
-
short: "
|
|
102
|
+
short: "F",
|
|
77
103
|
description: "Frontend architecture (zudojs-standard, feature-based, minimal, framework-default)",
|
|
78
104
|
type: "string",
|
|
79
105
|
defaultValue: "zudojs-standard",
|
|
@@ -98,10 +124,13 @@ app.register(createCommand({
|
|
|
98
124
|
defaultValue: false,
|
|
99
125
|
},
|
|
100
126
|
{
|
|
127
|
+
// No default: the flag default used to be "gateway,api", which made a
|
|
128
|
+
// non-interactive `--architecture microservice` generate
|
|
129
|
+
// apps/services/gateway alongside the always-generated apps/gateway.
|
|
130
|
+
// With no default the microservice template picks its own service set.
|
|
101
131
|
name: "services",
|
|
102
132
|
description: "Comma-separated service names (microservice architecture only)",
|
|
103
133
|
type: "string",
|
|
104
|
-
defaultValue: "gateway,api",
|
|
105
134
|
},
|
|
106
135
|
],
|
|
107
136
|
execute: async (context) => {
|
|
@@ -226,8 +255,15 @@ app.register(createCommand({
|
|
|
226
255
|
await runInfoCommand(context);
|
|
227
256
|
},
|
|
228
257
|
}));
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
258
|
+
try {
|
|
259
|
+
const exitCode = await app.run(process.argv.slice(2));
|
|
260
|
+
if (exitCode !== 0) {
|
|
261
|
+
process.exit(exitCode);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
catch (error) {
|
|
265
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
266
|
+
console.error(`Error: ${message}`);
|
|
267
|
+
process.exit(1);
|
|
232
268
|
}
|
|
233
269
|
//# sourceMappingURL=zudojs.js.map
|
|
@@ -4,9 +4,18 @@
|
|
|
4
4
|
* Help and version request detection and output.
|
|
5
5
|
*/
|
|
6
6
|
import type { CLIArguments, CLIWriter } from "../cliType/cliType.type.js";
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Returns whether the args are a help request.
|
|
9
|
+
*
|
|
10
|
+
* Only the first argument is considered so that command-specific flags
|
|
11
|
+
* (e.g. `zudojs create -h ...`) are not swallowed by the global handler.
|
|
12
|
+
*/
|
|
8
13
|
export declare function isHelpRequest(args: CLIArguments): boolean;
|
|
9
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Returns whether the args are a version request.
|
|
16
|
+
*
|
|
17
|
+
* Only the first argument is considered.
|
|
18
|
+
*/
|
|
10
19
|
export declare function isVersionRequest(args: CLIArguments): boolean;
|
|
11
20
|
/** Prints the version string. */
|
|
12
21
|
export declare function printVersion(writer: CLIWriter, version?: string): void;
|
|
@@ -4,13 +4,24 @@
|
|
|
4
4
|
* Help and version request detection and output.
|
|
5
5
|
*/
|
|
6
6
|
import { CLI_COMMANDS, CLI_DEFAULTS, } from "../cliConstant/cliConstant.value.js";
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Returns whether the args are a help request.
|
|
9
|
+
*
|
|
10
|
+
* Only the first argument is considered so that command-specific flags
|
|
11
|
+
* (e.g. `zudojs create -h ...`) are not swallowed by the global handler.
|
|
12
|
+
*/
|
|
8
13
|
export function isHelpRequest(args) {
|
|
9
|
-
|
|
14
|
+
const first = args[0];
|
|
15
|
+
return first === CLI_COMMANDS.HELP || first === "-h" || first === "--help";
|
|
10
16
|
}
|
|
11
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Returns whether the args are a version request.
|
|
19
|
+
*
|
|
20
|
+
* Only the first argument is considered.
|
|
21
|
+
*/
|
|
12
22
|
export function isVersionRequest(args) {
|
|
13
|
-
|
|
23
|
+
const first = args[0];
|
|
24
|
+
return (first === CLI_COMMANDS.VERSION || first === "-v" || first === "--version");
|
|
14
25
|
}
|
|
15
26
|
/** Prints the version string. */
|
|
16
27
|
export function printVersion(writer, version) {
|
|
@@ -100,12 +100,27 @@ export class ZudojsCLI {
|
|
|
100
100
|
}
|
|
101
101
|
catch (error) {
|
|
102
102
|
const normalized = normalizeCLIError(error);
|
|
103
|
-
const command = this.findCommand(args);
|
|
104
|
-
const commandArgs = command
|
|
105
|
-
? this.getCommandArguments(args, command)
|
|
106
|
-
: args;
|
|
107
|
-
const fallbackContext = this.createContext(commandArgs, command);
|
|
108
103
|
if (this.hooks.onError) {
|
|
104
|
+
// Building the fallback context must never rethrow: if the original
|
|
105
|
+
// error came from argument parsing, re-parsing would fail again.
|
|
106
|
+
let fallbackContext;
|
|
107
|
+
try {
|
|
108
|
+
const command = this.findCommand(args);
|
|
109
|
+
const commandArgs = command
|
|
110
|
+
? this.getCommandArguments(args, command)
|
|
111
|
+
: args;
|
|
112
|
+
fallbackContext = this.createContext(commandArgs, command);
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
fallbackContext = {
|
|
116
|
+
args,
|
|
117
|
+
values: {},
|
|
118
|
+
command: undefined,
|
|
119
|
+
cwd: this.cwd,
|
|
120
|
+
env: this.env,
|
|
121
|
+
logger: this.logger,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
109
124
|
await this.hooks.onError(normalized, fallbackContext);
|
|
110
125
|
}
|
|
111
126
|
this.writer.errorLine(normalized.message);
|
|
@@ -8,7 +8,7 @@ export declare const CLI_NAME = "zudojs";
|
|
|
8
8
|
/** Default application configuration. */
|
|
9
9
|
export declare const CLI_DEFAULTS: {
|
|
10
10
|
readonly NAME: "zudojs";
|
|
11
|
-
readonly VERSION:
|
|
11
|
+
readonly VERSION: string;
|
|
12
12
|
readonly DESCRIPTION: "Command-line interface for the Zudojs framework.";
|
|
13
13
|
readonly COMMAND_PREFIX: "zudojs";
|
|
14
14
|
readonly DEFAULT_CWD: string;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Default values, limits, and magic strings used across the CLI package.
|
|
5
5
|
*/
|
|
6
|
+
import { CLI_VERSION } from "./cliVersion.js";
|
|
6
7
|
/* -------------------------------------------------------------------------- */
|
|
7
8
|
/* Application Defaults */
|
|
8
9
|
/* -------------------------------------------------------------------------- */
|
|
@@ -11,7 +12,7 @@ export const CLI_NAME = "zudojs";
|
|
|
11
12
|
/** Default application configuration. */
|
|
12
13
|
export const CLI_DEFAULTS = {
|
|
13
14
|
NAME: "zudojs",
|
|
14
|
-
VERSION:
|
|
15
|
+
VERSION: CLI_VERSION,
|
|
15
16
|
DESCRIPTION: "Command-line interface for the Zudojs framework.",
|
|
16
17
|
COMMAND_PREFIX: "zudojs",
|
|
17
18
|
DEFAULT_CWD: process.cwd(),
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zudojs-cli — Version resolution
|
|
3
|
+
*
|
|
4
|
+
* The CLI's own version, read from its `package.json` at runtime.
|
|
5
|
+
*
|
|
6
|
+
* It used to be a hand-maintained string literal duplicated in two places
|
|
7
|
+
* (`constants/index.ts` and `cliConstant.value.ts`). Both are stamped into the
|
|
8
|
+
* manifest of every generated project, so a release that bumped `package.json`
|
|
9
|
+
* without editing both copies would silently scaffold projects claiming the
|
|
10
|
+
* previous version. Reading the manifest removes the duplication entirely.
|
|
11
|
+
*
|
|
12
|
+
* @module cliConstant/cliVersion
|
|
13
|
+
*/
|
|
14
|
+
/** The CLI's version, matching its `package.json`. */
|
|
15
|
+
export declare const CLI_VERSION: string;
|
|
16
|
+
//# sourceMappingURL=cliVersion.d.ts.map
|