@bytedance/mona
Version:
Merchant app's developing and building tools
58 lines (57 loc) • 1.57 kB
TypeScript
import WebpackDevServer from 'webpack-dev-server';
import { PluginOptions } from 'copy-webpack-plugin';
import Config from 'webpack-chain';
interface PxtransformConfig {
unitPrecision: number;
propList: string[];
selectorBlackList: (string | RegExp)[];
replace: boolean;
mediaQuery: boolean;
minPixelValue: number;
exclude: RegExp | null | ((name: string) => boolean);
}
interface PostcssPxtransformProps {
enable: boolean;
designWidth?: number;
deviceRatio?: {
[key: string]: number;
};
config?: Partial<PxtransformConfig>;
}
interface LoaderOption {
[option: string]: any;
}
export interface ProjectConfig {
projectName: string;
appId?: string;
input: string;
enableMultiBuild?: boolean;
compilerOptimization?: boolean;
transformSvgToComponentInWeb?: boolean;
library?: boolean;
runtime?: {
monaUi?: boolean | {
prefixCls?: string;
};
openSafeSdk?: boolean;
};
abilities?: {
define?: Record<string, string>;
copy?: PluginOptions;
css?: {
postcss?: {
pxtransform?: PostcssPxtransformProps;
};
typings?: boolean;
};
less?: {
lessOptions?: LoaderOption;
};
sourceMap?: Config.DevTool;
alias?: Record<string, string>;
};
dev?: WebpackDevServer.Configuration;
chain?: (config: Config) => void;
}
export declare function createProjectConfig(projectConfig: ProjectConfig): ProjectConfig;
export {};