import { Plugin } from '@design-systems/plugin'; import { SyncBailHook } from 'tapable'; import CleanCSS from 'clean-css'; import postcss from 'postcss'; import { SuccessState } from './babel'; export interface BuildArgs { /** Start the build in watch mode */ watch: boolean; /** Directory with all the source files */ inputDirectory: string; /** Directory to place all the build files */ outputDirectory: string; /** The name of the concatenated css for the component */ cssMain: string; /** What files to ignore during the build. */ ignore: string | string[]; } export { getPostCssConfig, getPostCssConfigSync } from './postcss'; export { getBabelConfig, getBabelOptions } from './babel'; /** * Build looks for js and css files in src/ and outputs a CJS, ESM, and CSS builds to /dist. * By default the same folder structure is maintained. * * - css files are replaced with their js equivalent. * - ESM builds use the .mjs extension, CJS uses .js. */ export default class BuildPlugin implements Plugin { hooks: { processCSSFiles: SyncBailHook; }; private logger; private cssFiles; private buildArgs; private typescriptCompiler; generateCSS: () => Promise; getFileList: () => Promise; transformFile: (file: string) => Promise>; onAddOrChanged: (file: string) => Promise; onDelete: (file: string) => Promise; isIgnored: (filename: string) => string | undefined; watch: () => Promise; run(args: BuildArgs): Promise; } //# sourceMappingURL=index.d.ts.map