sdin
Version:
JavaScript package builder.
59 lines (58 loc) • 2.4 kB
TypeScript
import { OrNil } from "../utils/declaration";
import { SdinProject } from './project';
import { SdinAbstractModule, SdinAbstractModuleDatas, SdinAbstractModuleParams } from './abstract-module';
export type SdinFoundationModuleType = 'foundation';
export type SdinFoundationModuleMode = 'cjs' | 'esm';
export interface SdinFoundationModuleDatas extends SdinAbstractModuleDatas {
}
/**
* Sdin 基础模块选项
*/
export interface SdinFoundationModuleParams extends SdinAbstractModuleParams<SdinFoundationModuleType, SdinFoundationModuleMode> {
/** 模块构建模式(默认:cjs) */
mode?: SdinFoundationModuleMode;
/** 模块源码目录(默认:src,相对项目根目录而言) */
src?: string;
/** 模块目标目录(默认:tar/模式,相对项目根目录而言) */
tar?: string;
/** 包含的文件(相对模块源码目录而言) */
includes?: OrNil<string>[];
/** 不包含的文件(相对模块源码目录而言) */
excludes?: OrNil<string>[];
/** 压缩代码(默认:true) */
minify?: boolean;
/** 丑化代码(默认:true) */
uglify?: boolean;
/** 源代码映射(默认:压缩或丑化时启用) */
sourceMap?: boolean;
/** SASS 模块开关(默认:开启) */
sassModule?: boolean;
/** 混淆 CSS 类名(默认:开启) */
mixinClass?: boolean;
/** 在 JS 文件中引入转换后的 CSS 文件(SASS 模块启用时默认开启) */
styleImports?: boolean;
}
/**
* Sdin 基础模块配置
*/
export declare class SdinFoundationModule extends SdinAbstractModule<SdinFoundationModuleType, SdinFoundationModuleMode, SdinFoundationModuleParams, SdinFoundationModuleDatas> {
/** 包含的文件 */
readonly includes: string[];
/** 不包含的文件 */
readonly excludes: string[];
/** 压缩代码 */
readonly minify: boolean;
/** 丑化代码 */
readonly uglify: boolean;
/** 源代码映射 */
readonly sourceMap: boolean;
/** SASS 模块开关 */
readonly sassModule: boolean;
/** 混淆 CSS 类名 */
readonly mixinClass: boolean;
/** 在 JS 文件中引入转换后的 CSS 文件 */
readonly styleImports: boolean;
/** 数据宏定义 */
readonly datas: SdinFoundationModuleDatas;
constructor(project: SdinProject, params: SdinFoundationModuleParams);
}