Skip to content

Commit f129ff5

Browse files
JackWang032jialan
andauthored
fix: #176, remove compilationSuccessInfo in serverConfig to pass sche… (#177)
* fix: #176, remove compilationSuccessInfo in serverConfig to pass schema validate * fix: add IServeConfig interface to enhance server configuration options * docs(changeset): remove compilationSuccessInfo in serverConfig to pass schema validate --------- Co-authored-by: jialan <[email protected]>
1 parent a0c63bd commit f129ff5

File tree

5 files changed

+25
-14
lines changed

5 files changed

+25
-14
lines changed

.changeset/metal-plums-turn.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'ko': patch
3+
---
4+
5+
remove compilationSuccessInfo in serverConfig to pass schema validate

packages/ko/src/actions/dev.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import ActionFactory from './factory';
88
import { ICliOptions } from '../types';
99
import detect from 'detect-port';
1010
import inquirer from 'inquirer';
11+
import { omit } from 'lodash';
1112

1213
class Dev extends ActionFactory {
1314
private webpackConfig: WebpackConfig;
@@ -137,11 +138,12 @@ class Dev extends ActionFactory {
137138
process.env.NODE_ENV = 'development';
138139
this.service.freezeCliOptsWith(cliOpts);
139140
const config = await this.generateConfig();
140-
const port = config.devServer?.port as number;
141+
const serverConfig = omit(config.devServer, 'compilationSuccessInfo');
142+
const port = serverConfig.port as number;
141143
const newPort = (await this.checkPort(port)) as number;
142144
const compiler = Webpack(config);
143145
const devServer = new WebpackDevServer(
144-
{ ...config.devServer, port: newPort },
146+
{ ...serverConfig, port: newPort },
145147
compiler
146148
);
147149
await devServer.start();

packages/ko/src/types.ts

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,17 @@ import { Pattern } from 'copy-webpack-plugin';
22
import { Plugin } from 'postcss';
33
import { IKeys, IOpts } from 'ko-lints';
44
import { IOpts as AutoPolyfillsWebpackPluginOptions } from '@dtinsight/auto-polyfills-webpack-plugin';
5-
import { ClientConfiguration } from 'webpack-dev-server';
5+
import { ClientConfiguration, Configuration as WebpackDevServerConfiguration } from 'webpack-dev-server';
6+
7+
export interface IServeConfig extends WebpackDevServerConfiguration {
8+
proxy?: Record<string, any>;
9+
host: string;
10+
port: number;
11+
staticPath?: string;
12+
client?: boolean | ClientConfiguration | undefined;
13+
historyApiFallback?: any;
14+
compilationSuccessInfo?: { messages: string[]; notes?: string[] };
15+
}
616

717
export type IOptions = {
818
//common configs
@@ -88,17 +98,9 @@ export type IOptions = {
8898
/**
8999
* Options for the development server.
90100
* Docs url: https://webpack.js.org/configuration/dev-server/
91-
* @param {{proxy?: Record<string, any>, host: string, port: number, staticPath?: string, historyApiFallback?: any, compilationSuccessInfo?: { messages: string[]; notes?: string[] }}}
92-
*/
93-
serve: {
94-
proxy?: Record<string, any>;
95-
host: string;
96-
port: number;
97-
staticPath?: string;
98-
client?: boolean | ClientConfiguration | undefined;
99-
historyApiFallback?: any;
100-
compilationSuccessInfo?: { messages: string[]; notes?: string[] };
101-
};
101+
* @param {IServeConfig}
102+
*/
103+
serve: IServeConfig;
102104
// experimental features
103105
/**
104106
* Experimental features to enable.

website/docs/configuration.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ export type IOptions = {
3636
staticPath?: string; // static path that will be watch of dev server
3737
client?: boolean | ClientConfiguration | undefined; // client of dev server
3838
compilationSuccessInfo?: { messages: string[]; notes?: string[] }; // log after successful compilation, as same as friendly-errors-webpack-plugin
39+
// other all webpack-dev-server supported configs
3940
};
4041
// experimental features
4142
experiment?: {

website/i18n/zh-CN/docusaurus-plugin-content-docs/current/configuration.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export type IOptions = {
3434
staticPath?: string; // 监视的资源路径
3535
client?: boolean | ClientConfiguration | undefined; // 日志、错误捕获等配置项
3636
compilationSuccessInfo?: { messages: string[]; notes?: string[] }; // 成功编译后的日志,与 friendly-errors-webpack-plugin 相同
37+
// 其他所有 webpack-dev-server 支持的配置项
3738
};
3839
// 实验性功能
3940
experiment?: {

0 commit comments

Comments
 (0)