203 lines
4.7 KiB
TypeScript
Vendored
203 lines
4.7 KiB
TypeScript
Vendored
export interface PakeCliOptions {
|
||
/** 应用名称 */
|
||
name?: string;
|
||
|
||
/** 应用icon */
|
||
icon: string;
|
||
|
||
/** 应用窗口宽度,默认 1200px */
|
||
width: number;
|
||
|
||
/** 应用窗口高度,默认 780px */
|
||
height: number;
|
||
|
||
/** 是否可以拖动,默认true */
|
||
resizable: boolean;
|
||
|
||
/** 是否可以全屏,默认 false */
|
||
fullscreen: boolean;
|
||
|
||
/** 是否开启沉浸式头部,默认为 false 不开启 ƒ*/
|
||
transparent: boolean;
|
||
|
||
/** 自定义UA,默认为不开启 ƒ*/
|
||
userAgent: string;
|
||
|
||
/** 开启菜单栏,MacOS默认开启,Windows,Linux默认不开启 ƒ*/
|
||
showMenu: boolean;
|
||
|
||
/** 开启系统托盘,MacOS默认不开启,Windows,Linux默认开启 ƒ*/
|
||
showSystemTray: boolean;
|
||
|
||
/** 托盘图标, Windows、Linux默认和应用图标共用一样的,MacOS需要提别提供, 格式为png或者ico */
|
||
systemTrayIcon: string;
|
||
|
||
// /** 递归拷贝,当url为本地文件路径时候,若开启该选项,则将url路径文件所在文件夹以及所有子文件都拷贝到pake静态文件夹,默认不开启 */
|
||
iterCopyFile: false;
|
||
|
||
/** mutli arch, Supports both Intel and m1 chips, only for Mac */
|
||
multiArch: boolean;
|
||
|
||
// 包输出产物,对linux用户有效,默认为deb,可选appimage, 或者all(即同时输出deb和all);
|
||
targets: string;
|
||
|
||
/** 调试模式,会输出更多日志 */
|
||
debug: boolean;
|
||
}
|
||
|
||
export interface PakeAppOptions extends PakeCliOptions {
|
||
identifier: string;
|
||
}
|
||
|
||
export interface TauriBuildConfig {
|
||
/**
|
||
* the path to the app's dist dir
|
||
* this path must contain your index.html file
|
||
*/
|
||
distDir: string
|
||
/**
|
||
* the app's dev server URL, or the path to the directory containing an index.html to open
|
||
*/
|
||
devPath: string
|
||
/**
|
||
* a shell command to run before `tauri dev` kicks in
|
||
*/
|
||
beforeDevCommand?: string
|
||
/**
|
||
* a shell command to run before `tauri build` kicks in
|
||
*/
|
||
beforeBuildCommand?: string
|
||
withGlobalTauri?: boolean
|
||
}
|
||
|
||
type DangerousRemoteDomainIpAccess = {
|
||
domain: string;
|
||
windows: string[];
|
||
enableTauriAPI: boolean;
|
||
schema?: string;
|
||
plugins?: string[];
|
||
}
|
||
|
||
/**
|
||
* Tauri configuration
|
||
*/
|
||
export interface TauriConfig {
|
||
/**
|
||
* build/dev configuration
|
||
*/
|
||
build: TauriBuildConfig
|
||
/**
|
||
* the context of the current `tauri dev` or `tauri build`
|
||
*/
|
||
ctx: {
|
||
/**
|
||
* whether we're building for production or not
|
||
*/
|
||
prod?: boolean
|
||
/**
|
||
* whether we're running on the dev environment or not
|
||
*/
|
||
dev?: boolean
|
||
/**
|
||
* the target of the compilation (see `rustup target list`)
|
||
*/
|
||
target?: string
|
||
/**
|
||
* whether the app should be built on debug mode or not
|
||
*/
|
||
debug?: boolean
|
||
/**
|
||
* defines we should exit the `tauri dev` process if a Rust code error is found
|
||
*/
|
||
exitOnPanic?: boolean
|
||
}
|
||
/**
|
||
* tauri root configuration object
|
||
*/
|
||
tauri: {
|
||
/**
|
||
* the embedded server configuration
|
||
*/
|
||
embeddedServer: {
|
||
/**
|
||
* whether we should use the embedded-server or the no-server mode
|
||
*/
|
||
active?: boolean
|
||
/**
|
||
* the embedded server port number or the 'random' string to generate one at runtime
|
||
*/
|
||
port?: number | 'random' | undefined
|
||
}
|
||
/**
|
||
* tauri bundler configuration
|
||
*/
|
||
bundle: {
|
||
/**
|
||
* whether we should build your app with tauri-bundler or plain `cargo build`
|
||
*/
|
||
active?: boolean
|
||
/**
|
||
* the bundle targets, currently supports ["deb", "osx", "msi", "appimage", "dmg"] or "all"
|
||
*/
|
||
targets?: string | string[]
|
||
/**
|
||
* the app's identifier
|
||
*/
|
||
identifier: string
|
||
/**
|
||
* the app's icons
|
||
*/
|
||
icon: string[]
|
||
/**
|
||
* app resources to bundle
|
||
* each resource is a path to a file or directory
|
||
* glob patterns are supported
|
||
*/
|
||
resources?: string[]
|
||
externalBin?: string[]
|
||
copyright?: string
|
||
category?: string
|
||
shortDescription?: string
|
||
longDescription?: string
|
||
deb?: {
|
||
depends?: string[]
|
||
useBootstrapper?: boolean
|
||
}
|
||
osx?: {
|
||
frameworks?: string[]
|
||
minimumSystemVersion?: string
|
||
license?: string
|
||
useBootstrapper?: boolean
|
||
}
|
||
exceptionDomain?: string
|
||
}
|
||
allowlist: {
|
||
all: boolean
|
||
[index: string]: boolean
|
||
}
|
||
window: {
|
||
title: string
|
||
width?: number
|
||
height?: number
|
||
resizable?: boolean
|
||
fullscreen?: boolean
|
||
}
|
||
security: {
|
||
csp?: string,
|
||
dangerousRemoteDomainIpcAccess?: DangerousRemoteDomainIpAccess[]
|
||
}
|
||
inliner: {
|
||
active?: boolean
|
||
}
|
||
}
|
||
plugins?: {
|
||
[name: string]: {
|
||
[key: string]: any
|
||
}
|
||
}
|
||
/**
|
||
* Whether or not to enable verbose logging
|
||
*/
|
||
verbose?: boolean
|
||
}
|