@farming-labs/mini-dev 0.0.2-beta.3 → 0.0.4-beta.1

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
@@ -28,6 +28,15 @@ npx @farming-labs/mini-dev -p 5173 -r ./my-app
28
28
 
29
29
  # Custom label (default: MINI-DEV)
30
30
  npx @farming-labs/mini-dev -l MY-APP
31
+
32
+ # Open browser on start
33
+ npx @farming-labs/mini-dev -o
34
+
35
+ # Expose to network (access from other devices)
36
+ npx @farming-labs/mini-dev --host
37
+
38
+ # Silent mode (no logs; auto-enabled when CI=true)
39
+ npx @farming-labs/mini-dev -s
31
40
  ```
32
41
 
33
42
  ### Programmatic API
package/dist/cli.js CHANGED
@@ -5,7 +5,10 @@ const args = process.argv.slice(2);
5
5
  let port = 3000;
6
6
  let root = process.cwd();
7
7
  let verbose = false;
8
+ let silent;
8
9
  let label;
10
+ let open = false;
11
+ let host;
9
12
  for (let i = 0; i < args.length; i++) {
10
13
  switch (args[i]) {
11
14
  case '-p':
@@ -20,6 +23,17 @@ for (let i = 0; i < args.length; i++) {
20
23
  case '--label':
21
24
  label = args[++i];
22
25
  break;
26
+ case '-o':
27
+ case '--open':
28
+ open = true;
29
+ break;
30
+ case '--host':
31
+ host = args[i + 1] && !args[i + 1].startsWith('-') ? args[++i] : '0.0.0.0';
32
+ break;
33
+ case '-s':
34
+ case '--silent':
35
+ silent = true;
36
+ break;
23
37
  case '-v':
24
38
  case '--verbose':
25
39
  verbose = true;
@@ -36,12 +50,23 @@ Options:
36
50
  -p, --port <number> Port to listen on (default: 3000)
37
51
  -r, --root <path> Root directory to serve (default: cwd)
38
52
  -l, --label <name> Dev server label in logs (default: MINI-DEV)
53
+ -o, --open Open browser on start
54
+ --host [addr] Expose to network (default: 0.0.0.0)
55
+ -s, --silent Disable all logs (auto-enabled when CI=true)
39
56
  -v, --verbose Enable verbose logging
40
57
  -h, --help Show this help
41
58
  `);
42
59
  process.exit(0);
43
60
  }
44
61
  }
45
- const server = new DevServer({ root, port, verbose, ...(label && { label }) });
62
+ const server = new DevServer({
63
+ root,
64
+ port,
65
+ host,
66
+ verbose,
67
+ open,
68
+ ...(label && { label }),
69
+ ...(silent !== undefined && { silent }),
70
+ });
46
71
  await server.start();
