zudojs-cli 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/src/adapters/databases/index.d.ts +4 -0
- package/dist/src/adapters/databases/index.d.ts.map +1 -0
- package/dist/src/adapters/databases/index.js +4 -0
- package/dist/src/adapters/databases/index.js.map +1 -0
- package/dist/src/adapters/databases/mysql.adapter.d.ts +12 -0
- package/dist/src/adapters/databases/mysql.adapter.d.ts.map +1 -0
- package/dist/src/adapters/databases/mysql.adapter.js +19 -0
- package/dist/src/adapters/databases/mysql.adapter.js.map +1 -0
- package/dist/src/adapters/databases/postgres.adapter.d.ts +34 -0
- package/dist/src/adapters/databases/postgres.adapter.d.ts.map +1 -0
- package/dist/src/adapters/databases/postgres.adapter.js +51 -0
- package/dist/src/adapters/databases/postgres.adapter.js.map +1 -0
- package/dist/src/adapters/databases/sqlite.adapter.d.ts +12 -0
- package/dist/src/adapters/databases/sqlite.adapter.d.ts.map +1 -0
- package/dist/src/adapters/databases/sqlite.adapter.js +19 -0
- package/dist/src/adapters/databases/sqlite.adapter.js.map +1 -0
- package/dist/src/adapters/frontend/angular.adapter.d.ts +24 -0
- package/dist/src/adapters/frontend/angular.adapter.d.ts.map +1 -0
- package/dist/src/adapters/frontend/angular.adapter.js +203 -0
- package/dist/src/adapters/frontend/angular.adapter.js.map +1 -0
- package/dist/src/adapters/frontend/astro.adapter.d.ts +24 -0
- package/dist/src/adapters/frontend/astro.adapter.d.ts.map +1 -0
- package/dist/src/adapters/frontend/astro.adapter.js +169 -0
- package/dist/src/adapters/frontend/astro.adapter.js.map +1 -0
- package/dist/src/adapters/frontend/flutter.adapter.d.ts +23 -0
- package/dist/src/adapters/frontend/flutter.adapter.d.ts.map +1 -0
- package/dist/src/adapters/frontend/flutter.adapter.js +131 -0
- package/dist/src/adapters/frontend/flutter.adapter.js.map +1 -0
- package/dist/src/adapters/frontend/frontendAdapter.type.d.ts +86 -0
- package/dist/src/adapters/frontend/frontendAdapter.type.d.ts.map +1 -0
- package/dist/src/adapters/frontend/frontendAdapter.type.js +9 -0
- package/dist/src/adapters/frontend/frontendAdapter.type.js.map +1 -0
- package/dist/src/adapters/frontend/index.d.ts +18 -0
- package/dist/src/adapters/frontend/index.d.ts.map +1 -0
- package/dist/src/adapters/frontend/index.js +17 -0
- package/dist/src/adapters/frontend/index.js.map +1 -0
- package/dist/src/adapters/frontend/next.adapter.d.ts +24 -0
- package/dist/src/adapters/frontend/next.adapter.d.ts.map +1 -0
- package/dist/src/adapters/frontend/next.adapter.js +206 -0
- package/dist/src/adapters/frontend/next.adapter.js.map +1 -0
- package/dist/src/adapters/frontend/nuxt.adapter.d.ts +24 -0
- package/dist/src/adapters/frontend/nuxt.adapter.d.ts.map +1 -0
- package/dist/src/adapters/frontend/nuxt.adapter.js +133 -0
- package/dist/src/adapters/frontend/nuxt.adapter.js.map +1 -0
- package/dist/src/adapters/frontend/react-native.adapter.d.ts +23 -0
- package/dist/src/adapters/frontend/react-native.adapter.d.ts.map +1 -0
- package/dist/src/adapters/frontend/react-native.adapter.js +136 -0
- package/dist/src/adapters/frontend/react-native.adapter.js.map +1 -0
- package/dist/src/adapters/frontend/react.adapter.d.ts +27 -0
- package/dist/src/adapters/frontend/react.adapter.d.ts.map +1 -0
- package/dist/src/adapters/frontend/react.adapter.js +250 -0
- package/dist/src/adapters/frontend/react.adapter.js.map +1 -0
- package/dist/src/adapters/frontend/svelte.adapter.d.ts +27 -0
- package/dist/src/adapters/frontend/svelte.adapter.d.ts.map +1 -0
- package/dist/src/adapters/frontend/svelte.adapter.js +227 -0
- package/dist/src/adapters/frontend/svelte.adapter.js.map +1 -0
- package/dist/src/adapters/frontend/sveltekit.adapter.d.ts +24 -0
- package/dist/src/adapters/frontend/sveltekit.adapter.d.ts.map +1 -0
- package/dist/src/adapters/frontend/sveltekit.adapter.js +163 -0
- package/dist/src/adapters/frontend/sveltekit.adapter.js.map +1 -0
- package/dist/src/adapters/frontend/vanilla.adapter.d.ts +24 -0
- package/dist/src/adapters/frontend/vanilla.adapter.d.ts.map +1 -0
- package/dist/src/adapters/frontend/vanilla.adapter.js +140 -0
- package/dist/src/adapters/frontend/vanilla.adapter.js.map +1 -0
- package/dist/src/adapters/frontend/vue.adapter.d.ts +27 -0
- package/dist/src/adapters/frontend/vue.adapter.d.ts.map +1 -0
- package/dist/src/adapters/frontend/vue.adapter.js +216 -0
- package/dist/src/adapters/frontend/vue.adapter.js.map +1 -0
- package/dist/src/adapters/package-managers/bun.adapter.d.ts +19 -0
- package/dist/src/adapters/package-managers/bun.adapter.d.ts.map +1 -0
- package/dist/src/adapters/package-managers/bun.adapter.js +41 -0
- package/dist/src/adapters/package-managers/bun.adapter.js.map +1 -0
- package/dist/src/adapters/package-managers/index.d.ts +11 -0
- package/dist/src/adapters/package-managers/index.d.ts.map +1 -0
- package/dist/src/adapters/package-managers/index.js +10 -0
- package/dist/src/adapters/package-managers/index.js.map +1 -0
- package/dist/src/adapters/package-managers/npm.adapter.d.ts +19 -0
- package/dist/src/adapters/package-managers/npm.adapter.d.ts.map +1 -0
- package/dist/src/adapters/package-managers/npm.adapter.js +41 -0
- package/dist/src/adapters/package-managers/npm.adapter.js.map +1 -0
- package/dist/src/adapters/package-managers/packageManager.type.d.ts +36 -0
- package/dist/src/adapters/package-managers/packageManager.type.d.ts.map +1 -0
- package/dist/src/adapters/package-managers/packageManager.type.js +7 -0
- package/dist/src/adapters/package-managers/packageManager.type.js.map +1 -0
- package/dist/src/adapters/package-managers/pnpm.adapter.d.ts +19 -0
- package/dist/src/adapters/package-managers/pnpm.adapter.d.ts.map +1 -0
- package/dist/src/adapters/package-managers/pnpm.adapter.js +41 -0
- package/dist/src/adapters/package-managers/pnpm.adapter.js.map +1 -0
- package/dist/src/adapters/package-managers/yarn.adapter.d.ts +19 -0
- package/dist/src/adapters/package-managers/yarn.adapter.d.ts.map +1 -0
- package/dist/src/adapters/package-managers/yarn.adapter.js +41 -0
- package/dist/src/adapters/package-managers/yarn.adapter.js.map +1 -0
- package/dist/src/bin/zudolib.d.ts +8 -0
- package/dist/src/bin/zudolib.d.ts.map +1 -0
- package/dist/src/bin/zudolib.js +233 -0
- package/dist/src/bin/zudolib.js.map +1 -0
- package/dist/src/cliApplication/cliApplication.builtins.d.ts +19 -0
- package/dist/src/cliApplication/cliApplication.builtins.d.ts.map +1 -0
- package/dist/src/cliApplication/cliApplication.builtins.js +39 -0
- package/dist/src/cliApplication/cliApplication.builtins.js.map +1 -0
- package/dist/src/cliApplication/cliApplication.core.d.ts +45 -0
- package/dist/src/cliApplication/cliApplication.core.d.ts.map +1 -0
- package/dist/src/cliApplication/cliApplication.core.js +162 -0
- package/dist/src/cliApplication/cliApplication.core.js.map +1 -0
- package/dist/src/cliApplication/cliApplication.writer.d.ts +11 -0
- package/dist/src/cliApplication/cliApplication.writer.d.ts.map +1 -0
- package/dist/src/cliApplication/cliApplication.writer.js +45 -0
- package/dist/src/cliApplication/cliApplication.writer.js.map +1 -0
- package/dist/src/cliApplication/index.d.ts +9 -0
- package/dist/src/cliApplication/index.d.ts.map +1 -0
- package/dist/src/cliApplication/index.js +9 -0
- package/dist/src/cliApplication/index.js.map +1 -0
- package/dist/src/cliCommand/cliCommand.builder.d.ts +29 -0
- package/dist/src/cliCommand/cliCommand.builder.d.ts.map +1 -0
- package/dist/src/cliCommand/cliCommand.builder.js +69 -0
- package/dist/src/cliCommand/cliCommand.builder.js.map +1 -0
- package/dist/src/cliCommand/cliCommand.factory.d.ts +13 -0
- package/dist/src/cliCommand/cliCommand.factory.d.ts.map +1 -0
- package/dist/src/cliCommand/cliCommand.factory.js +30 -0
- package/dist/src/cliCommand/cliCommand.factory.js.map +1 -0
- package/dist/src/cliCommand/cliCommand.registry.d.ts +34 -0
- package/dist/src/cliCommand/cliCommand.registry.d.ts.map +1 -0
- package/dist/src/cliCommand/cliCommand.registry.js +92 -0
- package/dist/src/cliCommand/cliCommand.registry.js.map +1 -0
- package/dist/src/cliCommand/cliCommand.validator.d.ts +13 -0
- package/dist/src/cliCommand/cliCommand.validator.d.ts.map +1 -0
- package/dist/src/cliCommand/cliCommand.validator.js +60 -0
- package/dist/src/cliCommand/cliCommand.validator.js.map +1 -0
- package/dist/src/cliCommand/index.d.ts +10 -0
- package/dist/src/cliCommand/index.d.ts.map +1 -0
- package/dist/src/cliCommand/index.js +10 -0
- package/dist/src/cliCommand/index.js.map +1 -0
- package/dist/src/cliConstant/cliConstant.value.d.ts +114 -0
- package/dist/src/cliConstant/cliConstant.value.d.ts.map +1 -0
- package/dist/src/cliConstant/cliConstant.value.js +138 -0
- package/dist/src/cliConstant/cliConstant.value.js.map +1 -0
- package/dist/src/cliConstant/index.d.ts +7 -0
- package/dist/src/cliConstant/index.d.ts.map +1 -0
- package/dist/src/cliConstant/index.js +7 -0
- package/dist/src/cliConstant/index.js.map +1 -0
- package/dist/src/cliError/cliError.argument.d.ts +20 -0
- package/dist/src/cliError/cliError.argument.d.ts.map +1 -0
- package/dist/src/cliError/cliError.argument.js +41 -0
- package/dist/src/cliError/cliError.argument.js.map +1 -0
- package/dist/src/cliError/cliError.base.d.ts +62 -0
- package/dist/src/cliError/cliError.base.d.ts.map +1 -0
- package/dist/src/cliError/cliError.base.js +89 -0
- package/dist/src/cliError/cliError.base.js.map +1 -0
- package/dist/src/cliError/cliError.command.d.ts +73 -0
- package/dist/src/cliError/cliError.command.d.ts.map +1 -0
- package/dist/src/cliError/cliError.command.js +83 -0
- package/dist/src/cliError/cliError.command.js.map +1 -0
- package/dist/src/cliError/cliError.execution.d.ts +67 -0
- package/dist/src/cliError/cliError.execution.d.ts.map +1 -0
- package/dist/src/cliError/cliError.execution.js +95 -0
- package/dist/src/cliError/cliError.execution.js.map +1 -0
- package/dist/src/cliError/cliError.option.d.ts +48 -0
- package/dist/src/cliError/cliError.option.d.ts.map +1 -0
- package/dist/src/cliError/cliError.option.js +84 -0
- package/dist/src/cliError/cliError.option.js.map +1 -0
- package/dist/src/cliError/index.d.ts +11 -0
- package/dist/src/cliError/index.d.ts.map +1 -0
- package/dist/src/cliError/index.js +11 -0
- package/dist/src/cliError/index.js.map +1 -0
- package/dist/src/cliParser/cliParser.core.d.ts +26 -0
- package/dist/src/cliParser/cliParser.core.d.ts.map +1 -0
- package/dist/src/cliParser/cliParser.core.js +112 -0
- package/dist/src/cliParser/cliParser.core.js.map +1 -0
- package/dist/src/cliParser/cliParser.helper.d.ts +24 -0
- package/dist/src/cliParser/cliParser.helper.d.ts.map +1 -0
- package/dist/src/cliParser/cliParser.helper.js +84 -0
- package/dist/src/cliParser/cliParser.helper.js.map +1 -0
- package/dist/src/cliParser/cliParser.longOption.d.ts +13 -0
- package/dist/src/cliParser/cliParser.longOption.d.ts.map +1 -0
- package/dist/src/cliParser/cliParser.longOption.js +86 -0
- package/dist/src/cliParser/cliParser.longOption.js.map +1 -0
- package/dist/src/cliParser/cliParser.shortOption.d.ts +9 -0
- package/dist/src/cliParser/cliParser.shortOption.d.ts.map +1 -0
- package/dist/src/cliParser/cliParser.shortOption.js +79 -0
- package/dist/src/cliParser/cliParser.shortOption.js.map +1 -0
- package/dist/src/cliParser/index.d.ts +10 -0
- package/dist/src/cliParser/index.d.ts.map +1 -0
- package/dist/src/cliParser/index.js +10 -0
- package/dist/src/cliParser/index.js.map +1 -0
- package/dist/src/cliType/cliType.type.d.ts +121 -0
- package/dist/src/cliType/cliType.type.d.ts.map +1 -0
- package/dist/src/cliType/cliType.type.js +7 -0
- package/dist/src/cliType/cliType.type.js.map +1 -0
- package/dist/src/cliType/index.d.ts +7 -0
- package/dist/src/cliType/index.d.ts.map +1 -0
- package/dist/src/cliType/index.js +7 -0
- package/dist/src/cliType/index.js.map +1 -0
- package/dist/src/cliVersion/cliVersion.core.d.ts +26 -0
- package/dist/src/cliVersion/cliVersion.core.d.ts.map +1 -0
- package/dist/src/cliVersion/cliVersion.core.js +54 -0
- package/dist/src/cliVersion/cliVersion.core.js.map +1 -0
- package/dist/src/cliVersion/index.d.ts +7 -0
- package/dist/src/cliVersion/index.d.ts.map +1 -0
- package/dist/src/cliVersion/index.js +7 -0
- package/dist/src/cliVersion/index.js.map +1 -0
- package/dist/src/commands/add.command.d.ts +8 -0
- package/dist/src/commands/add.command.d.ts.map +1 -0
- package/dist/src/commands/add.command.js +140 -0
- package/dist/src/commands/add.command.js.map +1 -0
- package/dist/src/commands/build.command.d.ts +8 -0
- package/dist/src/commands/build.command.d.ts.map +1 -0
- package/dist/src/commands/build.command.js +51 -0
- package/dist/src/commands/build.command.js.map +1 -0
- package/dist/src/commands/create.command.d.ts +8 -0
- package/dist/src/commands/create.command.d.ts.map +1 -0
- package/dist/src/commands/create.command.js +429 -0
- package/dist/src/commands/create.command.js.map +1 -0
- package/dist/src/commands/dev.command.d.ts +9 -0
- package/dist/src/commands/dev.command.d.ts.map +1 -0
- package/dist/src/commands/dev.command.js +175 -0
- package/dist/src/commands/dev.command.js.map +1 -0
- package/dist/src/commands/doctor.command.d.ts +8 -0
- package/dist/src/commands/doctor.command.d.ts.map +1 -0
- package/dist/src/commands/doctor.command.js +191 -0
- package/dist/src/commands/doctor.command.js.map +1 -0
- package/dist/src/commands/generate.command.d.ts +9 -0
- package/dist/src/commands/generate.command.d.ts.map +1 -0
- package/dist/src/commands/generate.command.js +151 -0
- package/dist/src/commands/generate.command.js.map +1 -0
- package/dist/src/commands/index.d.ts +12 -0
- package/dist/src/commands/index.d.ts.map +1 -0
- package/dist/src/commands/index.js +12 -0
- package/dist/src/commands/index.js.map +1 -0
- package/dist/src/commands/info.command.d.ts +8 -0
- package/dist/src/commands/info.command.d.ts.map +1 -0
- package/dist/src/commands/info.command.js +44 -0
- package/dist/src/commands/info.command.js.map +1 -0
- package/dist/src/constants/index.d.ts +78 -0
- package/dist/src/constants/index.d.ts.map +1 -0
- package/dist/src/constants/index.js +41 -0
- package/dist/src/constants/index.js.map +1 -0
- package/dist/src/errors/index.d.ts +19 -0
- package/dist/src/errors/index.d.ts.map +1 -0
- package/dist/src/errors/index.js +29 -0
- package/dist/src/errors/index.js.map +1 -0
- package/dist/src/generators/backend/backend.generator.d.ts +11 -0
- package/dist/src/generators/backend/backend.generator.d.ts.map +1 -0
- package/dist/src/generators/backend/backend.generator.js +24 -0
- package/dist/src/generators/backend/backend.generator.js.map +1 -0
- package/dist/src/generators/backend/index.d.ts +7 -0
- package/dist/src/generators/backend/index.d.ts.map +1 -0
- package/dist/src/generators/backend/index.js +7 -0
- package/dist/src/generators/backend/index.js.map +1 -0
- package/dist/src/generators/command/command.generator.d.ts +12 -0
- package/dist/src/generators/command/command.generator.d.ts.map +1 -0
- package/dist/src/generators/command/command.generator.js +59 -0
- package/dist/src/generators/command/command.generator.js.map +1 -0
- package/dist/src/generators/controller/controller.generator.d.ts +10 -0
- package/dist/src/generators/controller/controller.generator.d.ts.map +1 -0
- package/dist/src/generators/controller/controller.generator.js +44 -0
- package/dist/src/generators/controller/controller.generator.js.map +1 -0
- package/dist/src/generators/dto/dto.generator.d.ts +11 -0
- package/dist/src/generators/dto/dto.generator.d.ts.map +1 -0
- package/dist/src/generators/dto/dto.generator.js +21 -0
- package/dist/src/generators/dto/dto.generator.js.map +1 -0
- package/dist/src/generators/dto/index.d.ts +5 -0
- package/dist/src/generators/dto/index.d.ts.map +1 -0
- package/dist/src/generators/dto/index.js +5 -0
- package/dist/src/generators/dto/index.js.map +1 -0
- package/dist/src/generators/event/event.generator.d.ts +11 -0
- package/dist/src/generators/event/event.generator.d.ts.map +1 -0
- package/dist/src/generators/event/event.generator.js +22 -0
- package/dist/src/generators/event/event.generator.js.map +1 -0
- package/dist/src/generators/event/index.d.ts +5 -0
- package/dist/src/generators/event/index.d.ts.map +1 -0
- package/dist/src/generators/event/index.js +5 -0
- package/dist/src/generators/event/index.js.map +1 -0
- package/dist/src/generators/frontend/frontendGenerator.core.d.ts +44 -0
- package/dist/src/generators/frontend/frontendGenerator.core.d.ts.map +1 -0
- package/dist/src/generators/frontend/frontendGenerator.core.js +92 -0
- package/dist/src/generators/frontend/frontendGenerator.core.js.map +1 -0
- package/dist/src/generators/frontend/index.d.ts +7 -0
- package/dist/src/generators/frontend/index.d.ts.map +1 -0
- package/dist/src/generators/frontend/index.js +7 -0
- package/dist/src/generators/frontend/index.js.map +1 -0
- package/dist/src/generators/fullstack/fullstackComposer.core.d.ts +42 -0
- package/dist/src/generators/fullstack/fullstackComposer.core.d.ts.map +1 -0
- package/dist/src/generators/fullstack/fullstackComposer.core.js +181 -0
- package/dist/src/generators/fullstack/fullstackComposer.core.js.map +1 -0
- package/dist/src/generators/fullstack/index.d.ts +7 -0
- package/dist/src/generators/fullstack/index.d.ts.map +1 -0
- package/dist/src/generators/fullstack/index.js +7 -0
- package/dist/src/generators/fullstack/index.js.map +1 -0
- package/dist/src/generators/index.d.ts +16 -0
- package/dist/src/generators/index.d.ts.map +1 -0
- package/dist/src/generators/index.js +16 -0
- package/dist/src/generators/index.js.map +1 -0
- package/dist/src/generators/infrastructure/index.d.ts +7 -0
- package/dist/src/generators/infrastructure/index.d.ts.map +1 -0
- package/dist/src/generators/infrastructure/index.js +7 -0
- package/dist/src/generators/infrastructure/index.js.map +1 -0
- package/dist/src/generators/infrastructure/infrastructure.generator.d.ts +21 -0
- package/dist/src/generators/infrastructure/infrastructure.generator.d.ts.map +1 -0
- package/dist/src/generators/infrastructure/infrastructure.generator.js +141 -0
- package/dist/src/generators/infrastructure/infrastructure.generator.js.map +1 -0
- package/dist/src/generators/integration/index.d.ts +7 -0
- package/dist/src/generators/integration/index.d.ts.map +1 -0
- package/dist/src/generators/integration/index.js +7 -0
- package/dist/src/generators/integration/index.js.map +1 -0
- package/dist/src/generators/integration/integrationGenerator.core.d.ts +30 -0
- package/dist/src/generators/integration/integrationGenerator.core.d.ts.map +1 -0
- package/dist/src/generators/integration/integrationGenerator.core.js +173 -0
- package/dist/src/generators/integration/integrationGenerator.core.js.map +1 -0
- package/dist/src/generators/job/index.d.ts +5 -0
- package/dist/src/generators/job/index.d.ts.map +1 -0
- package/dist/src/generators/job/index.js +5 -0
- package/dist/src/generators/job/index.js.map +1 -0
- package/dist/src/generators/job/job.generator.d.ts +11 -0
- package/dist/src/generators/job/job.generator.d.ts.map +1 -0
- package/dist/src/generators/job/job.generator.js +21 -0
- package/dist/src/generators/job/job.generator.js.map +1 -0
- package/dist/src/generators/middleware/index.d.ts +5 -0
- package/dist/src/generators/middleware/index.d.ts.map +1 -0
- package/dist/src/generators/middleware/index.js +5 -0
- package/dist/src/generators/middleware/index.js.map +1 -0
- package/dist/src/generators/middleware/middleware.generator.d.ts +11 -0
- package/dist/src/generators/middleware/middleware.generator.d.ts.map +1 -0
- package/dist/src/generators/middleware/middleware.generator.js +23 -0
- package/dist/src/generators/middleware/middleware.generator.js.map +1 -0
- package/dist/src/generators/model/index.d.ts +5 -0
- package/dist/src/generators/model/index.d.ts.map +1 -0
- package/dist/src/generators/model/index.js +5 -0
- package/dist/src/generators/model/index.js.map +1 -0
- package/dist/src/generators/model/model.generator.d.ts +11 -0
- package/dist/src/generators/model/model.generator.d.ts.map +1 -0
- package/dist/src/generators/model/model.generator.js +23 -0
- package/dist/src/generators/model/model.generator.js.map +1 -0
- package/dist/src/generators/module/module.generator.d.ts +12 -0
- package/dist/src/generators/module/module.generator.d.ts.map +1 -0
- package/dist/src/generators/module/module.generator.js +65 -0
- package/dist/src/generators/module/module.generator.js.map +1 -0
- package/dist/src/generators/project/project.generator.d.ts +8 -0
- package/dist/src/generators/project/project.generator.d.ts.map +1 -0
- package/dist/src/generators/project/project.generator.js +68 -0
- package/dist/src/generators/project/project.generator.js.map +1 -0
- package/dist/src/generators/query/query.generator.d.ts +12 -0
- package/dist/src/generators/query/query.generator.d.ts.map +1 -0
- package/dist/src/generators/query/query.generator.js +59 -0
- package/dist/src/generators/query/query.generator.js.map +1 -0
- package/dist/src/generators/repository/repository.generator.d.ts +9 -0
- package/dist/src/generators/repository/repository.generator.d.ts.map +1 -0
- package/dist/src/generators/repository/repository.generator.js +77 -0
- package/dist/src/generators/repository/repository.generator.js.map +1 -0
- package/dist/src/generators/route/index.d.ts +5 -0
- package/dist/src/generators/route/index.d.ts.map +1 -0
- package/dist/src/generators/route/index.js +5 -0
- package/dist/src/generators/route/index.js.map +1 -0
- package/dist/src/generators/route/route.generator.d.ts +11 -0
- package/dist/src/generators/route/route.generator.d.ts.map +1 -0
- package/dist/src/generators/route/route.generator.js +25 -0
- package/dist/src/generators/route/route.generator.js.map +1 -0
- package/dist/src/generators/service/service.generator.d.ts +11 -0
- package/dist/src/generators/service/service.generator.d.ts.map +1 -0
- package/dist/src/generators/service/service.generator.js +38 -0
- package/dist/src/generators/service/service.generator.js.map +1 -0
- package/dist/src/generators/validator/index.d.ts +5 -0
- package/dist/src/generators/validator/index.d.ts.map +1 -0
- package/dist/src/generators/validator/index.js +5 -0
- package/dist/src/generators/validator/index.js.map +1 -0
- package/dist/src/generators/validator/validator.generator.d.ts +11 -0
- package/dist/src/generators/validator/validator.generator.d.ts.map +1 -0
- package/dist/src/generators/validator/validator.generator.js +21 -0
- package/dist/src/generators/validator/validator.generator.js.map +1 -0
- package/dist/src/index.d.ts +57 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +66 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/installers/dependency.installer.d.ts +5 -0
- package/dist/src/installers/dependency.installer.d.ts.map +1 -0
- package/dist/src/installers/dependency.installer.js +30 -0
- package/dist/src/installers/dependency.installer.js.map +1 -0
- package/dist/src/installers/index.d.ts +7 -0
- package/dist/src/installers/index.d.ts.map +1 -0
- package/dist/src/installers/index.js +7 -0
- package/dist/src/installers/index.js.map +1 -0
- package/dist/src/manifest/index.d.ts +7 -0
- package/dist/src/manifest/index.d.ts.map +1 -0
- package/dist/src/manifest/index.js +7 -0
- package/dist/src/manifest/index.js.map +1 -0
- package/dist/src/manifest/manifestManager.core.d.ts +36 -0
- package/dist/src/manifest/manifestManager.core.d.ts.map +1 -0
- package/dist/src/manifest/manifestManager.core.js +63 -0
- package/dist/src/manifest/manifestManager.core.js.map +1 -0
- package/dist/src/prompts/backend/api-style.prompt.d.ts +8 -0
- package/dist/src/prompts/backend/api-style.prompt.d.ts.map +1 -0
- package/dist/src/prompts/backend/api-style.prompt.js +36 -0
- package/dist/src/prompts/backend/api-style.prompt.js.map +1 -0
- package/dist/src/prompts/backend/backend-architecture.prompt.d.ts +8 -0
- package/dist/src/prompts/backend/backend-architecture.prompt.d.ts.map +1 -0
- package/dist/src/prompts/backend/backend-architecture.prompt.js +35 -0
- package/dist/src/prompts/backend/backend-architecture.prompt.js.map +1 -0
- package/dist/src/prompts/backend/database.prompt.d.ts +8 -0
- package/dist/src/prompts/backend/database.prompt.d.ts.map +1 -0
- package/dist/src/prompts/backend/database.prompt.js +36 -0
- package/dist/src/prompts/backend/database.prompt.js.map +1 -0
- package/dist/src/prompts/backend/index.d.ts +9 -0
- package/dist/src/prompts/backend/index.d.ts.map +1 -0
- package/dist/src/prompts/backend/index.js +9 -0
- package/dist/src/prompts/backend/index.js.map +1 -0
- package/dist/src/prompts/capabilities/capabilities.prompt.d.ts +12 -0
- package/dist/src/prompts/capabilities/capabilities.prompt.d.ts.map +1 -0
- package/dist/src/prompts/capabilities/capabilities.prompt.js +46 -0
- package/dist/src/prompts/capabilities/capabilities.prompt.js.map +1 -0
- package/dist/src/prompts/capabilities/index.d.ts +7 -0
- package/dist/src/prompts/capabilities/index.d.ts.map +1 -0
- package/dist/src/prompts/capabilities/index.js +7 -0
- package/dist/src/prompts/capabilities/index.js.map +1 -0
- package/dist/src/prompts/frontend/framework.prompt.d.ts +8 -0
- package/dist/src/prompts/frontend/framework.prompt.d.ts.map +1 -0
- package/dist/src/prompts/frontend/framework.prompt.js +42 -0
- package/dist/src/prompts/frontend/framework.prompt.js.map +1 -0
- package/dist/src/prompts/frontend/frontend-architecture.prompt.d.ts +8 -0
- package/dist/src/prompts/frontend/frontend-architecture.prompt.d.ts.map +1 -0
- package/dist/src/prompts/frontend/frontend-architecture.prompt.js +41 -0
- package/dist/src/prompts/frontend/frontend-architecture.prompt.js.map +1 -0
- package/dist/src/prompts/frontend/index.d.ts +8 -0
- package/dist/src/prompts/frontend/index.d.ts.map +1 -0
- package/dist/src/prompts/frontend/index.js +8 -0
- package/dist/src/prompts/frontend/index.js.map +1 -0
- package/dist/src/prompts/index.d.ts +15 -0
- package/dist/src/prompts/index.d.ts.map +1 -0
- package/dist/src/prompts/index.js +15 -0
- package/dist/src/prompts/index.js.map +1 -0
- package/dist/src/prompts/project/confirmation.prompt.d.ts +7 -0
- package/dist/src/prompts/project/confirmation.prompt.d.ts.map +1 -0
- package/dist/src/prompts/project/confirmation.prompt.js +18 -0
- package/dist/src/prompts/project/confirmation.prompt.js.map +1 -0
- package/dist/src/prompts/project/index.d.ts +9 -0
- package/dist/src/prompts/project/index.d.ts.map +1 -0
- package/dist/src/prompts/project/index.js +9 -0
- package/dist/src/prompts/project/index.js.map +1 -0
- package/dist/src/prompts/project/project-name.prompt.d.ts +7 -0
- package/dist/src/prompts/project/project-name.prompt.d.ts.map +1 -0
- package/dist/src/prompts/project/project-name.prompt.js +27 -0
- package/dist/src/prompts/project/project-name.prompt.js.map +1 -0
- package/dist/src/prompts/project/project-type.prompt.d.ts +8 -0
- package/dist/src/prompts/project/project-type.prompt.d.ts.map +1 -0
- package/dist/src/prompts/project/project-type.prompt.js +35 -0
- package/dist/src/prompts/project/project-type.prompt.js.map +1 -0
- package/dist/src/prompts/prompts.createProject.d.ts +33 -0
- package/dist/src/prompts/prompts.createProject.d.ts.map +1 -0
- package/dist/src/prompts/prompts.createProject.js +143 -0
- package/dist/src/prompts/prompts.createProject.js.map +1 -0
- package/dist/src/prompts/workspace/index.d.ts +7 -0
- package/dist/src/prompts/workspace/index.d.ts.map +1 -0
- package/dist/src/prompts/workspace/index.js +7 -0
- package/dist/src/prompts/workspace/index.js.map +1 -0
- package/dist/src/prompts/workspace/package-manager.prompt.d.ts +8 -0
- package/dist/src/prompts/workspace/package-manager.prompt.d.ts.map +1 -0
- package/dist/src/prompts/workspace/package-manager.prompt.js +25 -0
- package/dist/src/prompts/workspace/package-manager.prompt.js.map +1 -0
- package/dist/src/registries/adapter/frontendAdapterRegistry.core.d.ts +30 -0
- package/dist/src/registries/adapter/frontendAdapterRegistry.core.d.ts.map +1 -0
- package/dist/src/registries/adapter/frontendAdapterRegistry.core.js +60 -0
- package/dist/src/registries/adapter/frontendAdapterRegistry.core.js.map +1 -0
- package/dist/src/registries/adapter/packageManagerRegistry.core.d.ts +30 -0
- package/dist/src/registries/adapter/packageManagerRegistry.core.d.ts.map +1 -0
- package/dist/src/registries/adapter/packageManagerRegistry.core.js +51 -0
- package/dist/src/registries/adapter/packageManagerRegistry.core.js.map +1 -0
- package/dist/src/registries/dependency/dependencyRegistry.core.d.ts +23 -0
- package/dist/src/registries/dependency/dependencyRegistry.core.d.ts.map +1 -0
- package/dist/src/registries/dependency/dependencyRegistry.core.js +35 -0
- package/dist/src/registries/dependency/dependencyRegistry.core.js.map +1 -0
- package/dist/src/registries/dependency/index.d.ts +7 -0
- package/dist/src/registries/dependency/index.d.ts.map +1 -0
- package/dist/src/registries/dependency/index.js +7 -0
- package/dist/src/registries/dependency/index.js.map +1 -0
- package/dist/src/registries/generator/generatorRegistry.core.d.ts +19 -0
- package/dist/src/registries/generator/generatorRegistry.core.d.ts.map +1 -0
- package/dist/src/registries/generator/generatorRegistry.core.js +65 -0
- package/dist/src/registries/generator/generatorRegistry.core.js.map +1 -0
- package/dist/src/registries/generator/index.d.ts +7 -0
- package/dist/src/registries/generator/index.d.ts.map +1 -0
- package/dist/src/registries/generator/index.js +7 -0
- package/dist/src/registries/generator/index.js.map +1 -0
- package/dist/src/registries/index.d.ts +10 -0
- package/dist/src/registries/index.d.ts.map +1 -0
- package/dist/src/registries/index.js +10 -0
- package/dist/src/registries/index.js.map +1 -0
- package/dist/src/resolvers/architecture.resolver.d.ts +2 -0
- package/dist/src/resolvers/architecture.resolver.d.ts.map +1 -0
- package/dist/src/resolvers/architecture.resolver.js +28 -0
- package/dist/src/resolvers/architecture.resolver.js.map +1 -0
- package/dist/src/resolvers/capability/capabilityResolver.core.d.ts +20 -0
- package/dist/src/resolvers/capability/capabilityResolver.core.d.ts.map +1 -0
- package/dist/src/resolvers/capability/capabilityResolver.core.js +62 -0
- package/dist/src/resolvers/capability/capabilityResolver.core.js.map +1 -0
- package/dist/src/resolvers/capability/index.d.ts +7 -0
- package/dist/src/resolvers/capability/index.d.ts.map +1 -0
- package/dist/src/resolvers/capability/index.js +7 -0
- package/dist/src/resolvers/capability/index.js.map +1 -0
- package/dist/src/resolvers/configuration/configurationResolver.core.d.ts +23 -0
- package/dist/src/resolvers/configuration/configurationResolver.core.d.ts.map +1 -0
- package/dist/src/resolvers/configuration/configurationResolver.core.js +55 -0
- package/dist/src/resolvers/configuration/configurationResolver.core.js.map +1 -0
- package/dist/src/resolvers/configuration/index.d.ts +7 -0
- package/dist/src/resolvers/configuration/index.d.ts.map +1 -0
- package/dist/src/resolvers/configuration/index.js +7 -0
- package/dist/src/resolvers/configuration/index.js.map +1 -0
- package/dist/src/resolvers/dependency/dependencyResolver.core.d.ts +43 -0
- package/dist/src/resolvers/dependency/dependencyResolver.core.d.ts.map +1 -0
- package/dist/src/resolvers/dependency/dependencyResolver.core.js +97 -0
- package/dist/src/resolvers/dependency/dependencyResolver.core.js.map +1 -0
- package/dist/src/resolvers/dependency/index.d.ts +7 -0
- package/dist/src/resolvers/dependency/index.d.ts.map +1 -0
- package/dist/src/resolvers/dependency/index.js +7 -0
- package/dist/src/resolvers/dependency/index.js.map +1 -0
- package/dist/src/resolvers/index.d.ts +10 -0
- package/dist/src/resolvers/index.d.ts.map +1 -0
- package/dist/src/resolvers/index.js +10 -0
- package/dist/src/resolvers/index.js.map +1 -0
- package/dist/src/resolvers/project.resolver.d.ts +3 -0
- package/dist/src/resolvers/project.resolver.d.ts.map +1 -0
- package/dist/src/resolvers/project.resolver.js +22 -0
- package/dist/src/resolvers/project.resolver.js.map +1 -0
- package/dist/src/rollback/index.d.ts +7 -0
- package/dist/src/rollback/index.d.ts.map +1 -0
- package/dist/src/rollback/index.js +7 -0
- package/dist/src/rollback/index.js.map +1 -0
- package/dist/src/rollback/rollbackManager.core.d.ts +19 -0
- package/dist/src/rollback/rollbackManager.core.d.ts.map +1 -0
- package/dist/src/rollback/rollbackManager.core.js +48 -0
- package/dist/src/rollback/rollbackManager.core.js.map +1 -0
- package/dist/src/runners/package-manager/index.d.ts +7 -0
- package/dist/src/runners/package-manager/index.d.ts.map +1 -0
- package/dist/src/runners/package-manager/index.js +7 -0
- package/dist/src/runners/package-manager/index.js.map +1 -0
- package/dist/src/runners/package-manager/packageManagerRunner.core.d.ts +18 -0
- package/dist/src/runners/package-manager/packageManagerRunner.core.d.ts.map +1 -0
- package/dist/src/runners/package-manager/packageManagerRunner.core.js +53 -0
- package/dist/src/runners/package-manager/packageManagerRunner.core.js.map +1 -0
- package/dist/src/runners/process/index.d.ts +7 -0
- package/dist/src/runners/process/index.d.ts.map +1 -0
- package/dist/src/runners/process/index.js +7 -0
- package/dist/src/runners/process/index.js.map +1 -0
- package/dist/src/runners/process/processRunner.core.d.ts +21 -0
- package/dist/src/runners/process/processRunner.core.d.ts.map +1 -0
- package/dist/src/runners/process/processRunner.core.js +28 -0
- package/dist/src/runners/process/processRunner.core.js.map +1 -0
- package/dist/src/runners/task/index.d.ts +7 -0
- package/dist/src/runners/task/index.d.ts.map +1 -0
- package/dist/src/runners/task/index.js +7 -0
- package/dist/src/runners/task/index.js.map +1 -0
- package/dist/src/runners/task/taskRunner.core.d.ts +23 -0
- package/dist/src/runners/task/taskRunner.core.d.ts.map +1 -0
- package/dist/src/runners/task/taskRunner.core.js +33 -0
- package/dist/src/runners/task/taskRunner.core.js.map +1 -0
- package/dist/src/scaffolders/framework.scaffolder.d.ts +72 -0
- package/dist/src/scaffolders/framework.scaffolder.d.ts.map +1 -0
- package/dist/src/scaffolders/framework.scaffolder.js +91 -0
- package/dist/src/scaffolders/framework.scaffolder.js.map +1 -0
- package/dist/src/scaffolders/index.d.ts +7 -0
- package/dist/src/scaffolders/index.d.ts.map +1 -0
- package/dist/src/scaffolders/index.js +7 -0
- package/dist/src/scaffolders/index.js.map +1 -0
- package/dist/src/scaffolders/scaffolder.helper.d.ts +13 -0
- package/dist/src/scaffolders/scaffolder.helper.d.ts.map +1 -0
- package/dist/src/scaffolders/scaffolder.helper.js +18 -0
- package/dist/src/scaffolders/scaffolder.helper.js.map +1 -0
- package/dist/src/scripts/postinstall.cjs +56 -0
- package/dist/src/templates/microservice/index.d.ts +5 -0
- package/dist/src/templates/microservice/index.d.ts.map +1 -0
- package/dist/src/templates/microservice/index.js +5 -0
- package/dist/src/templates/microservice/index.js.map +1 -0
- package/dist/src/templates/microservice/microservice.template.d.ts +27 -0
- package/dist/src/templates/microservice/microservice.template.d.ts.map +1 -0
- package/dist/src/templates/microservice/microservice.template.js +375 -0
- package/dist/src/templates/microservice/microservice.template.js.map +1 -0
- package/dist/src/templates/modular-monolith/index.d.ts +5 -0
- package/dist/src/templates/modular-monolith/index.d.ts.map +1 -0
- package/dist/src/templates/modular-monolith/index.js +5 -0
- package/dist/src/templates/modular-monolith/index.js.map +1 -0
- package/dist/src/templates/modular-monolith/modularMonolith.template.d.ts +37 -0
- package/dist/src/templates/modular-monolith/modularMonolith.template.d.ts.map +1 -0
- package/dist/src/templates/modular-monolith/modularMonolith.template.js +249 -0
- package/dist/src/templates/modular-monolith/modularMonolith.template.js.map +1 -0
- package/dist/src/templates/monolith/index.d.ts +5 -0
- package/dist/src/templates/monolith/index.d.ts.map +1 -0
- package/dist/src/templates/monolith/index.js +5 -0
- package/dist/src/templates/monolith/index.js.map +1 -0
- package/dist/src/templates/monolith/monolith.template.d.ts +42 -0
- package/dist/src/templates/monolith/monolith.template.d.ts.map +1 -0
- package/dist/src/templates/monolith/monolith.template.js +298 -0
- package/dist/src/templates/monolith/monolith.template.js.map +1 -0
- package/dist/src/types/index.d.ts +8 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +7 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/projectConfiguration.type.d.ts +55 -0
- package/dist/src/types/projectConfiguration.type.d.ts.map +1 -0
- package/dist/src/types/projectConfiguration.type.js +7 -0
- package/dist/src/types/projectConfiguration.type.js.map +1 -0
- package/dist/src/types/scaffold.type.d.ts +65 -0
- package/dist/src/types/scaffold.type.d.ts.map +1 -0
- package/dist/src/types/scaffold.type.js +32 -0
- package/dist/src/types/scaffold.type.js.map +1 -0
- package/dist/src/utils/index.d.ts +10 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +10 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/utils.detect.d.ts +2 -0
- package/dist/src/utils/utils.detect.d.ts.map +1 -0
- package/dist/src/utils/utils.detect.js +14 -0
- package/dist/src/utils/utils.detect.js.map +1 -0
- package/dist/src/utils/utils.exec.d.ts +6 -0
- package/dist/src/utils/utils.exec.d.ts.map +1 -0
- package/dist/src/utils/utils.exec.js +11 -0
- package/dist/src/utils/utils.exec.js.map +1 -0
- package/dist/src/utils/utils.fileSystem.d.ts +3 -0
- package/dist/src/utils/utils.fileSystem.d.ts.map +1 -0
- package/dist/src/utils/utils.fileSystem.js +21 -0
- package/dist/src/utils/utils.fileSystem.js.map +1 -0
- package/dist/src/utils/utils.name.d.ts +2 -0
- package/dist/src/utils/utils.name.d.ts.map +1 -0
- package/dist/src/utils/utils.name.js +8 -0
- package/dist/src/utils/utils.name.js.map +1 -0
- package/dist/src/validators/compatibility/compatibilityValidator.core.d.ts +20 -0
- package/dist/src/validators/compatibility/compatibilityValidator.core.d.ts.map +1 -0
- package/dist/src/validators/compatibility/compatibilityValidator.core.js +89 -0
- package/dist/src/validators/compatibility/compatibilityValidator.core.js.map +1 -0
- package/dist/src/validators/compatibility/index.d.ts +7 -0
- package/dist/src/validators/compatibility/index.d.ts.map +1 -0
- package/dist/src/validators/compatibility/index.js +7 -0
- package/dist/src/validators/compatibility/index.js.map +1 -0
- package/dist/src/validators/environment/environmentValidator.core.d.ts +35 -0
- package/dist/src/validators/environment/environmentValidator.core.d.ts.map +1 -0
- package/dist/src/validators/environment/environmentValidator.core.js +118 -0
- package/dist/src/validators/environment/environmentValidator.core.js.map +1 -0
- package/dist/src/validators/environment/index.d.ts +8 -0
- package/dist/src/validators/environment/index.d.ts.map +1 -0
- package/dist/src/validators/environment/index.js +7 -0
- package/dist/src/validators/environment/index.js.map +1 -0
- package/dist/src/validators/index.d.ts +9 -0
- package/dist/src/validators/index.d.ts.map +1 -0
- package/dist/src/validators/index.js +9 -0
- package/dist/src/validators/index.js.map +1 -0
- package/dist/src/validators/project/index.d.ts +8 -0
- package/dist/src/validators/project/index.d.ts.map +1 -0
- package/dist/src/validators/project/index.js +7 -0
- package/dist/src/validators/project/index.js.map +1 -0
- package/dist/src/validators/project/projectValidator.core.d.ts +24 -0
- package/dist/src/validators/project/projectValidator.core.d.ts.map +1 -0
- package/dist/src/validators/project/projectValidator.core.js +112 -0
- package/dist/src/validators/project/projectValidator.core.js.map +1 -0
- package/package.json +63 -0
- package/src/scripts/postinstall.cjs +56 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fullstack project composer.
|
|
3
|
+
*
|
|
4
|
+
* Orchestrates frontend, backend, and integration generation.
|
|
5
|
+
*
|
|
6
|
+
* @module generators/fullstack
|
|
7
|
+
*/
|
|
8
|
+
import { FrontendAdapterRegistry } from "../../registries/adapter/frontendAdapterRegistry.core.js";
|
|
9
|
+
import { PackageManagerRegistry } from "../../registries/adapter/packageManagerRegistry.core.js";
|
|
10
|
+
import { DependencyResolver } from "../../resolvers/dependency/dependencyResolver.core.js";
|
|
11
|
+
import { IntegrationGenerator } from "../integration/integrationGenerator.core.js";
|
|
12
|
+
import { writeFileTree } from "../../utils/utils.fileSystem.js";
|
|
13
|
+
import { execCommand } from "../../utils/utils.exec.js";
|
|
14
|
+
/**
|
|
15
|
+
* Composes fullstack projects by orchestrating multiple generators.
|
|
16
|
+
*/
|
|
17
|
+
export class FullstackComposer {
|
|
18
|
+
frontendRegistry;
|
|
19
|
+
packageManagerRegistry;
|
|
20
|
+
dependencyResolver;
|
|
21
|
+
integrationGenerator;
|
|
22
|
+
constructor() {
|
|
23
|
+
this.frontendRegistry = new FrontendAdapterRegistry();
|
|
24
|
+
this.packageManagerRegistry = new PackageManagerRegistry();
|
|
25
|
+
this.dependencyResolver = new DependencyResolver();
|
|
26
|
+
this.integrationGenerator = new IntegrationGenerator();
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Generates a fullstack project.
|
|
30
|
+
*/
|
|
31
|
+
async generate(context) {
|
|
32
|
+
const files = [];
|
|
33
|
+
const errors = [];
|
|
34
|
+
try {
|
|
35
|
+
// 1. Create workspace structure
|
|
36
|
+
await this.createWorkspace(context);
|
|
37
|
+
files.push("package.json", "pnpm-workspace.yaml", "zudojs.config.ts");
|
|
38
|
+
// 2. Generate shared packages
|
|
39
|
+
await this.generateSharedPackages(context);
|
|
40
|
+
files.push("packages/contracts/", "packages/shared-types/");
|
|
41
|
+
// 3. Generate frontend if configured
|
|
42
|
+
if (context.project.frontend) {
|
|
43
|
+
const frontendFiles = await this.generateFrontend(context);
|
|
44
|
+
files.push(...frontendFiles);
|
|
45
|
+
}
|
|
46
|
+
// 4. Generate integration files
|
|
47
|
+
await this.integrationGenerator.generate({
|
|
48
|
+
project: context.project,
|
|
49
|
+
projectPath: context.projectPath,
|
|
50
|
+
backendPort: 3000,
|
|
51
|
+
frontendPort: context.project.frontend?.framework === "next" ? 3000 : 5173,
|
|
52
|
+
});
|
|
53
|
+
files.push(".env.example", "config/cors.ts", ...(context.project.frontend?.framework === "react" ||
|
|
54
|
+
context.project.frontend?.framework === "vue"
|
|
55
|
+
? ["vite.config.ts"]
|
|
56
|
+
: []));
|
|
57
|
+
// 5. Install dependencies
|
|
58
|
+
await this.installDependencies(context);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
errors.push(error instanceof Error ? error.message : String(error));
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
success: errors.length === 0,
|
|
65
|
+
files,
|
|
66
|
+
errors,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
async createWorkspace(context) {
|
|
70
|
+
const rootPackageJson = {
|
|
71
|
+
name: context.project.name,
|
|
72
|
+
private: true,
|
|
73
|
+
scripts: {
|
|
74
|
+
dev: "pnpm --parallel dev",
|
|
75
|
+
build: "pnpm --parallel build",
|
|
76
|
+
test: "pnpm --parallel test",
|
|
77
|
+
lint: "pnpm --parallel lint",
|
|
78
|
+
typecheck: "pnpm --parallel typecheck",
|
|
79
|
+
},
|
|
80
|
+
devDependencies: {
|
|
81
|
+
typescript: "^5.0.0",
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
const workspaceYaml = `packages:
|
|
85
|
+
- "apps/*"
|
|
86
|
+
- "packages/*"
|
|
87
|
+
`;
|
|
88
|
+
const zudojsConfig = `export default {
|
|
89
|
+
version: 1,
|
|
90
|
+
project: {
|
|
91
|
+
name: "${context.project.name}",
|
|
92
|
+
type: "fullstack",
|
|
93
|
+
},
|
|
94
|
+
backend: {
|
|
95
|
+
architecture: "${context.project.backend?.architecture ?? "monolith"}",
|
|
96
|
+
api: "${context.project.backend?.api ?? "rest"}",
|
|
97
|
+
},
|
|
98
|
+
frontend: {
|
|
99
|
+
framework: "${context.project.frontend?.framework ?? "react"}",
|
|
100
|
+
architecture: "${context.project.frontend?.architecture ?? "zudojs-standard"}",
|
|
101
|
+
},
|
|
102
|
+
database: {
|
|
103
|
+
provider: "${context.project.backend?.database ?? "postgresql"}",
|
|
104
|
+
},
|
|
105
|
+
workspace: {
|
|
106
|
+
packageManager: "${context.project.workspace?.packageManager ?? "pnpm"}",
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
`;
|
|
110
|
+
await writeFileTree(context.projectPath, {
|
|
111
|
+
"package.json": JSON.stringify(rootPackageJson, null, 2),
|
|
112
|
+
"pnpm-workspace.yaml": workspaceYaml,
|
|
113
|
+
"zudojs.config.ts": zudojsConfig,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
async generateSharedPackages(context) {
|
|
117
|
+
const contractsIndex = `/**
|
|
118
|
+
* Shared API contracts between frontend and backend.
|
|
119
|
+
*/
|
|
120
|
+
|
|
121
|
+
export interface ApiResponse<T> {
|
|
122
|
+
readonly data: T;
|
|
123
|
+
readonly status: number;
|
|
124
|
+
readonly message?: string;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export interface PaginatedResponse<T> {
|
|
128
|
+
readonly data: readonly T[];
|
|
129
|
+
readonly total: number;
|
|
130
|
+
readonly page: number;
|
|
131
|
+
readonly limit: number;
|
|
132
|
+
}
|
|
133
|
+
`;
|
|
134
|
+
const sharedTypesIndex = `/**
|
|
135
|
+
* Shared types between frontend and backend.
|
|
136
|
+
*/
|
|
137
|
+
|
|
138
|
+
export type ID = string;
|
|
139
|
+
export type Timestamp = string;
|
|
140
|
+
`;
|
|
141
|
+
await writeFileTree(context.projectPath, {
|
|
142
|
+
"packages/contracts/src/index.ts": contractsIndex,
|
|
143
|
+
"packages/shared-types/src/index.ts": sharedTypesIndex,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
async generateFrontend(context) {
|
|
147
|
+
if (!context.project.frontend)
|
|
148
|
+
return [];
|
|
149
|
+
const adapter = this.frontendRegistry.get(context.project.frontend.framework);
|
|
150
|
+
if (!adapter) {
|
|
151
|
+
throw new Error(`Unknown frontend framework: ${context.project.frontend.framework}`);
|
|
152
|
+
}
|
|
153
|
+
const frontendPath = `${context.projectPath}/apps/web`;
|
|
154
|
+
const frontendContext = {
|
|
155
|
+
project: context.project,
|
|
156
|
+
projectPath: frontendPath,
|
|
157
|
+
framework: adapter.framework,
|
|
158
|
+
language: context.project.frontend.language ?? "typescript",
|
|
159
|
+
architecture: context.project.frontend.architecture,
|
|
160
|
+
packageManager: context.project.workspace?.packageManager ?? "pnpm",
|
|
161
|
+
features: {
|
|
162
|
+
testing: true,
|
|
163
|
+
linting: true,
|
|
164
|
+
formatting: true,
|
|
165
|
+
envValidation: true,
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
await adapter.scaffold(frontendContext);
|
|
169
|
+
await adapter.applyZudojsStructure(frontendContext);
|
|
170
|
+
await adapter.generateIntegration(frontendContext);
|
|
171
|
+
return ["apps/web/"];
|
|
172
|
+
}
|
|
173
|
+
async installDependencies(context) {
|
|
174
|
+
const pmName = context.project.workspace?.packageManager ?? "pnpm";
|
|
175
|
+
const packageManager = this.packageManagerRegistry.get(pmName);
|
|
176
|
+
if (packageManager) {
|
|
177
|
+
await packageManager.install(context.projectPath);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=fullstackComposer.core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fullstackComposer.core.js","sourceRoot":"","sources":["../../../../src/generators/fullstack/fullstackComposer.core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generators/fullstack/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generators/fullstack/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zudojs-cli — Generators Index
|
|
3
|
+
*/
|
|
4
|
+
export { generateProject } from "./project/project.generator.js";
|
|
5
|
+
export { BackendGenerator } from "./backend/index.js";
|
|
6
|
+
export { FrontendGenerator } from "./frontend/index.js";
|
|
7
|
+
export { FullstackComposer } from "./fullstack/index.js";
|
|
8
|
+
export { IntegrationGenerator } from "./integration/index.js";
|
|
9
|
+
export { InfrastructureGenerator } from "./infrastructure/index.js";
|
|
10
|
+
export { generateModule } from "./module/module.generator.js";
|
|
11
|
+
export { generateService } from "./service/service.generator.js";
|
|
12
|
+
export { generateCommand } from "./command/command.generator.js";
|
|
13
|
+
export { generateQuery } from "./query/query.generator.js";
|
|
14
|
+
export { generateController } from "./controller/controller.generator.js";
|
|
15
|
+
export { generateRepository } from "./repository/repository.generator.js";
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zudojs-cli — Generators Index
|
|
3
|
+
*/
|
|
4
|
+
export { generateProject } from "./project/project.generator.js";
|
|
5
|
+
export { BackendGenerator } from "./backend/index.js";
|
|
6
|
+
export { FrontendGenerator } from "./frontend/index.js";
|
|
7
|
+
export { FullstackComposer } from "./fullstack/index.js";
|
|
8
|
+
export { IntegrationGenerator } from "./integration/index.js";
|
|
9
|
+
export { InfrastructureGenerator } from "./infrastructure/index.js";
|
|
10
|
+
export { generateModule } from "./module/module.generator.js";
|
|
11
|
+
export { generateService } from "./service/service.generator.js";
|
|
12
|
+
export { generateCommand } from "./command/command.generator.js";
|
|
13
|
+
export { generateQuery } from "./query/query.generator.js";
|
|
14
|
+
export { generateController } from "./controller/controller.generator.js";
|
|
15
|
+
export { generateRepository } from "./repository/repository.generator.js";
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zudojs-cli — Infrastructure Generator
|
|
3
|
+
*
|
|
4
|
+
* Generates Docker, docker-compose, and database infrastructure files.
|
|
5
|
+
*/
|
|
6
|
+
export { InfrastructureGenerator, type InfrastructureOptions, } from "./infrastructure.generator.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generators/infrastructure/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,uBAAuB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generators/infrastructure/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,uBAAuB,GAExB,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zudojs-cli — Infrastructure Generator
|
|
3
|
+
*
|
|
4
|
+
* Generates Docker, docker-compose, and database infrastructure files.
|
|
5
|
+
*/
|
|
6
|
+
export interface InfrastructureOptions {
|
|
7
|
+
readonly projectName: string;
|
|
8
|
+
readonly architecture: string;
|
|
9
|
+
readonly database: string;
|
|
10
|
+
readonly packageManager: string;
|
|
11
|
+
readonly services?: readonly string[];
|
|
12
|
+
}
|
|
13
|
+
export declare class InfrastructureGenerator {
|
|
14
|
+
generate(options: InfrastructureOptions, basePath: string): Promise<void>;
|
|
15
|
+
private getFiles;
|
|
16
|
+
private getAppDockerfile;
|
|
17
|
+
private getServiceDockerfile;
|
|
18
|
+
private getSimpleDockerCompose;
|
|
19
|
+
private getDockerCompose;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=infrastructure.generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infrastructure.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/infrastructure/infrastructure.generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,qBAAa,uBAAuB;IAC5B,QAAQ,CACZ,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAGf;IAED,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,sBAAsB;IAwC9B,OAAO,CAAC,gBAAgB;CA0CzB"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zudojs-cli — Infrastructure Generator
|
|
3
|
+
*
|
|
4
|
+
* Generates Docker, docker-compose, and database infrastructure files.
|
|
5
|
+
*/
|
|
6
|
+
import { writeFileTree } from "../../utils/utils.fileSystem.js";
|
|
7
|
+
export class InfrastructureGenerator {
|
|
8
|
+
async generate(options, basePath) {
|
|
9
|
+
const files = this.getFiles(options);
|
|
10
|
+
await writeFileTree(basePath, files);
|
|
11
|
+
}
|
|
12
|
+
getFiles(options) {
|
|
13
|
+
const files = {};
|
|
14
|
+
if (options.architecture === "microservice") {
|
|
15
|
+
files["docker-compose.yml"] = this.getDockerCompose(options);
|
|
16
|
+
files[".dockerignore"] = "node_modules\ndist\n.git\n.env\n";
|
|
17
|
+
const services = options.services ?? ["gateway"];
|
|
18
|
+
for (const service of services) {
|
|
19
|
+
files[`apps/${service}/Dockerfile`] =
|
|
20
|
+
this.getServiceDockerfile(options);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
files["docker-compose.yml"] = this.getSimpleDockerCompose(options);
|
|
25
|
+
files[".dockerignore"] = "node_modules\ndist\n.git\n.env\n";
|
|
26
|
+
files["Dockerfile"] = this.getAppDockerfile(options);
|
|
27
|
+
}
|
|
28
|
+
files["migrations/.gitkeep"] = "";
|
|
29
|
+
return files;
|
|
30
|
+
}
|
|
31
|
+
getAppDockerfile(options) {
|
|
32
|
+
return `FROM node:24-alpine AS builder
|
|
33
|
+
WORKDIR /app
|
|
34
|
+
COPY package.json pnpm-lock.yaml ./
|
|
35
|
+
RUN ${options.packageManager === "pnpm" ? "pnpm" : options.packageManager === "yarn" ? "yarn" : "npm"} install --frozen-lockfile
|
|
36
|
+
COPY . .
|
|
37
|
+
RUN ${options.packageManager === "pnpm" ? "pnpm" : options.packageManager === "yarn" ? "yarn" : "npm"} run build
|
|
38
|
+
|
|
39
|
+
FROM node:24-alpine
|
|
40
|
+
WORKDIR /app
|
|
41
|
+
COPY --from=builder /app/dist ./dist
|
|
42
|
+
COPY --from=builder /app/node_modules ./node_modules
|
|
43
|
+
COPY --from=builder /app/package.json ./
|
|
44
|
+
EXPOSE 3000
|
|
45
|
+
CMD ["node", "dist/server.js"]
|
|
46
|
+
`;
|
|
47
|
+
}
|
|
48
|
+
getServiceDockerfile(options) {
|
|
49
|
+
return `FROM node:24-alpine AS builder
|
|
50
|
+
WORKDIR /app
|
|
51
|
+
COPY package.json pnpm-lock.yaml ./
|
|
52
|
+
RUN ${options.packageManager === "pnpm" ? "pnpm" : options.packageManager === "yarn" ? "yarn" : "npm"} install --frozen-lockfile
|
|
53
|
+
COPY . .
|
|
54
|
+
RUN ${options.packageManager === "pnpm" ? "pnpm" : options.packageManager === "yarn" ? "yarn" : "npm"} run build
|
|
55
|
+
|
|
56
|
+
FROM node:24-alpine
|
|
57
|
+
WORKDIR /app
|
|
58
|
+
COPY --from=builder /app/dist ./dist
|
|
59
|
+
COPY --from=builder /app/node_modules ./node_modules
|
|
60
|
+
COPY --from=builder /app/package.json ./
|
|
61
|
+
EXPOSE 3000
|
|
62
|
+
CMD ["node", "dist/server.js"]
|
|
63
|
+
`;
|
|
64
|
+
}
|
|
65
|
+
getSimpleDockerCompose(options) {
|
|
66
|
+
const dbImage = options.database === "postgresql"
|
|
67
|
+
? "postgres:16-alpine"
|
|
68
|
+
: options.database === "mysql"
|
|
69
|
+
? "mysql:8"
|
|
70
|
+
: "alpine:latest";
|
|
71
|
+
return `version: "3.8"
|
|
72
|
+
services:
|
|
73
|
+
app:
|
|
74
|
+
build: .
|
|
75
|
+
ports:
|
|
76
|
+
- "3000:3000"
|
|
77
|
+
environment:
|
|
78
|
+
- DATABASE_URL=postgresql://postgres:postgres@db:5432/${options.projectName}
|
|
79
|
+
depends_on:
|
|
80
|
+
- db
|
|
81
|
+
develop:
|
|
82
|
+
watch:
|
|
83
|
+
- path: src/
|
|
84
|
+
action: sync
|
|
85
|
+
target: /app/src
|
|
86
|
+
|
|
87
|
+
db:
|
|
88
|
+
image: ${dbImage}
|
|
89
|
+
ports:
|
|
90
|
+
- "5432:5432"
|
|
91
|
+
environment:
|
|
92
|
+
- POSTGRES_USER=postgres
|
|
93
|
+
- POSTGRES_PASSWORD=postgres
|
|
94
|
+
- POSTGRES_DB=${options.projectName}
|
|
95
|
+
volumes:
|
|
96
|
+
- db-data:/var/lib/postgresql/data
|
|
97
|
+
|
|
98
|
+
volumes:
|
|
99
|
+
db-data:
|
|
100
|
+
`;
|
|
101
|
+
}
|
|
102
|
+
getDockerCompose(options) {
|
|
103
|
+
const services = options.services ?? ["gateway"];
|
|
104
|
+
const dbImage = options.database === "postgresql"
|
|
105
|
+
? "postgres:16-alpine"
|
|
106
|
+
: options.database === "mysql"
|
|
107
|
+
? "mysql:8"
|
|
108
|
+
: "alpine:latest";
|
|
109
|
+
let serviceDefs = "";
|
|
110
|
+
for (const service of services) {
|
|
111
|
+
serviceDefs += `
|
|
112
|
+
${service}:
|
|
113
|
+
build:
|
|
114
|
+
context: apps/${service}
|
|
115
|
+
ports:
|
|
116
|
+
- "3000:3000"
|
|
117
|
+
environment:
|
|
118
|
+
- DATABASE_URL=postgresql://postgres:postgres@db:5432/${options.projectName}
|
|
119
|
+
depends_on:
|
|
120
|
+
- db
|
|
121
|
+
`;
|
|
122
|
+
}
|
|
123
|
+
return `version: "3.8"
|
|
124
|
+
services:${serviceDefs}
|
|
125
|
+
db:
|
|
126
|
+
image: ${dbImage}
|
|
127
|
+
ports:
|
|
128
|
+
- "5432:5432"
|
|
129
|
+
environment:
|
|
130
|
+
- POSTGRES_USER=postgres
|
|
131
|
+
- POSTGRES_PASSWORD=postgres
|
|
132
|
+
- POSTGRES_DB=${options.projectName}
|
|
133
|
+
volumes:
|
|
134
|
+
- db-data:/var/lib/postgresql/data
|
|
135
|
+
|
|
136
|
+
volumes:
|
|
137
|
+
db-data:
|
|
138
|
+
`;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=infrastructure.generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infrastructure.generator.js","sourceRoot":"","sources":["../../../../src/generators/infrastructure/infrastructure.generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generators/integration/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generators/integration/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Integration generator for connecting frontend and backend.
|
|
3
|
+
*
|
|
4
|
+
* @module generators/integration
|
|
5
|
+
*/
|
|
6
|
+
import type { ProjectConfiguration } from "../../types/projectConfiguration.type.js";
|
|
7
|
+
/**
|
|
8
|
+
* Integration generation context.
|
|
9
|
+
*/
|
|
10
|
+
export interface IntegrationContext {
|
|
11
|
+
readonly project: ProjectConfiguration;
|
|
12
|
+
readonly projectPath: string;
|
|
13
|
+
readonly backendPort?: number;
|
|
14
|
+
readonly frontendPort?: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Generates integration files between frontend and backend.
|
|
18
|
+
*/
|
|
19
|
+
export declare class IntegrationGenerator {
|
|
20
|
+
/**
|
|
21
|
+
* Generates all integration files.
|
|
22
|
+
*/
|
|
23
|
+
generate(context: IntegrationContext): Promise<void>;
|
|
24
|
+
private generateEnvFile;
|
|
25
|
+
private generateApiClient;
|
|
26
|
+
private getApiClientPath;
|
|
27
|
+
private generateCorsConfig;
|
|
28
|
+
private generateViteProxy;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=integrationGenerator.core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrationGenerator.core.d.ts","sourceRoot":"","sources":["../../../../src/generators/integration/integrationGenerator.core.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGrF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBzD;IAED,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,iBAAiB;IA2DzB,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,iBAAiB;CAmB1B"}
|