@hanzogui/static-worker 3.0.6 → 4.3.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.
@@ -2,33 +2,35 @@ var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf,
6
- __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: !0
11
- });
12
- },
13
- __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
16
  get: () => from[key],
16
17
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
18
  });
18
- return to;
19
- };
19
+ }
20
+ return to;
21
+ };
20
22
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
- value: mod,
27
- enumerable: !0
28
- }) : target, mod)),
29
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
- value: !0
31
- }), mod);
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
32
34
  var index_exports = {};
33
35
  __export(index_exports, {
34
36
  clearWorkerCache: () => clearWorkerCache,
@@ -42,37 +44,46 @@ __export(index_exports, {
42
44
  watchGuiConfig: () => watchGuiConfig
43
45
  });
44
46
  module.exports = __toCommonJS(index_exports);
45
- var import_node_url = require("node:url"),
46
- import_piscina = __toESM(require("piscina"), 1);
47
- const import_meta = {},
48
- getPragmaOptions = async props => {
49
- const {
50
- default: Static
51
- } = await import("@hanzogui/static");
52
- return Static.getPragmaOptions(props);
53
- },
54
- getWorkerPath = () => typeof import_meta < "u" && import_meta.url ? (0, import_node_url.fileURLToPath)(import_meta.resolve("@hanzogui/static/worker")).replace(/\.mjs$/, ".js") : require.resolve("@hanzogui/static/worker").replace(/\.mjs$/, ".js"),
55
- POOL_KEY = "__gui_piscina_pool__",
56
- CLOSING_KEY = "__gui_piscina_closing__",
57
- TASK_COUNT_KEY = "__gui_piscina_task_count__",
58
- RECYCLING_KEY = "__gui_piscina_recycling__",
59
- MAX_TASKS_BEFORE_RECYCLE = 1e3;
47
+ var import_node_url = require("node:url");
48
+ var import_piscina = __toESM(require("piscina"), 1);
49
+ const import_meta = {};
50
+ const getPragmaOptions = async props => {
51
+ const {
52
+ default: Static
53
+ } = await import("@hanzogui/static");
54
+ return Static.getPragmaOptions(props);
55
+ };
56
+ const getWorkerPath = () => {
57
+ if (typeof import_meta !== "undefined" && import_meta.url) {
58
+ const workerPath = (0, import_node_url.fileURLToPath)(import_meta.resolve("@hanzogui/static/worker"));
59
+ return workerPath.replace(/\.mjs$/, ".js");
60
+ }
61
+ return require.resolve("@hanzogui/static/worker").replace(/\.mjs$/, ".js");
62
+ };
63
+ const POOL_KEY = "__gui_piscina_pool__";
64
+ const CLOSING_KEY = "__gui_piscina_closing__";
65
+ const TASK_COUNT_KEY = "__gui_piscina_task_count__";
66
+ const RECYCLING_KEY = "__gui_piscina_recycling__";
67
+ const MAX_TASKS_BEFORE_RECYCLE = 1e3;
60
68
  function getSharedPool() {
61
69
  return globalThis[POOL_KEY] ?? null;
62
70
  }
63
71
  function setSharedPool(pool) {
72
+ ;
64
73
  globalThis[POOL_KEY] = pool;
65
74
  }
66
75
  function isClosing() {
67
- return globalThis[CLOSING_KEY] === !0;
76
+ return globalThis[CLOSING_KEY] === true;
68
77
  }
69
78
  function setClosing(value) {
79
+ ;
70
80
  globalThis[CLOSING_KEY] = value;
71
81
  }
72
82
  function isRecycling() {
73
- return globalThis[RECYCLING_KEY] === !0;
83
+ return globalThis[RECYCLING_KEY] === true;
74
84
  }
75
85
  function setRecycling(value) {
86
+ ;
76
87
  globalThis[RECYCLING_KEY] = value;
77
88
  }
78
89
  function getTaskCount() {
@@ -80,9 +91,11 @@ function getTaskCount() {
80
91
  }
81
92
  function incrementTaskCount() {
82
93
  const count = getTaskCount() + 1;
83
- return globalThis[TASK_COUNT_KEY] = count, count;
94
+ globalThis[TASK_COUNT_KEY] = count;
95
+ return count;
84
96
  }
85
97
  function resetTaskCount() {
98
+ ;
86
99
  globalThis[TASK_COUNT_KEY] = 0;
87
100
  }
88
101
  function createPool() {
@@ -97,47 +110,68 @@ function createPool() {
97
110
  // no resourceLimits - we rely on task-based recycling instead
98
111
  // V8 resourceLimits cause "Terminating worker thread" messages when hit
99
112
  });
100
- return pool.on("error", err => {
101
- isClosing() || isRecycling() || (err && typeof err == "object" && "message" in err ? String(err.message) : "").includes("Terminating worker thread") || console.error("[hanzo-gui] Worker pool error:", err);
102
- }), pool;
113
+ pool.on("error", err => {
114
+ if (isClosing() || isRecycling()) return;
115
+ const message = err && typeof err === "object" && "message" in err ? String(err.message) : "";
116
+ if (message.includes("Terminating worker thread")) return;
117
+ console.error("[hanzo-gui] Worker pool error:", err);
118
+ });
119
+ return pool;
103
120
  }
104
121
  function getPool() {
105
122
  let pool = getSharedPool();
106
- return pool || (pool = createPool(), setSharedPool(pool)), pool;
123
+ if (!pool) {
124
+ pool = createPool();
125
+ setSharedPool(pool);
126
+ }
127
+ return pool;
107
128
  }
108
129
  async function loadGui(options) {
109
- const pool = getPool(),
110
- task = {
111
- type: "extractToClassNames",
112
- source: "// dummy",
113
- sourcePath: "__dummy__.tsx",
114
- options: {
115
- components: ["@hanzo/gui"],
116
- ...options
117
- },
118
- shouldPrintDebug: !1
119
- };
130
+ const pool = getPool();
131
+ const task = {
132
+ type: "extractToClassNames",
133
+ source: "// dummy",
134
+ sourcePath: "__dummy__.tsx",
135
+ options: {
136
+ components: ["@hanzo/gui"],
137
+ ...options
138
+ },
139
+ shouldPrintDebug: false
140
+ };
120
141
  try {
121
- return await pool.run(task, {
142
+ await pool.run(task, {
122
143
  name: "runTask"
123
- }), {
124
- success: !0
144
+ });
145
+ return {
146
+ success: true
125
147
  };
126
148
  } catch (error) {
127
- throw console.error("[static-worker] Error loading Hanzo GUI config:", error), error;
149
+ console.error("[static-worker] Error loading GUI config:", error);
150
+ throw error;
128
151
  }
129
152
  }
130
153
  async function recyclePool(options) {
131
154
  if (isClosing() || isRecycling()) return;
132
155
  const oldPool = getSharedPool();
133
156
  if (!oldPool) return;
134
- setRecycling(!0);
157
+ setRecycling(true);
135
158
  const start = Date.now();
136
159
  try {
137
- const originalStderr = process.stderr.write.bind(process.stderr),
138
- originalStdout = process.stdout.write.bind(process.stdout),
139
- filter = (chunk, ...args) => !!(typeof chunk == "string" ? chunk : chunk?.toString?.() || "").includes("Terminating worker thread");
140
- process.stderr.write = (chunk, ...args) => filter(chunk) ? !0 : originalStderr(chunk, ...args), process.stdout.write = (chunk, ...args) => filter(chunk) ? !0 : originalStdout(chunk, ...args);
160
+ const originalStderr = process.stderr.write.bind(process.stderr);
161
+ const originalStdout = process.stdout.write.bind(process.stdout);
162
+ const filter = (chunk, ...args) => {
163
+ const str = typeof chunk === "string" ? chunk : chunk?.toString?.() || "";
164
+ if (str.includes("Terminating worker thread")) return true;
165
+ return false;
166
+ };
167
+ process.stderr.write = (chunk, ...args) => {
168
+ if (filter(chunk)) return true;
169
+ return originalStderr(chunk, ...args);
170
+ };
171
+ process.stdout.write = (chunk, ...args) => {
172
+ if (filter(chunk)) return true;
173
+ return originalStdout(chunk, ...args);
174
+ };
141
175
  const newPool = createPool();
142
176
  setSharedPool(newPool);
143
177
  const warmupTask = {
@@ -147,17 +181,22 @@ async function recyclePool(options) {
147
181
  options: {
148
182
  ...options,
149
183
  // skip the "built config" log on warmup since it's a recycle
150
- _skipBuildLog: !0
184
+ _skipBuildLog: true
151
185
  },
152
- shouldPrintDebug: !1
186
+ shouldPrintDebug: false
153
187
  };
154
188
  await newPool.run(warmupTask, {
155
189
  name: "runTask"
156
- }), oldPool.removeAllListeners(), oldPool.destroy().catch(() => {}), setTimeout(() => {
157
- process.stderr.write = originalStderr, process.stdout.write = originalStdout;
158
- }), console.log(` \u267B\uFE0F [hanzo-gui] recycled worker pool (${Date.now() - start}ms)`);
190
+ });
191
+ oldPool.removeAllListeners();
192
+ oldPool.destroy().catch(() => {});
193
+ setTimeout(() => {
194
+ process.stderr.write = originalStderr;
195
+ process.stdout.write = originalStdout;
196
+ });
197
+ console.log(` \u267B\uFE0F [hanzo-gui] recycled worker pool (${Date.now() - start}ms)`);
159
198
  } finally {
160
- setRecycling(!1);
199
+ setRecycling(false);
161
200
  }
162
201
  }
163
202
  async function loadGuiBuildConfig(guiOptions) {
@@ -171,55 +210,72 @@ async function extractToClassNames(params) {
171
210
  source,
172
211
  sourcePath = "",
173
212
  options,
174
- shouldPrintDebug = !1
213
+ shouldPrintDebug = false
175
214
  } = params;
176
- if (typeof source != "string") throw new Error("`source` must be a string of javascript");
215
+ if (typeof source !== "string") {
216
+ throw new Error("`source` must be a string of javascript");
217
+ }
177
218
  const task = {
178
- type: "extractToClassNames",
179
- source,
180
- sourcePath,
181
- options,
182
- shouldPrintDebug
183
- },
184
- result = await getPool().run(task, {
185
- name: "runTask"
186
- });
219
+ type: "extractToClassNames",
220
+ source,
221
+ sourcePath,
222
+ options,
223
+ shouldPrintDebug
224
+ };
225
+ const pool = getPool();
226
+ const result = await pool.run(task, {
227
+ name: "runTask"
228
+ });
187
229
  if (!result.success) {
188
- const errorMessage = [`[gui-extract] Error processing file: ${sourcePath || "(unknown)"}`, "", result.error, result.stack ? `
189
- ${result.stack}` : ""].filter(Boolean).join(`
190
- `);
230
+ const errorMessage = [`[gui-extract] Error processing file: ${sourcePath || "(unknown)"}`, ``, result.error, result.stack ? `
231
+ ${result.stack}` : ""].filter(Boolean).join("\n");
191
232
  throw new Error(errorMessage);
192
233
  }
193
- return incrementTaskCount() >= MAX_TASKS_BEFORE_RECYCLE && (resetTaskCount(), recyclePool(options).catch(() => {})), result.data;
234
+ const count = incrementTaskCount();
235
+ if (count >= MAX_TASKS_BEFORE_RECYCLE) {
236
+ resetTaskCount();
237
+ recyclePool(options).catch(() => {});
238
+ }
239
+ return result.data;
194
240
  }
195
241
  async function extractToNative(sourceFileName, sourceCode, options) {
196
242
  const task = {
197
- type: "extractToNative",
198
- sourceFileName,
199
- sourceCode,
200
- options
201
- },
202
- result = await getPool().run(task, {
203
- name: "runTask"
204
- });
243
+ type: "extractToNative",
244
+ sourceFileName,
245
+ sourceCode,
246
+ options
247
+ };
248
+ const pool = getPool();
249
+ const result = await pool.run(task, {
250
+ name: "runTask"
251
+ });
205
252
  if (!result.success) {
206
- const errorMessage = [`[gui-extract] Error processing file: ${sourceFileName || "(unknown)"}`, "", result.error, result.stack ? `
207
- ${result.stack}` : ""].filter(Boolean).join(`
208
- `);
253
+ const errorMessage = [`[gui-extract] Error processing file: ${sourceFileName || "(unknown)"}`, ``, result.error, result.stack ? `
254
+ ${result.stack}` : ""].filter(Boolean).join("\n");
209
255
  throw new Error(errorMessage);
210
256
  }
211
- return incrementTaskCount() >= MAX_TASKS_BEFORE_RECYCLE && (resetTaskCount(), recyclePool(options).catch(() => {})), result.data;
257
+ const count = incrementTaskCount();
258
+ if (count >= MAX_TASKS_BEFORE_RECYCLE) {
259
+ resetTaskCount();
260
+ recyclePool(options).catch(() => {});
261
+ }
262
+ return result.data;
212
263
  }
