@difizen/umi-plugin-mana
Version:
- 支持 decorator 所需的 babel 配置,在 typescript 4 环境生效 - 支持动态路由路径 - 支持 nodenext,在 import path 中允许增加扩展名 - 支持 mana 运行时能力,基于 slot 的路由等
44 lines (36 loc) • 897 B
text/typescript
import type { IApi } from 'umi';
import decoratorPlugin from './decorator';
import manaRuntimePlugin from './mana-runtime';
import nodenextPlugin from './nodenext';
import routerBasePlugin from './router-base';
export default (api: IApi) => {
api.describe({
key: 'mana',
config: {
default: {},
schema: (joi) =>
joi
.object({
decorator: joi.boolean(),
routerBase: joi.boolean(),
nodenext: joi.boolean(),
runtime: joi.boolean(),
})
.default({}),
onChange: api.ConfigChangeType.regenerateTmpFiles,
},
});
const config = api.userConfig['mana'];
if (config.decorator) {
decoratorPlugin(api);
}
if (config.nodenext) {
nodenextPlugin(api);
}
if (config.routerBase) {
routerBasePlugin(api);
}
if (config.runtime) {
manaRuntimePlugin(api);
}
};