47
72
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,IAAI,GAAG,IAAI,CAAC;AAChB,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AACzB,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,IAAI,KAAyB,CAAC;AAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;YACzC,MAAM;QACR,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3C,MAAM;QACR,KAAK,IAAI,CAAC;QACV,KAAK,SAAS;YACZ,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAClB,MAAM;QACR,KAAK,IAAI,CAAC;QACV,KAAK,WAAW;YACd,OAAO,GAAG,IAAI,CAAC;YACf,MAAM;QACR,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;CAYjB,CAAC,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/E,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,IAAI,GAAG,IAAI,CAAC;AAChB,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AACzB,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,IAAI,MAA2B,CAAC;AAChC,IAAI,KAAyB,CAAC;AAC9B,IAAI,IAAI,GAAG,KAAK,CAAC;AACjB,IAAI,IAAwB,CAAC;AAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;YACzC,MAAM;QACR,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3C,MAAM;QACR,KAAK,IAAI,CAAC;QACV,KAAK,SAAS;YACZ,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAClB,MAAM;QACR,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM;QACR,KAAK,QAAQ;YACX,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3E,MAAM;QACR,KAAK,IAAI,CAAC;QACV,KAAK,UAAU;YACb,MAAM,GAAG,IAAI,CAAC;YACd,MAAM;QACR,KAAK,IAAI,CAAC;QACV,KAAK,WAAW;YACd,OAAO,GAAG,IAAI,CAAC;YACf,MAAM;QACR,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;CAejB,CAAC,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC;IACvB,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;CACxC,CAAC,CAAC;AACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC"}
@@ -10,12 +10,15 @@ export declare class DevServer {
10
10
  private verbose;
11
11
  private ignored;
12
12
  private label;
13
+ private silent;
14
+ private open;
13
15
  private moduleGraph;
14
16
  private clients;
15
17
  private httpServer;
16
18
  private wss;
17
19
  private watcher;
18
20
  constructor(options?: DevServerOptions);
21
+ private getNetworkUrl;
19
22
  private log;
20
23
  /**
21
24
  * Start the dev server.
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../src/dev-server.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,YAAY,CAAC;AAsB/D;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,UAAU,CAAgD;IAClE,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,OAAO,CAA0B;gBAE7B,OAAO,GAAE,gBAAqB;IAS1C,OAAO,CAAC,GAAG;IAMX;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IA6CrD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAuBb,aAAa;IAgC3B,OAAO,CAAC,QAAQ;YAKF,cAAc;YASd,SAAS;YA0BT,eAAe;IAsC7B,OAAO,CAAC,gBAAgB;IAgDxB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,YAAY;YAON,QAAQ;YAeR,WAAW;IAiBzB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,SAAS;CAQlB"}
1
+ {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../src/dev-server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,YAAY,CAAC;AAsB/D;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,UAAU,CAAgD;IAClE,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,OAAO,CAA0B;gBAE7B,OAAO,GAAE,gBAAqB;IAW1C,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,GAAG;IAMX;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAqDrD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAuBb,aAAa;IAgC3B,OAAO,CAAC,QAAQ;YAKF,cAAc;YASd,SAAS;YA0BT,eAAe;IAsC7B,OAAO,CAAC,gBAAgB;IAgDxB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,YAAY;YAON,QAAQ;YAeR,WAAW;IAiBzB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,SAAS;CAQlB"}
@@ -1,4 +1,5 @@
1
1
  import { createServer } from 'node:http';
2
+ import { networkInterfaces } from 'node:os';
2
3
  import { readFile } from 'node:fs/promises';
3
4
  import { existsSync } from 'node:fs';
4
5
  import { join, extname, dirname, resolve } from 'node:path';
@@ -39,6 +40,8 @@ export class DevServer {
39
40
  verbose;
40
41
  ignored;
41
42
  label;
43
+ silent;
44
+ open;
42
45
  moduleGraph = new Map();
43
46
  clients = new Set();
44
47
  httpServer = null;
@@ -47,13 +50,28 @@ export class DevServer {
47
50
  constructor(options = {}) {
48
51
  this.root = resolve(options.root ?? process.cwd());
49
52
  this.port = options.port ?? 3000;
50
- this.host = options.host ?? '0.0.0.0';
53
+ this.host = options.host ?? '127.0.0.1';
51
54
  this.verbose = options.verbose ?? false;
52
55
  this.ignored = options.ignored ?? /node_modules/;
53
56
  this.label = options.label ?? 'MINI-DEV';
57
+ this.silent = options.silent ?? process.env.CI === 'true';
58
+ this.open = options.open ?? false;
59
+ }
60
+ getNetworkUrl() {
61
+ if (this.host !== '0.0.0.0')
62
+ return null;
63
+ const nets = networkInterfaces();
64
+ for (const addrs of Object.values(nets ?? {})) {
65
+ for (const addr of addrs ?? []) {
66
+ if (addr.family === 'IPv4' && !addr.internal) {
67
+ return `http://${addr.address}:${this.port}/`;
68
+ }
69
+ }
70
+ }
71
+ return `http://0.0.0.0:${this.port}/`;
54
72
  }
55
73
  log(...args) {
56
- if (this.verbose) {
74
+ if (!this.silent && this.verbose) {
57
75
  console.log(`[${this.label}]`, ...args);
58
76
  }
59
77
  }
@@ -65,13 +83,13 @@ export class DevServer {
65
83
  this.wss = new WebSocketServer({ server: this.httpServer });
66
84
  this.wss.on('connection', (ws) => {
67
85
  this.clients.add(ws);
68
- const c = { dim: '\x1b[2m', green: '\x1b[32m', reset: '\x1b[0m' };
69
- console.log(`${c.dim}[${this.label}] [HMR]${c.reset} ${c.green}client connected${c.reset} (${this.clients.size} total)`);
86
+ if (!this.silent) {
87
+ const c = { dim: '\x1b[2m', green: '\x1b[32m', reset: '\x1b[0m' };
88
+ console.log(`${c.dim}[${this.label}] [HMR]${c.reset} ${c.green}client connected${c.reset} (${this.clients.size} total)`);
89
+ }
70
90
  ws.on('close', () => {
71
91
  this.clients.delete(ws);
72
- if (this.verbose) {
73
- console.log(`${c.dim}[HMR]${c.reset} client disconnected`);
74
- }
92
+ this.log('client disconnected');
75
93
  });
76
94
  });
77
95
  this.watcher = chokidar.watch(this.root, {
@@ -83,7 +101,8 @@ export class DevServer {
83
101
  return new Promise((resolve) => {
84
102
  this.httpServer.listen(this.port, this.host, () => {
85
103
  const readyMs = Date.now() - startTime;
86
- const url = `http://localhost:${this.port}/`;
104
+ const localUrl = `http://localhost:${this.port}/`;
105
+ const networkUrl = this.getNetworkUrl();
87
106
  const c = {
88
107
  dim: '\x1b[2m',
89
108
  cyan: '\x1b[36m',
@@ -92,10 +111,19 @@ export class DevServer {
92
111
  reset: '\x1b[0m',
93
112
  };
94
113
  const version = pkg.version ?? '0.0.1';
95
- console.log(`\n${c.bold}${c.cyan} ${this.label}${c.reset} v${version} ${c.dim}ready in ${readyMs}ms${c.reset}\n\n` +
96
- `${c.green} ➜${c.reset} ${c.dim}Local:${c.reset} ${url}\n` +
97
- `${c.green} ➜${c.reset} ${c.dim}Network:${c.reset} use --host to expose\n`);
98
- resolve({ port: this.port, url });
114
+ let lines = `\n${c.bold}${c.cyan} ${this.label}${c.reset} v${version} ${c.dim}ready in ${readyMs}ms${c.reset}\n\n` +
115
+ `${c.green} ➜${c.reset} ${c.dim}Local:${c.reset} ${localUrl}\n`;
116
+ if (networkUrl) {
117
+ lines += `${c.green} ➜${c.reset} ${c.dim}Network:${c.reset} ${networkUrl}\n`;
118
+ }
119
+ else {
120
+ lines += `${c.green} ➜${c.reset} ${c.dim}Network:${c.reset} use --host to expose\n`;
121
+ }
122
+ console.log(lines);
123
+ if (this.open) {
124
+ import('open').then(({ default: open }) => open(localUrl)).catch(() => { });
125
+ }
126
+ resolve({ port: this.port, url: localUrl });
99
127
  });
100
128
  });
101
129
  }
@@ -160,7 +188,7 @@ export class DevServer {
160
188
  res.end();
161
189
  }
162
190
  async serveHMRClient(res) {
163
- const code = getHMRClient('ws', this.label);
191
+ const code = getHMRClient('ws', this.label, this.silent);
164
192
  res.writeHead(200, {
165
193
  'Content-Type': 'application/javascript',
166
194
  'Cache-Control': 'no-cache',
@@ -311,13 +339,18 @@ if (typeof window !== 'undefined' && window.__MINI_DEV_HOT__) {
311
339
  const relative = file.replace(this.root, '').replace(/\\/g, '/');
312
340
  const url = relative.startsWith('/') ? relative : '/' + relative;
313
341
  this.moduleGraph.delete(url);
314
- const c = { dim: '\x1b[2m', cyan: '\x1b[36m', yellow: '\x1b[33m', reset: '\x1b[0m' };
315
- console.log(`${c.dim}[${this.label}] [HMR]${c.reset} ${c.yellow}file changed${c.reset} ${c.cyan}${url}${c.reset}`);
342
+ if (!this.silent) {
343
+ const c = { dim: '\x1b[2m', cyan: '\x1b[36m', yellow: '\x1b[33m', reset: '\x1b[0m' };
344
+ console.log(`${c.dim}[${this.label}] [HMR]${c.reset} ${c.yellow}file changed${c.reset} ${c.cyan}${url}${c.reset}`);
345
+ }
316
346
  const msg = { type: 'update', path: url, timestamp: Date.now() };
317
347
  this.broadcast(msg);
318
- const n = this.clients.size;
319
- if (n > 0) {
320
- console.log(`${c.dim}[${this.label}] [HMR]${c.reset} update sent to ${n} client${n === 1 ? '' : 's'}`);
348
+ if (!this.silent) {
349
+ const n = this.clients.size;
350
+ if (n > 0) {
351
+ const c = { dim: '\x1b[2m', reset: '\x1b[0m' };
352
+ console.log(`${c.dim}[${this.label}] [HMR]${c.reset} update sent to ${n} client${n === 1 ? '' : 's'}`);
353
+ }
321
354
  }
322
355
  }
323
356
  broadcast(message) {
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../src/dev-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../src/dev-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;AACtF,OAAO,EAAE,eAAe,EAAiC,MAAM,IAAI,CAAC;AACpE,OAAO,QAA4B,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,MAAM,UAAU,GAA2B;IACzC,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,wBAAwB;IAC/B,MAAM,EAAE,wBAAwB;IAChC,KAAK,EAAE,wBAAwB;IAC/B,MAAM,EAAE,wBAAwB;IAChC,OAAO,EAAE,kBAAkB;IAC3B,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,YAAY;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,SAAS;IACZ,IAAI,CAAS;IACb,IAAI,CAAS;IACb,IAAI,CAAS;IACb,OAAO,CAAU;IACjB,OAAO,CAAwC;IAC/C,KAAK,CAAS;IACd,MAAM,CAAU;IAChB,IAAI,CAAU;IACd,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC5C,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;IACjC,UAAU,GAA2C,IAAI,CAAC;IAC1D,GAAG,GAA2B,IAAI,CAAC;IACnC,OAAO,GAAqB,IAAI,CAAC;IAEzC,YAAY,UAA4B,EAAE;QACxC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;IACpC,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC7C,OAAO,UAAU,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,kBAAkB,IAAI,CAAC,IAAI,GAAG,CAAC;IACxC,CAAC;IAEO,GAAG,CAAC,GAAG,IAAe;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;YAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC;YAC3H,CAAC;YACD,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YACvC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;gBACjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACvC,MAAM,QAAQ,GAAG,oBAAoB,IAAI,CAAC,IAAI,GAAG,CAAC;gBAClD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxC,MAAM,CAAC,GAAG;oBACR,GAAG,EAAE,SAAS;oBACd,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,SAAS;iBACjB,CAAC;gBACF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;gBACvC,IAAI,KAAK,GACP,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,YAAY,OAAO,KAAK,CAAC,CAAC,KAAK,MAAM;oBACvG,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,KAAK,MAAM,QAAQ,IAAI,CAAC;gBACtE,IAAI,UAAU,EAAE,CAAC;oBACf,KAAK,IAAI,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,KAAK,IAAI,UAAU,IAAI,CAAC;gBACjF,CAAC;qBAAM,CAAC;oBACN,KAAK,IAAI,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,KAAK,yBAAyB,CAAC;gBACxF,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC7E,CAAC;gBACD,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,IAAI,CAAC,UAAW,CAAC,KAAK,CAAC,GAAG,EAAE;oBAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAoB,EAAE,GAAmB;QACnE,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QACzB,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE1C,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE9B,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAC3C,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC5C,CAAC;iBAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACzC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,GAAmB,EAAE,QAAgB;QACpD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3C,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,GAAmB;QAC9C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,cAAc,EAAE,wBAAwB;YACxC,eAAe,EAAE,UAAU;SAC5B,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,GAAmB;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,2DAA2D,CAAC,CAAC;QAC9F,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,SAAS,EACT,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC;YACnC,eAAe,EAAE,UAAU;SAC5B,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,GAAmB;QAC5D,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE;YACnC,MAAM;YACN,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE;YAC9B,IAAI,EAAE,WAAW;YACjB,SAAS;YACT,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;QAEH,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC;YACjC,eAAe,EAAE,UAAU;SAC5B,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC;IAEO,gBAAgB,CAAC,IAAY,EAAE,WAAmB,EAAE,YAAoB;QAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,+DAA+D;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,0BAA0B,EAC1B,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;gBACzE,OAAO,SAAS,QAAQ,MAAM,SAAS,GAAG,CAAC;YAC7C,CAAC;YACD,OAAO,SAAS,IAAI,GAAG,CAAC;QAC1B,CAAC,CACF,CAAC;QAEF,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,gCAAgC,EAChC,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;gBACzE,OAAO,WAAW,QAAQ,MAAM,SAAS,IAAI,CAAC;YAChD,CAAC;YACD,OAAO,WAAW,IAAI,IAAI,CAAC;QAC7B,CAAC,CACF,CAAC;QAEF,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,4BAA4B,EAC5B,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;gBACzE,OAAO,WAAW,QAAQ,MAAM,SAAS,GAAG,CAAC;YAC/C,CAAC;YACD,OAAO,WAAW,IAAI,GAAG,CAAC;QAC5B,CAAC,CACF,CAAC;QAEF,gFAAgF;QAChF,MAAM,SAAS,GAAG;;;;CAIrB,CAAC;QACE,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;QAEtC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CAAC,IAAY,EAAE,WAAmB,EAAE,YAAoB;QAC/E,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QACpD,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC;QAEzD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,YAAY,CAAC,IAAY;QAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;YAAE,OAAO,IAAI,GAAG,MAAM,CAAC;QAC9E,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,GAAG,KAAK,CAAC;QAC5E,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,GAAG,KAAK,CAAC;QAC5E,OAAO,IAAI,GAAG,KAAK,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,GAAmB;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC;YAClC,eAAe,EAAE,UAAU;SAC5B,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,GAAmB;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,cAAc,EAAE,WAAW;YAC3B,eAAe,EAAE,UAAU;SAC5B,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC;QAEjE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACrH,CAAC;QAED,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC1E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACV,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,KAAK,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,OAA0D;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -2,5 +2,5 @@
2
2
  * HMR client script injected into HTML pages.
3
3
  * Auto-injects HMR: re-imports entry on .ts/.tsx change, swaps CSS links.
4
4
  */
5
- export declare function getHMRClient(_wsProtocol: string, label?: string): string;
5
+ export declare function getHMRClient(_wsProtocol: string, label?: string, silent?: boolean): string;
6
6
  //# sourceMappingURL=hmr-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hmr-client.d.ts","sourceRoot":"","sources":["../src/hmr-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAa,GAAG,MAAM,CA2F5E"}
1
+ {"version":3,"file":"hmr-client.d.ts","sourceRoot":"","sources":["../src/hmr-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAa,EAAE,MAAM,UAAQ,GAAG,MAAM,CA+F5F"}
@@ -2,17 +2,21 @@
2
2
  * HMR client script injected into HTML pages.
3
3
  * Auto-injects HMR: re-imports entry on .ts/.tsx change, swaps CSS links.
4
4
  */
5
- export function getHMRClient(_wsProtocol, label = 'MINI-DEV') {
5
+ export function getHMRClient(_wsProtocol, label = 'MINI-DEV', silent = false) {
6
6
  const lbl = JSON.stringify(label);
7
+ const logFn = silent ? '(()=>{})' : "((...a)=>console.log(...a))";
8
+ const errFn = silent ? '(()=>{})' : "((...a)=>console.error(...a))";
7
9
  return `
8
10
  (function() {
9
11
  const label = ${lbl};
12
+ const log = ${logFn};
13
+ const err = ${errFn};
10
14
  const wsProto = window.location.protocol === 'https:' ? 'wss:' : 'ws:';
11
15
  const socket = new WebSocket(wsProto + '//' + location.host);
12
16
 
13
- socket.onopen = () => console.log('[' + label + '] HMR connected');
14
- socket.onclose = () => console.log('[' + label + '] HMR disconnected');
15
- socket.onerror = (e) => console.error('[' + label + '] HMR error', e);
17
+ socket.onopen = () => log('[' + label + '] HMR connected');
18
+ socket.onclose = () => log('[' + label + '] HMR disconnected');
19
+ socket.onerror = (e) => err('[' + label + '] HMR error', e);
16
20
 
17
21
  function getEntryUrl() {
18
22
  const scripts = document.querySelectorAll('script[type="module"][src]');
@@ -56,7 +60,7 @@ export function getHMRClient(_wsProtocol, label = 'MINI-DEV') {
56
60
  const url = path.startsWith('/') ? path : '/' + path;
57
61
  const fullUrl = url.split('?')[0] + '?t=' + timestamp;
58
62
 
59
- console.log('[' + label + '] HMR update:', path);
63
+ log('[' + label + '] HMR update:', path);
60
64
 
61
65
  try {
62
66
  if (/\\.css(\\?|$)/.test(url)) {
@@ -66,29 +70,29 @@ export function getHMRClient(_wsProtocol, label = 'MINI-DEV') {
66
70
  link.href = link.href.replace(/[?&]t=\\d+/, '').replace(/([?&])$/, '') + (link.href.includes('?') ? '&' : '?') + 't=' + timestamp;
67
71
  }
68
72
  }
69
- console.log('[' + label + '] CSS updated:', path);
73
+ log('[' + label + '] CSS updated:', path);
70
74
  return;
71
75
  }
72
76
  const list = acceptors.get(url);
73
77
  if (list && list.length > 0) {
74
78
  const newModule = await import(/* @vite-ignore */ fullUrl);
75
79
  for (const { callback } of list) { callback(newModule); }
76
- console.log('[' + label + '] Module updated:', path);
80
+ log('[' + label + '] Module updated:', path);
77
81
  } else {
78
82
  const entry = getEntryUrl();
79
83
  if (entry) {
80
84
  await import(/* @vite-ignore */ entry.split('?')[0] + '?t=' + timestamp);
81
- console.log('[' + label + '] App refreshed:', entry);
85
+ log('[' + label + '] App refreshed:', entry);
82
86
  } else {
83
87
  location.reload();
84
88
  }
85
89
  }
86
90
  } catch (err) {
87
- console.error('[' + label + '] HMR failed for', path, err);
91
+ err('[' + label + '] HMR failed for', path, err);
88
92
  location.reload();
89
93
  }
90
94
  } catch (err) {
91
- console.error('[' + label + '] HMR message error', err);
95
+ err('[' + label + '] HMR message error', err);
92
96
  }
93
97
  };
94
98
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"hmr-client.js","sourceRoot":"","sources":["../src/hmr-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB,EAAE,KAAK,GAAG,UAAU;IAClE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO;;kBAES,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFpB,CAAC,IAAI,EAAE,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"hmr-client.js","sourceRoot":"","sources":["../src/hmr-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB,EAAE,KAAK,GAAG,UAAU,EAAE,MAAM,GAAG,KAAK;IAClF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,6BAA6B,CAAC;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,+BAA+B,CAAC;IACpE,OAAO;;kBAES,GAAG;gBACL,KAAK;gBACL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFpB,CAAC,IAAI,EAAE,CAAC;AACT,CAAC"}
package/dist/types.d.ts CHANGED
@@ -6,7 +6,7 @@ export interface DevServerOptions {
6
6
  root?: string;
7
7
  /** Port to listen on. Defaults to `3000` */
8
8
  port?: number;
9
- /** Host to bind to. Defaults to `0.0.0.0` */
9
+ /** Host to bind to. Defaults to `127.0.0.1`; use `0.0.0.0` to expose to network */
10
10
  host?: string;
11
11
  /** Enable verbose logging */
12
12
  verbose?: boolean;
@@ -14,6 +14,10 @@ export interface DevServerOptions {
14
14
  ignored?: string | RegExp | (string | RegExp)[];
15
15
  /** Label for the dev server in logs/UI. Defaults to `MINI-DEV` */
16
16
  label?: string;
17
+ /** Disable all logs (terminal + browser HMR). Defaults to `process.env.CI === 'true'` */
18
+ silent?: boolean;
19
+ /** Open browser on start */
20
+ open?: boolean;
17
21
  }
18
22
  /**
19
23
  * Module metadata stored in the module graph.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAChD,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAChD,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farming-labs/mini-dev",
3
- "version": "0.0.2-beta.3",
3
+ "version": "0.0.4-beta.1",
4
4
  "description": "A minimal dev server with HMR for TypeScript/JS/CSS",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -43,16 +43,17 @@
43
43
  "dependencies": {
44
44
  "chokidar": "^4.0.1",
45
45
  "esbuild": "^0.24.0",
46
+ "open": "^11.0.0",
46
47
  "ws": "^8.18.0"
47
48
  },
48
49
  "devDependencies": {
49
50
  "@types/node": "^22.10.0",
50
51
  "@types/ws": "^8.5.13",
52
+ "bumpp": "^10.2.3",
51
53
  "tsc-alias": "^1.8.10",
52
54
  "tsx": "^4.19.2",
53
55
  "typescript": "^5.7.2",
54
- "vitest": "^2.1.6",
55
- "bumpp": "^10.2.3"
56
+ "vitest": "^2.1.6"
56
57
  },
57
58
  "packageManager": "pnpm@9.15.0",
58
59
  "publishConfig": {