silgi 0.43.28 → 0.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -1
- package/dist/_virtual/_rolldown/runtime.mjs +5 -0
- package/dist/adapters/_fetch-adapter.d.mts +18 -0
- package/dist/adapters/_fetch-adapter.mjs +53 -0
- package/dist/adapters/astro.d.mts +15 -0
- package/dist/adapters/astro.mjs +31 -0
- package/dist/adapters/aws-lambda.d.mts +42 -0
- package/dist/adapters/aws-lambda.mjs +92 -0
- package/dist/adapters/express.d.mts +16 -0
- package/dist/adapters/express.mjs +110 -0
- package/dist/adapters/message-port.d.mts +42 -0
- package/dist/adapters/message-port.mjs +132 -0
- package/dist/adapters/nestjs.d.mts +25 -0
- package/dist/adapters/nestjs.mjs +83 -0
- package/dist/adapters/nextjs.d.mts +14 -0
- package/dist/adapters/nextjs.mjs +29 -0
- package/dist/adapters/peer.d.mts +27 -0
- package/dist/adapters/peer.mjs +36 -0
- package/dist/adapters/remix.d.mts +15 -0
- package/dist/adapters/remix.mjs +30 -0
- package/dist/adapters/solidstart.d.mts +12 -0
- package/dist/adapters/solidstart.mjs +29 -0
- package/dist/adapters/sveltekit.d.mts +14 -0
- package/dist/adapters/sveltekit.mjs +30 -0
- package/dist/broker/index.d.mts +62 -0
- package/dist/broker/index.mjs +153 -0
- package/dist/broker/nats.d.mts +33 -0
- package/dist/broker/nats.mjs +31 -0
- package/dist/broker/redis.d.mts +51 -0
- package/dist/broker/redis.mjs +92 -0
- package/dist/builder.d.mts +55 -0
- package/dist/builder.mjs +70 -0
- package/dist/callable.d.mts +19 -0
- package/dist/callable.mjs +42 -0
- package/dist/caller.mjs +90 -0
- package/dist/client/adapters/fetch/index.d.mts +15 -0
- package/dist/client/adapters/fetch/index.mjs +57 -0
- package/dist/client/adapters/ofetch/index.d.mts +55 -0
- package/dist/client/adapters/ofetch/index.mjs +91 -0
- package/dist/client/adapters/websocket/index.d.mts +20 -0
- package/dist/client/adapters/websocket/index.mjs +101 -0
- package/dist/client/client.d.mts +37 -0
- package/dist/client/client.mjs +80 -0
- package/dist/client/consume.d.mts +50 -0
- package/dist/client/consume.mjs +66 -0
- package/dist/client/dynamic-link.d.mts +16 -0
- package/dist/client/dynamic-link.mjs +19 -0
- package/dist/client/index.d.mts +6 -0
- package/dist/client/index.mjs +5 -0
- package/dist/client/interceptor.d.mts +31 -0
- package/dist/client/interceptor.mjs +34 -0
- package/dist/client/openapi.d.mts +29 -0
- package/dist/client/openapi.mjs +89 -0
- package/dist/client/plugins/batch.d.mts +26 -0
- package/dist/client/plugins/batch.mjs +64 -0
- package/dist/client/plugins/circuit-breaker.d.mts +24 -0
- package/dist/client/plugins/circuit-breaker.mjs +60 -0
- package/dist/client/plugins/csrf.d.mts +13 -0
- package/dist/client/plugins/csrf.mjs +20 -0
- package/dist/client/plugins/dedupe.d.mts +10 -0
- package/dist/client/plugins/dedupe.mjs +28 -0
- package/dist/client/plugins/index.d.mts +8 -0
- package/dist/client/plugins/index.mjs +8 -0
- package/dist/client/plugins/otel.d.mts +12 -0
- package/dist/client/plugins/otel.mjs +27 -0
- package/dist/client/plugins/retry.d.mts +34 -0
- package/dist/client/plugins/retry.mjs +79 -0
- package/dist/client/plugins/timeout.d.mts +10 -0
- package/dist/client/plugins/timeout.mjs +14 -0
- package/dist/client/server.d.mts +16 -0
- package/dist/client/server.mjs +59 -0
- package/dist/client/types.d.mts +29 -0
- package/dist/codec/devalue.d.mts +21 -0
- package/dist/codec/devalue.mjs +33 -0
- package/dist/codec/msgpack.d.mts +18 -0
- package/dist/codec/msgpack.mjs +45 -0
- package/dist/codec/sanitize.mjs +38 -0
- package/dist/codegen/emitters.d.mts +51 -0
- package/dist/codegen/emitters.mjs +143 -0
- package/dist/codegen/generate.d.mts +25 -0
- package/dist/codegen/generate.mjs +224 -0
- package/dist/codegen/index.d.mts +44 -0
- package/dist/codegen/index.mjs +103 -0
- package/dist/codegen/parse.d.mts +124 -0
- package/dist/codegen/parse.mjs +135 -0
- package/dist/codegen/preserve.d.mts +21 -0
- package/dist/codegen/preserve.mjs +62 -0
- package/dist/codegen/schema-to-code.d.mts +57 -0
- package/dist/codegen/schema-to-code.mjs +167 -0
- package/dist/compile.d.mts +46 -0
- package/dist/compile.mjs +332 -0
- package/dist/core/codec.mjs +67 -0
- package/dist/core/context-bridge.mjs +11 -0
- package/dist/core/dispatch.mjs +62 -0
- package/dist/core/error.d.mts +99 -60
- package/dist/core/error.mjs +125 -92
- package/dist/core/handler.d.mts +6 -0
- package/dist/core/handler.mjs +153 -0
- package/dist/core/input.mjs +49 -0
- package/dist/core/iterator.d.mts +17 -0
- package/dist/core/iterator.mjs +79 -0
- package/dist/core/router-utils.mjs +22 -0
- package/dist/core/schema.d.mts +20 -0
- package/dist/core/schema.mjs +33 -0
- package/dist/core/serve.d.mts +51 -0
- package/dist/core/serve.mjs +76 -0
- package/dist/core/sse.d.mts +18 -0
- package/dist/core/sse.mjs +110 -0
- package/dist/core/storage.d.mts +17 -4
- package/dist/core/storage.mjs +60 -13
- package/dist/core/task.d.mts +62 -0
- package/dist/core/task.mjs +165 -0
- package/dist/core/trace-map.d.mts +13 -0
- package/dist/core/trace-map.mjs +13 -0
- package/dist/core/url.mjs +28 -0
- package/dist/core/utils.mjs +24 -0
- package/dist/index.d.mts +17 -21
- package/dist/index.mjs +14 -22
- package/dist/integrations/ai/index.d.mts +25 -0
- package/dist/integrations/ai/index.mjs +117 -0
- package/dist/integrations/better-auth/index.d.mts +41 -0
- package/dist/integrations/better-auth/index.mjs +331 -0
- package/dist/integrations/drizzle/index.d.mts +27 -0
- package/dist/integrations/drizzle/index.mjs +285 -0
- package/dist/integrations/hey-api/index.d.mts +2 -0
- package/dist/integrations/hey-api/index.mjs +2 -0
- package/dist/integrations/hey-api/to-client.d.mts +20 -0
- package/dist/integrations/hey-api/to-client.mjs +39 -0
- package/dist/integrations/pinia-colada/general-utils.d.mts +13 -0
- package/dist/integrations/pinia-colada/general-utils.mjs +9 -0
- package/dist/integrations/pinia-colada/index.d.mts +6 -0
- package/dist/integrations/pinia-colada/index.mjs +5 -0
- package/dist/integrations/pinia-colada/key.d.mts +11 -0
- package/dist/integrations/pinia-colada/key.mjs +11 -0
- package/dist/integrations/pinia-colada/procedure-utils.d.mts +25 -0
- package/dist/integrations/pinia-colada/procedure-utils.mjs +33 -0
- package/dist/integrations/pinia-colada/router-utils.d.mts +17 -0
- package/dist/integrations/pinia-colada/router-utils.mjs +30 -0
- package/dist/integrations/pinia-colada/types.d.mts +25 -0
- package/dist/integrations/react/index.d.mts +83 -0
- package/dist/integrations/react/index.mjs +196 -0
- package/dist/integrations/tanstack-query/index.d.mts +120 -0
- package/dist/integrations/tanstack-query/index.mjs +100 -0
- package/dist/integrations/tanstack-query/ssr.d.mts +60 -0
- package/dist/integrations/tanstack-query/ssr.mjs +102 -0
- package/dist/integrations/zod/converter.d.mts +75 -0
- package/dist/integrations/zod/converter.mjs +345 -0
- package/dist/integrations/zod/index.d.mts +2 -0
- package/dist/integrations/zod/index.mjs +2 -0
- package/dist/lazy.d.mts +22 -0
- package/dist/lazy.mjs +34 -0
- package/dist/lifecycle.d.mts +36 -0
- package/dist/lifecycle.mjs +46 -0
- package/dist/map-input.d.mts +17 -0
- package/dist/map-input.mjs +47 -0
- package/dist/plugins/analytics/accumulator.d.mts +24 -0
- package/dist/plugins/analytics/accumulator.mjs +91 -0
- package/dist/plugins/analytics/alerts.d.mts +59 -0
- package/dist/plugins/analytics/alerts.mjs +140 -0
- package/dist/plugins/analytics/collector.d.mts +38 -0
- package/dist/plugins/analytics/collector.mjs +275 -0
- package/dist/plugins/analytics/cost.d.mts +61 -0
- package/dist/plugins/analytics/cost.mjs +97 -0
- package/dist/plugins/analytics/export.d.mts +7 -0
- package/dist/plugins/analytics/export.mjs +86 -0
- package/dist/plugins/analytics/normalize.mjs +144 -0
- package/dist/plugins/analytics/query.mjs +164 -0
- package/dist/plugins/analytics/request-id.mjs +34 -0
- package/dist/plugins/analytics/routes.d.mts +11 -0
- package/dist/plugins/analytics/routes.mjs +211 -0
- package/dist/plugins/analytics/sse.d.mts +31 -0
- package/dist/plugins/analytics/sse.mjs +74 -0
- package/dist/plugins/analytics/store.mjs +103 -0
- package/dist/plugins/analytics/timeseries.d.mts +50 -0
- package/dist/plugins/analytics/timeseries.mjs +169 -0
- package/dist/plugins/analytics/trace.d.mts +48 -0
- package/dist/plugins/analytics/trace.mjs +83 -0
- package/dist/plugins/analytics/types.d.mts +145 -0
- package/dist/plugins/analytics/types.mjs +40 -0
- package/dist/plugins/analytics/utils.d.mts +4 -0
- package/dist/plugins/analytics/utils.mjs +56 -0
- package/dist/plugins/analytics.d.mts +18 -0
- package/dist/plugins/analytics.mjs +188 -0
- package/dist/plugins/batch-server.d.mts +20 -0
- package/dist/plugins/batch-server.mjs +91 -0
- package/dist/plugins/body-limit.d.mts +19 -0
- package/dist/plugins/body-limit.mjs +49 -0
- package/dist/plugins/cache.d.mts +170 -0
- package/dist/plugins/cache.mjs +212 -0
- package/dist/plugins/coerce.d.mts +24 -0
- package/dist/plugins/coerce.mjs +70 -0
- package/dist/plugins/cookies.d.mts +14 -0
- package/dist/plugins/cookies.mjs +48 -0
- package/dist/plugins/cors.d.mts +43 -0
- package/dist/plugins/cors.mjs +62 -0
- package/dist/plugins/file-upload.d.mts +38 -0
- package/dist/plugins/file-upload.mjs +102 -0
- package/dist/plugins/index.d.mts +18 -0
- package/dist/plugins/index.mjs +17 -0
- package/dist/plugins/otel.d.mts +35 -0
- package/dist/plugins/otel.mjs +40 -0
- package/dist/plugins/pino.d.mts +60 -0
- package/dist/plugins/pino.mjs +42 -0
- package/dist/plugins/pubsub.d.mts +50 -0
- package/dist/plugins/pubsub.mjs +53 -0
- package/dist/plugins/ratelimit.d.mts +53 -0
- package/dist/plugins/ratelimit.mjs +92 -0
- package/dist/plugins/signing.d.mts +41 -0
- package/dist/plugins/signing.mjs +118 -0
- package/dist/plugins/strict-get.d.mts +10 -0
- package/dist/plugins/strict-get.mjs +33 -0
- package/dist/scalar.d.mts +49 -0
- package/dist/scalar.mjs +311 -0
- package/dist/silgi.d.mts +144 -0
- package/dist/silgi.mjs +164 -0
- package/dist/trpc-interop.d.mts +22 -0
- package/dist/trpc-interop.mjs +68 -0
- package/dist/types.d.mts +108 -0
- package/dist/ws.d.mts +88 -0
- package/dist/ws.mjs +205 -0
- package/lib/dashboard/index.html +120 -0
- package/lib/ocache.d.mts +1 -0
- package/lib/ocache.mjs +1 -0
- package/lib/ofetch.d.mts +1 -0
- package/lib/ofetch.mjs +1 -0
- package/lib/srvx.d.mts +1 -0
- package/lib/srvx.mjs +1 -0
- package/lib/unstorage.d.mts +1 -0
- package/lib/unstorage.mjs +1 -0
- package/package.json +314 -150
- package/dist/build.d.mts +0 -3
- package/dist/build.mjs +0 -4
- package/dist/cli/build/build.mjs +0 -15
- package/dist/cli/build/dev.d.mts +0 -10
- package/dist/cli/build/dev.mjs +0 -91
- package/dist/cli/build/prepare.d.mts +0 -6
- package/dist/cli/build/prepare.mjs +0 -15
- package/dist/cli/commands/commands.mjs +0 -90
- package/dist/cli/commands/env.mjs +0 -53
- package/dist/cli/commands/init.mjs +0 -84
- package/dist/cli/commands/install.mjs +0 -52
- package/dist/cli/commands/prepare.mjs +0 -65
- package/dist/cli/commands/reset.mjs +0 -46
- package/dist/cli/commands/run.mjs +0 -31
- package/dist/cli/commands/watch.mjs +0 -153
- package/dist/cli/config/defaults.mjs +0 -117
- package/dist/cli/config/index.d.mts +0 -3
- package/dist/cli/config/index.mjs +0 -4
- package/dist/cli/config/loader.d.mts +0 -6
- package/dist/cli/config/loader.mjs +0 -71
- package/dist/cli/config/resolvers/compatibility.mjs +0 -71
- package/dist/cli/config/resolvers/imports.mjs +0 -35
- package/dist/cli/config/resolvers/paths.mjs +0 -98
- package/dist/cli/config/resolvers/storage.mjs +0 -23
- package/dist/cli/config/resolvers/url.mjs +0 -9
- package/dist/cli/config/types.d.mts +0 -14
- package/dist/cli/config/types.mjs +0 -147
- package/dist/cli/core/apiful.mjs +0 -36
- package/dist/cli/core/devServer.mjs +0 -10
- package/dist/cli/core/env.mjs +0 -68
- package/dist/cli/core/installPackage.mjs +0 -60
- package/dist/cli/core/runtimeConfig.mjs +0 -70
- package/dist/cli/core/scan.mjs +0 -35
- package/dist/cli/core/silgi.mjs +0 -111
- package/dist/cli/framework/emptyFramework.mjs +0 -7
- package/dist/cli/framework/h3.mjs +0 -55
- package/dist/cli/framework/index.mjs +0 -15
- package/dist/cli/framework/nitro.mjs +0 -24
- package/dist/cli/framework/nuxt.mjs +0 -10
- package/dist/cli/index.d.mts +0 -1
- package/dist/cli/index.mjs +0 -29
- package/dist/cli/module/exportScan.mjs +0 -180
- package/dist/cli/module/install.mjs +0 -49
- package/dist/cli/module/scan.mjs +0 -193
- package/dist/cli/scan/prepareCommands.mjs +0 -40
- package/dist/cli/scan/prepareConfigs.mjs +0 -33
- package/dist/cli/scan/prepareCoreFile.mjs +0 -118
- package/dist/cli/scan/prepareScanFile.mjs +0 -59
- package/dist/cli/scan/prepareSchema.mjs +0 -128
- package/dist/cli/scan/scanExportFile.mjs +0 -288
- package/dist/cli/scan/writeCoreFile.mjs +0 -22
- package/dist/cli/scan/writeTypesAndFiles.mjs +0 -72
- package/dist/cli/utils/cancel.mjs +0 -14
- package/dist/cli/utils/common.mjs +0 -15
- package/dist/cli/utils/compatibility.mjs +0 -33
- package/dist/cli/utils/debug.mjs +0 -11
- package/dist/cli/utils/ignore.mjs +0 -56
- package/dist/cli/utils/processManager.mjs +0 -170
- package/dist/cli/utils/readScanFile.mjs +0 -58
- package/dist/cli/utils/storage.mjs +0 -23
- package/dist/core/context.d.mts +0 -30
- package/dist/core/context.mjs +0 -32
- package/dist/core/createSilgi.d.mts +0 -6
- package/dist/core/createSilgi.mjs +0 -153
- package/dist/core/event.d.mts +0 -26
- package/dist/core/event.mjs +0 -44
- package/dist/core/index.d.mts +0 -25
- package/dist/core/index.mjs +0 -30
- package/dist/core/orchestrate.mjs +0 -115
- package/dist/core/response.d.mts +0 -20
- package/dist/core/response.mjs +0 -105
- package/dist/core/silgi.d.mts +0 -19
- package/dist/core/silgi.mjs +0 -141
- package/dist/core/silgiApp.d.mts +0 -9
- package/dist/core/silgiApp.mjs +0 -23
- package/dist/core/unctx.d.mts +0 -21
- package/dist/core/unctx.mjs +0 -35
- package/dist/core/utils/event-stream.d.mts +0 -53
- package/dist/core/utils/event-stream.mjs +0 -38
- package/dist/core/utils/event.d.mts +0 -8
- package/dist/core/utils/event.mjs +0 -12
- package/dist/core/utils/internal/event-stream.d.mts +0 -45
- package/dist/core/utils/internal/event-stream.mjs +0 -137
- package/dist/core/utils/internal/obj.mjs +0 -9
- package/dist/core/utils/internal/object.mjs +0 -29
- package/dist/core/utils/internal/query.mjs +0 -73
- package/dist/core/utils/internal/req.mjs +0 -35
- package/dist/core/utils/merge.d.mts +0 -14
- package/dist/core/utils/merge.mjs +0 -27
- package/dist/core/utils/middleware.d.mts +0 -14
- package/dist/core/utils/middleware.mjs +0 -12
- package/dist/core/utils/request.mjs +0 -35
- package/dist/core/utils/resolver.d.mts +0 -7
- package/dist/core/utils/resolver.mjs +0 -29
- package/dist/core/utils/runtime.d.mts +0 -7
- package/dist/core/utils/runtime.mjs +0 -20
- package/dist/core/utils/sanitize.mjs +0 -22
- package/dist/core/utils/schema.d.mts +0 -34
- package/dist/core/utils/schema.mjs +0 -33
- package/dist/core/utils/service.d.mts +0 -13
- package/dist/core/utils/service.mjs +0 -19
- package/dist/core/utils/shared.d.mts +0 -6
- package/dist/core/utils/shared.mjs +0 -7
- package/dist/core/utils/storage.d.mts +0 -24
- package/dist/core/utils/storage.mjs +0 -54
- package/dist/kit/add/add-commands.d.mts +0 -6
- package/dist/kit/add/add-commands.mjs +0 -12
- package/dist/kit/add/add-core-file.d.mts +0 -9
- package/dist/kit/add/add-core-file.mjs +0 -11
- package/dist/kit/add/add-imports.d.mts +0 -14
- package/dist/kit/add/add-imports.mjs +0 -56
- package/dist/kit/add/add-npm.d.mts +0 -14
- package/dist/kit/add/add-npm.mjs +0 -23
- package/dist/kit/define.d.mts +0 -28
- package/dist/kit/define.mjs +0 -25
- package/dist/kit/errors.d.mts +0 -6
- package/dist/kit/errors.mjs +0 -11
- package/dist/kit/esm.d.mts +0 -11
- package/dist/kit/esm.mjs +0 -21
- package/dist/kit/fs.d.mts +0 -4
- package/dist/kit/fs.mjs +0 -13
- package/dist/kit/function-utils.d.mts +0 -27
- package/dist/kit/function-utils.mjs +0 -75
- package/dist/kit/gen.d.mts +0 -5
- package/dist/kit/gen.mjs +0 -26
- package/dist/kit/hash.d.mts +0 -4
- package/dist/kit/hash.mjs +0 -10
- package/dist/kit/index.d.mts +0 -22
- package/dist/kit/index.mjs +0 -23
- package/dist/kit/isFramework.d.mts +0 -6
- package/dist/kit/isFramework.mjs +0 -21
- package/dist/kit/logger.d.mts +0 -6
- package/dist/kit/logger.mjs +0 -10
- package/dist/kit/migration.d.mts +0 -113
- package/dist/kit/migration.mjs +0 -301
- package/dist/kit/module.d.mts +0 -14
- package/dist/kit/module.mjs +0 -53
- package/dist/kit/path.d.mts +0 -7
- package/dist/kit/path.mjs +0 -26
- package/dist/kit/preset.d.mts +0 -8
- package/dist/kit/preset.mjs +0 -11
- package/dist/kit/resolve.d.mts +0 -37
- package/dist/kit/resolve.mjs +0 -82
- package/dist/kit/template.d.mts +0 -19
- package/dist/kit/template.mjs +0 -91
- package/dist/kit/useRequest.d.mts +0 -19
- package/dist/kit/useRequest.mjs +0 -63
- package/dist/kit/utils.d.mts +0 -34
- package/dist/kit/utils.mjs +0 -91
- package/dist/package.mjs +0 -176
- package/dist/presets/_all.gen.d.mts +0 -6
- package/dist/presets/_all.gen.mjs +0 -18
- package/dist/presets/_resolve.d.mts +0 -12
- package/dist/presets/_resolve.mjs +0 -57
- package/dist/presets/_types.gen.d.mts +0 -8
- package/dist/presets/_types.gen.mjs +0 -5
- package/dist/presets/h3/preset.d.mts +0 -6
- package/dist/presets/h3/preset.mjs +0 -35
- package/dist/presets/hono/preset.d.mts +0 -6
- package/dist/presets/hono/preset.mjs +0 -30
- package/dist/presets/index.d.mts +0 -3
- package/dist/presets/index.mjs +0 -3
- package/dist/presets/nitro/preset.d.mts +0 -6
- package/dist/presets/nitro/preset.mjs +0 -37
- package/dist/presets/npmpackage/preset.d.mts +0 -6
- package/dist/presets/npmpackage/preset.mjs +0 -29
- package/dist/presets/nuxt/preset.d.mts +0 -6
- package/dist/presets/nuxt/preset.mjs +0 -41
- package/dist/runtime/index.d.mts +0 -4
- package/dist/runtime/index.mjs +0 -5
- package/dist/runtime/internal/config.d.mts +0 -11
- package/dist/runtime/internal/config.mjs +0 -97
- package/dist/runtime/internal/debug.d.mts +0 -6
- package/dist/runtime/internal/debug.mjs +0 -11
- package/dist/runtime/internal/defu.d.mts +0 -4
- package/dist/runtime/internal/defu.mjs +0 -9
- package/dist/runtime/internal/index.d.mts +0 -7
- package/dist/runtime/internal/index.mjs +0 -8
- package/dist/runtime/internal/nitro.d.mts +0 -6
- package/dist/runtime/internal/nitro.mjs +0 -36
- package/dist/runtime/internal/nuxt.d.mts +0 -12
- package/dist/runtime/internal/nuxt.mjs +0 -16
- package/dist/runtime/internal/ofetch.d.mts +0 -8
- package/dist/runtime/internal/ofetch.mjs +0 -39
- package/dist/runtime/internal/plugin.d.mts +0 -7
- package/dist/runtime/internal/plugin.mjs +0 -8
- package/dist/types/cliConfig.d.mts +0 -288
- package/dist/types/cliConfig.mjs +0 -0
- package/dist/types/cliHooks.d.mts +0 -142
- package/dist/types/cliHooks.mjs +0 -0
- package/dist/types/compatibility.d.mts +0 -13
- package/dist/types/compatibility.mjs +0 -0
- package/dist/types/config.d.mts +0 -46
- package/dist/types/config.mjs +0 -0
- package/dist/types/dotenv.d.mts +0 -29
- package/dist/types/dotenv.mjs +0 -0
- package/dist/types/event.d.mts +0 -63
- package/dist/types/event.mjs +0 -0
- package/dist/types/global.d.mts +0 -24
- package/dist/types/global.mjs +0 -0
- package/dist/types/helper.d.mts +0 -25
- package/dist/types/helper.mjs +0 -0
- package/dist/types/hooks.d.mts +0 -37
- package/dist/types/hooks.mjs +0 -0
- package/dist/types/index.d.mts +0 -26
- package/dist/types/index.mjs +0 -0
- package/dist/types/kits.d.mts +0 -32
- package/dist/types/kits.mjs +0 -0
- package/dist/types/middleware.d.mts +0 -31
- package/dist/types/middleware.mjs +0 -0
- package/dist/types/module.d.mts +0 -102
- package/dist/types/module.mjs +0 -0
- package/dist/types/preset.d.mts +0 -20
- package/dist/types/preset.mjs +0 -0
- package/dist/types/route.d.mts +0 -59
- package/dist/types/route.mjs +0 -0
- package/dist/types/runtime/index.d.mts +0 -5
- package/dist/types/runtime/index.mjs +0 -0
- package/dist/types/runtime/nuxt.d.mts +0 -13
- package/dist/types/runtime/nuxt.mjs +0 -0
- package/dist/types/runtime/ofetch.d.mts +0 -14
- package/dist/types/runtime/ofetch.mjs +0 -0
- package/dist/types/runtime/plugin.d.mts +0 -8
- package/dist/types/runtime/plugin.mjs +0 -0
- package/dist/types/runtime/silgi.d.mts +0 -11
- package/dist/types/runtime/silgi.mjs +0 -0
- package/dist/types/schema.d.mts +0 -86
- package/dist/types/schema.mjs +0 -0
- package/dist/types/service.d.mts +0 -102
- package/dist/types/service.mjs +0 -0
- package/dist/types/shared.d.mts +0 -19
- package/dist/types/shared.mjs +0 -0
- package/dist/types/silgi.d.mts +0 -71
- package/dist/types/silgi.mjs +0 -0
- package/dist/types/silgiCLI.d.mts +0 -118
- package/dist/types/silgiCLI.mjs +0 -0
- package/dist/types/standard-schema.d.mts +0 -61
- package/dist/types/standard-schema.mjs +0 -0
- package/dist/types/storage.d.mts +0 -30
- package/dist/types/storage.mjs +0 -0
- package/dist/types/tree-kill.d.mts +0 -18
- package/dist/types/tree-kill.mjs +0 -0
- package/lib/config.d.mts +0 -7
- package/lib/config.mjs +0 -5
- package/lib/meta.d.mts +0 -4
- package/lib/meta.mjs +0 -6
- package/lib/runtime-meta.d.mts +0 -4
- package/lib/runtime-meta.mjs +0 -32
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { hasInstalledModule$1 as hasInstalledModule } from "../utils/compatibility.mjs";
|
|
2
|
-
import { useSilgiCLI } from "silgi";
|
|
3
|
-
import { createJiti } from "dev-jiti";
|
|
4
|
-
|
|
5
|
-
//#region src/cli/module/install.ts
|
|
6
|
-
async function loadSilgiModuleInstance(silgiModule) {
|
|
7
|
-
if (typeof silgiModule === "string") throw new TypeError(`Could not load \`${silgiModule}\`. Is it installed?`);
|
|
8
|
-
if (typeof silgiModule !== "function") throw new TypeError(`Nuxt module should be a function: ${silgiModule}`);
|
|
9
|
-
return { silgiModule };
|
|
10
|
-
}
|
|
11
|
-
async function installModules(silgi, prepare = false) {
|
|
12
|
-
silgi.options.isPreparingModules = prepare;
|
|
13
|
-
const jiti = createJiti(silgi.options.rootDir, {
|
|
14
|
-
alias: silgi.options.alias,
|
|
15
|
-
fsCache: true,
|
|
16
|
-
moduleCache: true
|
|
17
|
-
});
|
|
18
|
-
for (const module of silgi.scanModules) {
|
|
19
|
-
if (hasInstalledModule(module.meta.configKey) && !silgi.options.dev) {}
|
|
20
|
-
try {
|
|
21
|
-
const silgiModule = module.entryPath !== void 0 ? await jiti.import(module.entryPath, {
|
|
22
|
-
default: true,
|
|
23
|
-
conditions: silgi.options.conditions
|
|
24
|
-
}) : module.module;
|
|
25
|
-
if (silgiModule.name !== "silgiNormalizedModule") {
|
|
26
|
-
silgi.scanModules = silgi.scanModules.filter((m) => m.entryPath !== module.entryPath);
|
|
27
|
-
continue;
|
|
28
|
-
}
|
|
29
|
-
await installModule(silgiModule, silgi, prepare);
|
|
30
|
-
} catch (err) {
|
|
31
|
-
silgi.logger.error(err);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
silgi.options.isPreparingModules = false;
|
|
35
|
-
}
|
|
36
|
-
/** Installs a module on a Nuxt instance. */
|
|
37
|
-
async function installModule(moduleToInstall, silgi = useSilgiCLI(), inlineOptions, prepare = false) {
|
|
38
|
-
const { silgiModule } = await loadSilgiModuleInstance(moduleToInstall);
|
|
39
|
-
const res = await silgiModule(inlineOptions || {}, silgi) ?? {};
|
|
40
|
-
if (res === false) return false;
|
|
41
|
-
const metaData = await silgiModule.getMeta?.();
|
|
42
|
-
if (prepare) return metaData;
|
|
43
|
-
const installedModule = silgi.scanModules.find((m) => m.meta.configKey === metaData?.configKey);
|
|
44
|
-
if (installedModule) installedModule.installed = true;
|
|
45
|
-
else throw new Error(`Module ${metaData?.name} not found`);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
//#endregion
|
|
49
|
-
export { installModules };
|
package/dist/cli/module/scan.mjs
DELETED
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
import { scanSilgiExports } from "../scan/scanExportFile.mjs";
|
|
2
|
-
import { consola as consola$1 } from "consola";
|
|
3
|
-
import { resolve } from "pathe";
|
|
4
|
-
import { directoryToURL, resolveAlias } from "silgi/kit";
|
|
5
|
-
import { scanExports } from "unimport";
|
|
6
|
-
import { existsSync, promises } from "node:fs";
|
|
7
|
-
import { isRelative } from "ufo";
|
|
8
|
-
import { defu } from "defu";
|
|
9
|
-
import { createJiti } from "dev-jiti";
|
|
10
|
-
import { fileURLToPath } from "node:url";
|
|
11
|
-
import { resolveModuleURL } from "exsolve";
|
|
12
|
-
|
|
13
|
-
//#region src/cli/module/scan.ts
|
|
14
|
-
const MissingModuleMatcher = /Cannot find module\s+['"]?([^'")\s]+)['"]?/i;
|
|
15
|
-
async function _resolveSilgiModule(silgiModule, silgi) {
|
|
16
|
-
let resolvedModulePath;
|
|
17
|
-
let buildTimeModuleMeta = {};
|
|
18
|
-
const jiti = createJiti(silgi.options.rootDir, {
|
|
19
|
-
alias: silgi.options.alias,
|
|
20
|
-
fsCache: true,
|
|
21
|
-
moduleCache: true
|
|
22
|
-
});
|
|
23
|
-
if (typeof silgiModule === "string") {
|
|
24
|
-
silgiModule = resolveAlias(silgiModule, silgi.options.alias);
|
|
25
|
-
if (isRelative(silgiModule)) silgiModule = resolve(silgi.options.rootDir, silgiModule);
|
|
26
|
-
try {
|
|
27
|
-
const src = resolveModuleURL(silgiModule, {
|
|
28
|
-
from: silgi.options.modulesDir.map((m) => directoryToURL(m.replace(/\/node_modules\/?$/, "/"))),
|
|
29
|
-
suffixes: [
|
|
30
|
-
"silgi",
|
|
31
|
-
"silgi/index",
|
|
32
|
-
"module",
|
|
33
|
-
"module/index",
|
|
34
|
-
"",
|
|
35
|
-
"index"
|
|
36
|
-
],
|
|
37
|
-
extensions: [
|
|
38
|
-
".js",
|
|
39
|
-
".mjs",
|
|
40
|
-
".cjs",
|
|
41
|
-
".ts",
|
|
42
|
-
".mts",
|
|
43
|
-
".cts"
|
|
44
|
-
]
|
|
45
|
-
});
|
|
46
|
-
resolvedModulePath = fileURLToPath(src);
|
|
47
|
-
const resolvedSilgiModule = await jiti.import(src, { default: true });
|
|
48
|
-
if (typeof resolvedSilgiModule !== "function") throw new TypeError(`Nuxt module should be a function: ${silgiModule}.`);
|
|
49
|
-
silgiModule = await jiti.import(src, {
|
|
50
|
-
default: true,
|
|
51
|
-
conditions: silgi.options.conditions
|
|
52
|
-
});
|
|
53
|
-
const moduleMetadataPath = new URL("module.json", src);
|
|
54
|
-
if (existsSync(moduleMetadataPath)) buildTimeModuleMeta = JSON.parse(await promises.readFile(moduleMetadataPath, "utf-8"));
|
|
55
|
-
else if (typeof silgiModule === "function") {
|
|
56
|
-
const meta = await silgiModule.getMeta?.();
|
|
57
|
-
const _exports = await scanExports(resolvedModulePath, true);
|
|
58
|
-
buildTimeModuleMeta = {
|
|
59
|
-
...meta,
|
|
60
|
-
exports: _exports.map(({ from,...rest }) => rest)
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
const runtimeFolder = new URL("runtime", src);
|
|
64
|
-
await scanSilgiExports(runtimeFolder.pathname, buildTimeModuleMeta._packageName);
|
|
65
|
-
} catch (error) {
|
|
66
|
-
const code = error.code;
|
|
67
|
-
if (code === "MODULE_NOT_FOUND" || code === "ERR_PACKAGE_PATH_NOT_EXPORTED" || code === "ERR_MODULE_NOT_FOUND" || code === "ERR_UNSUPPORTED_DIR_IMPORT" || code === "ENOTDIR") throw new TypeError(`Could not load \`${silgiModule}\`. Is it installed?`);
|
|
68
|
-
if (code === "MODULE_NOT_FOUND" || code === "ERR_MODULE_NOT_FOUND") {
|
|
69
|
-
const module = MissingModuleMatcher.exec(error.message)?.[1];
|
|
70
|
-
if (module && !module.includes(silgiModule)) throw new TypeError(`Error while importing module \`${silgiModule}\`: ${error}`);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (!buildTimeModuleMeta) throw new Error(`Module ${silgiModule} is not a valid Silgi module`);
|
|
75
|
-
if (typeof silgiModule === "function") {
|
|
76
|
-
if (!buildTimeModuleMeta.configKey) {
|
|
77
|
-
const meta = await silgiModule.getMeta?.();
|
|
78
|
-
buildTimeModuleMeta = {
|
|
79
|
-
...meta,
|
|
80
|
-
exports: []
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
if (silgi.scanModules.some((m) => m.meta?.configKey === buildTimeModuleMeta.configKey)) throw new Error(`Module with key \`${buildTimeModuleMeta.configKey}\` already exists`);
|
|
84
|
-
const options = await silgiModule.getOptions?.() || {};
|
|
85
|
-
if (options) silgi.options._c12.config[buildTimeModuleMeta.configKey] = defu(silgi.options._c12.config[buildTimeModuleMeta.configKey] || {}, options || {});
|
|
86
|
-
else throw new TypeError(`Could not load \`${silgiModule}\`. Is it installed?`);
|
|
87
|
-
silgi.scanModules.push({
|
|
88
|
-
meta: buildTimeModuleMeta,
|
|
89
|
-
entryPath: resolvedModulePath || void 0,
|
|
90
|
-
installed: false,
|
|
91
|
-
options,
|
|
92
|
-
module: silgiModule
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
async function scanModules(silgi) {
|
|
97
|
-
const _modules = [...silgi.options._modules, ...silgi.options.modules];
|
|
98
|
-
for await (const mod of _modules) await _resolveSilgiModule(mod, silgi);
|
|
99
|
-
const moduleMap = new Map(silgi.scanModules.map((m) => [m.meta?.configKey, m]));
|
|
100
|
-
const graphData = createDependencyGraph(silgi.scanModules);
|
|
101
|
-
const sortedKeys = topologicalSort(graphData);
|
|
102
|
-
const modules = sortedKeys.map((key) => moduleMap.get(key)).filter((module) => Boolean(module));
|
|
103
|
-
silgi.scanModules = modules;
|
|
104
|
-
}
|
|
105
|
-
function createDependencyGraph(modules) {
|
|
106
|
-
const graph = new Map();
|
|
107
|
-
const inDegree = new Map();
|
|
108
|
-
modules.forEach((module) => {
|
|
109
|
-
const key = module.meta?.configKey;
|
|
110
|
-
if (key) {
|
|
111
|
-
graph.set(key, new Set());
|
|
112
|
-
inDegree.set(key, 0);
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
modules.forEach((module) => {
|
|
116
|
-
const key = module.meta?.configKey;
|
|
117
|
-
if (!key) return;
|
|
118
|
-
const requiredDeps = module.meta?.requiredDependencies || [];
|
|
119
|
-
const beforeDeps = module.meta?.beforeDependencies || [];
|
|
120
|
-
const afterDeps = module.meta?.afterDependencies || [];
|
|
121
|
-
const processedDeps = new Set();
|
|
122
|
-
requiredDeps.forEach((dep) => {
|
|
123
|
-
if (!graph.has(dep)) throw new Error(`Required dependency "${dep}" for module "${key}" is missing`);
|
|
124
|
-
graph.get(dep)?.add(key);
|
|
125
|
-
inDegree.set(key, (inDegree.get(key) || 0) + 1);
|
|
126
|
-
processedDeps.add(dep);
|
|
127
|
-
});
|
|
128
|
-
beforeDeps.forEach((dep) => {
|
|
129
|
-
if (!graph.has(dep)) return;
|
|
130
|
-
graph.get(key)?.add(dep);
|
|
131
|
-
inDegree.set(dep, (inDegree.get(dep) || 0) + 1);
|
|
132
|
-
});
|
|
133
|
-
afterDeps.forEach((dep) => {
|
|
134
|
-
if (processedDeps.has(dep)) return;
|
|
135
|
-
if (!graph.has(dep)) return;
|
|
136
|
-
graph.get(dep)?.add(key);
|
|
137
|
-
inDegree.set(key, (inDegree.get(key) || 0) + 1);
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
return {
|
|
141
|
-
graph,
|
|
142
|
-
inDegree
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
function findCyclicDependencies(graph) {
|
|
146
|
-
const visited = new Set();
|
|
147
|
-
const recursionStack = new Set();
|
|
148
|
-
const cycles = [];
|
|
149
|
-
function dfs(node, path = []) {
|
|
150
|
-
visited.add(node);
|
|
151
|
-
recursionStack.add(node);
|
|
152
|
-
path.push(node);
|
|
153
|
-
for (const neighbor of graph.get(node) || []) if (recursionStack.has(neighbor)) {
|
|
154
|
-
const cycleStart = path.indexOf(neighbor);
|
|
155
|
-
if (cycleStart !== -1) cycles.push([...path.slice(cycleStart), neighbor]);
|
|
156
|
-
} else if (!visited.has(neighbor)) dfs(neighbor, [...path]);
|
|
157
|
-
recursionStack.delete(node);
|
|
158
|
-
path.pop();
|
|
159
|
-
}
|
|
160
|
-
for (const node of graph.keys()) if (!visited.has(node)) dfs(node, []);
|
|
161
|
-
return cycles;
|
|
162
|
-
}
|
|
163
|
-
function topologicalSort(graphData) {
|
|
164
|
-
const { graph, inDegree } = graphData;
|
|
165
|
-
const order = [];
|
|
166
|
-
const queue = [];
|
|
167
|
-
for (const [node, degree] of inDegree.entries()) if (degree === 0) queue.push(node);
|
|
168
|
-
if (queue.length === 0) {}
|
|
169
|
-
while (queue.length > 0) {
|
|
170
|
-
const node = queue.shift();
|
|
171
|
-
order.push(node);
|
|
172
|
-
const neighbors = Array.from(graph.get(node) || []);
|
|
173
|
-
for (const neighbor of neighbors) {
|
|
174
|
-
const newDegree = (inDegree.get(neighbor) || 0) - 1;
|
|
175
|
-
inDegree.set(neighbor, newDegree);
|
|
176
|
-
if (newDegree === 0) queue.push(neighbor);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
if (order.length !== graph.size) {
|
|
180
|
-
const cycles = findCyclicDependencies(graph);
|
|
181
|
-
if (cycles.length > 0) {
|
|
182
|
-
const cycleStr = cycles.map((cycle) => ` ${cycle.join(" -> ")}`).join("\n");
|
|
183
|
-
throw new Error(`Circular dependencies detected:\n${cycleStr}`);
|
|
184
|
-
} else {
|
|
185
|
-
const unresolvedModules = Array.from(graph.keys()).filter((key) => !order.includes(key));
|
|
186
|
-
throw new Error(`Unable to resolve dependencies for modules: ${unresolvedModules.join(", ")}`);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
return order;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
//#endregion
|
|
193
|
-
export { scanModules };
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { useSilgiCLI } from "../../core/silgiApp.mjs";
|
|
2
|
-
import { debugMode } from "../utils/debug.mjs";
|
|
3
|
-
import { writeTemplate } from "silgi/kit";
|
|
4
|
-
import { genAugmentation } from "knitwork";
|
|
5
|
-
|
|
6
|
-
//#region src/cli/scan/prepareCommands.ts
|
|
7
|
-
async function prepareCommands(silgi = useSilgiCLI()) {
|
|
8
|
-
const commands = [];
|
|
9
|
-
await silgi.callHook("prepare:commands", commands);
|
|
10
|
-
if (debugMode("command")) writeTemplate({
|
|
11
|
-
filename: "cli.json",
|
|
12
|
-
where: ".silgi",
|
|
13
|
-
write: true,
|
|
14
|
-
getContents: () => JSON.stringify(commands, null, 2)
|
|
15
|
-
});
|
|
16
|
-
silgi.hook("prepare:types", async ({ references }) => {
|
|
17
|
-
const allTags = commands.reduce((acc, commandGroup) => {
|
|
18
|
-
Object.values(commandGroup).forEach((command) => {
|
|
19
|
-
if (command.tags) command.tags.forEach((tag) => acc.add(tag));
|
|
20
|
-
});
|
|
21
|
-
return acc;
|
|
22
|
-
}, new Set());
|
|
23
|
-
const data = [
|
|
24
|
-
genAugmentation("silgi/types", { SilgiCommands: { ...Object.fromEntries(Array.from(allTags.values()).map((tag) => [tag, "string"])) } }),
|
|
25
|
-
"",
|
|
26
|
-
"export {}"
|
|
27
|
-
];
|
|
28
|
-
writeTemplate({
|
|
29
|
-
filename: "types/commands.d.ts",
|
|
30
|
-
write: true,
|
|
31
|
-
where: ".silgi",
|
|
32
|
-
getContents: () => data.join("\n")
|
|
33
|
-
});
|
|
34
|
-
references.push({ path: "./commands.d.ts" });
|
|
35
|
-
});
|
|
36
|
-
silgi.options.commands = commands;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
//#endregion
|
|
40
|
-
export { prepareCommands };
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { useCLIRuntimeConfig } from "../core/runtimeConfig.mjs";
|
|
2
|
-
import { resolve } from "pathe";
|
|
3
|
-
import { useSilgiCLI } from "silgi";
|
|
4
|
-
import { baseHeaderBannerComment, genEnsureSafeVar, writeFile } from "silgi/kit";
|
|
5
|
-
import { genObjectFromRawEntries } from "knitwork";
|
|
6
|
-
|
|
7
|
-
//#region src/cli/scan/prepareConfigs.ts
|
|
8
|
-
async function prepareConfigs(silgi = useSilgiCLI()) {
|
|
9
|
-
useCLIRuntimeConfig();
|
|
10
|
-
const _data = { runtimeConfig: {} };
|
|
11
|
-
for (const module of silgi.scanModules) if (module.meta.cliToRuntimeOptionsKeys && module.meta.cliToRuntimeOptionsKeys?.length > 0) for (const key of module.meta.cliToRuntimeOptionsKeys) _data[module.meta.configKey] = {
|
|
12
|
-
..._data[module.meta.configKey],
|
|
13
|
-
[key]: module.options[key]
|
|
14
|
-
};
|
|
15
|
-
else _data[module.meta.configKey] = {};
|
|
16
|
-
await silgi.callHook("prepare:configs.ts", _data);
|
|
17
|
-
const importData = [
|
|
18
|
-
"import type { SilgiRuntimeOptions, SilgiRuntimeConfig, SilgiOptions } from 'silgi/types'",
|
|
19
|
-
"import { useRuntimeConfig } from 'silgi/runtime'",
|
|
20
|
-
"",
|
|
21
|
-
`export const runtimeConfig: SilgiRuntimeConfig = ${genObjectFromRawEntries(Object.entries(_data.runtimeConfig).map(([key, value]) => [key, genEnsureSafeVar(value)]), "")}`,
|
|
22
|
-
"",
|
|
23
|
-
"export const localConfig = useRuntimeConfig(undefined, runtimeConfig)",
|
|
24
|
-
""
|
|
25
|
-
];
|
|
26
|
-
delete _data.runtimeConfig;
|
|
27
|
-
importData.push(`export const cliConfigs: Partial<SilgiRuntimeOptions & SilgiOptions> = ${genObjectFromRawEntries(Object.entries(_data).map(([key, value]) => [key, genEnsureSafeVar(value)]))}`);
|
|
28
|
-
importData.unshift(...baseHeaderBannerComment);
|
|
29
|
-
await writeFile(resolve(silgi.options.silgi.serverDir, "configs.ts"), importData.join("\n"));
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
//#endregion
|
|
33
|
-
export { prepareConfigs };
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { addImports, baseHeaderBannerComment, hash, toArray } from "silgi/kit";
|
|
2
|
-
import { genImport, genObjectFromRawEntries, genTypeImport } from "knitwork";
|
|
3
|
-
|
|
4
|
-
//#region src/cli/scan/prepareCoreFile.ts
|
|
5
|
-
async function prepareCoreFile(silgi) {
|
|
6
|
-
const { genImports, genTypeImports, addImportItem, addImportItemType } = addImports({
|
|
7
|
-
imports: [
|
|
8
|
-
{
|
|
9
|
-
specifier: "silgi/runtime",
|
|
10
|
-
imports: [{ name: "mergeDeep" }]
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
specifier: "silgi",
|
|
14
|
-
imports: [{ name: "createSilgi" }]
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
specifier: "./scan",
|
|
18
|
-
imports: [
|
|
19
|
-
{ name: "services" },
|
|
20
|
-
{ name: "shareds" },
|
|
21
|
-
{ name: "schemas" },
|
|
22
|
-
{ name: "middlewares" },
|
|
23
|
-
{ name: "resolvers" }
|
|
24
|
-
]
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
specifier: "./configs",
|
|
28
|
-
imports: [{ name: "cliConfigs" }]
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
specifier: "./meta",
|
|
32
|
-
imports: [{ name: "meta" }]
|
|
33
|
-
}
|
|
34
|
-
],
|
|
35
|
-
typeImports: [{
|
|
36
|
-
specifier: "silgi/types",
|
|
37
|
-
imports: [{ name: "SilgiRuntimeOptions" }, { name: "BuildSilgi" }]
|
|
38
|
-
}]
|
|
39
|
-
});
|
|
40
|
-
const before = [];
|
|
41
|
-
const after = [];
|
|
42
|
-
const _data = {
|
|
43
|
-
silgiConfigs: [],
|
|
44
|
-
addImportItem,
|
|
45
|
-
addImportItemType,
|
|
46
|
-
addBuildFunction: (data) => {
|
|
47
|
-
for (const item of toArray(data)) {
|
|
48
|
-
if (item.where === "after") if (item.custom) after.push(item.custom);
|
|
49
|
-
else after.push(item.params?.length ? ` await ${item.name}(option, ${item.params.join(",")})` : ` await ${item.name}(option)`);
|
|
50
|
-
if (item.where === "before") if (item.custom) before.push(item.custom);
|
|
51
|
-
else before.push(item.params?.length ? ` await ${item.name}(option, ${item.params.join(",")})` : ` await ${item.name}(option)`);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
await silgi.callHook("before:core.ts", _data);
|
|
56
|
-
const plugins = [];
|
|
57
|
-
for (const plugin of silgi.options.plugins) {
|
|
58
|
-
const pluginImportName = hash(plugin.packageImport);
|
|
59
|
-
addImportItem({
|
|
60
|
-
specifier: plugin.packageImport,
|
|
61
|
-
imports: pluginImportName
|
|
62
|
-
});
|
|
63
|
-
plugins.push(pluginImportName);
|
|
64
|
-
}
|
|
65
|
-
const importsContent = [
|
|
66
|
-
...genImports.map(({ specifier, imports, options }) => {
|
|
67
|
-
return genImport(specifier, imports, options);
|
|
68
|
-
}),
|
|
69
|
-
...genTypeImports.map(({ specifier, imports }) => {
|
|
70
|
-
return genTypeImport(specifier, Array.isArray(imports) ? imports : [imports]);
|
|
71
|
-
}),
|
|
72
|
-
""
|
|
73
|
-
];
|
|
74
|
-
const importData = [
|
|
75
|
-
"",
|
|
76
|
-
"export async function buildSilgi(option?: BuildSilgi) {",
|
|
77
|
-
"",
|
|
78
|
-
"// buildSilgiBefore",
|
|
79
|
-
...before,
|
|
80
|
-
"",
|
|
81
|
-
"const silgi = await createSilgi({",
|
|
82
|
-
" framework: option?.framework,",
|
|
83
|
-
" shared: shareds,",
|
|
84
|
-
" services: services,",
|
|
85
|
-
" middlewares: middlewares,",
|
|
86
|
-
" schemas: schemas,",
|
|
87
|
-
" resolvers: resolvers,",
|
|
88
|
-
` plugins: [${plugins.join(", ")}],`,
|
|
89
|
-
"",
|
|
90
|
-
_data.silgiConfigs.length > 0 ? _data.silgiConfigs.map((item) => {
|
|
91
|
-
const code = genObjectFromRawEntries(Object.entries(item));
|
|
92
|
-
return ` ${code.slice(1, -1).trim()},`;
|
|
93
|
-
}).filter(Boolean).join("\n") : "",
|
|
94
|
-
"",
|
|
95
|
-
" options: mergeDeep(cliConfigs, {",
|
|
96
|
-
" runtimeConfig: {} as SilgiRuntimeOptions,",
|
|
97
|
-
" meta: meta,",
|
|
98
|
-
` present: '${silgi.options.preset}',`,
|
|
99
|
-
" ...option?.modules,",
|
|
100
|
-
" ...option?.options,",
|
|
101
|
-
" }) as any,",
|
|
102
|
-
" })",
|
|
103
|
-
"",
|
|
104
|
-
"// buildSilgiAfter",
|
|
105
|
-
...after,
|
|
106
|
-
"",
|
|
107
|
-
" return silgi",
|
|
108
|
-
"}",
|
|
109
|
-
""
|
|
110
|
-
];
|
|
111
|
-
await silgi.callHook("after:core.ts", importData);
|
|
112
|
-
importData.unshift(...importsContent);
|
|
113
|
-
importData.unshift(...baseHeaderBannerComment);
|
|
114
|
-
return importData;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
//#endregion
|
|
118
|
-
export { prepareCoreFile };
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { resolve } from "pathe";
|
|
2
|
-
import { addImports, baseHeaderBannerComment, writeFile } from "silgi/kit";
|
|
3
|
-
import { genImport, genTypeImport } from "knitwork";
|
|
4
|
-
|
|
5
|
-
//#region src/cli/scan/prepareScanFile.ts
|
|
6
|
-
async function prepareScanFile(silgi) {
|
|
7
|
-
const { genImports, genTypeImports, addImportItem, addImportItemType } = addImports({});
|
|
8
|
-
const scanned = {
|
|
9
|
-
services: [],
|
|
10
|
-
shareds: [],
|
|
11
|
-
resolvers: [],
|
|
12
|
-
schemas: [],
|
|
13
|
-
middlewares: [],
|
|
14
|
-
addImportItem,
|
|
15
|
-
addImportItemType
|
|
16
|
-
};
|
|
17
|
-
await silgi.callHook("before:scan.ts", scanned);
|
|
18
|
-
const importsContent = [
|
|
19
|
-
...genImports.map(({ specifier, imports, options }) => {
|
|
20
|
-
return genImport(specifier, imports, options);
|
|
21
|
-
}),
|
|
22
|
-
...genTypeImports.map(({ specifier, imports }) => {
|
|
23
|
-
return genTypeImport(specifier, Array.isArray(imports) ? imports : [imports]);
|
|
24
|
-
}),
|
|
25
|
-
""
|
|
26
|
-
];
|
|
27
|
-
const generateExport = (name, items, defaultEmpty = "{}", asArray = false) => {
|
|
28
|
-
const hasItems = items.length > 0;
|
|
29
|
-
if (asArray) return [
|
|
30
|
-
`export const ${name} = [`,
|
|
31
|
-
...items.map((item) => ` ${item},`),
|
|
32
|
-
"]",
|
|
33
|
-
""
|
|
34
|
-
];
|
|
35
|
-
if (hasItems) return [
|
|
36
|
-
`export const ${name} = {`,
|
|
37
|
-
...items.map((item) => ` ...${item},`),
|
|
38
|
-
"}",
|
|
39
|
-
""
|
|
40
|
-
];
|
|
41
|
-
else return [`export const ${name} = ${defaultEmpty}`, ""];
|
|
42
|
-
};
|
|
43
|
-
const importData = [
|
|
44
|
-
"",
|
|
45
|
-
...generateExport("schemas", scanned.schemas),
|
|
46
|
-
...generateExport("services", scanned.services),
|
|
47
|
-
...generateExport("shareds", scanned.shareds, "undefined"),
|
|
48
|
-
...generateExport("resolvers", scanned.resolvers, "[]", true),
|
|
49
|
-
...generateExport("middlewares", scanned.middlewares)
|
|
50
|
-
];
|
|
51
|
-
await silgi.callHook("after:scan.ts", importData);
|
|
52
|
-
importData.unshift(...importsContent);
|
|
53
|
-
importData.unshift(...baseHeaderBannerComment);
|
|
54
|
-
await writeFile(resolve(silgi.options.silgi.serverDir, "scan.ts"), importData.join("\n"));
|
|
55
|
-
return importData;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
//#endregion
|
|
59
|
-
export { prepareScanFile };
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { addImports, getServicePath, relativeWithDot } from "silgi/kit";
|
|
2
|
-
import { genAugmentation, genImport, genTypeImport } from "knitwork";
|
|
3
|
-
import { generateTypes, resolveSchema } from "untyped";
|
|
4
|
-
|
|
5
|
-
//#region src/cli/scan/prepareSchema.ts
|
|
6
|
-
async function prepareSchema(silgi) {
|
|
7
|
-
const { genImports, genTypeImports, addImportItem, addImportItemType } = addImports({
|
|
8
|
-
imports: [],
|
|
9
|
-
typeImports: [{
|
|
10
|
-
specifier: "silgi/types",
|
|
11
|
-
imports: [{ name: "URIsTypes" }, { name: "SilgiRuntimeContext" }]
|
|
12
|
-
}]
|
|
13
|
-
});
|
|
14
|
-
const data = {
|
|
15
|
-
addImportItem,
|
|
16
|
-
addImportItemType,
|
|
17
|
-
options: [],
|
|
18
|
-
contexts: [],
|
|
19
|
-
setupModuleOption: [],
|
|
20
|
-
shareds: [],
|
|
21
|
-
resolvers: [],
|
|
22
|
-
events: [],
|
|
23
|
-
hooks: [],
|
|
24
|
-
runtimeHooks: [],
|
|
25
|
-
runtimeOptions: [],
|
|
26
|
-
methods: [],
|
|
27
|
-
routeRules: [],
|
|
28
|
-
metaDatas: []
|
|
29
|
-
};
|
|
30
|
-
await silgi.callHook("before:schema.ts", data);
|
|
31
|
-
const silgiScanTS = relativeWithDot(silgi.options.build.typesDir, `${silgi.options.silgi.serverDir}/scan`);
|
|
32
|
-
let addSilgiContext = false;
|
|
33
|
-
const importsContent = [
|
|
34
|
-
...genImports.map(({ specifier, imports, options }) => {
|
|
35
|
-
return genImport(specifier, imports, options);
|
|
36
|
-
}),
|
|
37
|
-
...genTypeImports.map(({ specifier, imports }) => {
|
|
38
|
-
return genTypeImport(specifier, Array.isArray(imports) ? imports : [imports]);
|
|
39
|
-
}),
|
|
40
|
-
""
|
|
41
|
-
];
|
|
42
|
-
const importData = [
|
|
43
|
-
"",
|
|
44
|
-
`type SchemaExtends = typeof import('${silgiScanTS}')['schemas']`,
|
|
45
|
-
`type BaseServices = typeof import('${silgiScanTS}')['services']`,
|
|
46
|
-
`type ResolversExtend = ${data.resolvers?.length ? data.resolvers.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
|
|
47
|
-
"",
|
|
48
|
-
"",
|
|
49
|
-
`type SilgiModuleContextExtends = ${data.contexts.length ? data.contexts.map(({ value }) => value).join(" & ") : "{}"}`,
|
|
50
|
-
"",
|
|
51
|
-
data.events.length ? `interface SilgiModuleEventsExtends extends ${data.events.map((item) => item.extends ? item.value : "").join(", ")} {
|
|
52
|
-
${data.events.map((item) => {
|
|
53
|
-
if (item.isSilgiContext) addSilgiContext = true;
|
|
54
|
-
return !item.extends && !addSilgiContext ? ` ${item.key}: ${item.value}` : item.isSilgiContext ? " context: SilgiRuntimeContext" : "";
|
|
55
|
-
}).join(",\n")}
|
|
56
|
-
}` : "interface SilgiModuleEventsExtends {}",
|
|
57
|
-
"",
|
|
58
|
-
`type SetupModuleOptionExtend = ${data.setupModuleOption?.length ? data.setupModuleOption.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
|
|
59
|
-
"",
|
|
60
|
-
`type RuntimeMethodExtends = ${data.methods?.length ? data.methods.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
|
|
61
|
-
"",
|
|
62
|
-
`type SilgiModuleSharedExtends = ${data.shareds.length ? data.shareds.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
|
|
63
|
-
"",
|
|
64
|
-
`type SilgiModuleOptionExtend = ${data.options?.length ? data.options.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
|
|
65
|
-
"",
|
|
66
|
-
`type SilgiRuntimeOptionExtends = ${data.runtimeOptions?.length ? data.runtimeOptions.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
|
|
67
|
-
"",
|
|
68
|
-
`type RouteRulesExtend = ${data.routeRules?.length ? data.routeRules.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
|
|
69
|
-
"",
|
|
70
|
-
`type MetaDataExtend = ${data.metaDatas?.length ? data.metaDatas.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
|
|
71
|
-
"",
|
|
72
|
-
silgi.options.typescript.generateRuntimeConfigTypes ? generateTypes(await resolveSchema({ ...Object.fromEntries(Object.entries(silgi.options.runtimeConfig).filter(([key]) => ![
|
|
73
|
-
"app",
|
|
74
|
-
"nitro",
|
|
75
|
-
"nuxt"
|
|
76
|
-
].includes(key))) }), {
|
|
77
|
-
interfaceName: "SilgiRuntimeConfigExtends",
|
|
78
|
-
addExport: false,
|
|
79
|
-
addDefaults: false,
|
|
80
|
-
allowExtraKeys: false,
|
|
81
|
-
indentation: 0
|
|
82
|
-
}) : "",
|
|
83
|
-
"",
|
|
84
|
-
generateTypes(await resolveSchema({ ...silgi.services ? Object.values(silgi.services).reduce((acc, service) => {
|
|
85
|
-
const { route } = getServicePath(service.path);
|
|
86
|
-
if (route) acc[route] = "";
|
|
87
|
-
return acc;
|
|
88
|
-
}, {}) : {} }), {
|
|
89
|
-
interfaceName: "RoutersExtend",
|
|
90
|
-
addExport: false,
|
|
91
|
-
addDefaults: false,
|
|
92
|
-
allowExtraKeys: false,
|
|
93
|
-
indentation: 0
|
|
94
|
-
}),
|
|
95
|
-
"",
|
|
96
|
-
`type ModuleHooksExtend = ${data.hooks?.length ? data.hooks.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
|
|
97
|
-
"",
|
|
98
|
-
`type SilgiRuntimeHooksExtends = ${data.runtimeHooks?.length ? data.runtimeHooks.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
|
|
99
|
-
"",
|
|
100
|
-
genAugmentation("silgi/types", {
|
|
101
|
-
SilgiSchema: [{}, { extends: ["SchemaExtends"] }],
|
|
102
|
-
ServicesObject: [{}, { extends: ["BaseServices"] }],
|
|
103
|
-
SilgiStorageBase: [{}, { extends: ["SilgiStorageBaseExtends"] }],
|
|
104
|
-
SilgiRuntimeContext: [{}, { extends: ["SilgiModuleContextExtends"] }],
|
|
105
|
-
SilgiEvent: [{}, { extends: ["SilgiModuleEventsExtends"] }],
|
|
106
|
-
SilgiRuntimeSharedsExtend: [{}, { extends: ["SilgiModuleSharedExtends"] }],
|
|
107
|
-
SetupModuleOption: [{}, { extends: ["SetupModuleOptionExtend"] }],
|
|
108
|
-
SilgiRuntimeOptions: [{}, { extends: ["SilgiRuntimeOptionExtends"] }],
|
|
109
|
-
SilgiRuntimeHooks: [{}, { extends: ["SilgiRuntimeHooksExtends"] }],
|
|
110
|
-
SilgiRuntimeConfig: [{}, { extends: ["SilgiRuntimeConfigExtends"] }],
|
|
111
|
-
SilgiHooks: [{}, { extends: ["ModuleHooksExtend"] }],
|
|
112
|
-
SilgiRuntimeMethods: [{}, { extends: ["RuntimeMethodExtends"] }],
|
|
113
|
-
Resolvers: [{}, { extends: ["ResolversExtend"] }],
|
|
114
|
-
SilgiModuleOptions: [{}, { extends: ["SilgiModuleOptionExtend"] }],
|
|
115
|
-
RouteRules: [{}, { extends: ["RouteRulesExtend"] }],
|
|
116
|
-
MetaData: [{}, { extends: ["MetaDataExtend"] }],
|
|
117
|
-
Routers: [{}, { extends: ["RoutersExtend"] }]
|
|
118
|
-
}).replace(/,\s*/g, "\n"),
|
|
119
|
-
"",
|
|
120
|
-
"export {}"
|
|
121
|
-
];
|
|
122
|
-
await silgi.callHook("after:schema.ts", importData);
|
|
123
|
-
importData.unshift(...importsContent);
|
|
124
|
-
return importData;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
//#endregion
|
|
128
|
-
export { prepareSchema };
|