213
264
  async function watchGuiConfig(options) {
214
265
  const {
215
- default: Static
216
- } = await import("@hanzogui/static"),
217
- watcher = await Static.watchGuiConfig(options);
218
- if (!watcher) return;
266
+ default: Static
267
+ } = await import("@hanzogui/static");
268
+ const watcher = await Static.watchGuiConfig(options);
269
+ if (!watcher) {
270
+ return;
271
+ }
219
272
  const originalDispose = watcher.dispose;
220
273
  return {
221
274
  dispose: () => {
222
- originalDispose(), getSharedPool() && clearWorkerCache();
275
+ originalDispose();
276
+ if (getSharedPool()) {
277
+ clearWorkerCache();
278
+ }
223
279
  }
224
280
  };
225
281
  }
@@ -236,21 +292,25 @@ async function clearWorkerCache() {
236
292
  async function destroyPool() {
237
293
  const pool = getSharedPool();
238
294
  if (pool) {
239
- setClosing(!0);
295
+ setClosing(true);
240
296
  try {
241
297
  await pool.close();
242
298
  } finally {
243
- setSharedPool(null), setClosing(!1);
299
+ setSharedPool(null);
300
+ setClosing(false);
244
301
  }
245
302
  }
246
303
  }
247
304
  function getPoolStats() {
248
305
  const pool = getSharedPool();
249
- return pool ? {
306
+ if (!pool) {
307
+ return null;
308
+ }
309
+ return {
250
310
  threads: pool.threads.length,
251
311
  queueSize: pool.queueSize,
252
312
  completed: pool.completed,
253
313
  duration: pool.duration,
254
314
  utilization: pool.utilization
255
- } : null;
315
+ };
256
316
  }
package/dist/esm/index.js CHANGED
@@ -1,33 +1,42 @@
1
1
  import { fileURLToPath } from "node:url";
2
2
  import Piscina from "piscina";
3
3
  const getPragmaOptions = async props => {
4
- const {
5
- default: Static
6
- } = await import("@hanzogui/static");
7
- return Static.getPragmaOptions(props);
8
- },
9
- getWorkerPath = () => typeof import.meta < "u" && import.meta.url ? fileURLToPath(import.meta.resolve("@hanzogui/static/worker")).replace(/\.mjs$/, ".js") : require.resolve("@hanzogui/static/worker").replace(/\.mjs$/, ".js"),
10
- POOL_KEY = "__gui_piscina_pool__",
11
- CLOSING_KEY = "__gui_piscina_closing__",
12
- TASK_COUNT_KEY = "__gui_piscina_task_count__",
13
- RECYCLING_KEY = "__gui_piscina_recycling__",
14
- MAX_TASKS_BEFORE_RECYCLE = 1e3;
4
+ const {
5
+ default: Static
6
+ } = await import("@hanzogui/static");
7
+ return Static.getPragmaOptions(props);
8
+ };
9
+ const getWorkerPath = () => {
10
+ if (typeof import.meta !== "undefined" && import.meta.url) {
11
+ const workerPath = fileURLToPath(import.meta.resolve("@hanzogui/static/worker"));
12
+ return workerPath.replace(/\.mjs$/, ".js");
13
+ }
14
+ return require.resolve("@hanzogui/static/worker").replace(/\.mjs$/, ".js");
15
+ };
16
+ const POOL_KEY = "__gui_piscina_pool__";
17
+ const CLOSING_KEY = "__gui_piscina_closing__";
18
+ const TASK_COUNT_KEY = "__gui_piscina_task_count__";
19
+ const RECYCLING_KEY = "__gui_piscina_recycling__";
20
+ const MAX_TASKS_BEFORE_RECYCLE = 1e3;
15
21
  function getSharedPool() {
16
22
  return globalThis[POOL_KEY] ?? null;
17
23
  }
18
24
  function setSharedPool(pool) {
25
+ ;
19
26
  globalThis[POOL_KEY] = pool;
20
27
  }
