UNPKG

zephyr-agent

Version:
139 lines • 6.27 kB
import type { ZephyrDependency } from 'zephyr-edge-contract'; import { type Snapshot, type ZeBuildAsset, type ZeBuildAssetsMap, type ZephyrBuildTarget, type ZephyrBuildStats, type ZephyrPluginOptions } from 'zephyr-edge-contract'; import type { ZePackageJson } from '../lib/build-context/ze-package-json.type.mjs'; import { type ZeGitInfo } from '../lib/build-context/ze-util-get-git-info.mjs'; import { type ResolvedZephyrConfig } from '../lib/build-context/zephyr-config.mjs'; import { type ZeLogger } from '../lib/logging/ze-log-event.mjs'; import type { ZeApplicationConfig } from '../lib/node-persist/upload-provider-options.mjs'; import { type ZeResolvedDependency } from './resolve_remote_dependency.mjs'; import type { ZephyrEngineBuilderTypes, ZephyrEngineOptions } from './zephyr-engine.types.mjs'; export { ApplicationContext, ApplicationContextRegistry } from './application-context.mjs'; export { BuildParticipantFailedError, BuildSession, BuildSessionAbortedError, BuildSessionAssetCollisionError, BuildSessionNotReadyError, BuildSessionRollbackError, BuildSessionStateError, } from './build-session.mjs'; export type { ApplicationContextOptions, ApplicationContextRegistryLocator, BeginBuildOptions, BuildContribution, BuildParticipant, BuildParticipantRole, BuildSessionIdentity, BuildSessionFailureCallback, BuildSessionLifecycleCallback, BuildSessionPublication, BuildSessionReadiness, BuildSessionStatus, PublishedBuildContribution, ZephyrEngineBuilderTypes, ZephyrEngineOptions, } from './zephyr-engine.types.mjs'; export interface ZeApplicationProperties { org: string; project: string; name: string; version: string; } /** @deprecated Prefer `ZephyrBuildTarget` from `zephyr-edge-contract`. */ export type Platform = ZephyrBuildTarget | undefined; export type DeferredZephyrEngine = { zephyr_engine_defer: Promise<ZephyrEngine>; zephyr_defer_create(options: ZephyrEngineOptions): void; }; export interface ZeDependencyPair { name: string; version: string; } export interface BuildProperties { output: string; baseHref?: string; } export declare function is_zephyr_dependency_pair(dep: ZeDependencyPair | undefined | null): dep is ZeDependencyPair; export declare function is_zephyr_resolved_dependency(dep: ZeResolvedDependency | null): dep is ZeResolvedDependency; export interface ZeUser { username: string; email: string; user_uuid: string; jwt: string; } export interface ZephyrBuildHooks { onDeployComplete?: (deploymentInfo: DeploymentInfo) => void | Promise<void>; } export interface DeploymentInfo { url: string; snapshotId: string | null; snapshot: Snapshot; federatedDependencies: ZeResolvedDependency[]; buildStats: ZephyrBuildStats; } /** * IMPORTANT: do NOT add methods to this class, keep it lean! IMPORTANT: use `await * ZephyrEngine.create(context)` to create an instance ZephyrEngine instance represents * current state of a build if there are methods - they should call pure functions from * ./internal */ export declare class ZephyrEngine { npmProperties: ZePackageJson; gitProperties: ZeGitInfo; zephyrConfig: ResolvedZephyrConfig; application_uid: string; application_configuration: Promise<ZeApplicationConfig>; applicationProperties: ZeApplicationProperties; logger: Promise<ZeLogger>; env: { isCI: boolean; target: Platform; env?: string | undefined; ssr?: boolean; }; buildProperties: BuildProperties; builder: ZephyrEngineBuilderTypes; federated_dependencies: ZeResolvedDependency[] | null; build_start_time: number | null; build_id: Promise<string> | null; snapshotId: Promise<string> | null; hash_list: Promise<{ hash_set: Set<string>; }> | null; resolved_hash_list: { hash_set: Set<string>; } | null; version_url: string | null; target_urls: string[] | null; build_stats_time: number | null; snapshot_with_envs: Snapshot | null; ze_env_vars: Record<string, string> | null; ze_env_vars_hash: string | null; worker_version: string | null; /** Whether this engine still owns state that must be finished or rolled back. */ get hasActiveBuild(): boolean; get zephyr_dependencies(): Record<string, ZephyrDependency>; /** This is intentionally PRIVATE use `await ZephyrEngine.create(context)` */ private constructor(); static defer_create(): DeferredZephyrEngine; /** Create one initialized engine and allocate its first logical build generation. */ static create(options: ZephyrEngineOptions): Promise<ZephyrEngine>; /** * Accept two argument to resolve remote dependencies: * * @param dependencyPair, Includes name and versions (the url includes localhost), * @param platform, Atm this is React Native specific to resolve correct platform `ios` * or `android` */ resolve_remote_dependencies(deps: ZeDependencyPair[], defaultLibraryType?: string): Promise<ZeResolvedDependency[] | null>; start_new_build(): Promise<void>; build_finished(): Promise<void>; /** Discard every value owned by a failed/aborted logical build generation. */ build_failed(): void; /** * Upload one sealed logical build. This method does not finish or reset the build; * callers must invoke build_finished explicitly (normally as * ApplicationContext.finish). */ upload_assets(props: { assetsMap: ZeBuildAssetsMap; buildStats: ZephyrBuildStats; mfConfig?: Pick<ZephyrPluginOptions, 'mfConfig'>['mfConfig']; mfConfigs?: Pick<ZephyrPluginOptions, 'mfConfigs'>['mfConfigs']; snapshotType?: 'csr' | 'ssr'; entrypoint?: string; hooks?: ZephyrBuildHooks; }): Promise<void>; } export interface UploadOptions { snapshot: Snapshot; assets: { assetsMap: ZeBuildAssetsMap; missingAssets: ZeBuildAsset[]; }; getDashData: (zephyr_engine?: ZephyrEngine) => ZephyrBuildStats; } export interface ZephyrDependencies { [key: string]: string; } export declare function readPackageJson(root: string, zephyrConfig?: ResolvedZephyrConfig): { zephyrDependencies?: ZephyrDependencies; }; //# sourceMappingURL=index.d.mts.map