UNPKG

@cloudbase/lowcode-deployer

Version:

deploy weda app

182 lines (181 loc) 4.68 kB
import { BuildType } from '@cloudbase/lowcode-builder'; import { ICredentialOptions } from './types'; export { LocalStorage, TCBAPICloudApiService } from './utils/tcb-api-capi'; interface IDeployerOptions { api?: { emoji: (str: string) => string; projectPath: string; }; cloudbaseManager?: any; logger?: any; } declare class Deployer { protected logger: any; protected api: { emoji: (str: string) => string; projectPath: string; }; constructor(options: IDeployerOptions); } export declare enum EDeployMode { PRODUCTION = "PRODUCTION", PREVIEW = "PREVIEW" } export interface ILowcodeDeployerOptions extends IDeployerOptions { type: 'WEB' | 'MP'; mode: EDeployMode; projectPath: string; appId?: string; envId?: string; outputPath?: string; credential?: ICredentialOptions; ignores?: string[]; mpAppId?: string; miniprogramOptions?: { ciProject?: any; privateKeyPath?: string; privateKey?: string; projectConfig?: any; uploadOptions?: any; previewOptions?: IMiniProgramPreviewOptions; }; webOptions?: { cloudPath?: string; buildTypeList?: BuildType[]; gatewayConfig?: { domain: string; path: string; }; /** * 私有化使用自定义上传endpoint */ endpoint?: string; /** * 自定义配置上传存储桶 */ bucket?: string; region?: string; credential?: ICredentialOptions; domain?: string; }; artifactOptions?: { bucket: string; baseKey: string; region?: string; credential?: ICredentialOptions; endpoint?: string; }; account?: { uin: string; }; } interface IMiniProgramPreviewOptions { /** * 小程序的版本描述 * * @default "CloudBase Framework 一键预览" */ desc?: string; /** * 小程序应用的编译设置 */ setting?: ICompileSettings; /** * 生成的预览二维码保存在本地的路径 */ qrcodeOutputPath?: string; /** * 小程序应用的预览页面地址 * * @default pages/index/index */ pagePath?: string; /** * 小程序应用的预览页面参数 * * @default */ searchQuery?: string; /** * 小程序应用的预览页面场景值 * * @default 1011 */ scene?: number; } interface ICompileSettings { es6?: boolean; es7?: boolean; minify?: boolean; codeProtect?: boolean; minifyJS?: boolean; minifyWXML?: boolean; minifyWXSS?: boolean; autoPrefixWXSS?: boolean; disableUseStrict?: boolean; } interface IMiniProgramBuildOutput { /** * 预览版二维码链接 */ link?: string; /** * 体验版小程序版本号 */ version?: string; } export default class LowcodeDeployer extends Deployer { protected credential: any; private _projectOptions; private _localstorage; protected resolvedInputs: Required<ILowcodeDeployerOptions>; protected lowcodeService: any; protected tcbService: any; protected cloudbaseManager: any; protected account: any; constructor(options: ILowcodeDeployerOptions); /** * miniprogram-ci 疑似有问题 * 每次 project 创建出来其缓存的文件map就已确定并且无法更新 * 因此每次使用除了受控的情况,都临时新建 project 对象 */ get mpCIProject(): any; private normalizInputs; get isPrivate(): boolean; private _getDefaultWebRootPath; deploy(options?: { version?: any; }): Promise<{ /** * 小程序为二维码地址 * web 为访问链接 */ link: string; version?: string; }>; private _postCleanWebCloudStorage; private _persistArtifactOptions; private _preProcessWebDeploy; private _postProcessWebDeploy; private _postProcessAdminPortal; private _postProcessWebsiteConfig; private _getHostingInfoTask; private _getHostingInfo; private _generateLowcodeService; private _generateTcbService; private _generateMpCIProject; /** * 小程序-编译NPM */ genearteMiniprogramNPM(): Promise<void>; private _cleanNonRefFile; /** * 小程序-预览 */ _ciPreview(options?: {}): Promise<IMiniProgramBuildOutput>; /** * 小程序-上传 */ _ciUpload(options?: {}): Promise<IMiniProgramBuildOutput>; } export declare const deployer: typeof LowcodeDeployer;