feat: 整理fes-plugin-built-in目录和文件名

This commit is contained in:
万纯 2020-12-01 20:54:59 +08:00
parent b3a73ab6c5
commit e1ea9aecac
17 changed files with 40 additions and 47 deletions

View File

@ -5,12 +5,12 @@ export default [
require.resolve('./plugins/registerMethods'), require.resolve('./plugins/registerMethods'),
// misc // misc
require.resolve('./plugins/routes'), require.resolve('./plugins/mics/routes'),
// generate files // generate files
require.resolve('./plugins/generateFiles/core/plugin'), require.resolve('./plugins/generateFiles/core/plugin'),
require.resolve('./plugins/generateFiles/core/routes'), require.resolve('./plugins/generateFiles/core/routes'),
require.resolve('./plugins/generateFiles/core/fesExports'), require.resolve('./plugins/generateFiles/core/exports'),
require.resolve('./plugins/generateFiles/fes'), require.resolve('./plugins/generateFiles/fes'),
// bundle configs // bundle configs
@ -48,6 +48,6 @@ export default [
require.resolve('./plugins/features/vueLoader'), require.resolve('./plugins/features/vueLoader'),
// commands // commands
require.resolve('./plugins/commands/build/build'), require.resolve('./plugins/commands/build'),
require.resolve('./plugins/commands/dev/dev') require.resolve('./plugins/commands/dev')
]; ];

View File

@ -5,8 +5,8 @@ import {
cleanTmpPathExceptCache, cleanTmpPathExceptCache,
getBundleAndConfigs, getBundleAndConfigs,
printFileSizes printFileSizes
} from '../buildDevUtils'; } from '../../../utils/buildDevUtils';
import generateFiles from '../generateFiles'; import generateFiles from '../../../utils/generateFiles';
const logger = new Logger('fes:plugin-built-in'); const logger = new Logger('fes:plugin-built-in');

View File

