Skip to content

Commit 692ab61

Browse files
authored
Merge pull request #6 from MicrosApp/develop
Develop
2 parents cb12442 + db82572 commit 692ab61

File tree

20 files changed

+65
-336
lines changed

20 files changed

+65
-336
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ Pluggable micro application framework.
44

55
基于webpack多入口的多仓库业务模块开发的插件应用框架脚手架.
66

7-
[![Coverage Status](https://coveralls.io/repos/github/zyao89/MicroApp-CLI/badge.svg?branch=master)](https://coveralls.io/github/zyao89/MicroApp-CLI?branch=master)
7+
[![Coverage Status][Coverage-img]][Coverage-url]
88
[![CircleCI][CircleCI-img]][CircleCI-url]
99
[![NPM Version][npm-img]][npm-url]
1010
[![NPM Download][download-img]][download-url]
1111

12+
[Coverage-img]: https://coveralls.io/repos/github/MicrosApp/MicroApp-CLI/badge.svg?branch=master
13+
[Coverage-url]: https://coveralls.io/github/MicrosApp/MicroApp-CLI?branch=master
1214
[CircleCI-img]: https://circleci.com/gh/zyao89/MicroApp-CLI/tree/master.svg?style=svg
1315
[CircleCI-url]: https://circleci.com/gh/zyao89/MicroApp-CLI/tree/master
1416
[npm-img]: https://img.shields.io/npm/v/@micro-app/cli.svg?style=flat-square
@@ -251,7 +253,7 @@ npx micro-app show methods
251253
* onServerRunFail ( 服务运行启动失败时事件 )
252254
* beforeServerEntry ( 服务进入业务逻辑前事件 )
253255
* afterServerEntry ( 服务从业务逻辑出来后事件 )
254-
* modifyWebpackCompiler ( 对服务启动前对 webpack compiler 进行修改, 需要返回所有参数 )
256+
* modifyWebpackConfig ( 对服务启动前对 webpack config 进行修改, 需要返回所有参数 )
255257
* beforeDevServer ( 开发服务创建前事件 )
256258
* afterDevServer ( 开发服务创建后事件 )
257259
* onBuildSuccess ( 构建成功时事件 )

package.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@micro-app/cli",
3-
"version": "0.1.1-rc.3",
3+
"version": "0.1.2",
44
"description": "[CLI] Pluggable micro application framework.",
55
"bin": {
66
"micro-app": "./bin/micro-app.js",
@@ -36,6 +36,10 @@
3636
},
3737
"license": "MIT",
3838
"devDependencies": {
39+
"@micro-app/plugin-koa-static-server": "^0.0.1",
40+
"@micro-app/plugin-koa-webpack-middleware": "^0.0.1",
41+
"@micro-app/plugin-vue-cli": "^0.0.2",
42+
"@micro-app/plugin-vusion-cli": "^0.0.3",
3943
"@types/jest": "^24.0.18",
4044
"babel-eslint": "^10.0.2",
4145
"coveralls": "^3.0.6",
@@ -45,14 +49,11 @@
4549
"webpack": "^4.39.2"
4650
},
4751
"dependencies": {
48-
"@micro-app/core": "^0.1.1-rc.5",
52+
"@micro-app/core": "^0.1.1",
4953
"koa": "^2.8.1",
50-
"koa-static": "^5.0.0",
5154
"opn": "^5.5.0",
5255
"shelljs": "^0.8.3",
5356
"update-notifier": "^3.0.1",
54-
"webpack-dev-middleware": "^2.0.6",
55-
"webpack-hot-middleware": "^2.25.0",
5657
"yargs-parser": "^13.1.1"
5758
},
5859
"engines": {

plugins/commands/build.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,10 @@ function runBuild(api, { type, progress }) {
5252
type,
5353
config: api.config,
5454
serverConfig: api.serverConfig,
55+
isDev: false,
5556
};
5657

57-
const { compiler, devOptions, webpackConfig } = webpackAdapter(api, { type, isDev: false, progress });
58+
const { compiler, devOptions, webpackConfig } = webpackAdapter(api, Object.assign({}, info, { progress }));
5859

5960
info.compiler = compiler;
6061
info.devOptions = devOptions;

plugins/commands/serve/index.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
11
'use strict';
22

33
const registerMethods = require('./methods');
4-
const registerVusionMethods = require('./vusionMethods');
54
const startCommand = require('./start');
65
const devCommand = require('./dev');
76

87
module.exports = function serveCommand(api, opts) {
98

109
registerMethods(api);
1110

12-
// vusion
13-
registerVusionMethods(api);
14-
1511
// start
1612
startCommand(api, opts);
1713

plugins/commands/serve/methods.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ module.exports = api => {
2626
type: api.API_TYPE.EVENT,
2727
description: '服务从业务逻辑出来后事件',
2828
});
29-
api.registerMethod('modifyWebpackCompiler', {
29+
api.registerMethod('modifyWebpackConfig', {
3030
type: api.API_TYPE.MODIFY,
31-
description: '对服务启动前对 webpack compiler 进行修改, 需要返回所有参数',
31+
description: '对服务启动前对 webpack config 进行修改, 需要返回所有参数',
3232
});
3333
api.registerMethod('beforeDevServer', {
3434
type: api.API_TYPE.EVENT,
@@ -38,9 +38,9 @@ module.exports = api => {
3838
type: api.API_TYPE.EVENT,
3939
description: '开发服务创建后事件',
4040
});
41-
api.registerMethod('modifyStaticServerOptions', {
42-
type: api.API_TYPE.MODIFY,
43-
description: '对静态服务配置进行修改, 需要返回所有参数',
44-
});
4541

42+
api.registerMethod('onDevServerMiddleware', {
43+
type: api.API_TYPE.EVENT,
44+
description: '开发服务中间件事件, 适用于 webpackMiddleware)',
45+
});
4646
};

plugins/commands/serve/runServe.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ module.exports = function runServe(api, isDev, { type, onlyNode, progress, port,
1616
};
1717

1818
if (isDev && !onlyNode) {
19-
const { compiler, devOptions, webpackConfig } = webpackAdapter(api, { type, isDev, progress });
19+
const { compiler, devOptions, webpackConfig } = webpackAdapter(api, Object.assign({}, startInfo, { progress }));
2020

2121
startInfo.compiler = compiler;
2222
startInfo.devOptions = devOptions;

plugins/commands/serve/vusionMethods.js

Lines changed: 0 additions & 18 deletions
This file was deleted.

src/adapter/index.js

Lines changed: 11 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,52 +4,34 @@ const chalk = require('chalk');
44
const tryRequire = require('try-require');
55
const _ = require('lodash');
66

7-
module.exports = function adapter(api, { type, isDev, progress }) {
7+
module.exports = function adapter(api, info) {
88
const logger = api.logger;
9-
let _webpackConfig = api.getState('webpackConfig');
10-
let _webpackDevOptions = _webpackConfig.devServer || {};
11-
12-
if (type === 'vusion') {
13-
const vusionAdapter = require('./vusion')(_webpackConfig, isDev, {
14-
modifyDefaultVusionConfig(vusionConfig) {
15-
return api.applyPluginHooks('modifyDefaultVusionConfig', vusionConfig);
16-
},
17-
resolveVusionConfig(vusionConfig) {
18-
return api.applyPluginHooks('modifyVusionConfig', vusionConfig);
19-
},
20-
resolveVusionWebpackConfig(vusionWebpackConfig) {
21-
return api.applyPluginHooks('modifyVusionWebpackConfig', vusionWebpackConfig);
22-
},
23-
});
24-
_webpackConfig = vusionAdapter.webpackConfig;
25-
_webpackDevOptions = vusionAdapter.devOptions || {};
26-
}
9+
const _webpackConfig = api.getState('webpackConfig');
10+
const _webpackDevOptions = _webpackConfig.devServer || {};
2711

2812
const webpack = tryRequire('webpack');
2913

30-
const { compiler, devOptions = {}, webpackConfig } = api.applyPluginHooks('modifyWebpackCompiler', {
31-
type,
32-
isDev,
33-
compiler: webpack && _.isFunction(webpack) ? webpack(_webpackConfig) : null,
34-
webpackConfig: _webpackConfig,
14+
const { devOptions = {}, webpackConfig } = api.applyPluginHooks('modifyWebpackConfig', {
15+
...info,
16+
webpackConfig: _.cloneDeep(_webpackConfig),
3517
devOptions: _webpackDevOptions || {},
3618
});
3719

3820
if (
39-
!_.isObject(compiler) || !compiler
40-
||
4121
!_.isPlainObject(devOptions) || !devOptions
4222
||
4323
!_.isPlainObject(webpackConfig) || !webpackConfig
4424
) {
45-
logger.error('[Plugin] modifyWebpackCompiler must return { compiler, devOptions, webpackConfig }');
46-
return progress.exit(1);
25+
logger.error('[Plugin] modifyWebpackConfig must return { devOptions, webpackConfig }');
26+
return process.exit(1);
4727
}
4828

4929
// 更新一次
5030
api.setState('webpackConfig', webpackConfig);
5131

52-
if (progress && webpack && webpack.ProgressPlugin) {
32+
const compiler = webpack(webpackConfig);
33+
34+
if (info.progress && webpack && webpack.ProgressPlugin) {
5335
try {
5436
let spinner;
5537
compiler.apply(new webpack.ProgressPlugin({

src/adapter/vusion/build.js

Lines changed: 0 additions & 22 deletions
This file was deleted.

src/adapter/vusion/config.js

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)