webpack-dev-service 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,6 +8,195 @@
8
8
  > [![Snyk Vulnerabilities][snyk-image]][snyk-url]
9
9
  > [![License][license-image]][license-url]
10
10
 
11
+ ### Usage
12
+
13
+ ```js
14
+ /**
15
+ * @module webpack
16
+ * @description Webpack config
17
+ */
18
+
19
+ import Koa from 'koa';
20
+ import path from 'path';
21
+ import memfs from 'memfs';
22
+ import webpack from 'webpack';
23
+ import dev from 'webpack-dev-service';
24
+ import HtmlWebpackPlugin from 'html-webpack-plugin';
25
+ import MiniCssExtractPlugin from 'mini-css-extract-plugin';
26
+
27
+ const progress = {
28
+ percentBy: 'entries'
29
+ };
30
+
31
+ const entryHTML = path.resolve('public/index.html');
32
+
33
+ const html = {
34
+ xhtml: true,
35
+ minify: false,
36
+ title: 'React',
37
+ filename: entryHTML,
38
+ templateParameters: { lang: 'en' },
39
+ template: path.resolve('index.ejs'),
40
+ favicon: path.resolve('src/logo.svg'),
41
+ meta: { 'theme-color': '#4285f4', viewport: 'width=device-width,initial-scale=1.0' }
42
+ };
43
+
44
+ function createMemfs() {
45
+ const volume = new memfs.Volume();
46
+ const fs = memfs.createFsFromVolume(volume);
47
+
48
+ fs.join = path.join.bind(path);
49
+
50
+ return fs;
51
+ }
52
+
53
+ function httpError(error) {
54
+ return /^(EOF|EPIPE|ECANCELED|ECONNRESET|ECONNABORTED)$/i.test(error.code);
55
+ }
56
+
57
+ const compiler = webpack({
58
+ name: 'react',
59
+ mode: 'development',
60
+ context: path.resolve('src'),
61
+ entry: [
62
+ // Entry file
63
+ path.resolve('src/index.jsx'),
64
+ // Hot client
65
+ 'webpack-dev-service/client'
66
+ ],
67
+ output: {
68
+ publicPath: '/public/',
69
+ filename: `js/[name].js`,
70
+ hashFunction: 'xxhash64',
71
+ path: path.resolve('public'),
72
+ chunkFilename: `js/[name].js`,
73
+ assetModuleFilename: `[path][name][ext]`
74
+ },
75
+ devtool: 'eval-cheap-module-source-map',
76
+ resolve: {
77
+ fallback: { url: false },
78
+ extensions: ['.js', '.jsx']
79
+ },
80
+ watchOptions: {
81
+ aggregateTimeout: 256
82
+ },
83
+ stats: {
84
+ colors: true,
85
+ chunks: false,
86
+ children: false,
87
+ entrypoints: false,
88
+ runtimeModules: false,
89
+ dependentModules: false
90
+ },
91
+ module: {
92
+ strictExportPresence: true,
93
+ rules: [
94
+ {
95
+ oneOf: [
96
+ {
97
+ test: /\.jsx?$/i,
98
+ exclude: /[\\/]node_modules[\\/]/,
99
+ use: [
100
+ {
101
+ loader: 'swc-loader',
102
+ options: {
103
+ swcrc: false,
104
+ jsc: {
105
+ parser: {
106
+ tsx: true,
107
+ syntax: 'typescript'
108
+ },
109
+ transform: {
110
+ react: {
111
+ runtime: 'automatic'
112
+ }
113
+ },
114
+ externalHelpers: true
115
+ },
116
+ env: {
117
+ targets: ['defaults', 'not IE >= 0']
118
+ }
119
+ }
120
+ }
121
+ ]
122
+ },
123
+ {
124
+ test: /\.css$/i,
125
+ exclude: /[\\/]node_modules[\\/]/,
126
+ use: [
127
+ {
128
+ loader: MiniCssExtractPlugin.loader
129
+ },
130
+ {
131
+ loader: 'css-loader',
132
+ options: {
133
+ esModule: true,
134
+ modules: {
135
+ auto: true,
136
+ localIdentName: '[local]-[hash:8]',
137
+ exportLocalsConvention: 'camelCaseOnly'
138
+ }
139
+ }
140
+ }
141
+ ]
142
+ },
143
+ {
144
+ test: /\.svg$/i,
145
+ type: 'asset/resource',
146
+ exclude: /[\\/]node_modules[\\/]/
147
+ }
148
+ ]
149
+ }
150
+ ]
151
+ },
152
+ plugins: [
153
+ new webpack.ProgressPlugin(progress),
154
+ new HtmlWebpackPlugin(html),
155
+ new MiniCssExtractPlugin({
156
+ ignoreOrder: true,
157
+ filename: 'css/[name].css',
158
+ chunkFilename: 'css/[name].css'
159
+ })
160
+ ]
161
+ });
162
+
163
+ const port = 8000;
164
+ const app = new Koa();
165
+ const fs = createMemfs();
166
+ const server = dev(compiler, { index: false, outputFileSystem: fs });
167
+ const logger = compiler.getInfrastructureLogger('webpack-dev-middleware');
168
+
169
+ app.use(async (ctx, next) => {
170
+ ctx.set({
171
+ 'Cache-Control': 'no-store',
172
+ 'Access-Control-Allow-Origin': '*',
173
+ 'Access-Control-Allow-Methods': '*',
174
+ 'Access-Control-Allow-Headers': '*',
175
+ 'X-Content-Type-Options': 'nosniff',
176
+ 'Access-Control-Allow-Credentials': 'true'
177
+ });
178
+
179
+ await next();
180
+ });
181
+
182
+ app.use(server);
183
+
184
+ app.use(async ctx => {
185
+ ctx.type = 'text/html; charset=utf-8';
186
+ ctx.body = fs.createReadStream(entryHTML);
187
+ });
188
+
189
+ app.on('error', error => {
190
+ !httpError(error) && console.error(error);
191
+ });
192
+
193
+ app.listen(port, () => {
194
+ server.waitUntilValid(() => {
195
+ logger.info(`server run at: \u001B[36mhttp://127.0.0.1:${port}\u001B[0m`);
196
+ });
197
+ });
198
+ ```
199
+
11
200
  [npm-image]: https://img.shields.io/npm/v/webpack-dev-service?style=flat-square
12
201
  [npm-url]: https://www.npmjs.org/package/webpack-dev-service
13
202
  [download-image]: https://img.shields.io/npm/dm/webpack-dev-service?style=flat-square
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
package/client/esm/hot.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webpack-dev-service",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "A koa 2 middleware for webpack development and hot reloading.",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -37,6 +37,9 @@
37
37
  "client": [
38
38
  "./types/client/main.d.ts"
39
39
  ],
40
+ "client?*": [
41
+ "./types/client/main.d.ts"
42
+ ],
40
43
  "events": [
41
44
  "./types/client/index.d.ts"
42
45
  ]
@@ -95,7 +98,7 @@
95
98
  "@swc/core": "^1.3.57",
96
99
  "@swc/helpers": "^0.5.1",
97
100
  "@types/koa-compose": "^3.2.5",
98
- "@types/node": "^20.1.2",
101
+ "@types/node": "^20.1.3",
99
102
  "css-loader": "^6.7.3",
100
103
  "html-webpack-plugin": "^5.5.1",
101
104
  "koa": "^2.14.2",
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
package/server/esm/dev.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
package/server/esm/hot.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.1.0
4
+ * @version 0.1.2
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme