@buenojs/bueno 0.8.6 → 0.8.8
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 +132 -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 +483 -155
- 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/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/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/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/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/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/package.json +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 +62 -11
- package/tsconfig.declaration.json +14 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Solid SSR Renderer
|
|
3
|
+
*
|
|
4
|
+
* Provides server-side rendering for Solid components using:
|
|
5
|
+
* - renderToString / renderToStringAsync from solid-js/web
|
|
6
|
+
* - Solid Meta for head management
|
|
7
|
+
* - Async rendering support
|
|
8
|
+
*/
|
|
9
|
+
import type { FrameworkSSRRenderer, SSRContext, SSRElement, SSRPage } from "../types.js";
|
|
10
|
+
/**
|
|
11
|
+
* Reset head elements for a new render
|
|
12
|
+
*/
|
|
13
|
+
export declare function resetHead(): void;
|
|
14
|
+
/**
|
|
15
|
+
* Get collected head elements
|
|
16
|
+
*/
|
|
17
|
+
export declare function getHeadElements(): SSRElement[];
|
|
18
|
+
/**
|
|
19
|
+
* Add a head element
|
|
20
|
+
*/
|
|
21
|
+
export declare function addHeadElement(element: SSRElement): void;
|
|
22
|
+
/**
|
|
23
|
+
* Solid SSR Renderer implementation
|
|
24
|
+
*/
|
|
25
|
+
export declare class SolidSSRRenderer implements FrameworkSSRRenderer {
|
|
26
|
+
private solidJs;
|
|
27
|
+
private solidWeb;
|
|
28
|
+
private initialized;
|
|
29
|
+
/**
|
|
30
|
+
* Initialize Solid modules
|
|
31
|
+
*/
|
|
32
|
+
init(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Render a component to HTML string
|
|
35
|
+
*/
|
|
36
|
+
renderToString(component: unknown, context: SSRContext): Promise<string>;
|
|
37
|
+
/**
|
|
38
|
+
* Render a component to a stream
|
|
39
|
+
*/
|
|
40
|
+
renderToStream(component: unknown, context: SSRContext): ReadableStream<Uint8Array>;
|
|
41
|
+
/**
|
|
42
|
+
* Get head elements from component
|
|
43
|
+
*/
|
|
44
|
+
getHeadElements(context: SSRContext): SSRElement[];
|
|
45
|
+
/**
|
|
46
|
+
* Create the framework-specific component
|
|
47
|
+
*/
|
|
48
|
+
createComponent(page: SSRPage, context: SSRContext): unknown;
|
|
49
|
+
/**
|
|
50
|
+
* Wrap component with context provider
|
|
51
|
+
*/
|
|
52
|
+
private wrapWithContext;
|
|
53
|
+
/**
|
|
54
|
+
* Render with async support
|
|
55
|
+
*/
|
|
56
|
+
renderAsync(component: unknown, context: SSRContext): Promise<string>;
|
|
57
|
+
/**
|
|
58
|
+
* Render with suspense support
|
|
59
|
+
*/
|
|
60
|
+
renderWithSuspense(component: unknown, context: SSRContext, fallback?: string): Promise<string>;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Create a Solid SSR renderer
|
|
64
|
+
*/
|
|
65
|
+
export declare function createSolidSSRRenderer(): SolidSSRRenderer;
|
|
66
|
+
/**
|
|
67
|
+
* Solid Meta-like head management
|
|
68
|
+
*/
|
|
69
|
+
export declare class SolidMeta {
|
|
70
|
+
private static instance;
|
|
71
|
+
private title;
|
|
72
|
+
private metaTags;
|
|
73
|
+
private linkTags;
|
|
74
|
+
private scriptTags;
|
|
75
|
+
private styleTags;
|
|
76
|
+
static getInstance(): SolidMeta;
|
|
77
|
+
setTitle(title: string): this;
|
|
78
|
+
addMeta(attrs: Record<string, string>): this;
|
|
79
|
+
addLink(attrs: Record<string, string>): this;
|
|
80
|
+
addScript(attrs: Record<string, string>, innerHTML?: string): this;
|
|
81
|
+
addStyle(innerHTML: string, attrs?: Record<string, string>): this;
|
|
82
|
+
reset(): void;
|
|
83
|
+
getTitle(): string;
|
|
84
|
+
getMetaTags(): SSRElement[];
|
|
85
|
+
getLinkTags(): SSRElement[];
|
|
86
|
+
getScriptTags(): SSRElement[];
|
|
87
|
+
getStyleTags(): SSRElement[];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get Solid Meta instance
|
|
91
|
+
*/
|
|
92
|
+
export declare function solidMeta(): SolidMeta;
|
|
93
|
+
/**
|
|
94
|
+
* Convert SSRElement to HTML string
|
|
95
|
+
*/
|
|
96
|
+
export declare function ssrElementToString(element: SSRElement): string;
|
|
97
|
+
/**
|
|
98
|
+
* Create Solid SSR context
|
|
99
|
+
*/
|
|
100
|
+
export declare function createSolidSSRContext(request: Request, initialState?: Record<string, unknown>): SSRContext;
|
|
101
|
+
/**
|
|
102
|
+
* Solid Start-like route data helper
|
|
103
|
+
*/
|
|
104
|
+
export declare function createRouteData<T>(fetcher: () => Promise<T>, options?: {
|
|
105
|
+
key?: () => unknown[];
|
|
106
|
+
deferStream?: boolean;
|
|
107
|
+
}): {
|
|
108
|
+
data: T | undefined;
|
|
109
|
+
loading: boolean;
|
|
110
|
+
error: Error | null;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Solid resource wrapper for SSR
|
|
114
|
+
*/
|
|
115
|
+
export declare class SolidResource<T> {
|
|
116
|
+
private data;
|
|
117
|
+
private error;
|
|
118
|
+
private loading;
|
|
119
|
+
private promise;
|
|
120
|
+
constructor(fetcher: () => Promise<T>);
|
|
121
|
+
load(): Promise<T>;
|
|
122
|
+
get(): T | undefined;
|
|
123
|
+
getState(): {
|
|
124
|
+
data: T | undefined;
|
|
125
|
+
loading: boolean;
|
|
126
|
+
error: Error | null;
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Create a Solid resource
|
|
131
|
+
*/
|
|
132
|
+
export declare function createSolidResource<T>(fetcher: () => Promise<T>): SolidResource<T>;
|
|
133
|
+
/**
|
|
134
|
+
* No hydration marker for solid
|
|
135
|
+
*/
|
|
136
|
+
export declare const NO_HYDRATE = "data-no-hydrate";
|
|
137
|
+
/**
|
|
138
|
+
* Mark element as no-hydrate
|
|
139
|
+
*/
|
|
140
|
+
export declare function noHydrate(element: SSRElement): SSRElement;
|
|
141
|
+
//# sourceMappingURL=solid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solid.d.ts","sourceRoot":"","sources":["../../../src/frontend/ssr/solid.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Svelte SSR Renderer
|
|
3
|
+
*
|
|
4
|
+
* Provides server-side rendering for Svelte components using:
|
|
5
|
+
* - render() from svelte/server
|
|
6
|
+
* - Svelte Head component support
|
|
7
|
+
* - SvelteKit-like SSR patterns
|
|
8
|
+
*/
|
|
9
|
+
import type { FrameworkSSRRenderer, SSRContext, SSRElement, SSRPage } from "../types.js";
|
|
10
|
+
interface SvelteComponent {
|
|
11
|
+
render(props?: Record<string, unknown>): SvelteRenderResult;
|
|
12
|
+
$$render(result: string, props: Record<string, unknown>, bindings: unknown, context: unknown): string;
|
|
13
|
+
}
|
|
14
|
+
interface SvelteRenderResult {
|
|
15
|
+
html: string;
|
|
16
|
+
head: string;
|
|
17
|
+
css: {
|
|
18
|
+
code: string;
|
|
19
|
+
map: unknown;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
interface SvelteComponentConstructor {
|
|
23
|
+
new (options: {
|
|
24
|
+
target: object | null;
|
|
25
|
+
props?: Record<string, unknown>;
|
|
26
|
+
hydrate?: boolean;
|
|
27
|
+
intro?: boolean;
|
|
28
|
+
$inline?: boolean;
|
|
29
|
+
}): SvelteComponent;
|
|
30
|
+
render(props?: Record<string, unknown>): SvelteRenderResult;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Reset head elements for a new render
|
|
34
|
+
*/
|
|
35
|
+
export declare function resetHead(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Get collected head elements
|
|
38
|
+
*/
|
|
39
|
+
export declare function getHeadElements(): SSRElement[];
|
|
40
|
+
/**
|
|
41
|
+
* Get head string from Svelte render
|
|
42
|
+
*/
|
|
43
|
+
export declare function getHeadString(): string;
|
|
44
|
+
/**
|
|
45
|
+
* Set head string from Svelte render
|
|
46
|
+
*/
|
|
47
|
+
export declare function setHeadString(head: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Add a head element
|
|
50
|
+
*/
|
|
51
|
+
export declare function addHeadElement(element: SSRElement): void;
|
|
52
|
+
/**
|
|
53
|
+
* Svelte SSR Renderer implementation
|
|
54
|
+
*/
|
|
55
|
+
export declare class SvelteSSRRenderer implements FrameworkSSRRenderer {
|
|
56
|
+
private svelteServer;
|
|
57
|
+
private initialized;
|
|
58
|
+
/**
|
|
59
|
+
* Initialize Svelte server module
|
|
60
|
+
*/
|
|
61
|
+
init(): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Render a component to HTML string
|
|
64
|
+
*/
|
|
65
|
+
renderToString(component: unknown, context: SSRContext): Promise<string>;
|
|
66
|
+
/**
|
|
67
|
+
* Render a component to a stream
|
|
68
|
+
*/
|
|
69
|
+
renderToStream(component: unknown, context: SSRContext): ReadableStream<Uint8Array>;
|
|
70
|
+
/**
|
|
71
|
+
* Get head elements from component
|
|
72
|
+
*/
|
|
73
|
+
getHeadElements(context: SSRContext): SSRElement[];
|
|
74
|
+
/**
|
|
75
|
+
* Create the framework-specific component
|
|
76
|
+
*/
|
|
77
|
+
createComponent(page: SSRPage, context: SSRContext): unknown;
|
|
78
|
+
/**
|
|
79
|
+
* Check if object is a Svelte component
|
|
80
|
+
*/
|
|
81
|
+
private isSvelteComponent;
|
|
82
|
+
/**
|
|
83
|
+
* Parse head HTML string into SSRElement array
|
|
84
|
+
*/
|
|
85
|
+
private parseHeadElements;
|
|
86
|
+
/**
|
|
87
|
+
* Parse HTML attributes string into object
|
|
88
|
+
*/
|
|
89
|
+
private parseAttributes;
|
|
90
|
+
/**
|
|
91
|
+
* Render with CSS extraction
|
|
92
|
+
*/
|
|
93
|
+
renderWithCSS(component: unknown, context: SSRContext): Promise<{
|
|
94
|
+
html: string;
|
|
95
|
+
head: string;
|
|
96
|
+
css: string;
|
|
97
|
+
}>;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Create a Svelte SSR renderer
|
|
101
|
+
*/
|
|
102
|
+
export declare function createSvelteSSRRenderer(): SvelteSSRRenderer;
|
|
103
|
+
/**
|
|
104
|
+
* Svelte Head component helper
|
|
105
|
+
*/
|
|
106
|
+
export declare class SvelteHead {
|
|
107
|
+
private static instance;
|
|
108
|
+
private title;
|
|
109
|
+
private metaTags;
|
|
110
|
+
private linkTags;
|
|
111
|
+
private scriptTags;
|
|
112
|
+
private styleTags;
|
|
113
|
+
static getInstance(): SvelteHead;
|
|
114
|
+
setTitle(title: string): this;
|
|
115
|
+
addMeta(attrs: Record<string, string>): this;
|
|
116
|
+
addLink(attrs: Record<string, string>): this;
|
|
117
|
+
addScript(attrs: Record<string, string>, innerHTML?: string): this;
|
|
118
|
+
addStyle(innerHTML: string, attrs?: Record<string, string>): this;
|
|
119
|
+
reset(): void;
|
|
120
|
+
getTitle(): string;
|
|
121
|
+
getMetaTags(): SSRElement[];
|
|
122
|
+
getLinkTags(): SSRElement[];
|
|
123
|
+
getScriptTags(): SSRElement[];
|
|
124
|
+
getStyleTags(): SSRElement[];
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get Svelte Head instance
|
|
128
|
+
*/
|
|
129
|
+
export declare function svelteHead(): SvelteHead;
|
|
130
|
+
/**
|
|
131
|
+
* Convert SSRElement to HTML string
|
|
132
|
+
*/
|
|
133
|
+
export declare function ssrElementToString(element: SSRElement): string;
|
|
134
|
+
/**
|
|
135
|
+
* Load a Svelte component from file path
|
|
136
|
+
*/
|
|
137
|
+
export declare function loadSvelteComponent(filePath: string): Promise<SvelteComponentConstructor>;
|
|
138
|
+
/**
|
|
139
|
+
* Create Svelte SSR context
|
|
140
|
+
*/
|
|
141
|
+
export declare function createSvelteSSRContext(request: Request, initialState?: Record<string, unknown>): SSRContext;
|
|
142
|
+
/**
|
|
143
|
+
* SvelteKit-like page store for SSR
|
|
144
|
+
*/
|
|
145
|
+
export declare class SveltePageStore {
|
|
146
|
+
private static instance;
|
|
147
|
+
private state;
|
|
148
|
+
static getInstance(): SveltePageStore;
|
|
149
|
+
set(context: SSRContext): void;
|
|
150
|
+
get(): typeof this.state;
|
|
151
|
+
reset(): void;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Get Svelte page store
|
|
155
|
+
*/
|
|
156
|
+
export declare function getPageStore(): SveltePageStore;
|
|
157
|
+
export {};
|
|
158
|
+
//# sourceMappingURL=svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../../../src/frontend/ssr/svelte.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vue SSR Renderer
|
|
3
|
+
*
|
|
4
|
+
* Provides server-side rendering for Vue components using:
|
|
5
|
+
* - renderToString / renderToStream from vue/server-renderer
|
|
6
|
+
* - Vue Router integration
|
|
7
|
+
* - Vue Meta for head management
|
|
8
|
+
*/
|
|
9
|
+
import type { FrameworkSSRRenderer, SSRContext, SSRElement, SSRPage } from "../types.js";
|
|
10
|
+
interface VueApp {
|
|
11
|
+
component(name: string, component: unknown): VueApp;
|
|
12
|
+
use(plugin: unknown, ...options: unknown[]): VueApp;
|
|
13
|
+
provide(key: string | symbol, value: unknown): VueApp;
|
|
14
|
+
config: {
|
|
15
|
+
globalProperties: Record<string, unknown>;
|
|
16
|
+
errorHandler: ((err: unknown, instance: unknown, info: string) => void) | null;
|
|
17
|
+
};
|
|
18
|
+
mount(selector: string): unknown;
|
|
19
|
+
unmount(): void;
|
|
20
|
+
ssrContext: SSRContext | null;
|
|
21
|
+
}
|
|
22
|
+
interface VueRouter {
|
|
23
|
+
push(location: string): Promise<unknown>;
|
|
24
|
+
replace(location: string): Promise<unknown>;
|
|
25
|
+
currentRoute: {
|
|
26
|
+
value: {
|
|
27
|
+
path: string;
|
|
28
|
+
params: Record<string, string>;
|
|
29
|
+
query: Record<string, string>;
|
|
30
|
+
meta: Record<string, unknown>;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
isReady(): Promise<void>;
|
|
34
|
+
}
|
|
35
|
+
interface CreateSSRAppOptions {
|
|
36
|
+
/**
|
|
37
|
+
* Component to render
|
|
38
|
+
*/
|
|
39
|
+
component: unknown;
|
|
40
|
+
/**
|
|
41
|
+
* Props to pass to component
|
|
42
|
+
*/
|
|
43
|
+
props?: Record<string, unknown>;
|
|
44
|
+
/**
|
|
45
|
+
* Initial state for hydration
|
|
46
|
+
*/
|
|
47
|
+
state?: Record<string, unknown>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Reset head elements for a new render
|
|
51
|
+
*/
|
|
52
|
+
export declare function resetHead(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Get collected head elements
|
|
55
|
+
*/
|
|
56
|
+
export declare function getHeadElements(): SSRElement[];
|
|
57
|
+
/**
|
|
58
|
+
* Add a head element
|
|
59
|
+
*/
|
|
60
|
+
export declare function addHeadElement(element: SSRElement): void;
|
|
61
|
+
/**
|
|
62
|
+
* Vue SSR Renderer implementation
|
|
63
|
+
*/
|
|
64
|
+
export declare class VueSSRRenderer implements FrameworkSSRRenderer {
|
|
65
|
+
private vue;
|
|
66
|
+
private vueServerRenderer;
|
|
67
|
+
private initialized;
|
|
68
|
+
/**
|
|
69
|
+
* Initialize Vue modules
|
|
70
|
+
*/
|
|
71
|
+
init(): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Create a Vue SSR app instance
|
|
74
|
+
*/
|
|
75
|
+
createSSRApp(options: CreateSSRAppOptions): Promise<VueApp>;
|
|
76
|
+
/**
|
|
77
|
+
* Render a component to HTML string
|
|
78
|
+
*/
|
|
79
|
+
renderToString(component: unknown, context: SSRContext): Promise<string>;
|
|
80
|
+
/**
|
|
81
|
+
* Render a component to a stream
|
|
82
|
+
*/
|
|
83
|
+
renderToStream(component: unknown, context: SSRContext): ReadableStream<Uint8Array>;
|
|
84
|
+
/**
|
|
85
|
+
* Get head elements from component
|
|
86
|
+
*/
|
|
87
|
+
getHeadElements(context: SSRContext): SSRElement[];
|
|
88
|
+
/**
|
|
89
|
+
* Create the framework-specific component
|
|
90
|
+
*/
|
|
91
|
+
createComponent(page: SSRPage, context: SSRContext): unknown;
|
|
92
|
+
/**
|
|
93
|
+
* Check if object is a Vue app instance
|
|
94
|
+
*/
|
|
95
|
+
private isVueApp;
|
|
96
|
+
/**
|
|
97
|
+
* Create Vue Router for SSR
|
|
98
|
+
*/
|
|
99
|
+
createRouter(routes: unknown[]): Promise<{
|
|
100
|
+
router: VueRouter;
|
|
101
|
+
app: VueApp;
|
|
102
|
+
}>;
|
|
103
|
+
/**
|
|
104
|
+
* Render with Vue Router
|
|
105
|
+
*/
|
|
106
|
+
renderWithRouter(app: VueApp, router: VueRouter, url: string, context: SSRContext): Promise<string>;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Create a Vue SSR renderer
|
|
110
|
+
*/
|
|
111
|
+
export declare function createVueSSRRenderer(): VueSSRRenderer;
|
|
112
|
+
/**
|
|
113
|
+
* Vue Meta-like head management
|
|
114
|
+
*/
|
|
115
|
+
export declare class VueMeta {
|
|
116
|
+
private static instance;
|
|
117
|
+
private title;
|
|
118
|
+
private metaTags;
|
|
119
|
+
private linkTags;
|
|
120
|
+
private scriptTags;
|
|
121
|
+
private styleTags;
|
|
122
|
+
static getInstance(): VueMeta;
|
|
123
|
+
setTitle(title: string): this;
|
|
124
|
+
addMeta(attrs: Record<string, string>): this;
|
|
125
|
+
addLink(attrs: Record<string, string>): this;
|
|
126
|
+
addScript(attrs: Record<string, string>, innerHTML?: string): this;
|
|
127
|
+
addStyle(innerHTML: string, attrs?: Record<string, string>): this;
|
|
128
|
+
reset(): void;
|
|
129
|
+
getTitle(): string;
|
|
130
|
+
getMetaTags(): SSRElement[];
|
|
131
|
+
getLinkTags(): SSRElement[];
|
|
132
|
+
getScriptTags(): SSRElement[];
|
|
133
|
+
getStyleTags(): SSRElement[];
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Get Vue Meta instance
|
|
137
|
+
*/
|
|
138
|
+
export declare function vueMeta(): VueMeta;
|
|
139
|
+
/**
|
|
140
|
+
* Convert SSRElement to HTML string
|
|
141
|
+
*/
|
|
142
|
+
export declare function ssrElementToString(element: SSRElement): string;
|
|
143
|
+
/**
|
|
144
|
+
* Vue useHead composable-like function
|
|
145
|
+
*/
|
|
146
|
+
export declare function useHead(head: {
|
|
147
|
+
title?: string;
|
|
148
|
+
meta?: Record<string, string>[];
|
|
149
|
+
link?: Record<string, string>[];
|
|
150
|
+
script?: Record<string, string>[];
|
|
151
|
+
style?: {
|
|
152
|
+
innerHTML: string;
|
|
153
|
+
attrs?: Record<string, string>;
|
|
154
|
+
}[];
|
|
155
|
+
}): void;
|
|
156
|
+
/**
|
|
157
|
+
* Create Vue SSR context with initial state
|
|
158
|
+
*/
|
|
159
|
+
export declare function createVueSSRContext(request: Request, initialState?: Record<string, unknown>): SSRContext;
|
|
160
|
+
export {};
|
|
161
|
+
//# sourceMappingURL=vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../../../src/frontend/ssr/vue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server-Side Rendering (SSR) Implementation
|
|
3
|
+
*
|
|
4
|
+
* Provides a unified SSR system that supports:
|
|
5
|
+
* - React, Vue, Svelte, and Solid frameworks
|
|
6
|
+
* - Streaming SSR for faster TTFB
|
|
7
|
+
* - Client-side hydration
|
|
8
|
+
* - Server-side data fetching
|
|
9
|
+
* - Head management (title, meta, links)
|
|
10
|
+
*/
|
|
11
|
+
import type { FrontendFramework, PartialSSRConfig, PreloadLink, RenderResult, SSRConfig, SSRContext, SSRElement, SSRHydrationData, SSRRenderOptions } from "./types.js";
|
|
12
|
+
/**
|
|
13
|
+
* Main SSR Renderer class
|
|
14
|
+
*
|
|
15
|
+
* Provides server-side rendering for all supported frameworks
|
|
16
|
+
* with streaming support and client hydration.
|
|
17
|
+
*/
|
|
18
|
+
export declare class SSRRenderer {
|
|
19
|
+
private config;
|
|
20
|
+
private logger;
|
|
21
|
+
private frameworkRenderer;
|
|
22
|
+
private pageCache;
|
|
23
|
+
constructor(config: PartialSSRConfig);
|
|
24
|
+
/**
|
|
25
|
+
* Normalize partial config to full config with defaults
|
|
26
|
+
*/
|
|
27
|
+
private normalizeConfig;
|
|
28
|
+
/**
|
|
29
|
+
* Initialize the framework-specific renderer
|
|
30
|
+
*/
|
|
31
|
+
init(): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Create framework-specific renderer
|
|
34
|
+
*/
|
|
35
|
+
private createFrameworkRenderer;
|
|
36
|
+
/**
|
|
37
|
+
* Render a page to HTML
|
|
38
|
+
*/
|
|
39
|
+
render(url: string, request: Request): Promise<RenderResult>;
|
|
40
|
+
/**
|
|
41
|
+
* Render a page to a stream
|
|
42
|
+
*/
|
|
43
|
+
renderToStream(url: string, request: Request): ReadableStream<Uint8Array>;
|
|
44
|
+
/**
|
|
45
|
+
* Render with options
|
|
46
|
+
*/
|
|
47
|
+
renderWithOptions(options: SSRRenderOptions): Promise<RenderResult>;
|
|
48
|
+
/**
|
|
49
|
+
* Get client hydration script
|
|
50
|
+
*/
|
|
51
|
+
getHydrationScript(): string;
|
|
52
|
+
/**
|
|
53
|
+
* Get preload links for modules
|
|
54
|
+
*/
|
|
55
|
+
getPreloadLinks(modules: string[]): string;
|
|
56
|
+
/**
|
|
57
|
+
* Get CSS links for modules
|
|
58
|
+
*/
|
|
59
|
+
getCSSLinks(modules: string[]): string;
|
|
60
|
+
/**
|
|
61
|
+
* Create SSR context
|
|
62
|
+
*/
|
|
63
|
+
private createContext;
|
|
64
|
+
/**
|
|
65
|
+
* Load page module
|
|
66
|
+
*/
|
|
67
|
+
private loadPage;
|
|
68
|
+
/**
|
|
69
|
+
* Render head elements to string
|
|
70
|
+
*/
|
|
71
|
+
private renderHeadElements;
|
|
72
|
+
/**
|
|
73
|
+
* Convert SSR element to HTML string
|
|
74
|
+
*/
|
|
75
|
+
private ssrElementToString;
|
|
76
|
+
/**
|
|
77
|
+
* Escape HTML special characters
|
|
78
|
+
*/
|
|
79
|
+
private escapeHtml;
|
|
80
|
+
/**
|
|
81
|
+
* Render HTML preamble (opening tags)
|
|
82
|
+
*/
|
|
83
|
+
private renderPreamble;
|
|
84
|
+
/**
|
|
85
|
+
* Render HTML footer (closing tags and scripts)
|
|
86
|
+
*/
|
|
87
|
+
private renderFooter;
|
|
88
|
+
/**
|
|
89
|
+
* Render error page
|
|
90
|
+
*/
|
|
91
|
+
private renderErrorPage;
|
|
92
|
+
/**
|
|
93
|
+
* Clear page cache
|
|
94
|
+
*/
|
|
95
|
+
clearCache(): void;
|
|
96
|
+
/**
|
|
97
|
+
* Get configuration
|
|
98
|
+
*/
|
|
99
|
+
getConfig(): SSRConfig;
|
|
100
|
+
/**
|
|
101
|
+
* Check if streaming is enabled
|
|
102
|
+
*/
|
|
103
|
+
isStreamingEnabled(): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Get framework
|
|
106
|
+
*/
|
|
107
|
+
getFramework(): FrontendFramework;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Create an SSR renderer
|
|
111
|
+
*/
|
|
112
|
+
export declare function createSSRRenderer(config: PartialSSRConfig): SSRRenderer;
|
|
113
|
+
/**
|
|
114
|
+
* Create SSR context from request
|
|
115
|
+
*/
|
|
116
|
+
export declare function createSSRContext(request: Request, params?: Record<string, string>): SSRContext;
|
|
117
|
+
/**
|
|
118
|
+
* Serialize data for hydration
|
|
119
|
+
*/
|
|
120
|
+
export declare function serializeHydrationData(data: SSRHydrationData): string;
|
|
121
|
+
/**
|
|
122
|
+
* Deserialize hydration data
|
|
123
|
+
*/
|
|
124
|
+
export declare function deserializeHydrationData(json: string): SSRHydrationData;
|
|
125
|
+
/**
|
|
126
|
+
* Generate HTML template
|
|
127
|
+
*/
|
|
128
|
+
export declare function generateHTML(options: {
|
|
129
|
+
head: string;
|
|
130
|
+
body: string;
|
|
131
|
+
data: Record<string, unknown>;
|
|
132
|
+
scripts: string[];
|
|
133
|
+
styles: string[];
|
|
134
|
+
}): string;
|
|
135
|
+
/**
|
|
136
|
+
* Create preload link tag
|
|
137
|
+
*/
|
|
138
|
+
export declare function createPreloadLink(link: PreloadLink): string;
|
|
139
|
+
/**
|
|
140
|
+
* Merge multiple head element arrays
|
|
141
|
+
*/
|
|
142
|
+
export declare function mergeHeadElements(...arrays: SSRElement[][]): SSRElement[];
|
|
143
|
+
export { createReactSSRRenderer, type ReactSSRRenderer } from "./ssr/react.js";
|
|
144
|
+
export { createVueSSRRenderer, type VueSSRRenderer } from "./ssr/vue.js";
|
|
145
|
+
export { createSvelteSSRRenderer, type SvelteSSRRenderer, } from "./ssr/svelte.js";
|
|
146
|
+
export { createSolidSSRRenderer, type SolidSSRRenderer } from "./ssr/solid.js";
|
|
147
|
+
//# sourceMappingURL=ssr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssr.d.ts","sourceRoot":"","sources":["../../src/frontend/ssr.ts"],"names":[],"mappings":"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"}
|