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 { /** 模块构建模式(默认:cjs) */ mode?: SdinFoundationModuleMode; /** 模块源码目录(默认:src,相对项目根目录而言) */ src?: string; /** 模块目标目录(默认:tar/模式,相对项目根目录而言) */ tar?: string; /** 包含的文件(相对模块源码目录而言) */ includes?: OrNil[]; /** 不包含的文件(相对模块源码目录而言) */ excludes?: OrNil[]; /** 压缩代码(默认: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 { /** 包含的文件 */ 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); }