21
28
  function isClosing() {
22
- return globalThis[CLOSING_KEY] === !0;
29
+ return globalThis[CLOSING_KEY] === true;
23
30
  }
24
31
  function setClosing(value) {
32
+ ;
25
33
  globalThis[CLOSING_KEY] = value;
26
34
  }
27
35
  function isRecycling() {
28
- return globalThis[RECYCLING_KEY] === !0;
36
+ return globalThis[RECYCLING_KEY] === true;
29
37
  }
30
38
  function setRecycling(value) {
39
+ ;
31
40
  globalThis[RECYCLING_KEY] = value;
32
41
  }
33
42
  function getTaskCount() {
@@ -35,9 +44,11 @@ function getTaskCount() {
35
44
  }
36
45
  function incrementTaskCount() {
37
46
  const count = getTaskCount() + 1;
38
- return globalThis[TASK_COUNT_KEY] = count, count;
47
+ globalThis[TASK_COUNT_KEY] = count;
48
+ return count;
39
49
  }
40
50
  function resetTaskCount() {
51
+ ;
41
52
  globalThis[TASK_COUNT_KEY] = 0;
42
53
  }
43
54
  function createPool() {
@@ -52,47 +63,68 @@ function createPool() {
52
63
  // no resourceLimits - we rely on task-based recycling instead
53
64
  // V8 resourceLimits cause "Terminating worker thread" messages when hit
54
65
  });
55
- return pool.on("error", err => {
56
- isClosing() || isRecycling() || (err && typeof err == "object" && "message" in err ? String(err.message) : "").includes("Terminating worker thread") || console.error("[hanzo-gui] Worker pool error:", err);
57
- }), pool;
66
+ pool.on("error", err => {
67
+ if (isClosing() || isRecycling()) return;
68
+ const message = err && typeof err === "object" && "message" in err ? String(err.message) : "";
69
+ if (message.includes("Terminating worker thread")) return;
70
+ console.error("[hanzo-gui] Worker pool error:", err);
71
+ });
72
+ return pool;
58
73
  }
59
74
  function getPool() {
60
75
  let pool = getSharedPool();
61
- return pool || (pool = createPool(), setSharedPool(pool)), pool;
76
+ if (!pool) {
77
+ pool = createPool();
78
+ setSharedPool(pool);
79
+ }
80
+ return pool;
62
81
  }
63
82
  async function loadGui(options) {
64
- const pool = getPool(),
65
- task = {
66
- type: "extractToClassNames",
67
- source: "// dummy",
68
- sourcePath: "__dummy__.tsx",
69
- options: {
70
- components: ["@hanzo/gui"],
71
- ...options
72
- },
73
- shouldPrintDebug: !1
74
- };
83
+ const pool = getPool();
84
+ const task = {
85
+ type: "extractToClassNames",
86
+ source: "// dummy",
87
+ sourcePath: "__dummy__.tsx",
88
+ options: {
89
+ components: ["@hanzo/gui"],
90
+ ...options
91
+ },
92
+ shouldPrintDebug: false
93
+ };
75
94
  try {
76
- return await pool.run(task, {
95
+ await pool.run(task, {
77
96
  name: "runTask"
78
- }), {
79
- success: !0
97
+ });
98
+ return {
99
+ success: true
80
100
  };
81
101
  } catch (error) {
82
- throw console.error("[static-worker] Error loading Hanzo GUI config:", error), error;
102
+ console.error("[static-worker] Error loading GUI config:", error);
103
+ throw error;
83
104
  }
84
105
  }
85
106
  async function recyclePool(options) {
86
107
  if (isClosing() || isRecycling()) return;
87
108
  const oldPool = getSharedPool();
88
109
  if (!oldPool) return;
89
- setRecycling(!0);
110
+ setRecycling(true);
90
111
  const start = Date.now();
91
112
  try {
92
- const originalStderr = process.stderr.write.bind(process.stderr),
93
- originalStdout = process.stdout.write.bind(process.stdout),
94
- filter = (chunk, ...args) => !!(typeof chunk == "string" ? chunk : chunk?.toString?.() || "").includes("Terminating worker thread");
95
- process.stderr.write = (chunk, ...args) => filter(chunk) ? !0 : originalStderr(chunk, ...args), process.stdout.write = (chunk, ...args) => filter(chunk) ? !0 : originalStdout(chunk, ...args);
113
+ const originalStderr = process.stderr.write.bind(process.stderr);
114
+ const originalStdout = process.stdout.write.bind(process.stdout);
115
+ const filter = (chunk, ...args) => {
116
+ const str = typeof chunk === "string" ? chunk : chunk?.toString?.() || "";
117
+ if (str.includes("Terminating worker thread")) return true;
118
+ return false;
119
+ };
120
+ process.stderr.write = (chunk, ...args) => {
121
+ if (filter(chunk)) return true;
122
+ return originalStderr(chunk, ...args);
123
+ };
124
+ process.stdout.write = (chunk, ...args) => {
125
+ if (filter(chunk)) return true;
126
+ return originalStdout(chunk, ...args);
127
+ };
96
128
  const newPool = createPool();
97
129
  setSharedPool(newPool);
98
130
  const warmupTask = {
@@ -102,17 +134,22 @@ async function recyclePool(options) {
102
134
  options: {
103
135
  ...options,
104
136
  // skip the "built config" log on warmup since it's a recycle
105
- _skipBuildLog: !0
137
+ _skipBuildLog: true
106
138
  },
107
- shouldPrintDebug: !1
139
+ shouldPrintDebug: false
108
140
  };
109
141
  await newPool.run(warmupTask, {
110
142
  name: "runTask"
111
- }), oldPool.removeAllListeners(), oldPool.destroy().catch(() => {}), setTimeout(() => {
112
- process.stderr.write = originalStderr, process.stdout.write = originalStdout;
113
- }), console.log(` \u267B\uFE0F [hanzo-gui] recycled worker pool (${Date.now() - start}ms)`);
143
+ });
144
+ oldPool.removeAllListeners();
145
+ oldPool.destroy().catch(() => {});
146
+ setTimeout(() => {
147
+ process.stderr.write = originalStderr;
148
+ process.stdout.write = originalStdout;
149
+ });
150
+ console.log(` \u267B\uFE0F [hanzo-gui] recycled worker pool (${Date.now() - start}ms)`);
114
151
  } finally {
115
- setRecycling(!1);
152
+ setRecycling(false);
116
153
  }
117
154
  }
118
155
  async function loadGuiBuildConfig(guiOptions) {
@@ -126,55 +163,72 @@ async function extractToClassNames(params) {
126
163
  source,
127
164
  sourcePath = "",
128
165
  options,
129
- shouldPrintDebug = !1
166
+ shouldPrintDebug = false
130
167
  } = params;
131
- if (typeof source != "string") throw new Error("`source` must be a string of javascript");
168
+ if (typeof source !== "string") {
169
+ throw new Error("`source` must be a string of javascript");
170
+ }
132
171
  const task = {
133
- type: "extractToClassNames",
134
- source,
135
- sourcePath,
136
- options,
137
- shouldPrintDebug
138
- },
139
- result = await getPool().run(task, {
140
- name: "runTask"
141
- });
172
+ type: "extractToClassNames",
173
+ source,
174
+ sourcePath,
175
+ options,
176
+ shouldPrintDebug
177
+ };
178
+ const pool = getPool();
179
+ const result = await pool.run(task, {
180
+ name: "runTask"
181
+ });
142
182
  if (!result.success) {
143
- const errorMessage = [`[gui-extract] Error processing file: ${sourcePath || "(unknown)"}`, "", result.error, result.stack ? `
144
- ${result.stack}` : ""].filter(Boolean).join(`
145
- `);
183
+ const errorMessage = [`[gui-extract] Error processing file: ${sourcePath || "(unknown)"}`, ``, result.error, result.stack ? `
184
+ ${result.stack}` : ""].filter(Boolean).join("\n");
146
185
  throw new Error(errorMessage);
147
186
  }
148
- return incrementTaskCount() >= MAX_TASKS_BEFORE_RECYCLE && (resetTaskCount(), recyclePool(options).catch(() => {})), result.data;
187
+ const count = incrementTaskCount();
188
+ if (count >= MAX_TASKS_BEFORE_RECYCLE) {
189
+ resetTaskCount();
190
+ recyclePool(options).catch(() => {});
191
+ }
192
+ return result.data;
149
193
  }
