From e1ea9aecac4a092a6b5a8623c90184314f6f6dc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=87=E7=BA=AF?= Date: Tue, 1 Dec 2020 20:54:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=20=E6=95=B4=E7=90=86fes-plugin-built-i?= =?UTF-8?q?n=E7=9B=AE=E5=BD=95=E5=92=8C=E6=96=87=E4=BB=B6=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/fes-plugin-built-in/src/index.js | 8 +-- .../commands/build/{build.js => index.js} | 4 +- .../plugins/commands/dev/{dev.js => index.js} | 57 ++++++++----------- .../core/{fesExports.js => exports/index.js} | 4 +- .../core/{plugin.js => plugin/index.js} | 4 +- .../core/{ => plugin}/plugin.tpl | 0 .../core/{ => plugin}/pluginRegister.tpl | 0 .../core/{routes.js => routes/index.js} | 4 +- .../core/{ => routes}/routes.tpl | 0 .../plugins/generateFiles/{ => fes}/fes.tpl | 0 .../generateFiles/{fes.js => fes/index.js} | 2 +- .../src/plugins/{ => misc}/routes.js | 0 .../src/plugins/registerMethods.js | 2 +- .../commands => utils}/buildDevUtils.js | 0 .../generateFiles => utils}/constants.js | 0 .../commands => utils}/generateFiles.js | 0 packages/fes-plugin-request/src/index.js | 2 +- 17 files changed, 40 insertions(+), 47 deletions(-) rename packages/fes-plugin-built-in/src/plugins/commands/build/{build.js => index.js} (95%) rename packages/fes-plugin-built-in/src/plugins/commands/dev/{dev.js => index.js} (83%) rename packages/fes-plugin-built-in/src/plugins/generateFiles/core/{fesExports.js => exports/index.js} (97%) rename packages/fes-plugin-built-in/src/plugins/generateFiles/core/{plugin.js => plugin/index.js} (95%) rename packages/fes-plugin-built-in/src/plugins/generateFiles/core/{ => plugin}/plugin.tpl (100%) rename packages/fes-plugin-built-in/src/plugins/generateFiles/core/{ => plugin}/pluginRegister.tpl (100%) rename packages/fes-plugin-built-in/src/plugins/generateFiles/core/{routes.js => routes/index.js} (89%) rename packages/fes-plugin-built-in/src/plugins/generateFiles/core/{ => routes}/routes.tpl (100%) rename packages/fes-plugin-built-in/src/plugins/generateFiles/{ => fes}/fes.tpl (100%) rename packages/fes-plugin-built-in/src/plugins/generateFiles/{fes.js => fes/index.js} (97%) rename packages/fes-plugin-built-in/src/plugins/{ => misc}/routes.js (100%) rename packages/fes-plugin-built-in/src/{plugins/commands => utils}/buildDevUtils.js (100%) rename packages/fes-plugin-built-in/src/{plugins/generateFiles => utils}/constants.js (100%) rename packages/fes-plugin-built-in/src/{plugins/commands => utils}/generateFiles.js (100%) diff --git a/packages/fes-plugin-built-in/src/index.js b/packages/fes-plugin-built-in/src/index.js index a50331b1..f6c2c8da 100644 --- a/packages/fes-plugin-built-in/src/index.js +++ b/packages/fes-plugin-built-in/src/index.js @@ -5,12 +5,12 @@ export default [ require.resolve('./plugins/registerMethods'), // misc - require.resolve('./plugins/routes'), + require.resolve('./plugins/mics/routes'), // generate files require.resolve('./plugins/generateFiles/core/plugin'), require.resolve('./plugins/generateFiles/core/routes'), - require.resolve('./plugins/generateFiles/core/fesExports'), + require.resolve('./plugins/generateFiles/core/exports'), require.resolve('./plugins/generateFiles/fes'), // bundle configs @@ -48,6 +48,6 @@ export default [ require.resolve('./plugins/features/vueLoader'), // commands - require.resolve('./plugins/commands/build/build'), - require.resolve('./plugins/commands/dev/dev') + require.resolve('./plugins/commands/build'), + require.resolve('./plugins/commands/dev') ]; diff --git a/packages/fes-plugin-built-in/src/plugins/commands/build/build.js b/packages/fes-plugin-built-in/src/plugins/commands/build/index.js similarity index 95% rename from packages/fes-plugin-built-in/src/plugins/commands/build/build.js rename to packages/fes-plugin-built-in/src/plugins/commands/build/index.js index a2ad9656..b613ec16 100644 --- a/packages/fes-plugin-built-in/src/plugins/commands/build/build.js +++ b/packages/fes-plugin-built-in/src/plugins/commands/build/index.js @@ -5,8 +5,8 @@ import { cleanTmpPathExceptCache, getBundleAndConfigs, printFileSizes -} from '../buildDevUtils'; -import generateFiles from '../generateFiles'; +} from '../../../utils/buildDevUtils'; +import generateFiles from '../../../utils/generateFiles'; const logger = new Logger('fes:plugin-built-in'); diff --git a/packages/fes-plugin-built-in/src/plugins/commands/dev/dev.js b/packages/fes-plugin-built-in/src/plugins/commands/dev/index.js similarity index 83% rename from packages/fes-plugin-built-in/src/plugins/commands/dev/dev.js rename to packages/fes-plugin-built-in/src/plugins/commands/dev/index.js index 13fc9548..3c03fbcf 100644 --- a/packages/fes-plugin-built-in/src/plugins/commands/dev/dev.js +++ b/packages/fes-plugin-built-in/src/plugins/commands/dev/index.js @@ -1,25 +1,18 @@ import { Server } from '@umijs/server'; -import { - delay -} from '@umijs/utils'; +import { delay } from '@umijs/utils'; import assert from 'assert'; import { cleanTmpPathExceptCache, getBundleAndConfigs -} from '../buildDevUtils'; -import generateFiles from '../generateFiles'; -import { - watchPkg -} from './watchPkg'; +} from '../../../utils/buildDevUtils'; +import generateFiles from '../../../utils/generateFiles'; +import { watchPkg } from './watchPkg'; export default (api) => { const { env, paths, - utils: { - chalk, - portfinder - } + utils: { chalk, portfinder } } = api; const unwatchs = []; @@ -80,16 +73,13 @@ export default (api) => { // watch config change const unwatchConfig = api.service.configInstance.watch({ userConfig: api.service.userConfig, - onChange: async ({ - pluginChanged, - valueChanged - }) => { + onChange: async ({ pluginChanged, valueChanged }) => { if (pluginChanged.length) { console.log(); api.logger.info( `Plugins of ${pluginChanged .map(p => p.key) - .join(', ')} changed.`, + .join(', ')} changed.` ); api.restartServer(); } @@ -98,17 +88,18 @@ export default (api) => { let regenerateTmpFiles = false; const fns = []; const reloadConfigs = []; - valueChanged.forEach(({ - key, - pluginId - }) => { - const { + valueChanged.forEach(({ key, pluginId }) => { + const { onChange } = api.service.plugins[pluginId].config || {}; + if ( onChange - } = api.service.plugins[pluginId].config || {}; - if (onChange === api.ConfigChangeType.regenerateTmpFiles) { + === api.ConfigChangeType.regenerateTmpFiles + ) { regenerateTmpFiles = true; } - if (!onChange || onChange === api.ConfigChangeType.reload) { + if ( + !onChange + || onChange === api.ConfigChangeType.reload + ) { reload = true; reloadConfigs.push(key); } @@ -119,7 +110,11 @@ export default (api) => { if (reload) { console.log(); - api.logger.info(`Config ${reloadConfigs.join(', ')} changed.`); + api.logger.info( + `Config ${reloadConfigs.join( + ', ' + )} changed.` + ); api.restartServer(); } else { api.service.userConfig = api.service.configInstance.getUserConfig(); @@ -181,9 +176,7 @@ export default (api) => { }, proxy: api.config.proxy, beforeMiddlewares, - afterMiddlewares: [ - ...middlewares - ], + afterMiddlewares: [...middlewares], ...(api.config.devServer || {}) }); const listenRet = await server.listen({ @@ -202,7 +195,7 @@ export default (api) => { fn() { assert( env === 'development', - 'api.getPort() is only valid in development.', + 'api.getPort() is only valid in development.' ); return port; } @@ -213,7 +206,7 @@ export default (api) => { fn() { assert( env === 'development', - 'api.getHostname() is only valid in development.', + 'api.getHostname() is only valid in development.' ); return hostname; } @@ -224,7 +217,7 @@ export default (api) => { fn() { assert( env === 'development', - 'api.getServer() is only valid in development.', + 'api.getServer() is only valid in development.' ); return server; } diff --git a/packages/fes-plugin-built-in/src/plugins/generateFiles/core/fesExports.js b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/exports/index.js similarity index 97% rename from packages/fes-plugin-built-in/src/plugins/generateFiles/core/fesExports.js rename to packages/fes-plugin-built-in/src/plugins/generateFiles/core/exports/index.js index 56fccb13..644f51e8 100644 --- a/packages/fes-plugin-built-in/src/plugins/generateFiles/core/fesExports.js +++ b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/exports/index.js @@ -63,14 +63,14 @@ export function generateExports({ export default function (api) { api.onGenerateFiles(async () => { const fesExports = await api.applyPlugins({ - key: 'addFesExports', + key: 'addExports', type: api.ApplyPluginsType.add, initialValue: [] }); const fesExportsHook = {}; // repeated definition api.writeTmpFile({ - path: 'core/fesExports.js', + path: 'core/exports.js', content: `${fesExports .map(item => generateExports({ diff --git a/packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin.js b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin/index.js similarity index 95% rename from packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin.js rename to packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin/index.js index 05c5e6e1..a7b15de7 100644 --- a/packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin.js +++ b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin/index.js @@ -1,7 +1,7 @@ import { readFileSync } from 'fs'; import { join } from 'path'; import { getFile, winPath } from '@umijs/utils'; -import { runtimePath } from '../constants'; +import { runtimePath } from '../../../../utils/constants'; export default function (api) { const { @@ -54,7 +54,7 @@ export default function (api) { }); }); - api.addFesExports(() => ({ + api.addExports(() => ({ specifiers: ['plugin'], source: './plugin' })); diff --git a/packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin.tpl b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin/plugin.tpl similarity index 100% rename from packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin.tpl rename to packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin/plugin.tpl diff --git a/packages/fes-plugin-built-in/src/plugins/generateFiles/core/pluginRegister.tpl b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin/pluginRegister.tpl similarity index 100% rename from packages/fes-plugin-built-in/src/plugins/generateFiles/core/pluginRegister.tpl rename to packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin/pluginRegister.tpl diff --git a/packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes.js b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes/index.js similarity index 89% rename from packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes.js rename to packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes/index.js index 8227ec33..8794ac7e 100644 --- a/packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes.js +++ b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes/index.js @@ -4,7 +4,7 @@ import { join } from 'path'; import { routesToJSON } from '@webank/fes-core'; -import { runtimePath } from '../constants'; +import { runtimePath } from '../../../../utils/constants'; export default function (api) { const { @@ -24,7 +24,7 @@ export default function (api) { }); }); - api.addFesExports(() => ({ + api.addExports(() => ({ specifiers: ['router'], source: './routes.js' })); diff --git a/packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes.tpl b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes/routes.tpl similarity index 100% rename from packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes.tpl rename to packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes/routes.tpl diff --git a/packages/fes-plugin-built-in/src/plugins/generateFiles/fes.tpl b/packages/fes-plugin-built-in/src/plugins/generateFiles/fes/fes.tpl similarity index 100% rename from packages/fes-plugin-built-in/src/plugins/generateFiles/fes.tpl rename to packages/fes-plugin-built-in/src/plugins/generateFiles/fes/fes.tpl diff --git a/packages/fes-plugin-built-in/src/plugins/generateFiles/fes.js b/packages/fes-plugin-built-in/src/plugins/generateFiles/fes/index.js similarity index 97% rename from packages/fes-plugin-built-in/src/plugins/generateFiles/fes.js rename to packages/fes-plugin-built-in/src/plugins/generateFiles/fes/index.js index e8954059..d9c5fab7 100644 --- a/packages/fes-plugin-built-in/src/plugins/generateFiles/fes.js +++ b/packages/fes-plugin-built-in/src/plugins/generateFiles/fes/index.js @@ -1,7 +1,7 @@ import { readFileSync } from 'fs'; import { join } from 'path'; import { winPath } from '@umijs/utils'; -import { runtimePath } from './constants'; +import { runtimePath } from '../../../utils/constants'; export function importsToStr( imports, diff --git a/packages/fes-plugin-built-in/src/plugins/routes.js b/packages/fes-plugin-built-in/src/plugins/misc/routes.js similarity index 100% rename from packages/fes-plugin-built-in/src/plugins/routes.js rename to packages/fes-plugin-built-in/src/plugins/misc/routes.js diff --git a/packages/fes-plugin-built-in/src/plugins/registerMethods.js b/packages/fes-plugin-built-in/src/plugins/registerMethods.js index 9f769fd0..0aa0cb00 100644 --- a/packages/fes-plugin-built-in/src/plugins/registerMethods.js +++ b/packages/fes-plugin-built-in/src/plugins/registerMethods.js @@ -6,7 +6,7 @@ export default function (api) { [ 'onExit', 'onGenerateFiles', - 'addFesExports', + 'addExports', 'addRuntimePluginKey', 'addRuntimePlugin', 'addEntryImportsAhead', diff --git a/packages/fes-plugin-built-in/src/plugins/commands/buildDevUtils.js b/packages/fes-plugin-built-in/src/utils/buildDevUtils.js similarity index 100% rename from packages/fes-plugin-built-in/src/plugins/commands/buildDevUtils.js rename to packages/fes-plugin-built-in/src/utils/buildDevUtils.js diff --git a/packages/fes-plugin-built-in/src/plugins/generateFiles/constants.js b/packages/fes-plugin-built-in/src/utils/constants.js similarity index 100% rename from packages/fes-plugin-built-in/src/plugins/generateFiles/constants.js rename to packages/fes-plugin-built-in/src/utils/constants.js diff --git a/packages/fes-plugin-built-in/src/plugins/commands/generateFiles.js b/packages/fes-plugin-built-in/src/utils/generateFiles.js similarity index 100% rename from packages/fes-plugin-built-in/src/plugins/commands/generateFiles.js rename to packages/fes-plugin-built-in/src/utils/generateFiles.js diff --git a/packages/fes-plugin-request/src/index.js b/packages/fes-plugin-request/src/index.js index f51719c2..cc329b79 100644 --- a/packages/fes-plugin-request/src/index.js +++ b/packages/fes-plugin-request/src/index.js @@ -55,7 +55,7 @@ export default (api) => { }); }); - api.addFesExports(() => [ + api.addExports(() => [ { exportAll: true, source: `../${namespace}/request.js`