@buenojs/bueno 0.8.5 → 0.8.7
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/.claude/settings.local.json +9 -0
- package/README.md +259 -15
- package/dist/cache/index.d.ts +187 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cli/bin.d.ts +8 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +484 -156
- package/dist/cli/commands/add-frontend.d.ts +7 -0
- package/dist/cli/commands/add-frontend.d.ts.map +1 -0
- package/dist/cli/commands/build.d.ts +7 -0
- package/dist/cli/commands/build.d.ts.map +1 -0
- package/dist/cli/commands/dev.d.ts +7 -0
- package/dist/cli/commands/dev.d.ts.map +1 -0
- package/dist/cli/commands/generate.d.ts +7 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/help.d.ts +7 -0
- package/dist/cli/commands/help.d.ts.map +1 -0
- package/dist/cli/commands/index.d.ts +59 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/migration.d.ts +7 -0
- package/dist/cli/commands/migration.d.ts.map +1 -0
- package/dist/cli/commands/new.d.ts +7 -0
- package/dist/cli/commands/new.d.ts.map +1 -0
- package/dist/cli/commands/start.d.ts +7 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/core/args.d.ts +61 -0
- package/dist/cli/core/args.d.ts.map +1 -0
- package/dist/cli/core/console.d.ts +135 -0
- package/dist/cli/core/console.d.ts.map +1 -0
- package/dist/cli/core/index.d.ts +10 -0
- package/dist/cli/core/index.d.ts.map +1 -0
- package/dist/cli/core/prompt.d.ts +63 -0
- package/dist/cli/core/prompt.d.ts.map +1 -0
- package/dist/cli/core/spinner.d.ts +111 -0
- package/dist/cli/core/spinner.d.ts.map +1 -0
- package/dist/cli/index.d.ts +47 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/templates/database/index.d.ts +24 -0
- package/dist/cli/templates/database/index.d.ts.map +1 -0
- package/dist/cli/templates/database/mysql.d.ts +6 -0
- package/dist/cli/templates/database/mysql.d.ts.map +1 -0
- package/dist/cli/templates/database/none.d.ts +8 -0
- package/dist/cli/templates/database/none.d.ts.map +1 -0
- package/dist/cli/templates/database/postgresql.d.ts +6 -0
- package/dist/cli/templates/database/postgresql.d.ts.map +1 -0
- package/dist/cli/templates/database/sqlite.d.ts +6 -0
- package/dist/cli/templates/database/sqlite.d.ts.map +1 -0
- package/dist/cli/templates/deploy.d.ts +41 -0
- package/dist/cli/templates/deploy.d.ts.map +1 -0
- package/dist/cli/templates/docker.d.ts +30 -0
- package/dist/cli/templates/docker.d.ts.map +1 -0
- package/dist/cli/templates/frontend/index.d.ts +25 -0
- package/dist/cli/templates/frontend/index.d.ts.map +1 -0
- package/dist/cli/templates/frontend/none.d.ts +8 -0
- package/dist/cli/templates/frontend/none.d.ts.map +1 -0
- package/dist/cli/templates/frontend/react.d.ts +6 -0
- package/dist/cli/templates/frontend/react.d.ts.map +1 -0
- package/dist/cli/templates/frontend/solid.d.ts +6 -0
- package/dist/cli/templates/frontend/solid.d.ts.map +1 -0
- package/dist/cli/templates/frontend/svelte.d.ts +6 -0
- package/dist/cli/templates/frontend/svelte.d.ts.map +1 -0
- package/dist/cli/templates/frontend/vue.d.ts +6 -0
- package/dist/cli/templates/frontend/vue.d.ts.map +1 -0
- package/dist/cli/templates/generators/index.d.ts +29 -0
- package/dist/cli/templates/generators/index.d.ts.map +1 -0
- package/dist/cli/templates/generators/types.d.ts +32 -0
- package/dist/cli/templates/generators/types.d.ts.map +1 -0
- package/dist/cli/templates/index.d.ts +12 -0
- package/dist/cli/templates/index.d.ts.map +1 -0
- package/dist/cli/templates/project/api.d.ts +6 -0
- package/dist/cli/templates/project/api.d.ts.map +1 -0
- package/dist/cli/templates/project/default.d.ts +6 -0
- package/dist/cli/templates/project/default.d.ts.map +1 -0
- package/dist/cli/templates/project/fullstack.d.ts +14 -0
- package/dist/cli/templates/project/fullstack.d.ts.map +1 -0
- package/dist/cli/templates/project/index.d.ts +26 -0
- package/dist/cli/templates/project/index.d.ts.map +1 -0
- package/dist/cli/templates/project/minimal.d.ts +6 -0
- package/dist/cli/templates/project/minimal.d.ts.map +1 -0
- package/dist/cli/templates/project/types.d.ts +80 -0
- package/dist/cli/templates/project/types.d.ts.map +1 -0
- package/dist/cli/templates/project/website.d.ts +8 -0
- package/dist/cli/templates/project/website.d.ts.map +1 -0
- package/dist/cli/utils/fs.d.ts +137 -0
- package/dist/cli/utils/fs.d.ts.map +1 -0
- package/dist/cli/utils/index.d.ts +9 -0
- package/dist/cli/utils/index.d.ts.map +1 -0
- package/dist/cli/utils/strings.d.ts +86 -0
- package/dist/cli/utils/strings.d.ts.map +1 -0
- package/dist/cli/utils/version.d.ts +15 -0
- package/dist/cli/utils/version.d.ts.map +1 -0
- package/dist/config/env-validation.d.ts +49 -0
- package/dist/config/env-validation.d.ts.map +1 -0
- package/dist/config/env.d.ts +167 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/index.d.ts +168 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/loader.d.ts +81 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/merge.d.ts +66 -0
- package/dist/config/merge.d.ts.map +1 -0
- package/dist/config/types.d.ts +322 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/validation.d.ts +100 -0
- package/dist/config/validation.d.ts.map +1 -0
- package/dist/container/forward-ref.d.ts +116 -0
- package/dist/container/forward-ref.d.ts.map +1 -0
- package/dist/container/index.d.ts +95 -0
- package/dist/container/index.d.ts.map +1 -0
- package/dist/container/index.js +26 -3
- package/dist/context/index.d.ts +143 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/database/index.d.ts +219 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/migrations/index.d.ts +146 -0
- package/dist/database/migrations/index.d.ts.map +1 -0
- package/dist/database/orm/builder.d.ts +122 -0
- package/dist/database/orm/builder.d.ts.map +1 -0
- package/dist/database/orm/casts/index.d.ts +16 -0
- package/dist/database/orm/casts/index.d.ts.map +1 -0
- package/dist/database/orm/casts/types.d.ts +16 -0
- package/dist/database/orm/casts/types.d.ts.map +1 -0
- package/dist/database/orm/compiler.d.ts +90 -0
- package/dist/database/orm/compiler.d.ts.map +1 -0
- package/dist/database/orm/hooks/index.d.ts +53 -0
- package/dist/database/orm/hooks/index.d.ts.map +1 -0
- package/dist/database/orm/index.d.ts +21 -0
- package/dist/database/orm/index.d.ts.map +1 -0
- package/dist/database/orm/model-registry.d.ts +33 -0
- package/dist/database/orm/model-registry.d.ts.map +1 -0
- package/dist/database/orm/model.d.ts +245 -0
- package/dist/database/orm/model.d.ts.map +1 -0
- package/dist/database/orm/relationships/base.d.ts +69 -0
- package/dist/database/orm/relationships/base.d.ts.map +1 -0
- package/dist/database/orm/relationships/belongs-to-many.d.ts +47 -0
- package/dist/database/orm/relationships/belongs-to-many.d.ts.map +1 -0
- package/dist/database/orm/relationships/belongs-to.d.ts +17 -0
- package/dist/database/orm/relationships/belongs-to.d.ts.map +1 -0
- package/dist/database/orm/relationships/has-many.d.ts +14 -0
- package/dist/database/orm/relationships/has-many.d.ts.map +1 -0
- package/dist/database/orm/relationships/has-one.d.ts +14 -0
- package/dist/database/orm/relationships/has-one.d.ts.map +1 -0
- package/dist/database/orm/relationships/index.d.ts +10 -0
- package/dist/database/orm/relationships/index.d.ts.map +1 -0
- package/dist/database/orm/scopes/index.d.ts +36 -0
- package/dist/database/orm/scopes/index.d.ts.map +1 -0
- package/dist/database/schema/index.d.ts +155 -0
- package/dist/database/schema/index.d.ts.map +1 -0
- package/dist/events/__tests__/event-system.test.d.ts +2 -0
- package/dist/events/__tests__/event-system.test.d.ts.map +1 -0
- package/dist/events/config.d.ts +16 -0
- package/dist/events/config.d.ts.map +1 -0
- package/dist/events/example-usage.d.ts +12 -0
- package/dist/events/example-usage.d.ts.map +1 -0
- package/dist/events/index.d.ts +27 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/manager.d.ts +33 -0
- package/dist/events/manager.d.ts.map +1 -0
- package/dist/events/registry.d.ts +31 -0
- package/dist/events/registry.d.ts.map +1 -0
- package/dist/events/types.d.ts +105 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/frontend/api-routes.d.ts +189 -0
- package/dist/frontend/api-routes.d.ts.map +1 -0
- package/dist/frontend/bundler.d.ts +99 -0
- package/dist/frontend/bundler.d.ts.map +1 -0
- package/dist/frontend/console-client.d.ts +11 -0
- package/dist/frontend/console-client.d.ts.map +1 -0
- package/dist/frontend/console-stream.d.ts +138 -0
- package/dist/frontend/console-stream.d.ts.map +1 -0
- package/dist/frontend/dev-server.d.ts +174 -0
- package/dist/frontend/dev-server.d.ts.map +1 -0
- package/dist/frontend/file-router.d.ts +170 -0
- package/dist/frontend/file-router.d.ts.map +1 -0
- package/dist/frontend/frameworks/index.d.ts +41 -0
- package/dist/frontend/frameworks/index.d.ts.map +1 -0
- package/dist/frontend/frameworks/react.d.ts +32 -0
- package/dist/frontend/frameworks/react.d.ts.map +1 -0
- package/dist/frontend/frameworks/solid.d.ts +42 -0
- package/dist/frontend/frameworks/solid.d.ts.map +1 -0
- package/dist/frontend/frameworks/svelte.d.ts +57 -0
- package/dist/frontend/frameworks/svelte.d.ts.map +1 -0
- package/dist/frontend/frameworks/vue.d.ts +36 -0
- package/dist/frontend/frameworks/vue.d.ts.map +1 -0
- package/dist/frontend/hmr-client.d.ts +22 -0
- package/dist/frontend/hmr-client.d.ts.map +1 -0
- package/dist/frontend/hmr.d.ts +185 -0
- package/dist/frontend/hmr.d.ts.map +1 -0
- package/dist/frontend/index.d.ts +34 -0
- package/dist/frontend/index.d.ts.map +1 -0
- package/dist/frontend/islands.d.ts +135 -0
- package/dist/frontend/islands.d.ts.map +1 -0
- package/dist/frontend/isr.d.ts +143 -0
- package/dist/frontend/isr.d.ts.map +1 -0
- package/dist/frontend/layout.d.ts +140 -0
- package/dist/frontend/layout.d.ts.map +1 -0
- package/dist/frontend/ssr/react.d.ts +118 -0
- package/dist/frontend/ssr/react.d.ts.map +1 -0
- package/dist/frontend/ssr/solid.d.ts +141 -0
- package/dist/frontend/ssr/solid.d.ts.map +1 -0
- package/dist/frontend/ssr/svelte.d.ts +158 -0
- package/dist/frontend/ssr/svelte.d.ts.map +1 -0
- package/dist/frontend/ssr/vue.d.ts +161 -0
- package/dist/frontend/ssr/vue.d.ts.map +1 -0
- package/dist/frontend/ssr.d.ts +147 -0
- package/dist/frontend/ssr.d.ts.map +1 -0
- package/dist/frontend/types.d.ts +1902 -0
- package/dist/frontend/types.d.ts.map +1 -0
- package/dist/graphql/built-in-engine.d.ts +36 -0
- package/dist/graphql/built-in-engine.d.ts.map +1 -0
- package/dist/graphql/context-builder.d.ts +44 -0
- package/dist/graphql/context-builder.d.ts.map +1 -0
- package/dist/graphql/decorators.d.ts +162 -0
- package/dist/graphql/decorators.d.ts.map +1 -0
- package/dist/graphql/execution-pipeline.d.ts +67 -0
- package/dist/graphql/execution-pipeline.d.ts.map +1 -0
- package/dist/graphql/graphql-module.d.ts +70 -0
- package/dist/graphql/graphql-module.d.ts.map +1 -0
- package/dist/graphql/index.d.ts +48 -0
- package/dist/graphql/index.d.ts.map +1 -0
- package/dist/graphql/index.js +2156 -0
- package/dist/graphql/metadata.d.ts +37 -0
- package/dist/graphql/metadata.d.ts.map +1 -0
- package/dist/graphql/schema-builder.d.ts +34 -0
- package/dist/graphql/schema-builder.d.ts.map +1 -0
- package/dist/graphql/subscription-handler.d.ts +47 -0
- package/dist/graphql/subscription-handler.d.ts.map +1 -0
- package/dist/graphql/types.d.ts +252 -0
- package/dist/graphql/types.d.ts.map +1 -0
- package/dist/health/index.d.ts +176 -0
- package/dist/health/index.d.ts.map +1 -0
- package/dist/i18n/engine.d.ts +105 -0
- package/dist/i18n/engine.d.ts.map +1 -0
- package/dist/i18n/index.d.ts +13 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/loader.d.ts +79 -0
- package/dist/i18n/loader.d.ts.map +1 -0
- package/dist/i18n/middleware.d.ts +96 -0
- package/dist/i18n/middleware.d.ts.map +1 -0
- package/dist/i18n/negotiator.d.ts +84 -0
- package/dist/i18n/negotiator.d.ts.map +1 -0
- package/dist/i18n/types.d.ts +129 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +520 -434
- package/dist/jobs/drivers/memory.d.ts +38 -0
- package/dist/jobs/drivers/memory.d.ts.map +1 -0
- package/dist/jobs/drivers/redis.d.ts +34 -0
- package/dist/jobs/drivers/redis.d.ts.map +1 -0
- package/dist/jobs/index.d.ts +12 -0
- package/dist/jobs/index.d.ts.map +1 -0
- package/dist/jobs/queue.d.ts +93 -0
- package/dist/jobs/queue.d.ts.map +1 -0
- package/dist/jobs/types.d.ts +193 -0
- package/dist/jobs/types.d.ts.map +1 -0
- package/dist/jobs/worker.d.ts +91 -0
- package/dist/jobs/worker.d.ts.map +1 -0
- package/dist/lock/index.d.ts +141 -0
- package/dist/lock/index.d.ts.map +1 -0
- package/dist/logger/index.d.ts +156 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/transports/index.d.ts +371 -0
- package/dist/logger/transports/index.d.ts.map +1 -0
- package/dist/metrics/index.d.ts +163 -0
- package/dist/metrics/index.d.ts.map +1 -0
- package/dist/middleware/built-in.d.ts +50 -0
- package/dist/middleware/built-in.d.ts.map +1 -0
- package/dist/middleware/index.d.ts +40 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/migrations/index.d.ts +10 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/modules/filters.d.ts +150 -0
- package/dist/modules/filters.d.ts.map +1 -0
- package/dist/modules/guards.d.ts +188 -0
- package/dist/modules/guards.d.ts.map +1 -0
- package/dist/modules/index.d.ts +266 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/modules/index.js +514 -449
- package/dist/modules/interceptors.d.ts +242 -0
- package/dist/modules/interceptors.d.ts.map +1 -0
- package/dist/modules/lazy.d.ts +187 -0
- package/dist/modules/lazy.d.ts.map +1 -0
- package/dist/modules/lifecycle.d.ts +221 -0
- package/dist/modules/lifecycle.d.ts.map +1 -0
- package/dist/modules/metadata.d.ts +32 -0
- package/dist/modules/metadata.d.ts.map +1 -0
- package/dist/modules/pipes.d.ts +287 -0
- package/dist/modules/pipes.d.ts.map +1 -0
- package/dist/notification/channels/base.d.ts +32 -0
- package/dist/notification/channels/base.d.ts.map +1 -0
- package/dist/notification/channels/email.d.ts +37 -0
- package/dist/notification/channels/email.d.ts.map +1 -0
- package/dist/notification/channels/push.d.ts +37 -0
- package/dist/notification/channels/push.d.ts.map +1 -0
- package/dist/notification/channels/sms.d.ts +37 -0
- package/dist/notification/channels/sms.d.ts.map +1 -0
- package/dist/notification/channels/whatsapp.d.ts +37 -0
- package/dist/notification/channels/whatsapp.d.ts.map +1 -0
- package/dist/notification/index.d.ts +15 -0
- package/dist/notification/index.d.ts.map +1 -0
- package/dist/notification/service.d.ts +100 -0
- package/dist/notification/service.d.ts.map +1 -0
- package/dist/notification/types.d.ts +253 -0
- package/dist/notification/types.d.ts.map +1 -0
- package/dist/observability/__tests__/observability.test.d.ts +2 -0
- package/dist/observability/__tests__/observability.test.d.ts.map +1 -0
- package/dist/observability/breadcrumbs.d.ts +48 -0
- package/dist/observability/breadcrumbs.d.ts.map +1 -0
- package/dist/observability/index.d.ts +95 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/interceptor.d.ts +19 -0
- package/dist/observability/interceptor.d.ts.map +1 -0
- package/dist/observability/service.d.ts +101 -0
- package/dist/observability/service.d.ts.map +1 -0
- package/dist/observability/trace.d.ts +21 -0
- package/dist/observability/trace.d.ts.map +1 -0
- package/dist/observability/types.d.ts +172 -0
- package/dist/observability/types.d.ts.map +1 -0
- package/dist/openapi/__tests__/decorators.test.d.ts +2 -0
- package/dist/openapi/__tests__/decorators.test.d.ts.map +1 -0
- package/dist/openapi/__tests__/document-builder.test.d.ts +2 -0
- package/dist/openapi/__tests__/document-builder.test.d.ts.map +1 -0
- package/dist/openapi/__tests__/route-scanner.test.d.ts +2 -0
- package/dist/openapi/__tests__/route-scanner.test.d.ts.map +1 -0
- package/dist/openapi/__tests__/schema-generator.test.d.ts +2 -0
- package/dist/openapi/__tests__/schema-generator.test.d.ts.map +1 -0
- package/dist/openapi/decorators.d.ts +173 -0
- package/dist/openapi/decorators.d.ts.map +1 -0
- package/dist/openapi/document-builder.d.ts +82 -0
- package/dist/openapi/document-builder.d.ts.map +1 -0
- package/dist/openapi/index.d.ts +48 -0
- package/dist/openapi/index.d.ts.map +1 -0
- package/dist/openapi/index.js +59 -40
- package/dist/openapi/metadata.d.ts +36 -0
- package/dist/openapi/metadata.d.ts.map +1 -0
- package/dist/openapi/route-scanner.d.ts +34 -0
- package/dist/openapi/route-scanner.d.ts.map +1 -0
- package/dist/openapi/schema-generator.d.ts +53 -0
- package/dist/openapi/schema-generator.d.ts.map +1 -0
- package/dist/openapi/swagger-module.d.ts +57 -0
- package/dist/openapi/swagger-module.d.ts.map +1 -0
- package/dist/openapi/types.d.ts +344 -0
- package/dist/openapi/types.d.ts.map +1 -0
- package/dist/orm/index.d.ts +10 -0
- package/dist/orm/index.d.ts.map +1 -0
- package/dist/router/index.d.ts +73 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/linear.d.ts +54 -0
- package/dist/router/linear.d.ts.map +1 -0
- package/dist/router/regex.d.ts +49 -0
- package/dist/router/regex.d.ts.map +1 -0
- package/dist/router/tree.d.ts +112 -0
- package/dist/router/tree.d.ts.map +1 -0
- package/dist/rpc/index.d.ts +321 -0
- package/dist/rpc/index.d.ts.map +1 -0
- package/dist/schema/index.d.ts +10 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/security/index.d.ts +126 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/ssg/index.d.ts +73 -0
- package/dist/ssg/index.d.ts.map +1 -0
- package/dist/storage/index.d.ts +99 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/telemetry/index.d.ts +376 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/template/index.d.ts +7 -0
- package/dist/template/index.d.ts.map +1 -0
- package/dist/templates/engine.d.ts +60 -0
- package/dist/templates/engine.d.ts.map +1 -0
- package/dist/templates/index.d.ts +9 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/loader.d.ts +45 -0
- package/dist/templates/loader.d.ts.map +1 -0
- package/dist/templates/renderers/markdown.d.ts +46 -0
- package/dist/templates/renderers/markdown.d.ts.map +1 -0
- package/dist/templates/renderers/simple.d.ts +35 -0
- package/dist/templates/renderers/simple.d.ts.map +1 -0
- package/dist/templates/types.d.ts +138 -0
- package/dist/templates/types.d.ts.map +1 -0
- package/dist/testing/index.d.ts +539 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +116 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/validation/index.d.ts +89 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/schemas.d.ts +243 -0
- package/dist/validation/schemas.d.ts.map +1 -0
- package/dist/websocket/index.d.ts +252 -0
- package/dist/websocket/index.d.ts.map +1 -0
- package/llms.txt +231 -0
- package/package.json +6 -2
- package/src/cli/ARCHITECTURE.md +3 -3
- package/src/cli/commands/add-frontend.ts +444 -0
- package/src/cli/commands/new.ts +23 -0
- package/src/cli/index.ts +1 -0
- package/src/cli/templates/frontend/react.ts +2 -1
- package/src/cli/templates/frontend/solid.ts +2 -1
- package/src/cli/templates/frontend/svelte.ts +2 -1
- package/src/cli/templates/frontend/vue.ts +2 -1
- package/src/cli/templates/project/api.ts +1 -1
- package/src/cli/templates/project/default.ts +1 -1
- package/src/cli/templates/project/fullstack.ts +14 -104
- package/src/cli/templates/project/website.ts +63 -12
- package/src/config/types.ts +21 -0
- package/src/graphql/built-in-engine.ts +598 -0
- package/src/graphql/context-builder.ts +110 -0
- package/src/graphql/decorators.ts +358 -0
- package/src/graphql/execution-pipeline.ts +227 -0
- package/src/graphql/graphql-module.ts +563 -0
- package/src/graphql/index.ts +101 -0
- package/src/graphql/metadata.ts +237 -0
- package/src/graphql/schema-builder.ts +319 -0
- package/src/graphql/subscription-handler.ts +283 -0
- package/src/graphql/types.ts +324 -0
- package/src/index.ts +3 -0
- package/src/modules/index.ts +48 -1
- package/tests/integration/cli.test.ts +19 -19
- package/tests/unit/cli.test.ts +1 -1
- package/tests/unit/graphql.test.ts +991 -0
- package/tsconfig.declaration.json +14 -0
package/llms.txt
ADDED
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
# Bueno Framework - LLM Context File
|
|
2
|
+
|
|
3
|
+
## Project Overview
|
|
4
|
+
Bueno is a **Bun-native full-stack framework** designed from the ground up to leverage Bun's exceptional performance and modern JavaScript capabilities. It provides a complete ecosystem for building web applications with zero dependencies and zero configuration.
|
|
5
|
+
|
|
6
|
+
- **Version**: 0.8.5
|
|
7
|
+
- **Type**: Bun-native full-stack framework
|
|
8
|
+
- **Repository**: https://github.com/buenojs/bueno
|
|
9
|
+
- **NPM Package**: @buenojs/bueno
|
|
10
|
+
|
|
11
|
+
## Key Features
|
|
12
|
+
Bueno includes a comprehensive set of features out of the box:
|
|
13
|
+
|
|
14
|
+
### Core Features
|
|
15
|
+
- **HTTP & Routing**: Powerful and intuitive routing system with full HTTP method support
|
|
16
|
+
- **Dependency Injection**: Built-in IoC container inspired by NestJS
|
|
17
|
+
- **Middleware**: Comprehensive middleware system with built-in utilities and custom support
|
|
18
|
+
- **Modules System**: NestJS-inspired modular architecture with decorators
|
|
19
|
+
- **Database**: Multi-database support with migrations and schema builder
|
|
20
|
+
- **Validation**: Zero-dependency built-in validation system with external library support (Zod, Valibot, ArkType)
|
|
21
|
+
- **Security**: Comprehensive security features including JWT, CSRF, RBAC, and API key authentication
|
|
22
|
+
- **RPC Client**: Type-safe API client generation for frontend-backend communication
|
|
23
|
+
- **Caching & Sessions**: Redis-backed caching and session management
|
|
24
|
+
- **Distributed Locking**: Redis or in-memory lock system for distributed operations
|
|
25
|
+
- **Static Site Generation (SSG)**: Markdown-supported static site generation
|
|
26
|
+
- **Storage**: S3-compatible storage and secrets management
|
|
27
|
+
- **WebSocket**: Real-time communication support
|
|
28
|
+
- **Logging**: Flexible logging with multiple transports
|
|
29
|
+
- **Health Checks**: Built-in health check endpoints
|
|
30
|
+
- **Testing**: Comprehensive testing utilities for unit and integration tests
|
|
31
|
+
- **Background Jobs**: Job queue system with Redis and memory drivers
|
|
32
|
+
- **Notifications**: Multi-channel notification system (email, SMS, WhatsApp, push notifications)
|
|
33
|
+
- **Observability**: Structured error tracking with support for custom reporters (Sentry, Bugsnag, Datadog)
|
|
34
|
+
- **Metrics**: Runtime metrics collection (memory, CPU, event loop lag) with Prometheus format export
|
|
35
|
+
- **i18n**: Internationalization support with translation loading and locale negotiation
|
|
36
|
+
- **OpenAPI**: Automatic OpenAPI documentation generation
|
|
37
|
+
|
|
38
|
+
### Frontend Support
|
|
39
|
+
- **React**: Full support with SSR and hydration
|
|
40
|
+
- **Vue**: Server-side rendering with Vue 3
|
|
41
|
+
- **Svelte**: SvelteKit-like experience
|
|
42
|
+
- **Solid**: SolidJS with SSR
|
|
43
|
+
- **Features**: SSR, SSG, ISR, Islands architecture, file-based routing, HMR
|
|
44
|
+
|
|
45
|
+
## GraphQL Library Status
|
|
46
|
+
The GraphQL library is currently a **work in progress**. All other features are available in version 0.8.5. The GraphQL implementation includes:
|
|
47
|
+
|
|
48
|
+
- Decorator-based schema definition (@Resolver, @Query, @Mutation, @ObjectType, @Field, etc.)
|
|
49
|
+
- Full DI integration (guards, interceptors work on resolvers)
|
|
50
|
+
- Pluggable engine (built-in lightweight engine or graphql-js/Yoga via adapter)
|
|
51
|
+
- Subscriptions via WebSocket (graphql-transport-ws protocol)
|
|
52
|
+
- GraphiQL playground
|
|
53
|
+
- Unified types: one class for both GraphQL and REST/OpenAPI (opt-in)
|
|
54
|
+
|
|
55
|
+
## Architecture Overview
|
|
56
|
+
|
|
57
|
+
### Project Structure
|
|
58
|
+
```
|
|
59
|
+
my-bueno-app/
|
|
60
|
+
├── server/ # Backend application
|
|
61
|
+
│ ├── main.ts # Entry point
|
|
62
|
+
│ ├── modules/ # Feature modules
|
|
63
|
+
│ ├── common/ # Shared utilities
|
|
64
|
+
│ ├── config/ # Configuration
|
|
65
|
+
│ └── database/ # Database files
|
|
66
|
+
├── client/ # Frontend application
|
|
67
|
+
│ ├── pages/ # File-based routes
|
|
68
|
+
│ ├── components/ # UI components
|
|
69
|
+
│ ├── layouts/ # Page layouts
|
|
70
|
+
│ └── main.tsx # Entry point
|
|
71
|
+
├── shared/ # Shared types and utilities
|
|
72
|
+
├── tests/ # Test files
|
|
73
|
+
├── bueno.config.ts # Framework configuration
|
|
74
|
+
└── package.json
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Core Modules
|
|
78
|
+
- `src/index.ts`: Main entry point
|
|
79
|
+
- `src/cli/`: CLI commands and project generation
|
|
80
|
+
- `src/database/`: Database connection, query builder, and schema management
|
|
81
|
+
- `src/modules/`: Modular architecture system
|
|
82
|
+
- `src/frontend/`: Frontend framework support and rendering
|
|
83
|
+
- `src/middleware/`: Middleware system and built-in middleware
|
|
84
|
+
- `src/validation/`: Validation system
|
|
85
|
+
- `src/security/`: Security features
|
|
86
|
+
- `src/rpc/`: RPC client generation
|
|
87
|
+
- `src/cache/`: Caching and session management
|
|
88
|
+
- `src/lock/`: Distributed locking
|
|
89
|
+
- `src/ssg/`: Static site generation
|
|
90
|
+
- `src/storage/`: Storage system
|
|
91
|
+
- `src/websocket/`: WebSocket support
|
|
92
|
+
- `src/logger/`: Logging system
|
|
93
|
+
- `src/health/`: Health check system
|
|
94
|
+
- `src/testing/`: Testing utilities
|
|
95
|
+
- `src/jobs/`: Background job queue system
|
|
96
|
+
- `src/notification/`: Multi-channel notification system
|
|
97
|
+
- `src/observability/`: Error tracking and observability
|
|
98
|
+
- `src/metrics/`: Runtime metrics collection
|
|
99
|
+
- `src/i18n/`: Internationalization support
|
|
100
|
+
- `src/openapi/`: OpenAPI documentation generation
|
|
101
|
+
- `src/graphql/`: GraphQL support (work in progress)
|
|
102
|
+
|
|
103
|
+
## Development Setup
|
|
104
|
+
|
|
105
|
+
### Prerequisites
|
|
106
|
+
- Bun runtime (version 1.3.0 or higher)
|
|
107
|
+
|
|
108
|
+
### Installation
|
|
109
|
+
```bash
|
|
110
|
+
# Clone the repository
|
|
111
|
+
git clone https://github.com/buenojs/bueno.git
|
|
112
|
+
cd bueno
|
|
113
|
+
|
|
114
|
+
# Install dependencies
|
|
115
|
+
bun install
|
|
116
|
+
|
|
117
|
+
# Run tests
|
|
118
|
+
bun test
|
|
119
|
+
|
|
120
|
+
# Start development server
|
|
121
|
+
bun dev
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Build
|
|
125
|
+
```bash
|
|
126
|
+
# Build for production
|
|
127
|
+
bun build
|
|
128
|
+
|
|
129
|
+
# Build only CLI
|
|
130
|
+
bun run build:cli
|
|
131
|
+
|
|
132
|
+
# Type checking
|
|
133
|
+
bun run typecheck
|
|
134
|
+
|
|
135
|
+
# Linting
|
|
136
|
+
bun run lint
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## CLI Commands
|
|
140
|
+
Bueno provides a comprehensive CLI for project management:
|
|
141
|
+
|
|
142
|
+
### Project Creation
|
|
143
|
+
```bash
|
|
144
|
+
bueno new my-app # Create new project
|
|
145
|
+
bueno new my-api --template api # Create API-only project
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Development
|
|
149
|
+
```bash
|
|
150
|
+
bueno dev # Start development server
|
|
151
|
+
bueno build # Build for production
|
|
152
|
+
bueno start # Start production server
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Code Generation
|
|
156
|
+
```bash
|
|
157
|
+
bueno generate controller UserController # Generate HTTP controller
|
|
158
|
+
bueno generate service AuthService # Generate injectable service
|
|
159
|
+
bueno generate module AuthModule # Generate feature module
|
|
160
|
+
bueno generate migration add_users_table # Generate database migration
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Database Management
|
|
164
|
+
```bash
|
|
165
|
+
bueno migration up # Run pending migrations
|
|
166
|
+
bueno migration down # Rollback migrations
|
|
167
|
+
bueno migration status # Show migration status
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Help
|
|
171
|
+
```bash
|
|
172
|
+
bueno help # Display help information
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Testing
|
|
176
|
+
Bueno uses Bun's built-in test runner:
|
|
177
|
+
|
|
178
|
+
```typescript
|
|
179
|
+
import { AppTester, mock, assertions } from '@buenojs/bueno/testing';
|
|
180
|
+
import { describe, it, expect, beforeEach } from 'bun:test';
|
|
181
|
+
|
|
182
|
+
describe('UserController', () => {
|
|
183
|
+
let tester: AppTester;
|
|
184
|
+
|
|
185
|
+
beforeEach(async () => {
|
|
186
|
+
tester = await AppTester.create(AppModule);
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
it('should create user', async () => {
|
|
190
|
+
const response = await tester
|
|
191
|
+
.post('/users')
|
|
192
|
+
.body({ name: 'John', email: 'john@example.com' })
|
|
193
|
+
.execute();
|
|
194
|
+
|
|
195
|
+
expect(response.status).toBe(201);
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Documentation
|
|
201
|
+
- **Main Documentation**: https://bueno.github.io
|
|
202
|
+
- **GitHub Repository**: https://github.com/buenojs/bueno
|
|
203
|
+
- **NPM Package**: https://www.npmjs.com/package/@buenojs/bueno
|
|
204
|
+
|
|
205
|
+
## Contribution Guidelines
|
|
206
|
+
Contributions are welcome! Please follow these guidelines:
|
|
207
|
+
|
|
208
|
+
1. Fork the repository
|
|
209
|
+
2. Create a new branch
|
|
210
|
+
3. Make your changes
|
|
211
|
+
4. Write tests for your changes
|
|
212
|
+
5. Run existing tests to ensure no regression
|
|
213
|
+
6. Submit a pull request
|
|
214
|
+
|
|
215
|
+
## Key Files for LLM Context
|
|
216
|
+
- `package.json`: Project metadata and scripts
|
|
217
|
+
- `README.md`: Comprehensive documentation
|
|
218
|
+
- `architecture.md`: System architecture overview
|
|
219
|
+
- `src/index.ts`: Main framework entry point
|
|
220
|
+
- `src/cli/bin.ts`: CLI entry point
|
|
221
|
+
- `src/database/index.ts`: Database module
|
|
222
|
+
- `src/modules/index.ts`: Modules system
|
|
223
|
+
- `src/frontend/index.ts`: Frontend framework support
|
|
224
|
+
- `src/validation/index.ts`: Validation system
|
|
225
|
+
|
|
226
|
+
## Technologies Used
|
|
227
|
+
- **Runtime**: Bun
|
|
228
|
+
- **Language**: TypeScript
|
|
229
|
+
- **HTTP Server**: Bun's native HTTP server
|
|
230
|
+
- **Testing**: Bun's built-in test runner
|
|
231
|
+
- **Linting**: Biome
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buenojs/bueno",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.7",
|
|
4
4
|
"description": "A Bun-Native Full-Stack Framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -101,6 +101,10 @@
|
|
|
101
101
|
"types": "./dist/observability/index.d.ts",
|
|
102
102
|
"import": "./dist/observability/index.js"
|
|
103
103
|
},
|
|
104
|
+
"./graphql": {
|
|
105
|
+
"types": "./dist/graphql/index.d.ts",
|
|
106
|
+
"import": "./dist/graphql/index.js"
|
|
107
|
+
},
|
|
104
108
|
"./lock": {
|
|
105
109
|
"types": "./dist/lock/index.d.ts",
|
|
106
110
|
"import": "./dist/lock/index.js"
|
|
@@ -144,7 +148,7 @@
|
|
|
144
148
|
"test:watch": "bun test --watch",
|
|
145
149
|
"test:coverage": "bun test --coverage",
|
|
146
150
|
"coverage": "bun test --coverage coverage/lcov.info",
|
|
147
|
-
"build": "rm -rf dist && bun build ./src/index.ts ./src/database/index.ts ./src/schema/index.ts ./src/migrations/index.ts ./src/orm/index.ts ./src/jobs/index.ts ./src/templates/index.ts ./src/template/index.ts ./src/openapi/index.ts ./src/notification/index.ts ./src/i18n/index.ts ./src/cli/bin.ts ./src/frontend/index.ts ./src/router/index.ts ./src/middleware/index.ts ./src/modules/index.ts ./src/telemetry/index.ts ./src/observability/index.ts ./src/lock/index.ts ./src/health/index.ts ./src/logger/index.ts ./src/metrics/index.ts ./src/rpc/index.ts ./src/context/index.ts ./src/container/index.ts ./src/testing/index.ts ./src/types/index.ts --outdir ./dist --target bun && test -d dist/src && (cp -r dist/src/* dist/ && rm -rf dist/src) || true",
|
|
151
|
+
"build": "rm -rf dist && bun build ./src/index.ts ./src/database/index.ts ./src/schema/index.ts ./src/migrations/index.ts ./src/orm/index.ts ./src/jobs/index.ts ./src/templates/index.ts ./src/template/index.ts ./src/openapi/index.ts ./src/notification/index.ts ./src/i18n/index.ts ./src/cli/bin.ts ./src/frontend/index.ts ./src/router/index.ts ./src/middleware/index.ts ./src/modules/index.ts ./src/telemetry/index.ts ./src/observability/index.ts ./src/graphql/index.ts ./src/lock/index.ts ./src/health/index.ts ./src/logger/index.ts ./src/metrics/index.ts ./src/rpc/index.ts ./src/context/index.ts ./src/container/index.ts ./src/testing/index.ts ./src/types/index.ts --outdir ./dist --target bun && test -d dist/src && (cp -r dist/src/* dist/ && rm -rf dist/src) || true && tsc --project tsconfig.declaration.json 2>&1 || true",
|
|
148
152
|
"build:cli": "bun build ./src/cli/bin.ts ./src/frontend/index.ts ./src/router/index.ts ./src/middleware/index.ts ./src/modules/index.ts --outdir ./dist/cli --target bun",
|
|
149
153
|
"typecheck": "tsc --noEmit",
|
|
150
154
|
"lint": "bunx biome check ./src",
|
package/src/cli/ARCHITECTURE.md
CHANGED
|
@@ -427,7 +427,7 @@ Example from [`getMainTemplate()`](src/cli/commands/new.ts:144):
|
|
|
427
427
|
function getMainTemplate(config: ProjectConfig): string {
|
|
428
428
|
if (config.template === 'minimal') {
|
|
429
429
|
// Simple router-based approach
|
|
430
|
-
return `import { createServer } from 'bueno';
|
|
430
|
+
return `import { createServer } from '@buenojs/bueno';
|
|
431
431
|
const app = createServer();
|
|
432
432
|
app.router.get('/', () => {
|
|
433
433
|
return { message: 'Hello, Bueno!' };
|
|
@@ -435,7 +435,7 @@ app.router.get('/', () => {
|
|
|
435
435
|
await app.listen(3000);`;
|
|
436
436
|
}
|
|
437
437
|
// Full framework approach with decorators
|
|
438
|
-
return `import { createApp, Module, Controller, Get, Injectable } from 'bueno';
|
|
438
|
+
return `import { createApp, Module, Controller, Get, Injectable } from '@buenojs/bueno';
|
|
439
439
|
// ... full module structure with @Controller, @Injectable, etc.
|
|
440
440
|
await createApp(AppModule).listen(3000);`;
|
|
441
441
|
}
|
|
@@ -486,7 +486,7 @@ export class UsersModule {}
|
|
|
486
486
|
|
|
487
487
|
**Migration File Template:**
|
|
488
488
|
```typescript
|
|
489
|
-
import { createMigration, type MigrationRunner } from 'bueno';
|
|
489
|
+
import { createMigration, type MigrationRunner } from '@buenojs/bueno';
|
|
490
490
|
|
|
491
491
|
export default createMigration('{{migrationId}}', '{{migrationName}}')
|
|
492
492
|
.up(async (db: MigrationRunner) => {
|