everything-dev
Version:
A consolidated product package for building Module Federation apps with oRPC APIs.
27 lines • 1.29 kB
text/typescript
import { ApiInput, ApiRef, AppDescriptor, AppInput, AttachmentInput, AttachmentRef, UiInput, UiRef } from "./schema.mjs";
import { applyDevOverlay } from "./resolve.mjs";
//#region src/descriptor/constructors.d.ts
/**
* The authored App — returns a pure, Zod-validated, serializable descriptor.
* Constructors never execute app code (the descriptor IS the deployment plan);
* resolution and deployment consume it as data.
*/
declare function App(input: AppInput): AppDescriptor;
/** The app.api slot. */
declare function API(input: ApiInput): ApiRef;
/** The app.ui slot. */
declare function UI(input: UiInput): UiRef;
/**
* Attach another App — by local workspace path (`Plugin("auth").path("plugins/auth")`)
* or by published module reference (`Plugin("auth").extends("bos://…")`).
* The attachment's `name` (the plugin's package name, e.g.
* `@everything-dev/auth-plugin`) may differ from the registry key; pass it
* through `extra` to override.
*/
declare function Plugin<K extends string>(name: K): {
path: (dir: string, extra?: Omit<AttachmentInput, "path">) => AttachmentRef;
extends: (ref: string, extra?: Omit<AttachmentInput, "extends">) => AttachmentRef;
};
//#endregion
export { API, App, Plugin, UI, applyDevOverlay };
//# sourceMappingURL=constructors.d.mts.map