UNPKG

vite-plugin-prerelease

Version:
109 lines (104 loc) 2.38 kB
import * as js_cookie from 'js-cookie'; import { ResolvedConfig } from 'vite'; interface PrereleaseWidgetOptions { /** * 挂载DOM * @default document.body */ target?: string | HTMLElement; /** * 按钮悬浮 * @description false 则关闭悬浮 * @default * ```js * { offsetX: 8 } * ``` */ float?: { offsetX?: number; } | false; /** * 按钮默认位置 * @default * ```js * { x: 0, y: 0 } * ``` */ defaultPosition?: { x?: number; y?: number; }; /** * 预发布/非预发布组件文本 */ text?: { /** * 预发布文本 */ prerelease?: string; /** * 非预发布文本 */ nonPrerelease?: string; }; /** * 小组件就绪时回调 */ onReady?: () => void; } declare function resolveEnvFromConfig(config: ResolvedConfig, prereleaseEnv: string): { prerelease: { PRERELEASE: boolean; MODE: string; }; current: { [x: string]: any; }; }; type Options = { /** * 预发布插件类型 * @default 'runtime' * @description * runtime 动态修改环境变量,一个输出不同环境 * buildtime 构建预发布环境代码,多个输出多个环境 */ mode?: 'runtime' | 'buildtime'; /** * 入口文件 * 对于 csr 项目,入口通常是 src/main 或 app/main * 对于 remix/rr7 项目,入口通常是 app/root * * 默认情况自动探测 ['src/main', 'src/root', 'app/main', 'app/root'] */ entry?: string | RegExp; /** * 需要排除的环境变量,排除之后,环境变量不再被动态修改 */ excludeEnvs?: string[]; /** * 预发布环境名称 * @default 'production' */ prereleaseEnv?: string; /** * 预发布小组件配置 */ prereleaseWidget?: PrereleaseWidgetOptions; /** * debug * @internal */ __debug?: boolean; }; declare global { interface ImportMetaEnv { PRERELEASE: string; } interface Window { Cookies: typeof js_cookie; } var __env__: ReturnType<typeof resolveEnvFromConfig>; } declare function prerelease(options?: Options): Promise<any>; export { type Options, prerelease };