import { RollupAliasOptions } from '@rollup/plugin-alias'; import { RollupBabelInputPluginOptions } from '@rollup/plugin-babel'; import { RollupHtmlOptions } from '@rollup/plugin-html'; import { RollupReplaceOptions } from '@rollup/plugin-replace'; import { Plugin } from 'rollup'; import { PostCSSPluginConf } from 'rollup-plugin-postcss'; import { RPT2Options } from 'rollup-plugin-typescript2'; import RollupConfig from '../RollupConfig'; export interface Plugins { alias?: boolean | RollupAliasOptions; postcss?: boolean | PostCSSPluginConf; html?: boolean | RollupHtmlOptions; terser?: boolean | Record; replace?: boolean | RollupReplaceOptions; typescript?: boolean | RPT2Options; babel?: false | RollupBabelInputPluginOptions | Array; /** @description 扩展插件配置 * 可以是插件配置数组,也可以是函数,函数的this指向Rollup,通过this.plugins.push()添加 * */ externals?: Array | ((this: RollupConfig) => void); } export type BabelAbility = 'metadata' | 'decorator' | 'react';