UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

414 lines • 14.3 kB
import { BosConfig, JsonValue, RuntimeConfig, RuntimePluginConfig } from "../../types.mjs"; import { BosEnv } from "./merge.mjs"; import { ConfigExtendsError, ConfigVersionManifestError, LOCAL_PREFIX } from "./load.mjs"; import { Effect } from "effect"; //#region src/services/resolution/runtime.d.ts declare function buildRuntimePluginsForConfig(config: BosConfig, baseDir: string, env: BosEnv, remotePlugins?: string[]): Promise<Record<string, RuntimePluginConfig> | undefined>; interface BuildRuntimeConfigOptions { plugins?: Record<string, RuntimePluginConfig>; hostSource?: "local" | "remote"; uiSource?: "local" | "remote"; apiSource?: "local" | "remote"; authSource?: "local" | "remote"; proxy?: string; } declare const buildRuntimeConfigEffect: (config: { account: string; extends?: string | { development?: string | undefined; production?: string | undefined; staging?: string | undefined; } | undefined; domain?: string | undefined; title?: string | undefined; description?: string | undefined; testnet?: string | undefined; staging?: { domain: string; account?: string | undefined; } | undefined; repository?: string | undefined; publish?: { auth?: "custody" | "key" | "session" | undefined; sourcePublish?: boolean | undefined; } | undefined; platform?: string | undefined; ci?: { railway?: { service: string; } | undefined; } | undefined; cdn?: { origin?: string | undefined; } | undefined; rolledBackFrom?: string | undefined; starter?: { levels?: Record<string, { include?: string[] | undefined; exclude?: string[] | undefined; }> | undefined; exclude?: string[] | undefined; } | undefined; plugins?: Record<string, string | { extends?: string | { development?: string | undefined; production?: string | undefined; staging?: string | undefined; } | undefined; name?: string | undefined; development?: string | undefined; production?: string | undefined; integrity?: string | undefined; proxy?: string | undefined; variables?: Record<string, JsonValue> | undefined; secrets?: string[] | undefined; routes?: string[] | undefined; shared?: Record<string, { version: string; requiredVersion?: string | undefined; singleton?: boolean | undefined; eager?: boolean | undefined; strictVersion?: boolean | undefined; shareScope?: string | undefined; }> | undefined; connectSrc?: string[] | undefined; ui?: { name: string; development?: string | undefined; production?: string | undefined; publicUrl?: string | undefined; integrity?: string | undefined; ssr?: string | undefined; ssrIntegrity?: string | undefined; pin?: { manifest: string; integrity: string; } | undefined; } | undefined; pin?: { manifest: string; integrity: string; } | undefined; version?: string | undefined; app?: Record<string, unknown> | undefined; plugins?: Record<string, unknown> | undefined; dependsOn?: string[] | undefined; }> | undefined; app: { host: { development: string; production?: string | undefined; integrity?: string | undefined; secrets?: string[] | undefined; pin?: { manifest: string; integrity: string; } | undefined; }; ui: { name?: string | undefined; development?: string | undefined; production?: string | undefined; publicUrl?: string | undefined; integrity?: string | undefined; ssr?: string | undefined; ssrIntegrity?: string | undefined; pin?: { manifest: string; integrity: string; } | undefined; }; api: { extends?: string | { development?: string | undefined; production?: string | undefined; staging?: string | undefined; } | undefined; name?: string | undefined; development?: string | undefined; production?: string | undefined; integrity?: string | undefined; proxy?: string | undefined; variables?: Record<string, JsonValue> | undefined; secrets?: string[] | undefined; routes?: string[] | undefined; shared?: Record<string, { version: string; requiredVersion?: string | undefined; singleton?: boolean | undefined; eager?: boolean | undefined; strictVersion?: boolean | undefined; shareScope?: string | undefined; }> | undefined; connectSrc?: string[] | undefined; ui?: { name: string; development?: string | undefined; production?: string | undefined; publicUrl?: string | undefined; integrity?: string | undefined; ssr?: string | undefined; ssrIntegrity?: string | undefined; pin?: { manifest: string; integrity: string; } | undefined; } | undefined; pin?: { manifest: string; integrity: string; } | undefined; dependsOn?: string[] | undefined; }; auth?: { extends?: string | { development?: string | undefined; production?: string | undefined; staging?: string | undefined; } | undefined; name?: string | undefined; development?: string | undefined; production?: string | undefined; integrity?: string | undefined; proxy?: string | undefined; variables?: Record<string, JsonValue> | undefined; secrets?: string[] | undefined; routes?: string[] | undefined; shared?: Record<string, { version: string; requiredVersion?: string | undefined; singleton?: boolean | undefined; eager?: boolean | undefined; strictVersion?: boolean | undefined; shareScope?: string | undefined; }> | undefined; connectSrc?: string[] | undefined; ui?: { name: string; development?: string | undefined; production?: string | undefined; publicUrl?: string | undefined; integrity?: string | undefined; ssr?: string | undefined; ssrIntegrity?: string | undefined; pin?: { manifest: string; integrity: string; } | undefined; } | undefined; pin?: { manifest: string; integrity: string; } | undefined; } | undefined; }; }, baseDir: string, env: BosEnv, options?: BuildRuntimeConfigOptions | undefined) => Effect.Effect<{ env: "development" | "production" | "staging"; account: string; domain?: string | undefined; networkId: "mainnet" | "testnet"; deploymentFingerprint?: string | undefined; title?: string | undefined; description?: string | undefined; repository?: string | undefined; host: { name: string; url: string; entry: string; entryUrl?: string | undefined; source: "local" | "remote"; integrity?: string | undefined; localPath?: string | undefined; port?: number | undefined; secrets?: string[] | undefined; remoteUrl?: string | undefined; }; ui: { name: string; url: string; entry: string; entryUrl?: string | undefined; source: "local" | "remote"; integrity?: string | undefined; localPath?: string | undefined; port?: number | undefined; publicUrl?: string | undefined; ssrUrl?: string | undefined; ssrIntegrity?: string | undefined; ssrEntryUrl?: string | undefined; browserManifestUrl?: string | undefined; manifestIntegrity?: string | undefined; sharedVersions?: Record<string, string> | undefined; dependsOn?: string[] | undefined; }; api: { name: string; url: string; entry: string; entryUrl?: string | undefined; source: "local" | "remote"; integrity?: string | undefined; localPath?: string | undefined; port?: number | undefined; proxy?: string | undefined; variables?: Record<string, JsonValue> | undefined; secrets?: string[] | undefined; shared?: Record<string, { version: string; requiredVersion?: string | undefined; singleton?: boolean | undefined; eager?: boolean | undefined; strictVersion?: boolean | undefined; shareScope?: string | undefined; }> | undefined; dependsOn?: string[] | undefined; }; auth?: { name: string; url: string; entry: string; entryUrl?: string | undefined; source: "local" | "remote"; integrity?: string | undefined; extendsRef?: string | undefined; localPath?: string | undefined; port?: number | undefined; proxy?: string | undefined; variables?: Record<string, JsonValue> | undefined; secrets?: string[] | undefined; shared?: Record<string, { version: string; requiredVersion?: string | undefined; singleton?: boolean | undefined; eager?: boolean | undefined; strictVersion?: boolean | undefined; shareScope?: string | undefined; }> | undefined; dependsOn?: string[] | undefined; ui?: { name: string; url: string; entry: string; source: "local" | "remote"; publicUrl?: string | undefined; localPath?: string | undefined; port?: number | undefined; integrity?: string | undefined; ssrUrl?: string | undefined; ssrIntegrity?: string | undefined; entryUrl?: string | undefined; ssrEntryUrl?: string | undefined; browserManifestUrl?: string | undefined; manifestIntegrity?: string | undefined; sharedVersions?: Record<string, string> | undefined; dependsOn?: string[] | undefined; } | undefined; } | undefined; plugins?: Record<string, { name: string; url: string; entry: string; source: "local" | "remote"; extendsRef?: string | undefined; localPath?: string | undefined; port?: number | undefined; proxy?: string | undefined; variables?: Record<string, JsonValue> | undefined; secrets?: string[] | undefined; integrity?: string | undefined; entryUrl?: string | undefined; shared?: Record<string, { version: string; requiredVersion?: string | undefined; singleton?: boolean | undefined; eager?: boolean | undefined; strictVersion?: boolean | undefined; shareScope?: string | undefined; }> | undefined; connectSrc?: string[] | undefined; ui?: { name: string; url: string; entry: string; source: "local" | "remote"; publicUrl?: string | undefined; localPath?: string | undefined; port?: number | undefined; integrity?: string | undefined; ssrUrl?: string | undefined; ssrIntegrity?: string | undefined; entryUrl?: string | undefined; ssrEntryUrl?: string | undefined; browserManifestUrl?: string | undefined; manifestIntegrity?: string | undefined; sharedVersions?: Record<string, string> | undefined; dependsOn?: string[] | undefined; } | undefined; routes?: string[] | undefined; dependsOn?: string[] | undefined; }> | undefined; nodes?: Record<string, { key: string; kind: "api" | "auth" | "plugin" | "ui"; name: string; url: string; entry: string; source: "local" | "remote"; dependsOn?: string[] | undefined; extendsRef?: string | undefined; localPath?: string | undefined; port?: number | undefined; proxy?: string | undefined; variables?: Record<string, JsonValue> | undefined; secrets?: string[] | undefined; integrity?: string | undefined; shared?: Record<string, { version: string; requiredVersion?: string | undefined; singleton?: boolean | undefined; eager?: boolean | undefined; strictVersion?: boolean | undefined; shareScope?: string | undefined; }> | undefined; connectSrc?: string[] | undefined; ui?: { name: string; url: string; entry: string; source: "local" | "remote"; publicUrl?: string | undefined; localPath?: string | undefined; port?: number | undefined; integrity?: string | undefined; ssrUrl?: string | undefined; ssrIntegrity?: string | undefined; entryUrl?: string | undefined; ssrEntryUrl?: string | undefined; browserManifestUrl?: string | undefined; manifestIntegrity?: string | undefined; sharedVersions?: Record<string, string> | undefined; dependsOn?: string[] | undefined; } | undefined; routes?: string[] | undefined; sourceOrigin?: "config" | "manifest" | undefined; singletonKey?: string | undefined; }> | undefined; }, ConfigExtendsError | ConfigVersionManifestError, never>; declare function buildRuntimeConfig(config: BosConfig, baseDir: string, env: BosEnv, options?: BuildRuntimeConfigOptions): Promise<RuntimeConfig>; /** * MF container identity must match the build: folder-form plugin ui sources * build under the sanitized plugin workspace package name (the generated * rsbuild config imports the plugin's package.json), so derive the same * value here — an authored `ui.name` is only a fallback, and can never * override what the container actually registers under. */ declare function resolveUiRuntimeName(uiConfig: Record<string, unknown> | undefined, localPath: string | undefined, apiName: string): string; declare function resolvePluginRuntimeName(explicitName: string | undefined, localPath: string | undefined, fallback: string): string; declare function isLocalDevelopmentTarget(value: string | undefined): value is `${typeof LOCAL_PREFIX}${string}`; declare function resolveLocalDevelopmentPath(value: string | undefined, baseDir: string): string | null; declare function resolveDevelopmentHostUrl(value: string | undefined): string; declare function getHostDevelopmentPort(value: string | undefined): number; declare function parsePort(url: string): number; //#endregion export { BuildRuntimeConfigOptions, buildRuntimeConfig, buildRuntimeConfigEffect, buildRuntimePluginsForConfig, getHostDevelopmentPort, isLocalDevelopmentTarget, parsePort, resolveDevelopmentHostUrl, resolveLocalDevelopmentPath, resolvePluginRuntimeName, resolveUiRuntimeName }; //# sourceMappingURL=runtime.d.mts.map