@ -1,25 +1,18 @@
import { Server } from '@umijs/server'; import { Server } from '@umijs/server';
import { import { delay } from '@umijs/utils';
delay
} from '@umijs/utils';
import assert from 'assert'; import assert from 'assert';
import { import {
cleanTmpPathExceptCache, cleanTmpPathExceptCache,
getBundleAndConfigs getBundleAndConfigs
} from '../buildDevUtils'; } from '../../../utils/buildDevUtils';
import generateFiles from '../generateFiles'; import generateFiles from '../../../utils/generateFiles';
import { import { watchPkg } from './watchPkg';
watchPkg
} from './watchPkg';
export default (api) => { export default (api) => {
const { const {
env, env,
paths, paths,
utils: { utils: { chalk, portfinder }
chalk,
portfinder
}
} = api; } = api;
const unwatchs = []; const unwatchs = [];
@ -80,16 +73,13 @@ export default (api) => {
// watch config change // watch config change
const unwatchConfig = api.service.configInstance.watch({ const unwatchConfig = api.service.configInstance.watch({
userConfig: api.service.userConfig, userConfig: api.service.userConfig,
onChange: async ({ onChange: async ({ pluginChanged, valueChanged }) => {
pluginChanged,
valueChanged
}) => {
if (pluginChanged.length) { if (pluginChanged.length) {
console.log(); console.log();
api.logger.info( api.logger.info(
`Plugins of ${pluginChanged `Plugins of ${pluginChanged
.map(p => p.key) .map(p => p.key)
.join(', ')} changed.`, .join(', ')} changed.`
); );
api.restartServer(); api.restartServer();
} }
@ -98,17 +88,18 @@ export default (api) => {
let regenerateTmpFiles = false; let regenerateTmpFiles = false;
const fns = []; const fns = [];
const reloadConfigs = []; const reloadConfigs = [];
valueChanged.forEach(({ valueChanged.forEach(({ key, pluginId }) => {
key, const { onChange } = api.service.plugins[pluginId].config || {};
pluginId if (
}) => {
const {
onChange onChange
} = api.service.plugins[pluginId].config || {}; === api.ConfigChangeType.regenerateTmpFiles
if (onChange === api.ConfigChangeType.regenerateTmpFiles) { ) {
regenerateTmpFiles = true; regenerateTmpFiles = true;
} }
if (!onChange || onChange === api.ConfigChangeType.reload) { if (
!onChange
|| onChange === api.ConfigChangeType.reload
) {
reload = true; reload = true;
reloadConfigs.push(key); reloadConfigs.push(key);
} }
@ -119,7 +110,11 @@ export default (api) => {
if (reload) { if (reload) {
console.log(); console.log();
api.logger.info(`Config ${reloadConfigs.join(', ')} changed.`); api.logger.info(
`Config ${reloadConfigs.join(
', '
)} changed.`
);
api.restartServer(); api.restartServer();
} else { } else {
api.service.userConfig = api.service.configInstance.getUserConfig(); api.service.userConfig = api.service.configInstance.getUserConfig();
@ -181,9 +176,7 @@ export default (api) => {
}, },
proxy: api.config.proxy, proxy: api.config.proxy,
beforeMiddlewares, beforeMiddlewares,
afterMiddlewares: [ afterMiddlewares: [...middlewares],
...middlewares
],
...(api.config.devServer || {}) ...(api.config.devServer || {})
}); });
const listenRet = await server.listen({ const listenRet = await server.listen({
@ -202,7 +195,7 @@ export default (api) => {
fn() { fn() {
assert( assert(
env === 'development', env === 'development',
'api.getPort() is only valid in development.', 'api.getPort() is only valid in development.'
); );
return port; return port;
} }
@ -213,7 +206,7 @@ export default (api) => {
fn() { fn() {
assert( assert(
env === 'development', env === 'development',
'api.getHostname() is only valid in development.', 'api.getHostname() is only valid in development.'
); );
return hostname; return hostname;
} }
@ -224,7 +217,7 @@ export default (api) => {
fn() { fn() {
assert( assert(
env === 'development', env === 'development',
'api.getServer() is only valid in development.', 'api.getServer() is only valid in development.'
); );
return server; return server;
} }

View File

@ -63,14 +63,14 @@ export function generateExports({
export default function (api) { export default function (api) {
api.onGenerateFiles(async () => { api.onGenerateFiles(async () => {
const fesExports = await api.applyPlugins({ const fesExports = await api.applyPlugins({
key: 'addFesExports', key: 'addExports',
type: api.ApplyPluginsType.add, type: api.ApplyPluginsType.add,
initialValue: [] initialValue: []
}); });
const fesExportsHook = {}; // repeated definition const fesExportsHook = {}; // repeated definition
api.writeTmpFile({ api.writeTmpFile({
path: 'core/fesExports.js', path: 'core/exports.js',
content: content:
`${fesExports `${fesExports
.map(item => generateExports({ .map(item => generateExports({

View File

@ -1,7 +1,7 @@
import { readFileSync } from 'fs'; import { readFileSync } from 'fs';
import { join } from 'path'; import { join } from 'path';
import { getFile, winPath } from '@umijs/utils'; import { getFile, winPath } from '@umijs/utils';
import { runtimePath } from '../constants'; import { runtimePath } from '../../../../utils/constants';
export default function (api) { export default function (api) {
const { const {
@ -54,7 +54,7 @@ export default function (api) {
}); });
}); });
api.addFesExports(() => ({ api.addExports(() => ({
specifiers: ['plugin'], specifiers: ['plugin'],
source: './plugin' source: './plugin'
})); }));

View File

@ -4,7 +4,7 @@ import {
join join
} from 'path'; } from 'path';
import { routesToJSON } from '@webank/fes-core'; import { routesToJSON } from '@webank/fes-core';
import { runtimePath } from '../constants'; import { runtimePath } from '../../../../utils/constants';
export default function (api) { export default function (api) {
const { const {
@ -24,7 +24,7 @@ export default function (api) {
}); });
}); });
api.addFesExports(() => ({ api.addExports(() => ({
specifiers: ['router'], specifiers: ['router'],
source: './routes.js' source: './routes.js'
})); }));

View File

@ -1,7 +1,7 @@
import { readFileSync } from 'fs'; import { readFileSync } from 'fs';
import { join } from 'path'; import { join } from 'path';
import { winPath } from '@umijs/utils'; import { winPath } from '@umijs/utils';
import { runtimePath } from './constants'; import { runtimePath } from '../../../utils/constants';
export function importsToStr( export function importsToStr(
imports, imports,

View File

@ -6,7 +6,7 @@ export default function (api) {
[ [
'onExit', 'onExit',
'onGenerateFiles', 'onGenerateFiles',
'addFesExports', 'addExports',
'addRuntimePluginKey', 'addRuntimePluginKey',
'addRuntimePlugin', 'addRuntimePlugin',
'addEntryImportsAhead', 'addEntryImportsAhead',

View File

@ -55,7 +55,7 @@ export default (api) => {
}); });
}); });
api.addFesExports(() => [ api.addExports(() => [
{ {
exportAll: true, exportAll: true,
source: `../${namespace}/request.js` source: `../${namespace}/request.js`