150
194
  async function extractToNative(sourceFileName, sourceCode, options) {
151
195
  const task = {
152
- type: "extractToNative",
153
- sourceFileName,
154
- sourceCode,
155
- options
156
- },
157
- result = await getPool().run(task, {
158
- name: "runTask"
159
- });
196
+ type: "extractToNative",
197
+ sourceFileName,
198
+ sourceCode,
199
+ options
200
+ };
201
+ const pool = getPool();
202
+ const result = await pool.run(task, {
203
+ name: "runTask"
204
+ });
160
205
  if (!result.success) {
161
- const errorMessage = [`[gui-extract] Error processing file: ${sourceFileName || "(unknown)"}`, "", result.error, result.stack ? `
162
- ${result.stack}` : ""].filter(Boolean).join(`
163
- `);
206
+ const errorMessage = [`[gui-extract] Error processing file: ${sourceFileName || "(unknown)"}`, ``, result.error, result.stack ? `
207
+ ${result.stack}` : ""].filter(Boolean).join("\n");
164
208
  throw new Error(errorMessage);
165
209
  }
166
- return incrementTaskCount() >= MAX_TASKS_BEFORE_RECYCLE && (resetTaskCount(), recyclePool(options).catch(() => {})), result.data;
210
+ const count = incrementTaskCount();
211
+ if (count >= MAX_TASKS_BEFORE_RECYCLE) {
212
+ resetTaskCount();
213
+ recyclePool(options).catch(() => {});
214
+ }
215
+ return result.data;
167
216
  }
168
217
  async function watchGuiConfig(options) {
169
218
  const {
170
- default: Static
171
- } = await import("@hanzogui/static"),
172
- watcher = await Static.watchGuiConfig(options);
173
- if (!watcher) return;
219
+ default: Static
220
+ } = await import("@hanzogui/static");
221
+ const watcher = await Static.watchGuiConfig(options);
222
+ if (!watcher) {
223
+ return;
224
+ }
174
225
  const originalDispose = watcher.dispose;
175
226
  return {
176
227
  dispose: () => {
177
- originalDispose(), getSharedPool() && clearWorkerCache();
228
+ originalDispose();
229
+ if (getSharedPool()) {
230
+ clearWorkerCache();
231
+ }
178
232
  }
179
233
  };
180
234
  }
