everything-dev
Version:
A consolidated product package for building Module Federation apps with oRPC APIs.
414 lines • 14.3 kB
text/typescript
import { BosConfig, JsonValue, RuntimeConfig, RuntimePluginConfig } from "../../types.cjs";
import { BosEnv } from "./merge.cjs";
import { ConfigExtendsError, ConfigVersionManifestError, LOCAL_PREFIX } from "./load.cjs";
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.cts.map