@tamagui/static-worker 1.136.3 → 1.136.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.
package/dist/index.js CHANGED
@@ -1,17 +1,10 @@
1
- import { dirname, resolve } from "node:path";
2
1
  import { fileURLToPath } from "node:url";
3
2
  import Piscina from "piscina";
4
3
  const getPragmaOptions = async (props) => {
5
4
  const { default: Static } = await import("@tamagui/static");
6
5
  return Static.getPragmaOptions(props);
7
- }, getWorkerPath = () => {
8
- if (typeof import.meta < "u" && import.meta.url) {
9
- const staticPackagePath = fileURLToPath(import.meta.resolve("@tamagui/static"));
10
- return resolve(dirname(staticPackagePath), "worker.js");
11
- }
12
- return resolve(process.cwd(), "node_modules/@tamagui/static/dist/worker.js");
13
- };
14
- let piscinaPool = null;
6
+ }, getWorkerPath = () => typeof import.meta < "u" && import.meta.url ? fileURLToPath(import.meta.resolve("@tamagui/static/worker")).replace(/\.mjs$/, ".js") : require.resolve("@tamagui/static/worker").replace(/\.mjs$/, ".js");
7
+ let piscinaPool = null, isClosing = !1;
15
8
  function getPool() {
16
9
  return piscinaPool || (piscinaPool = new Piscina({
17
10
  filename: getWorkerPath(),
@@ -50,11 +43,17 @@ async function extractToClassNames(params) {
50
43
  options,
51
44
  shouldPrintDebug
52
45
  }, result = await getPool().run(task, { name: "runTask" });
53
- if (!result.success)
54
- throw new Error(
55
- `Worker error: ${result.error}${result.stack ? `
56
- ${result.stack}` : ""}`
57
- );
46
+ if (!result.success) {
47
+ const errorMessage = [
48
+ `[tamagui-extract] Error processing file: ${sourcePath || "(unknown)"}`,
49
+ "",
50
+ result.error,
51
+ result.stack ? `
52
+ ${result.stack}` : ""
53
+ ].filter(Boolean).join(`
54
+ `);
55
+ throw new Error(errorMessage);
56
+ }
58
57
  return result.data;
59
58
  }
60
59
  async function extractToNative(sourceFileName, sourceCode, options) {
@@ -64,11 +63,17 @@ async function extractToNative(sourceFileName, sourceCode, options) {
64
63
  sourceCode,
65
64
  options
66
65
  }, result = await getPool().run(task, { name: "runTask" });
67
- if (!result.success)
68
- throw new Error(
69
- `Worker error: ${result.error}${result.stack ? `
70
- ${result.stack}` : ""}`
71
- );
66
+ if (!result.success) {
67
+ const errorMessage = [
68
+ `[tamagui-extract] Error processing file: ${sourceFileName || "(unknown)"}`,
69
+ "",
70
+ result.error,
71
+ result.stack ? `
72
+ ${result.stack}` : ""
73
+ ].filter(Boolean).join(`
74
+ `);
75
+ throw new Error(errorMessage);
76
+ }
72
77
  return result.data;
73
78
  }
74
79
  async function watchTamaguiConfig(options) {
@@ -87,17 +92,22 @@ async function loadTamaguiBuildConfig(tamaguiOptions) {
87
92
  return Static.loadTamaguiBuildConfigSync(tamaguiOptions);
88
93
  }
89
94
  async function clearWorkerCache() {
90
- if (piscinaPool)
95
+ if (!piscinaPool || isClosing) return;
96
+ const task = { type: "clearCache" };
97
+ await piscinaPool.run(task, { name: "runTask" });
98
+ }
99
+ async function destroyPool() {
100
+ if (piscinaPool) {
101
+ isClosing = !0;
91
102
  try {
92
- const task = { type: "clearCache" };
93
- await piscinaPool.run(task, { name: "runTask" });
103
+ await piscinaPool.destroy();
94
104
  } catch (err) {
95
105
  if (err && typeof err == "object" && "message" in err && !String(err.message).includes("Terminating worker thread"))
96
106
  throw err;
107
+ } finally {
108
+ piscinaPool = null, isClosing = !1;
97
109
  }
98
- }
99
- async function destroyPool() {
100
- piscinaPool && (await piscinaPool.destroy(), piscinaPool = null);
110
+ }
101
111
  }
102
112
  function getPoolStats() {
103
113
  return piscinaPool ? {
package/dist/index.js.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
package/dist/index.mjs CHANGED
@@ -1,4 +1,3 @@
1
- import { dirname, resolve } from "node:path";
2
1
  import { fileURLToPath } from "node:url";
3
2
  import Piscina from "piscina";
4
3
  const getPragmaOptions = async props => {
@@ -7,14 +6,9 @@ const getPragmaOptions = async props => {
7
6
  } = await import("@tamagui/static");
8
7
  return Static.getPragmaOptions(props);
9
8
  },
10
- getWorkerPath = () => {
11
- if (typeof import.meta < "u" && import.meta.url) {
12
- const staticPackagePath = fileURLToPath(import.meta.resolve("@tamagui/static"));
13
- return resolve(dirname(staticPackagePath), "worker.js");
14
- }
15
- return resolve(process.cwd(), "node_modules/@tamagui/static/dist/worker.js");
16
- };
17
- let piscinaPool = null;
9
+ getWorkerPath = () => typeof import.meta < "u" && import.meta.url ? fileURLToPath(import.meta.resolve("@tamagui/static/worker")).replace(/\.mjs$/, ".js") : require.resolve("@tamagui/static/worker").replace(/\.mjs$/, ".js");
10
+ let piscinaPool = null,
11
+ isClosing = !1;
18
12
  function getPool() {
19
13
  return piscinaPool || (piscinaPool = new Piscina({
20
14
  filename: getWorkerPath(),
@@ -65,8 +59,12 @@ async function extractToClassNames(params) {
65
59
  result = await getPool().run(task, {
66
60
  name: "runTask"
67
61
  });
68
- if (!result.success) throw new Error(`Worker error: ${result.error}${result.stack ? `
69
- ${result.stack}` : ""}`);
62
+ if (!result.success) {
63
+ const errorMessage = [`[tamagui-extract] Error processing file: ${sourcePath || "(unknown)"}`, "", result.error, result.stack ? `
64
+ ${result.stack}` : ""].filter(Boolean).join(`
65
+ `);
66
+ throw new Error(errorMessage);
67
+ }
70
68
  return result.data;
71
69
  }
72
70
  async function extractToNative(sourceFileName, sourceCode, options) {
@@ -79,8 +77,12 @@ async function extractToNative(sourceFileName, sourceCode, options) {
79
77
  result = await getPool().run(task, {
80
78
  name: "runTask"
81
79
  });
82
- if (!result.success) throw new Error(`Worker error: ${result.error}${result.stack ? `
83
- ${result.stack}` : ""}`);
80
+ if (!result.success) {
81
+ const errorMessage = [`[tamagui-extract] Error processing file: ${sourceFileName || "(unknown)"}`, "", result.error, result.stack ? `
82
+ ${result.stack}` : ""].filter(Boolean).join(`
83
+ `);
84
+ throw new Error(errorMessage);
85
+ }
84
86
  return result.data;
85
87
  }
86
88
  async function watchTamaguiConfig(options) {
@@ -103,19 +105,25 @@ async function loadTamaguiBuildConfig(tamaguiOptions) {
103
105
  return Static.loadTamaguiBuildConfigSync(tamaguiOptions);
104
106
  }
105
107
  async function clearWorkerCache() {
106
- if (piscinaPool) try {
107
- const task = {
108
- type: "clearCache"
109
- };
110
- await piscinaPool.run(task, {
111
- name: "runTask"
112
- });
113
- } catch (err) {
114
- if (err && typeof err == "object" && "message" in err && !String(err.message).includes("Terminating worker thread")) throw err;
115
- }
108
+ if (!piscinaPool || isClosing) return;
109
+ const task = {
110
+ type: "clearCache"
111
+ };
112
+ await piscinaPool.run(task, {
113
+ name: "runTask"
114
+ });
116
115
  }
117
116
  async function destroyPool() {
118
- piscinaPool && (await piscinaPool.destroy(), piscinaPool = null);
117
+ if (piscinaPool) {
118
+ isClosing = !0;
119
+ try {
120
+ await piscinaPool.destroy();
121
+ } catch (err) {
122
+ if (err && typeof err == "object" && "message" in err && !String(err.message).includes("Terminating worker thread")) throw err;
123
+ } finally {
124
+ piscinaPool = null, isClosing = !1;
125
+ }
126
+ }
119
127
  }
120
128
  function getPoolStats() {
121
129
  return piscinaPool ? {
@@ -1 +1 @@
1
- {"version":3,"names":["dirname","resolve","fileURLToPath","Piscina","getPragmaOptions","props","default","Static","getWorkerPath","import","meta","url","staticPackagePath","process","cwd","piscinaPool","getPool","filename","minThreads","maxThreads","idleTimeout","loadTamagui","options","pool","task","type","source","sourcePath","components","shouldPrintDebug","run","name","success","error","console","extractToClassNames","params","Error","result","stack","data","extractToNative","sourceFileName","sourceCode","watchTamaguiConfig","watcher","originalDispose","dispose","clearWorkerCache","loadTamaguiBuildConfig","tamaguiOptions","loadTamaguiBuildConfigSync","err","String","message","includes","destroyPool","destroy","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","resolve","replace","require","piscinaPool","isClosing","getPool","filename","minThreads","maxThreads","idleTimeout","loadTamagui","options","pool","task","type","source","sourcePath","components","shouldPrintDebug","run","name","success","error","console","extractToClassNames","params","Error","result","errorMessage","stack","filter","Boolean","join","data","extractToNative","sourceFileName","sourceCode","watchTamaguiConfig","watcher","originalDispose","dispose","clearWorkerCache","loadTamaguiBuildConfig","tamaguiOptions","loadTamaguiBuildConfigSync","destroyPool","destroy","err","String","message","includes","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": "@tamagui/static-worker",
3
- "version": "1.136.3",
3
+ "version": "1.136.6",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "type": "module",
@@ -16,7 +16,9 @@
16
16
  "clean": "tamagui-build clean",
17
17
  "clean:build": "tamagui-build clean:build",
18
18
  "lint": "biome check src",
19
- "lint:fix": "biome check --write src"
19
+ "lint:fix": "biome check --write src",
20
+ "test": "vitest run",
21
+ "test:watch": "vitest"
20
22
  },
21
23
  "exports": {
22
24
  "./package.json": "./package.json",
@@ -31,11 +33,12 @@
31
33
  },
32
34
  "license": "MIT",
33
35
  "dependencies": {
34
- "@tamagui/static": "1.136.3",
35
- "@tamagui/types": "1.136.3",
36
+ "@tamagui/static": "1.136.6",
37
+ "@tamagui/types": "1.136.6",
36
38
  "piscina": "^4.7.0"
37
39
  },
38
40
  "devDependencies": {
39
- "@tamagui/build": "1.136.3"
41
+ "@tamagui/build": "1.136.6",
42
+ "vitest": "^4.0.4"
40
43
  }
41
44
  }
package/src/index.ts CHANGED
@@ -29,18 +29,20 @@ export const getPragmaOptions = async (props: {
29
29
 
30
30
  // Resolve worker path - works for both CJS and ESM
31
31
  const getWorkerPath = () => {
32
- // In ESM
32
+ // Piscina needs the actual file path, not the module resolution
33
+ // Use the CommonJS .js version which works for piscina
33
34
  if (typeof import.meta !== 'undefined' && import.meta.url) {
34
- // This will need to resolve to the actual worker from static package
35
- const staticPackagePath = fileURLToPath(import.meta.resolve('@tamagui/static'))
36
- return resolve(dirname(staticPackagePath), 'worker.js')
35
+ const workerPath = fileURLToPath(import.meta.resolve('@tamagui/static/worker'))
36
+ // Replace .mjs with .js for CommonJS compatibility
37
+ return workerPath.replace(/\.mjs$/, '.js')
37
38
  }
38
39
 
39
- // Fallback - assume static is installed
40
- return resolve(process.cwd(), 'node_modules/@tamagui/static/dist/worker.js')
40
+ // Fallback for CJS
41
+ return require.resolve('@tamagui/static/worker').replace(/\.mjs$/, '.js')
41
42
  }
42
43
 
43
44
  let piscinaPool: Piscina | null = null
45
+ let isClosing = false
44
46
 
45
47
  /**
46
48
  * Get or create the Piscina worker pool
@@ -114,9 +116,16 @@ export async function extractToClassNames(params: {
114
116
  const result = (await pool.run(task, { name: 'runTask' })) as any
115
117
 
116
118
  if (!result.success) {
117
- throw new Error(
118
- `Worker error: ${result.error}${result.stack ? `\n${result.stack}` : ''}`
119
- )
119
+ const errorMessage = [
120
+ `[tamagui-extract] Error processing file: ${sourcePath || '(unknown)'}`,
121
+ ``,
122
+ result.error,
123
+ result.stack ? `\n${result.stack}` : '',
124
+ ]
125
+ .filter(Boolean)
126
+ .join('\n')
127
+
128
+ throw new Error(errorMessage)
120
129
  }
121
130
 
122
131
  return result.data
@@ -141,9 +150,16 @@ export async function extractToNative(
141
150
  const result = (await pool.run(task, { name: 'runTask' })) as any
142
151
 
143
152
  if (!result.success) {
144
- throw new Error(
145
- `Worker error: ${result.error}${result.stack ? `\n${result.stack}` : ''}`
146
- )
153
+ const errorMessage = [
154
+ `[tamagui-extract] Error processing file: ${sourceFileName || '(unknown)'}`,
155
+ ``,
156
+ result.error,
157
+ result.stack ? `\n${result.stack}` : '',
158
+ ]
159
+ .filter(Boolean)
160
+ .join('\n')
161
+
162
+ throw new Error(errorMessage)
147
163
  }
148
164
 
149
165
  return result.data
@@ -195,22 +211,10 @@ export async function loadTamaguiBuildConfig(
195
211
  * Call this when config files change
196
212
  */
197
213
  export async function clearWorkerCache(): Promise<void> {
198
- if (!piscinaPool) return
214
+ if (!piscinaPool || isClosing) return
199
215
 
200
- // Check if pool is already destroyed or being destroyed
201
- try {
202
- const task = { type: 'clearCache' }
203
- await piscinaPool.run(task, { name: 'runTask' })
204
- } catch (err) {
205
- // Silently ignore errors if pool is being destroyed
206
- // This can happen during cleanup when closeBundle runs
207
- if (err && typeof err === 'object' && 'message' in err) {
208
- const message = String(err.message)
209
- if (!message.includes('Terminating worker thread')) {
210
- throw err
211
- }
212
- }
213
- }
216
+ const task = { type: 'clearCache' }
217
+ await piscinaPool.run(task, { name: 'runTask' })
214
218
  }
215
219
 
216
220
  /**
@@ -219,8 +223,22 @@ export async function clearWorkerCache(): Promise<void> {
219
223
  */
220
224
  export async function destroyPool(): Promise<void> {
221
225
  if (piscinaPool) {
222
- await piscinaPool.destroy()
223
- piscinaPool = null
226
+ isClosing = true
227
+ try {
228
+ await piscinaPool.destroy()
229
+ } catch (err) {
230
+ // Only ignore worker termination errors during shutdown
231
+ // Re-throw any other errors as they may be legitimate issues
232
+ if (err && typeof err === 'object' && 'message' in err) {
233
+ const message = String(err.message)
234
+ if (!message.includes('Terminating worker thread')) {
235
+ throw err
236
+ }
237
+ }
238
+ } finally {
239
+ piscinaPool = null
240
+ isClosing = false
241
+ }
224
242
  }
225
243
  }
226
244
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAKpD,YAAY,EACV,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,eAAO,MAAM,gBAAgB,GAAU,OAAO;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;;;EAGA,CAAA;AAiCD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAuBhF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,cAAc,CAAA;IACvB,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACvC,GAAG,OAAO,CAAC,GAAG,CAAC,CAyBf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,GAAG,CAAC,CAkBd;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG,SAAS,CAAC,CAqB9C;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,GAClD,OAAO,CAAC,cAAc,CAAC,CAKzB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBtD;AAED;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAKjD;AAED;;GAEG;AACH,wBAAgB,YAAY;;;;;;SAW3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAKpD,YAAY,EACV,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,eAAO,MAAM,gBAAgB,GAAU,OAAO;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;;;EAGA,CAAA;AAmCD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAuBhF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,cAAc,CAAA;IACvB,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACvC,GAAG,OAAO,CAAC,GAAG,CAAC,CAgCf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,GAAG,CAAC,CAyBd;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG,SAAS,CAAC,CAqB9C;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,GAClD,OAAO,CAAC,cAAc,CAAC,CAKzB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKtD;AAED;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBjD;AAED;;GAEG;AACH,wBAAgB,YAAY;;;;;;SAW3B"}