@@ -191,23 +245,27 @@ async function clearWorkerCache() {
191
245
  async function destroyPool() {
192
246
  const pool = getSharedPool();
193
247
  if (pool) {
194
- setClosing(!0);
248
+ setClosing(true);
195
249
  try {
196
250
  await pool.close();
197
251
  } finally {
198
- setSharedPool(null), setClosing(!1);
252
+ setSharedPool(null);
253
+ setClosing(false);
199
254
  }
200
255
  }
201
256
  }
202
257
  function getPoolStats() {
203
258
  const pool = getSharedPool();
204
- return pool ? {
259
+ if (!pool) {
260
+ return null;
261
+ }
262
+ return {
205
263
  threads: pool.threads.length,
206
264
  queueSize: pool.queueSize,
207
265
  completed: pool.completed,
208
266
  duration: pool.duration,
209
267
  utilization: pool.utilization
210
- } : null;
268
+ };
211
269
  }
212
270
  export { clearWorkerCache, destroyPool, extractToClassNames, extractToNative, getPoolStats, getPragmaOptions, loadGui, loadGuiBuildConfig, watchGuiConfig };
213
271
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["fileURLToPath","Piscina","getPragmaOptions","props","default","Static","getWorkerPath","import","meta","url","resolve","replace","require","POOL_KEY","CLOSING_KEY","TASK_COUNT_KEY","RECYCLING_KEY","MAX_TASKS_BEFORE_RECYCLE","getSharedPool","globalThis","setSharedPool","pool","isClosing","setClosing","value","isRecycling","setRecycling","getTaskCount","incrementTaskCount","count","resetTaskCount","createPool","filename","minThreads","maxThreads","idleTimeout","Number","POSITIVE_INFINITY","on","err","String","message","includes","console","error","getPool","loadGui","options","task","type","source","sourcePath","components","shouldPrintDebug","run","name","success","recyclePool","oldPool","start","Date","now","originalStderr","process","stderr","write","bind","originalStdout","stdout","filter","chunk","args","toString","newPool","warmupTask","_skipBuildLog","removeAllListeners","destroy","catch","setTimeout","log","loadGuiBuildConfig","guiOptions","loadGuiBuildConfigAsync","extractToClassNames","params","Error","result","errorMessage","stack","Boolean","join","data","extractToNative","sourceFileName","sourceCode","watchGuiConfig","watcher","originalDispose","dispose","clearWorkerCache","destroyPool","close","getPoolStats","threads","length","queueSize","completed","duration","utilization"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAWA,SAASA,aAAA,QAAqB;AAC9B,OAAOC,OAAA,MAAa;AAKb,MAAMC,gBAAA,GAAmB,MAAOC,KAAA,IAA4C;IACjF,MAAM;MAAEC,OAAA,EAASC;IAAO,IAAI,MAAM,OAAO,kBAAkB;IAC3D,OAAOA,MAAA,CAAOH,gBAAA,CAAiBC,KAAK;EACtC;EAGMG,aAAA,GAAgBA,CAAA,KAGhB,OAAOC,MAAA,CAAAC,IAAA,GAAgB,OAAeD,MAAA,CAAAC,IAAA,CAAYC,GAAA,GACjCT,aAAA,CAAcO,MAAA,CAAAC,IAAA,CAAYE,OAAA,CAAQ,yBAAyB,CAAC,EAE7DC,OAAA,CAAQ,UAAU,KAAK,IAIpCC,OAAA,CAAAF,OAAA,CAAgB,yBAAyB,EAAEC,OAAA,CAAQ,UAAU,KAAK;EAIrEE,QAAA,GAAW;EACXC,WAAA,GAAc;EACdC,cAAA,GAAiB;EACjBC,aAAA,GAAgB;EAMhBC,wBAAA,GAA2B;AAEjC,SAASC,cAAA,EAAgC;EACvC,OAAQC,UAAA,CAAmBN,QAAQ,KAAK;AAC1C;AAEA,SAASO,cAAcC,IAAA,EAAsB;EACzCF,UAAA,CAAmBN,QAAQ,IAAIQ,IAAA;AACnC;AAEA,SAASC,UAAA,EAAqB;EAC5B,OAAQH,UAAA,CAAmBL,WAAW,MAAM;AAC9C;AAEA,SAASS,WAAWC,KAAA,EAAgB;EAChCL,UAAA,CAAmBL,WAAW,IAAIU,KAAA;AACtC;AAEA,SAASC,YAAA,EAAuB;EAC9B,OAAQN,UAAA,CAAmBH,aAAa,MAAM;AAChD;AAEA,SAASU,aAAaF,KAAA,EAAgB;EAClCL,UAAA,CAAmBH,aAAa,IAAIQ,KAAA;AACxC;AAEA,SAASG,aAAA,EAAuB;EAC9B,OAAQR,UAAA,CAAmBJ,cAAc,KAAK;AAChD;AAEA,SAASa,mBAAA,EAA6B;EACpC,MAAMC,KAAA,GAAQF,YAAA,CAAa,IAAI;EAC9B,OAACR,UAAA,CAAmBJ,cAAc,IAAIc,KAAA,EAChCA,KAAA;AACT;AAEA,SAASC,eAAA,EAAiB;EACtBX,UAAA,CAAmBJ,cAAc,IAAI;AACzC;AAKA,SAASgB,WAAA,EAAsB;EAC7B,MAAMV,IAAA,GAAO,IAAIpB,OAAA,CAAQ;IACvB+B,QAAA,EAAU1B,aAAA,CAAc;IAAA;IAExB2B,UAAA,EAAY;IACZC,UAAA,EAAY;IAAA;IAAA;IAGZC,WAAA,EAAaC,MAAA,CAAOC;IAAA;IAAA;EAGtB,CAAC;EAGD,OAAAhB,IAAA,CAAKiB,EAAA,CAAG,SAAUC,GAAA,IAAQ;IACpBjB,SAAA,CAAU,KAAKG,WAAA,CAAY,MAE7Bc,GAAA,IAAO,OAAOA,GAAA,IAAQ,YAAY,aAAaA,GAAA,GAAMC,MAAA,CAAOD,GAAA,CAAIE,OAAO,IAAI,IAEjEC,QAAA,CAAS,2BAA2B,KAChDC,OAAA,CAAQC,KAAA,CAAM,kCAAkCL,GAAG;EACrD,CAAC,GAEMlB,IAAA;AACT;AAKA,SAASwB,QAAA,EAAmB;EAC1B,IAAIxB,IAAA,GAAOH,aAAA,CAAc;EACzB,OAAKG,IAAA,KACHA,IAAA,GAAOU,UAAA,CAAW,GAClBX,aAAA,CAAcC,IAAI,IAEbA,IAAA;AACT;AAOA,eAAsByB,QAAQC,OAAA,EAA4C;EACxE,MAAM1B,IAAA,GAAOwB,OAAA,CAAQ;IAIfG,IAAA,GAAO;MACXC,IAAA,EAAM;MACNC,MAAA,EAAQ;MACRC,UAAA,EAAY;MACZJ,OAAA,EAAS;QACPK,UAAA,EAAY,CAAC,YAAY;QACzB,GAAGL;MACL;MACAM,gBAAA,EAAkB;IACpB;EAEA,IAAI;IACF,aAAMhC,IAAA,CAAKiC,GAAA,CAAIN,IAAA,EAAM;MAAEO,IAAA,EAAM;IAAU,CAAC,GACjC;MAAEC,OAAA,EAAS;IAAK;EACzB,SAASZ,KAAA,EAAO;IACd,MAAAD,OAAA,CAAQC,KAAA,CAAM,mDAAmDA,KAAK,GAChEA,KAAA;EACR;AACF;AAOA,eAAea,YAAYV,OAAA,EAAoC;EAC7D,IAAIzB,SAAA,CAAU,KAAKG,WAAA,CAAY,GAAG;EAElC,MAAMiC,OAAA,GAAUxC,aAAA,CAAc;EAC9B,IAAI,CAACwC,OAAA,EAAS;EAEdhC,YAAA,CAAa,EAAI;EAEjB,MAAMiC,KAAA,GAAQC,IAAA,CAAKC,GAAA,CAAI;EAEvB,IAAI;IAEF,MAAMC,cAAA,GAAiBC,OAAA,CAAQC,MAAA,CAAOC,KAAA,CAAMC,IAAA,CAAKH,OAAA,CAAQC,MAAM;MACzDG,cAAA,GAAiBJ,OAAA,CAAQK,MAAA,CAAOH,KAAA,CAAMC,IAAA,CAAKH,OAAA,CAAQK,MAAM;MACzDC,MAAA,GAASA,CAACC,KAAA,KAAeC,IAAA,KAEzB,GADQ,OAAOD,KAAA,IAAU,WAAWA,KAAA,GAAQA,KAAA,EAAOE,QAAA,GAAW,KAAK,IAC/D9B,QAAA,CAAS,2BAA2B;IAG9CqB,OAAA,CAAQC,MAAA,CAAOC,KAAA,GAAS,CAACK,KAAA,KAAeC,IAAA,KAClCF,MAAA,CAAOC,KAAK,IAAU,KACnBR,cAAA,CAAeQ,KAAA,EAAO,GAAGC,IAAI,GAEtCR,OAAA,CAAQK,MAAA,CAAOH,KAAA,GAAS,CAACK,KAAA,KAAeC,IAAA,KAClCF,MAAA,CAAOC,KAAK,IAAU,KACnBH,cAAA,CAAeG,KAAA,EAAO,GAAGC,IAAI;IAItC,MAAME,OAAA,GAAU1C,UAAA,CAAW;IAC3BX,aAAA,CAAcqD,OAAO;IAGrB,MAAMC,UAAA,GAAa;MACjBzB,IAAA,EAAM;MACNC,MAAA,EAAQ;MACRC,UAAA,EAAY;MACZJ,OAAA,EAAS;QACP,GAAGA,OAAA;QAAA;QAEH4B,aAAA,EAAe;MACjB;MACAtB,gBAAA,EAAkB;IACpB;IAEA,MAAMoB,OAAA,CAAQnB,GAAA,CAAIoB,UAAA,EAAY;MAAEnB,IAAA,EAAM;IAAU,CAAC,GAGjDG,OAAA,CAAQkB,kBAAA,CAAmB,GAC3BlB,OAAA,CAAQmB,OAAA,CAAQ,EAAEC,KAAA,CAAM,MAAM,CAAC,CAAC,GAGhCC,UAAA,CAAW,MAAM;MACfhB,OAAA,CAAQC,MAAA,CAAOC,KAAA,GAAQH,cAAA,EACvBC,OAAA,CAAQK,MAAA,CAAOH,KAAA,GAAQE,cAAA;IACzB,CAAC,GAEDxB,OAAA,CAAQqC,GAAA,CAAI,qDAA2CpB,IAAA,CAAKC,GAAA,CAAI,IAAIF,KAAK,KAAK;EAChF,UAAE;IACAjC,YAAA,CAAa,EAAK;EACpB;AACF;AAMA,eAAsBuD,mBACpBC,UAAA,EACqB;EACrB,MAAM;IAAE9E,OAAA,EAASC;EAAO,IAAI,MAAM,OAAO,kBAAkB;EAE3D,OAAOA,MAAA,CAAO8E,uBAAA,CAAwBD,UAAU;AAClD;AAKA,eAAsBE,oBAAoBC,MAAA,EAKzB;EACf,MAAM;IAAEnC,MAAA;IAAQC,UAAA,GAAa;IAAIJ,OAAA;IAASM,gBAAA,GAAmB;EAAM,IAAIgC,MAAA;EAEvE,IAAI,OAAOnC,MAAA,IAAW,UACpB,MAAM,IAAIoC,KAAA,CAAM,yCAAyC;EAG3D,MAAMtC,IAAA,GAAO;MACXC,IAAA,EAAM;MACNC,MAAA;MACAC,UAAA;MACAJ,OAAA;MACAM;IACF;IAGMkC,MAAA,GAAU,MADH1C,OAAA,CAAQ,EACMS,GAAA,CAAIN,IAAA,EAAM;MAAEO,IAAA,EAAM;IAAU,CAAC;EAExD,IAAI,CAACgC,MAAA,CAAO/B,OAAA,EAAS;IACnB,MAAMgC,YAAA,GAAe,CACnB,wCAAwCrC,UAAA,IAAc,WAAW,IACjE,IACAoC,MAAA,CAAO3C,KAAA,EACP2C,MAAA,CAAOE,KAAA,GAAQ;AAAA,EAAKF,MAAA,CAAOE,KAAK,KAAK,GACvC,CACGpB,MAAA,CAAOqB,OAAO,EACdC,IAAA,CAAK;AAAA,CAAI;IAEZ,MAAM,IAAIL,KAAA,CAAME,YAAY;EAC9B;EAIA,OADc5D,kBAAA,CAAmB,KACpBX,wBAAA,KACXa,cAAA,CAAe,GAEf2B,WAAA,CAAYV,OAAO,EAAE+B,KAAA,CAAM,MAAM,CAAC,CAAC,IAG9BS,MAAA,CAAOK,IAAA;AAChB;AAKA,eAAsBC,gBACpBC,cAAA,EACAC,UAAA,EACAhD,OAAA,EACc;EACd,MAAMC,IAAA,GAAO;MACXC,IAAA,EAAM;MACN6C,cAAA;MACAC,UAAA;MACAhD;IACF;IAGMwC,MAAA,GAAU,MADH1C,OAAA,CAAQ,EACMS,GAAA,CAAIN,IAAA,EAAM;MAAEO,IAAA,EAAM;IAAU,CAAC;EAExD,IAAI,CAACgC,MAAA,CAAO/B,OAAA,EAAS;IACnB,MAAMgC,YAAA,GAAe,CACnB,wCAAwCM,cAAA,IAAkB,WAAW,IACrE,IACAP,MAAA,CAAO3C,KAAA,EACP2C,MAAA,CAAOE,KAAA,GAAQ;AAAA,EAAKF,MAAA,CAAOE,KAAK,KAAK,GACvC,CACGpB,MAAA,CAAOqB,OAAO,EACdC,IAAA,CAAK;AAAA,CAAI;IAEZ,MAAM,IAAIL,KAAA,CAAME,YAAY;EAC9B;EAIA,OADc5D,kBAAA,CAAmB,KACpBX,wBAAA,KACXa,cAAA,CAAe,GAEf2B,WAAA,CAAYV,OAAO,EAAE+B,KAAA,CAAM,MAAM,CAAC,CAAC,IAG9BS,MAAA,CAAOK,IAAA;AAChB;AAKA,eAAsBI,eACpBjD,OAAA,EAC8C;EAG9C,MAAM;MAAE3C,OAAA,EAASC;IAAO,IAAI,MAAM,OAAO,kBAAkB;IACrD4F,OAAA,GAAU,MAAM5F,MAAA,CAAO2F,cAAA,CAAejD,OAAO;EAEnD,IAAI,CAACkD,OAAA,EACH;EAIF,MAAMC,eAAA,GAAkBD,OAAA,CAAQE,OAAA;EAChC,OAAO;IACLA,OAAA,EAASA,CAAA,KAAM;MACbD,eAAA,CAAgB,GACZhF,aAAA,CAAc,KAEhBkF,gBAAA,CAAiB;IAErB;EACF;AACF;AAMA,eAAsBA,iBAAA,EAAkC;EACtD,MAAM/E,IAAA,GAAOH,aAAA,CAAc;EAC3B,IAAI,CAACG,IAAA,IAAQC,SAAA,CAAU,GAAG;EAE1B,MAAM0B,IAAA,GAAO;IAAEC,IAAA,EAAM;EAAa;EAClC,MAAM5B,IAAA,CAAKiC,GAAA,CAAIN,IAAA,EAAM;IAAEO,IAAA,EAAM;EAAU,CAAC;AAC1C;AAMA,eAAsB8C,YAAA,EAA6B;EACjD,MAAMhF,IAAA,GAAOH,aAAA,CAAc;EAC3B,IAAIG,IAAA,EAAM;IACRE,UAAA,CAAW,EAAI;IACf,IAAI;MACF,MAAMF,IAAA,CAAKiF,KAAA,CAAM;IACnB,UAAE;MACAlF,aAAA,CAAc,IAAI,GAClBG,UAAA,CAAW,EAAK;IAClB;EACF;AACF;AAKO,SAASgF,aAAA,EAAe;EAC7B,MAAMlF,IAAA,GAAOH,aAAA,CAAc;EAC3B,OAAKG,IAAA,GAGE;IACLmF,OAAA,EAASnF,IAAA,CAAKmF,OAAA,CAAQC,MAAA;IACtBC,SAAA,EAAWrF,IAAA,CAAKqF,SAAA;IAChBC,SAAA,EAAWtF,IAAA,CAAKsF,SAAA;IAChBC,QAAA,EAAUvF,IAAA,CAAKuF,QAAA;IACfC,WAAA,EAAaxF,IAAA,CAAKwF;EACpB,IARS;AASX","ignoreList":[]}
1
+ {"version":3,"names":["fileURLToPath","Piscina","getPragmaOptions","props","default","Static","getWorkerPath","import","meta","url","workerPath","resolve","replace","require","POOL_KEY","CLOSING_KEY","TASK_COUNT_KEY","RECYCLING_KEY","MAX_TASKS_BEFORE_RECYCLE","getSharedPool","globalThis","setSharedPool","pool","isClosing","setClosing","value","isRecycling","setRecycling","getTaskCount","incrementTaskCount","count","resetTaskCount","createPool","filename","minThreads","maxThreads","idleTimeout","Number","POSITIVE_INFINITY","on","err","message","String","includes","console","error","getPool","loadGui","options","task","type","source","sourcePath","components","shouldPrintDebug","run","name","success","recyclePool","oldPool","start","Date","now","originalStderr","process","stderr","write","bind","originalStdout","stdout","filter","chunk","args","str","toString","newPool","warmupTask","_skipBuildLog","removeAllListeners","destroy","catch","setTimeout","log","loadGuiBuildConfig","guiOptions","loadGuiBuildConfigAsync","extractToClassNames","params","Error","result","errorMessage","stack","Boolean","join","data","extractToNative","sourceFileName","sourceCode","watchGuiConfig","watcher","originalDispose","dispose","clearWorkerCache","destroyPool","close","getPoolStats","threads","length","queueSize","completed","duration","utilization"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,33 +1,42 @@
1
1
  import { fileURLToPath } from "node:url";
2
2
  import Piscina from "piscina";
3
3
  const getPragmaOptions = async props => {
4
- const {
5
- default: Static
6
- } = await import("@hanzogui/static");
7
- return Static.getPragmaOptions(props);
8
- },
9
- getWorkerPath = () => typeof import.meta < "u" && import.meta.url ? fileURLToPath(import.meta.resolve("@hanzogui/static/worker")).replace(/\.mjs$/, ".js") : require.resolve("@hanzogui/static/worker").replace(/\.mjs$/, ".js"),
10
- POOL_KEY = "__gui_piscina_pool__",
11
- CLOSING_KEY = "__gui_piscina_closing__",
12
- TASK_COUNT_KEY = "__gui_piscina_task_count__",
13
- RECYCLING_KEY = "__gui_piscina_recycling__",
14
- MAX_TASKS_BEFORE_RECYCLE = 1e3;
4
+ const {
5
+ default: Static
6
+ } = await import("@hanzogui/static");
7
+ return Static.getPragmaOptions(props);
8
+ };
9
+ const getWorkerPath = () => {
10
+ if (typeof import.meta !== "undefined" && import.meta.url) {
11
+ const workerPath = fileURLToPath(import.meta.resolve("@hanzogui/static/worker"));
12
+ return workerPath.replace(/\.mjs$/, ".js");
13
+ }
14
+ return require.resolve("@hanzogui/static/worker").replace(/\.mjs$/, ".js");
15
+ };
16
+ const POOL_KEY = "__gui_piscina_pool__";
17
+ const CLOSING_KEY = "__gui_piscina_closing__";
18
+ const TASK_COUNT_KEY = "__gui_piscina_task_count__";
19
+ const RECYCLING_KEY = "__gui_piscina_recycling__";
20
+ const MAX_TASKS_BEFORE_RECYCLE = 1e3;
15
21
  function getSharedPool() {
16
22
  return globalThis[POOL_KEY] ?? null;
17
23
  }
18
24
  function setSharedPool(pool) {
25
+ ;
19
26
  globalThis[POOL_KEY] = pool;
20
27
  }
21
28
  function isClosing() {
22
- return globalThis[CLOSING_KEY] === !0;
29
+ return globalThis[CLOSING_KEY] === true;
23
30
  }
24
31
  function setClosing(value) {
32
+ ;
25
33
  globalThis[CLOSING_KEY] = value;
26
34
  }
27
35
  function isRecycling() {
28
- return globalThis[RECYCLING_KEY] === !0;
36
+ return globalThis[RECYCLING_KEY] === true;
29
37
  }
30
38
  function setRecycling(value) {
39
+ ;
31
40
  globalThis[RECYCLING_KEY] = value;
32
41
  }
33
42
  function getTaskCount() {
@@ -35,9 +44,11 @@ function getTaskCount() {
35
44
  }
36
45
  function incrementTaskCount() {
37
46
  const count = getTaskCount() + 1;
38
- return globalThis[TASK_COUNT_KEY] = count, count;
47
+ globalThis[TASK_COUNT_KEY] = count;
48
+ return count;
39
49
  }
40
50
  function resetTaskCount() {
51
+ ;
41
52
  globalThis[TASK_COUNT_KEY] = 0;
42
53
  }
43
54
  function createPool() {
@@ -52,47 +63,68 @@ function createPool() {
52
63
  // no resourceLimits - we rely on task-based recycling instead
53
64
  // V8 resourceLimits cause "Terminating worker thread" messages when hit
54
65
  });
55
- return pool.on("error", err => {
56
- isClosing() || isRecycling() || (err && typeof err == "object" && "message" in err ? String(err.message) : "").includes("Terminating worker thread") || console.error("[hanzo-gui] Worker pool error:", err);
57
- }), pool;
66
+ pool.on("error", err => {
67
+ if (isClosing() || isRecycling()) return;
68
+ const message = err && typeof err === "object" && "message" in err ? String(err.message) : "";
69
+ if (message.includes("Terminating worker thread")) return;
70
+ console.error("[hanzo-gui] Worker pool error:", err);
71
+ });
72
+ return pool;
58
73
  }
59
74
  function getPool() {
60
75
  let pool = getSharedPool();
61
- return pool || (pool = createPool(), setSharedPool(pool)), pool;
76
+ if (!pool) {
77
+ pool = createPool();
78
+ setSharedPool(pool);
79
+ }
80
+ return pool;
62
81
  }
63
82
  async function loadGui(options) {
64
- const pool = getPool(),
65
- task = {
66
- type: "extractToClassNames",
67
- source: "// dummy",
68
- sourcePath: "__dummy__.tsx",
69
- options: {
70
- components: ["@hanzo/gui"],
71
- ...options
72
- },
73
- shouldPrintDebug: !1
74
- };
83
+ const pool = getPool();
84
+ const task = {
85
+ type: "extractToClassNames",
86
+ source: "// dummy",
87
+ sourcePath: "__dummy__.tsx",
88
+ options: {
89
+ components: ["@hanzo/gui"],
90
+ ...options
91
+ },
92
+ shouldPrintDebug: false
93
+ };
75
94
  try {
76
- return await pool.run(task, {
95
+ await pool.run(task, {
77
96
  name: "runTask"
78
- }), {
79
- success: !0
97
+ });
98
+ return {
99
+ success: true
80
100
  };
81
101
  } catch (error) {
82
- throw console.error("[static-worker] Error loading Hanzo GUI config:", error), error;
102
+ console.error("[static-worker] Error loading GUI config:", error);
103
+ throw error;
83
104
  }
84
105
  }
85
106
  async function recyclePool(options) {
86
107
  if (isClosing() || isRecycling()) return;
87
108
  const oldPool = getSharedPool();
88
109
  if (!oldPool) return;
89
- setRecycling(!0);
110
+ setRecycling(true);
90
111
  const start = Date.now();
91
112
  try {
92
- const originalStderr = process.stderr.write.bind(process.stderr),
93
- originalStdout = process.stdout.write.bind(process.stdout),
94
- filter = (chunk, ...args) => !!(typeof chunk == "string" ? chunk : chunk?.toString?.() || "").includes("Terminating worker thread");
95
- process.stderr.write = (chunk, ...args) => filter(chunk) ? !0 : originalStderr(chunk, ...args), process.stdout.write = (chunk, ...args) => filter(chunk) ? !0 : originalStdout(chunk, ...args);
113
+ const originalStderr = process.stderr.write.bind(process.stderr);
114
+ const originalStdout = process.stdout.write.bind(process.stdout);
115
+ const filter = (chunk, ...args) => {
116
+ const str = typeof chunk === "string" ? chunk : chunk?.toString?.() || "";
117
+ if (str.includes("Terminating worker thread")) return true;
118
+ return false;
119
+ };
120
+ process.stderr.write = (chunk, ...args) => {
121
+ if (filter(chunk)) return true;
122
+ return originalStderr(chunk, ...args);
123
+ };
124
+ process.stdout.write = (chunk, ...args) => {
125
+ if (filter(chunk)) return true;
126
+ return originalStdout(chunk, ...args);
127
+ };
96
128
  const newPool = createPool();
97
129
  setSharedPool(newPool);
98
130
  const warmupTask = {
@@ -102,17 +134,22 @@ async function recyclePool(options) {
102
134
  options: {
103
135
  ...options,
104
136
  // skip the "built config" log on warmup since it's a recycle
105
- _skipBuildLog: !0
137
+ _skipBuildLog: true
106
138
  },
107
- shouldPrintDebug: !1
139
+ shouldPrintDebug: false
108
140
  };
109
141
  await newPool.run(warmupTask, {
110
142
  name: "runTask"
111
- }), oldPool.removeAllListeners(), oldPool.destroy().catch(() => {}), setTimeout(() => {
112
- process.stderr.write = originalStderr, process.stdout.write = originalStdout;
113
- }), console.log(` \u267B\uFE0F [hanzo-gui] recycled worker pool (${Date.now() - start}ms)`);
143
+ });
144
+ oldPool.removeAllListeners();
145
+ oldPool.destroy().catch(() => {});
146
+ setTimeout(() => {
147
+ process.stderr.write = originalStderr;
148
+ process.stdout.write = originalStdout;
149
+ });
150
+ console.log(` \u267B\uFE0F [hanzo-gui] recycled worker pool (${Date.now() - start}ms)`);
114
151
  } finally {
115
- setRecycling(!1);
152
+ setRecycling(false);
116
153
  }
117
154
  }
118
155
  async function loadGuiBuildConfig(guiOptions) {
@@ -126,55 +163,72 @@ async function extractToClassNames(params) {
126
163
  source,
127
164
  sourcePath = "",
128
165
  options,
129
- shouldPrintDebug = !1
166
+ shouldPrintDebug = false
130
167
  } = params;
131
- if (typeof source != "string") throw new Error("`source` must be a string of javascript");
168
+ if (typeof source !== "string") {
169
+ throw new Error("`source` must be a string of javascript");
170
+ }
132
171
  const task = {
133
- type: "extractToClassNames",
134
- source,
135
- sourcePath,
136
- options,
137
- shouldPrintDebug
138
- },
139
- result = await getPool().run(task, {
140
- name: "runTask"
141
- });
172
+ type: "extractToClassNames",
173
+ source,
174
+ sourcePath,
175
+ options,
176
+ shouldPrintDebug
177
+ };
178
+ const pool = getPool();
179
+ const result = await pool.run(task, {
180
+ name: "runTask"
181
+ });
142
182
  if (!result.success) {
143
- const errorMessage = [`[gui-extract] Error processing file: ${sourcePath || "(unknown)"}`, "", result.error, result.stack ? `
144
- ${result.stack}` : ""].filter(Boolean).join(`
145
- `);
183
+ const errorMessage = [`[gui-extract] Error processing file: ${sourcePath || "(unknown)"}`, ``, result.error, result.stack ? `
184
+ ${result.stack}` : ""].filter(Boolean).join("\n");
146
185
  throw new Error(errorMessage);
147
186
  }
148
- return incrementTaskCount() >= MAX_TASKS_BEFORE_RECYCLE && (resetTaskCount(), recyclePool(options).catch(() => {})), result.data;
187
+ const count = incrementTaskCount();
188
+ if (count >= MAX_TASKS_BEFORE_RECYCLE) {
189
+ resetTaskCount();
190
+ recyclePool(options).catch(() => {});
191
+ }
192
+ return result.data;
149
193
  }
150
194
  async function extractToNative(sourceFileName, sourceCode, options) {
151
195
  const task = {
152
- type: "extractToNative",
153
- sourceFileName,
154
- sourceCode,
155
- options
156
- },
157
- result = await getPool().run(task, {
158
- name: "runTask"
159
- });
196
+ type: "extractToNative",
197
+ sourceFileName,
198
+ sourceCode,
199
+ options
200
+ };
201
+ const pool = getPool();
202
+ const result = await pool.run(task, {
203
+ name: "runTask"
204
+ });
160
205
  if (!result.success) {
161
- const errorMessage = [`[gui-extract] Error processing file: ${sourceFileName || "(unknown)"}`, "", result.error, result.stack ? `
162
- ${result.stack}` : ""].filter(Boolean).join(`
163
- `);
206
+ const errorMessage = [`[gui-extract] Error processing file: ${sourceFileName || "(unknown)"}`, ``, result.error, result.stack ? `
207
+ ${result.stack}` : ""].filter(Boolean).join("\n");
164
208
  throw new Error(errorMessage);
165
209
  }
166
- return incrementTaskCount() >= MAX_TASKS_BEFORE_RECYCLE && (resetTaskCount(), recyclePool(options).catch(() => {})), result.data;
210
+ const count = incrementTaskCount();
211
+ if (count >= MAX_TASKS_BEFORE_RECYCLE) {
212
+ resetTaskCount();
213
+ recyclePool(options).catch(() => {});
214
+ }
215
+ return result.data;
167
216
  }
168
217
  async function watchGuiConfig(options) {
169
218
  const {
170
- default: Static
171
- } = await import("@hanzogui/static"),
172
- watcher = await Static.watchGuiConfig(options);
173
- if (!watcher) return;
219
+ default: Static
220
+ } = await import("@hanzogui/static");
221
+ const watcher = await Static.watchGuiConfig(options);
222
+ if (!watcher) {
223
+ return;
224
+ }
174
225
  const originalDispose = watcher.dispose;
175
226
  return {
176
227
  dispose: () => {
177
- originalDispose(), getSharedPool() && clearWorkerCache();
228
+ originalDispose();
229
+ if (getSharedPool()) {
230
+ clearWorkerCache();
231
+ }
178
232
  }
179
233
  };
180
234
  }
