huxy-node-server 1.0.0-beta.5 → 1.0.0-beta.6

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/index.js +42 -37
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "huxy-node-server",
3
- "version": "1.0.0-beta.5",
3
+ "version": "1.0.0-beta.6",
4
4
  "description": "一个精炼、高性能的 Express.js 服务器模板,为现代 Node.js 应用程序设计,提供灵活的功能和最佳实践。",
5
5
  "type": "module",
6
6
  "module": "./src/index.js",
package/src/index.js CHANGED
@@ -13,15 +13,15 @@ var m = (e = new Date()) => e.toLocaleString('zh-CN', {timeZone: 'Asia/Shanghai'
13
13
  let r = e ? 'https' : 'http',
14
14
  t = M.networkInterfaces(),
15
15
  o = [];
16
- return (Object.keys(t).map(n => o.push(...t[n])), o.filter(n => n.family === 'IPv4').map(n => `${r}://${n.address}`));
16
+ return (Object.keys(t).map(i => o.push(...t[i])), o.filter(i => i.family === 'IPv4').map(i => `${r}://${i.address}`));
17
17
  },
18
18
  x = e => {
19
19
  let r = e ?? process.argv.slice(2) ?? [],
20
20
  t = {};
21
21
  return (
22
22
  r.map(o => {
23
- let [s, i] = o.split('=');
24
- t[s] = i;
23
+ let [s, n] = o.split('=');
24
+ t[s] = n;
25
25
  }),
26
26
  t
27
27
  );
@@ -47,8 +47,8 @@ var m = (e = new Date()) => e.toLocaleString('zh-CN', {timeZone: 'Asia/Shanghai'
47
47
  d = (e = {}, r = k) => {
48
48
  let {env: t} = process;
49
49
  Object.keys(r).map(s => {
50
- let i = t[s] ?? e[s];
51
- i && U(r[s], i, e);
50
+ let n = t[s] ?? e[s];
51
+ n && U(r[s], n, e);
52
52
  });
53
53
  let o = {...e, ...x()};
54
54
  return ((o.port = o.staticPort || o.port), (o.isDev = o.NODE_ENV === 'development'), o);
@@ -64,7 +64,7 @@ var m = (e = new Date()) => e.toLocaleString('zh-CN', {timeZone: 'Asia/Shanghai'
64
64
  }),
65
65
  o.listen(Number(e), r));
66
66
  }),
67
- I = (e, r = {}) => {
67
+ y = (e, r = {}) => {
68
68
  let t = o => {
69
69
  (a.warn(`\u6536\u5230 ${o} \u4FE1\u53F7, \u{1F6D1} \u6B63\u5728\u5173\u95ED\u670D\u52A1\u5668...`),
70
70
  e.close(async () => {
@@ -83,18 +83,18 @@ var m = (e = new Date()) => e.toLocaleString('zh-CN', {timeZone: 'Asia/Shanghai'
83
83
  (a.fatal({reason: o, promise: s}, '\u26A0\uFE0F \u672A\u5904\u7406\u7684 Promise \u62D2\u7EDD'), process.exit(1));
84
84
  }));
85
85
  },
86
- y = (e, {port: r, host: t = '0.0.0.0'} = {}) =>
86
+ I = (e, {port: r, host: t = '0.0.0.0'} = {}) =>
87
87
  new Promise((o, s) => {
88
- let i = l => {
88
+ let n = l => {
89
89
  (c(), s(l));
90
90
  },
91
- n = () => {
91
+ i = () => {
92
92
  (c(), o(e));
93
93
  },
94
94
  c = () => {
95
- (e.off('error', i), e.off('listening', n));
95
+ (e.off('error', n), e.off('listening', i));
96
96
  };
97
- (e.once('error', i), e.once('listening', n), e.listen(r, t));
97
+ (e.once('error', n), e.once('listening', i), e.listen(r, t));
98
98
  });
99
99
  import 'dotenv';
100
100
  var G = {
@@ -134,10 +134,10 @@ var w = p('error-handler'),
134
134
  t.status(404).json({success: !1, timestamp: m(), status: 404, message: `\u8DEF\u7531 ${r.method} ${r.originalUrl} \u4E0D\u5B58\u5728`, url: r.originalUrl}));
135
135
  },
136
136
  b = e => (r, t, o, s) => {
137
- let i = r.status || 500,
138
- n = r.message;
139
- (w.error({message: n, timestamp: m(), stack: r.stack, url: t.originalUrl, method: t.method, ip: t.ip, userAgent: t.get('User-Agent')}, '\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF'),
140
- o.status(i).json({success: !1, timestamp: m(), message: e.isDev ? n : '\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF', stack: e.isDev ? r.stack : void 0}));
137
+ let n = r.status || 500,
138
+ i = r.message;
139
+ (w.error({message: i, timestamp: m(), stack: r.stack, url: t.originalUrl, method: t.method, ip: t.ip, userAgent: t.get('User-Agent')}, '\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF'),
140
+ o.status(n).json({success: !1, timestamp: m(), message: e.isDev ? i : '\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF', stack: e.isDev ? r.stack : void 0}));
141
141
  };
142
142
  var R = e => (r, t, o) => {
143
143
  (t.set('Cache-Control', `public, max-age=${e.cacheMaxAge ?? 300}, stale-while-revalidate=60`), o());
@@ -175,16 +175,21 @@ var J = (e, r = {}) => {
175
175
  let t = d(e),
176
176
  {port: o} = t;
177
177
  (await f(o, t.host)) || ((t.port = Number(o) + 1), a.warn(`\u7AEF\u53E3 ${o} \u5DF2\u88AB\u5360\u7528\uFF0C\u73B0\u5728\u4F7F\u7528\u7AEF\u53E3 ${t.port}`));
178
- let i = E();
179
- J(i, t);
180
- let n = Q(i);
181
- I(n, t);
178
+ let n = E();
179
+ J(n, t);
180
+ let i = Q(n);
181
+ y(i, t);
182
182
  try {
183
- await y(n, t);
184
- } catch {
185
- (a.error('\u26A0\uFE0F \u670D\u52A1\u5668\u542F\u52A8\u5931\u8D25'), process.exit(1));
183
+ await I(i, t);
184
+ } catch (c) {
185
+ (a.error({err: c}, '\u26A0\uFE0F \u670D\u52A1\u5668\u542F\u52A8\u5931\u8D25'), process.exit(1));
186
186
  }
187
- return (await r?.(t, i, n), Y(i, t), {app: i, httpServer: n, config: t});
187
+ try {
188
+ await r?.(t, n, i);
189
+ } catch (c) {
190
+ (a.error({err: c}, `\u56DE\u8C03\u51FD\u6570\u9519\u8BEF\uFF1A${c.message}`), process.exit(1));
191
+ }
192
+ return (Y(n, t), {app: n, httpServer: i, config: t});
188
193
  },
189
194
  _ = Z;
190
195
  var q = (e, r = 56) => {
@@ -194,18 +199,18 @@ var q = (e, r = 56) => {
194
199
  return `${'-'.repeat(s)}${e}${'-'.repeat(o - s)}`;
195
200
  },
196
201
  ee = (e, r, t) =>
197
- _({...g, ...e}, async (o, s, i) => {
198
- let {port: n, host: c, nodeEnv: l, basepath: P, appName: D = 'HuxyServer'} = o;
202
+ _({...g, ...e}, async (o, s, n) => {
203
+ let {port: i, host: c, nodeEnv: l, basepath: P, appName: D = 'HuxyServer'} = o;
199
204
  if (!t) {
200
205
  let H = u()
201
206
  .filter(v => v !== `http://${c}`)
202
- .map(v => `http://${v}:${n}${P}`);
207
+ .map(v => `http://${v}:${i}${P}`);
203
208
  (a.info(q(D)),
204
- a.info(`\u{1F680} \u670D\u52A1\u8FD0\u884C\u5728\u3010${l}\u3011\u73AF\u5883: http://${c}:${n}${P}`),
209
+ a.info(`\u{1F680} \u670D\u52A1\u8FD0\u884C\u5728\u3010${l}\u3011\u73AF\u5883: http://${c}:${i}${P}`),
205
210
  a.info(`-----------------[${m()}]------------------`),
206
211
  a.info({ips: H}, '\u672C\u5730\u5730\u5740\uFF1A'));
207
212
  }
208
- await r?.(o, s, i);
213
+ await r?.(o, s, n);
209
214
  }),
210
215
  h = ee;
211
216
  import se from 'express';
@@ -214,14 +219,14 @@ import {dirname as oe, resolve as re} from 'node:path';
214
219
  var T = (e = import.meta.url) => oe(te(e)),
215
220
  S = e => re(T(), e),
216
221
  $ = S;
217
- var ne = {port: 9e3, host: 'localhost', basepath: '/', buildPath: './build'},
218
- ie = (e, r) =>
219
- h({...ne, ...e}, async (t, o, s) => {
222
+ var ie = {port: 9e3, host: 'localhost', basepath: '/', buildPath: './build'},
223
+ ne = (e, r) =>
224
+ h({...ie, ...e}, async (t, o, s) => {
220
225
  await r?.(t, o, s);
221
- let {basepath: i, buildPath: n} = t;
226
+ let {basepath: n, buildPath: i} = t;
222
227
  (o.use(
223
- i,
224
- se.static(n, {
228
+ n,
229
+ se.static(i, {
225
230
  maxAge: '1y',
226
231
  immutable: !0,
227
232
  setHeaders: (c, l) => {
@@ -229,11 +234,11 @@ var ne = {port: 9e3, host: 'localhost', basepath: '/', buildPath: './build'},
229
234
  },
230
235
  }),
231
236
  ),
232
- o.get(`${i}/{*splat}`.replace('//', '/'), (c, l) => {
233
- l.sendFile($(n, 'index.html'));
237
+ o.get(`${n}/{*splat}`.replace('//', '/'), (c, l) => {
238
+ l.sendFile($(i, 'index.html'));
234
239
  }));
235
240
  }),
236
- O = ie;
241
+ O = ne;
237
242
  var tt = {startServer: h, startStatic: O, logger: a, createLogger: p, dateTime: m, localIPs: u, nodeArgs: x, getEnvConfig: d, checkPort: f, getDirName: T, resolvePath: S};
238
243
  export {
239
244
  f as checkPort,