@@ -191,23 +245,27 @@ async function clearWorkerCache() {
191
245
  async function destroyPool() {
192
246
  const pool = getSharedPool();
193
247
  if (pool) {
194
- setClosing(!0);
248
+ setClosing(true);
195
249
  try {
196
250
  await pool.close();
197
251
  } finally {
198
- setSharedPool(null), setClosing(!1);
252
+ setSharedPool(null);
253
+ setClosing(false);
199
254
  }
200
255
  }
201
256
  }
202
257
  function getPoolStats() {
203
258
  const pool = getSharedPool();
204
- return pool ? {
259
+ if (!pool) {
260
+ return null;
261
+ }
262
+ return {
205
263
  threads: pool.threads.length,
206
264
  queueSize: pool.queueSize,
207
265
  completed: pool.completed,
208
266
  duration: pool.duration,
209
267
  utilization: pool.utilization
210
- } : null;
268
+ };
211
269
  }
212
270
  export { clearWorkerCache, destroyPool, extractToClassNames, extractToNative, getPoolStats, getPragmaOptions, loadGui, loadGuiBuildConfig, watchGuiConfig };
213
271
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["fileURLToPath","Piscina","getPragmaOptions","props","default","Static","getWorkerPath","import","meta","url","resolve","replace","require","POOL_KEY","CLOSING_KEY","TASK_COUNT_KEY","RECYCLING_KEY","MAX_TASKS_BEFORE_RECYCLE","getSharedPool","globalThis","setSharedPool","pool","isClosing","setClosing","value","isRecycling","setRecycling","getTaskCount","incrementTaskCount","count","resetTaskCount","createPool","filename","minThreads","maxThreads","idleTimeout","Number","POSITIVE_INFINITY","on","err","String","message","includes","console","error","getPool","loadGui","options","task","type","source","sourcePath","components","shouldPrintDebug","run","name","success","recyclePool","oldPool","start","Date","now","originalStderr","process","stderr","write","bind","originalStdout","stdout","filter","chunk","args","toString","newPool","warmupTask","_skipBuildLog","removeAllListeners","destroy","catch","setTimeout","log","loadGuiBuildConfig","guiOptions","loadGuiBuildConfigAsync","extractToClassNames","params","Error","result","errorMessage","stack","Boolean","join","data","extractToNative","sourceFileName","sourceCode","watchGuiConfig","watcher","originalDispose","dispose","clearWorkerCache","destroyPool","close","getPoolStats","threads","length","queueSize","completed","duration","utilization"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["fileURLToPath","Piscina","getPragmaOptions","props","default","Static","getWorkerPath","import","meta","url","workerPath","resolve","replace","require","POOL_KEY","CLOSING_KEY","TASK_COUNT_KEY","RECYCLING_KEY","MAX_TASKS_BEFORE_RECYCLE","getSharedPool","globalThis","setSharedPool","pool","isClosing","setClosing","value","isRecycling","setRecycling","getTaskCount","incrementTaskCount","count","resetTaskCount","createPool","filename","minThreads","maxThreads","idleTimeout","Number","POSITIVE_INFINITY","on","err","message","String","includes","console","error","getPool","loadGui","options","task","type","source","sourcePath","components","shouldPrintDebug","run","name","success","recyclePool","oldPool","start","Date","now","originalStderr","process","stderr","write","bind","originalStdout","stdout","filter","chunk","args","str","toString","newPool","warmupTask","_skipBuildLog","removeAllListeners","destroy","catch","setTimeout","log","loadGuiBuildConfig","guiOptions","loadGuiBuildConfigAsync","extractToClassNames","params","Error","result","errorMessage","stack","Boolean","join","data","extractToNative","sourceFileName","sourceCode","watchGuiConfig","watcher","originalDispose","dispose","clearWorkerCache","destroyPool","close","getPoolStats","threads","length","queueSize","completed","duration","utilization"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzogui/static-worker",
3
- "version": "3.0.6",
3
+ "version": "4.3.1",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
6
  "files": [
package/src/index.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @hanzogui/static-worker
3
3
  *
4
- * Pure worker-based API for Hanzo GUI static extraction.
4
+ * Pure worker-based API for GUI static extraction.
5
5
  * All operations run in a worker thread for better performance and isolation.
6
6
  *
7
7
  * This package provides a clean async API that wraps @hanzogui/static's worker
@@ -126,7 +126,7 @@ function getPool(): Piscina {
126
126
  }
127
127
 
128
128
  /**
129
- * Load Hanzo GUI configuration in worker
129
+ * Load GUI configuration in worker
130
130
  * Sends a warmup task to trigger config loading
131
131
  * bundleConfig auto-detects if files exist and skips rebuild
132
132
  */
@@ -150,7 +150,7 @@ export async function loadGui(options: Partial<GuiOptions>): Promise<any> {
150
150
  await pool.run(task, { name: 'runTask' })
151
151
  return { success: true }
152
152
  } catch (error) {
153
- console.error('[static-worker] Error loading Hanzo GUI config:', error)
153
+ console.error('[static-worker] Error loading GUI config:', error)
154
154
  throw error
155
155
  }
156
156
  }
@@ -224,7 +224,7 @@ async function recyclePool(options: GuiOptions): Promise<void> {
224
224
  }
225
225
 
226
226
  /**
227
- * Load Hanzo GUI build configuration asynchronously
227
+ * Load GUI build configuration asynchronously
228
228
  * Uses esbuild-wasm to avoid EPIPE errors from native esbuild service lifecycle
229
229
  */
230
230
  export async function loadGuiBuildConfig(
@@ -236,7 +236,7 @@ export async function loadGuiBuildConfig(
236
236
  }
237
237
 
238
238
  /**
239
- * Extract Hanzo GUI components to className-based CSS for web
239
+ * Extract GUI components to className-based CSS for web
240
240
  */
241
241
  export async function extractToClassNames(params: {
242
242
  source: string | Buffer
@@ -286,7 +286,7 @@ export async function extractToClassNames(params: {
286
286
  }
287
287
 
288
288
  /**
289
- * Extract Hanzo GUI components to React Native StyleSheet format
289
+ * Extract GUI components to React Native StyleSheet format
290
290
  */
291
291
  export async function extractToNative(
292
292
  sourceFileName: string,
@@ -328,7 +328,7 @@ export async function extractToNative(
328
328
  }
329
329
 
330
330
  /**
331
- * Watch Hanzo GUI config for changes and reload when it changes
331
+ * Watch GUI config for changes and reload when it changes
332
332
  */
333
333
  export async function watchGuiConfig(
334
334
  options: GuiOptions
package/types/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @hanzogui/static-worker
3
3
  *
4
- * Pure worker-based API for Hanzo GUI static extraction.
4
+ * Pure worker-based API for GUI static extraction.
5
5
  * All operations run in a worker thread for better performance and isolation.
6
6
  *
7
7
  * This package provides a clean async API that wraps @hanzogui/static's worker
@@ -18,18 +18,18 @@ export declare const getPragmaOptions: (props: {
18
18
  shouldDisable: boolean;
19
19
  }>;
20
20
  /**
21
- * Load Hanzo GUI configuration in worker
21
+ * Load GUI configuration in worker
22
22
  * Sends a warmup task to trigger config loading
23
23
  * bundleConfig auto-detects if files exist and skips rebuild
24
24
  */
25
25
  export declare function loadGui(options: Partial<GuiOptions>): Promise<any>;
26
26
  /**
27
- * Load Hanzo GUI build configuration asynchronously
27
+ * Load GUI build configuration asynchronously
28
28
  * Uses esbuild-wasm to avoid EPIPE errors from native esbuild service lifecycle
29
29
  */
30
30
  export declare function loadGuiBuildConfig(guiOptions: Partial<GuiOptions> | undefined): Promise<GuiOptions>;
31
31
  /**
32
- * Extract Hanzo GUI components to className-based CSS for web
32
+ * Extract GUI components to className-based CSS for web
33
33
  */
34
34
  export declare function extractToClassNames(params: {
35
35
  source: string | Buffer;
@@ -38,11 +38,11 @@ export declare function extractToClassNames(params: {
38
38
  shouldPrintDebug?: boolean | 'verbose';
39
39
  }): Promise<any>;
40
40
  /**
41
- * Extract Hanzo GUI components to React Native StyleSheet format
41
+ * Extract GUI components to React Native StyleSheet format
42
42
  */
43
43
  export declare function extractToNative(sourceFileName: string, sourceCode: string, options: GuiOptions): Promise<any>;
44
44
  /**
45
- * Watch Hanzo GUI config for changes and reload when it changes
45
+ * Watch GUI config for changes and reload when it changes
46
46
  */
47
47
  export declare function watchGuiConfig(options: GuiOptions): Promise<{
48
48
  dispose: () => void;