@tamagui/static-worker 2.0.0-rc.3 → 2.0.0-rc.31

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.
@@ -56,7 +56,7 @@ const import_meta = {},
56
56
  CLOSING_KEY = "__tamagui_piscina_closing__",
57
57
  TASK_COUNT_KEY = "__tamagui_piscina_task_count__",
58
58
  RECYCLING_KEY = "__tamagui_piscina_recycling__",
59
- MAX_TASKS_BEFORE_RECYCLE = 200;
59
+ MAX_TASKS_BEFORE_RECYCLE = 1e3;
60
60
  function getSharedPool() {
61
61
  return globalThis[POOL_KEY] ?? null;
62
62
  }
@@ -88,9 +88,9 @@ function resetTaskCount() {
88
88
  function createPool() {
89
89
  const pool = new import_piscina.default({
90
90
  filename: getWorkerPath(),
91
- // Single worker for state consistency and simpler caching
92
- minThreads: 1,
93
- maxThreads: 1,
91
+ // each worker loads and caches config independently
92
+ minThreads: 2,
93
+ maxThreads: 2,
94
94
  // Never terminate due to idle - worker stays alive until close() or process exit
95
95
  // This prevents "Terminating worker thread" errors from Piscina during idle
96
96
  idleTimeout: Number.POSITIVE_INFINITY
package/dist/esm/index.js CHANGED
@@ -1,9 +1,17 @@
1
1
  import { fileURLToPath } from "node:url";
2
2
  import Piscina from "piscina";
3
- const getPragmaOptions = async (props) => {
4
- const { default: Static } = await import("@tamagui/static");
5
- return Static.getPragmaOptions(props);
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"), POOL_KEY = "__tamagui_piscina_pool__", CLOSING_KEY = "__tamagui_piscina_closing__", TASK_COUNT_KEY = "__tamagui_piscina_task_count__", RECYCLING_KEY = "__tamagui_piscina_recycling__", MAX_TASKS_BEFORE_RECYCLE = 200;
3
+ const getPragmaOptions = async props => {
4
+ const {
5
+ default: Static
6
+ } = await import("@tamagui/static");
7
+ return Static.getPragmaOptions(props);
8
+ },
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
+ POOL_KEY = "__tamagui_piscina_pool__",
11
+ CLOSING_KEY = "__tamagui_piscina_closing__",
12
+ TASK_COUNT_KEY = "__tamagui_piscina_task_count__",
13
+ RECYCLING_KEY = "__tamagui_piscina_recycling__",
14
+ MAX_TASKS_BEFORE_RECYCLE = 1e3;
7
15
  function getSharedPool() {
8
16
  return globalThis[POOL_KEY] ?? null;
9
17
  }
@@ -35,16 +43,16 @@ function resetTaskCount() {
35
43
  function createPool() {
36
44
  const pool = new Piscina({
37
45
  filename: getWorkerPath(),
38
- // Single worker for state consistency and simpler caching
39
- minThreads: 1,
40
- maxThreads: 1,
46
+ // each worker loads and caches config independently
47
+ minThreads: 2,
48
+ maxThreads: 2,
41
49
  // Never terminate due to idle - worker stays alive until close() or process exit
42
50
  // This prevents "Terminating worker thread" errors from Piscina during idle
43
51
  idleTimeout: Number.POSITIVE_INFINITY
44
52
  // no resourceLimits - we rely on task-based recycling instead
45
53
  // V8 resourceLimits cause "Terminating worker thread" messages when hit
46
54
  });
47
- return pool.on("error", (err) => {
55
+ return pool.on("error", err => {
48
56
  isClosing() || isRecycling() || (err && typeof err == "object" && "message" in err ? String(err.message) : "").includes("Terminating worker thread") || console.error("[tamagui] Worker pool error:", err);
49
57
  }), pool;
50
58
  }
@@ -53,18 +61,23 @@ function getPool() {
53
61
  return pool || (pool = createPool(), setSharedPool(pool)), pool;
54
62
  }
55
63
  async function loadTamagui(options) {
56
- const pool = getPool(), task = {
57
- type: "extractToClassNames",
58
- source: "// dummy",
59
- sourcePath: "__dummy__.tsx",
60
- options: {
61
- components: ["tamagui"],
62
- ...options
63
- },
64
- shouldPrintDebug: !1
65
- };
64
+ const pool = getPool(),
65
+ task = {
66
+ type: "extractToClassNames",
67
+ source: "// dummy",
68
+ sourcePath: "__dummy__.tsx",
69
+ options: {
70
+ components: ["tamagui"],
71
+ ...options
72
+ },
73
+ shouldPrintDebug: !1
74
+ };
66
75
  try {
67
- return await pool.run(task, { name: "runTask" }), { success: !0 };
76
+ return await pool.run(task, {
77
+ name: "runTask"
78
+ }), {
79
+ success: !0
80
+ };
68
81
  } catch (error) {
69
82
  throw console.error("[static-worker] Error loading Tamagui config:", error), error;
70
83
  }
@@ -76,8 +89,10 @@ async function recyclePool(options) {
76
89
  setRecycling(!0);
77
90
  const start = Date.now();
78
91
  try {
79
- const originalStderr = process.stderr.write.bind(process.stderr), originalStdout = process.stdout.write.bind(process.stdout), filter = (chunk, ...args) => !!(typeof chunk == "string" ? chunk : chunk?.toString?.() || "").includes("Terminating worker thread");
80
- process.stderr.write = ((chunk, ...args) => filter(chunk) ? !0 : originalStderr(chunk, ...args)), process.stdout.write = ((chunk, ...args) => filter(chunk) ? !0 : originalStdout(chunk, ...args));
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);
81
96
  const newPool = createPool();
82
97
  setSharedPool(newPool);
83
98
  const warmupTask = {
@@ -91,8 +106,9 @@ async function recyclePool(options) {
91
106
  },
92
107
  shouldPrintDebug: !1
93
108
  };
94
- await newPool.run(warmupTask, { name: "runTask" }), oldPool.removeAllListeners(), oldPool.destroy().catch(() => {
95
- }), setTimeout(() => {
109
+ await newPool.run(warmupTask, {
110
+ name: "runTask"
111
+ }), oldPool.removeAllListeners(), oldPool.destroy().catch(() => {}), setTimeout(() => {
96
112
  process.stderr.write = originalStderr, process.stdout.write = originalStdout;
97
113
  }), console.log(` \u267B\uFE0F [tamagui] recycled worker pool (${Date.now() - start}ms)`);
98
114
  } finally {
@@ -100,59 +116,61 @@ async function recyclePool(options) {
100
116
  }
101
117
  }
102
118
  async function loadTamaguiBuildConfig(tamaguiOptions) {
103
- const { default: Static } = await import("@tamagui/static");
119
+ const {
120
+ default: Static
121
+ } = await import("@tamagui/static");
104
122
  return Static.loadTamaguiBuildConfigAsync(tamaguiOptions);
105
123
  }
106
124
  async function extractToClassNames(params) {
107
- const { source, sourcePath = "", options, shouldPrintDebug = !1 } = params;
108
- if (typeof source != "string")
109
- throw new Error("`source` must be a string of javascript");
110
- const task = {
111
- type: "extractToClassNames",
125
+ const {
112
126
  source,
113
- sourcePath,
127
+ sourcePath = "",
114
128
  options,
115
- shouldPrintDebug
116
- }, result = await getPool().run(task, { name: "runTask" });
129
+ shouldPrintDebug = !1
130
+ } = params;
131
+ if (typeof source != "string") throw new Error("`source` must be a string of javascript");
132
+ const task = {
133
+ type: "extractToClassNames",
134
+ source,
135
+ sourcePath,
136
+ options,
137
+ shouldPrintDebug
138
+ },
139
+ result = await getPool().run(task, {
140
+ name: "runTask"
141
+ });
117
142
  if (!result.success) {
118
- const errorMessage = [
119
- `[tamagui-extract] Error processing file: ${sourcePath || "(unknown)"}`,
120
- "",
121
- result.error,
122
- result.stack ? `
123
- ${result.stack}` : ""
124
- ].filter(Boolean).join(`
143
+ const errorMessage = [`[tamagui-extract] Error processing file: ${sourcePath || "(unknown)"}`, "", result.error, result.stack ? `
144
+ ${result.stack}` : ""].filter(Boolean).join(`
125
145
  `);
126
146
  throw new Error(errorMessage);
127
147
  }
128
- return incrementTaskCount() >= MAX_TASKS_BEFORE_RECYCLE && (resetTaskCount(), recyclePool(options).catch(() => {
129
- })), result.data;
148
+ return incrementTaskCount() >= MAX_TASKS_BEFORE_RECYCLE && (resetTaskCount(), recyclePool(options).catch(() => {})), result.data;
130
149
  }
131
150
  async function extractToNative(sourceFileName, sourceCode, options) {
132
151
  const task = {
133
- type: "extractToNative",
134
- sourceFileName,
135
- sourceCode,
136
- options
137
- }, result = await getPool().run(task, { name: "runTask" });
152
+ type: "extractToNative",
153
+ sourceFileName,
154
+ sourceCode,
155
+ options
156
+ },
157
+ result = await getPool().run(task, {
158
+ name: "runTask"
159
+ });
138
160
  if (!result.success) {
139
- const errorMessage = [
140
- `[tamagui-extract] Error processing file: ${sourceFileName || "(unknown)"}`,
141
- "",
142
- result.error,
143
- result.stack ? `
144
- ${result.stack}` : ""
145
- ].filter(Boolean).join(`
161
+ const errorMessage = [`[tamagui-extract] Error processing file: ${sourceFileName || "(unknown)"}`, "", result.error, result.stack ? `
162
+ ${result.stack}` : ""].filter(Boolean).join(`
146
163
  `);
147
164
  throw new Error(errorMessage);
148
165
  }
149
- return incrementTaskCount() >= MAX_TASKS_BEFORE_RECYCLE && (resetTaskCount(), recyclePool(options).catch(() => {
150
- })), result.data;
166
+ return incrementTaskCount() >= MAX_TASKS_BEFORE_RECYCLE && (resetTaskCount(), recyclePool(options).catch(() => {})), result.data;
151
167
  }
152
168
  async function watchTamaguiConfig(options) {
153
- const { default: Static } = await import("@tamagui/static"), watcher = await Static.watchTamaguiConfig(options);
154
- if (!watcher)
155
- return;
169
+ const {
170
+ default: Static
171
+ } = await import("@tamagui/static"),
172
+ watcher = await Static.watchTamaguiConfig(options);
173
+ if (!watcher) return;
156
174
  const originalDispose = watcher.dispose;
157
175
  return {
158
176
  dispose: () => {
@@ -163,8 +181,12 @@ async function watchTamaguiConfig(options) {
163
181
  async function clearWorkerCache() {
164
182
  const pool = getSharedPool();
165
183
  if (!pool || isClosing()) return;
166
- const task = { type: "clearCache" };
167
- await pool.run(task, { name: "runTask" });
184
+ const task = {
185
+ type: "clearCache"
186
+ };
187
+ await pool.run(task, {
188
+ name: "runTask"
189
+ });
168
190
  }
169
191
  async function destroyPool() {
170
192
  const pool = getSharedPool();
@@ -187,15 +209,5 @@ function getPoolStats() {
187
209
  utilization: pool.utilization
188
210
  } : null;
189
211
  }
190
- export {
191
- clearWorkerCache,
192
- destroyPool,
193
- extractToClassNames,
194
- extractToNative,
195
- getPoolStats,
196
- getPragmaOptions,
197
- loadTamagui,
198
- loadTamaguiBuildConfig,
199
- watchTamaguiConfig
200
- };
212
+ export { clearWorkerCache, destroyPool, extractToClassNames, extractToNative, getPoolStats, getPragmaOptions, loadTamagui, loadTamaguiBuildConfig, watchTamaguiConfig };
201
213
  //# sourceMappingURL=index.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
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","loadTamagui","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","loadTamaguiBuildConfig","tamaguiOptions","loadTamaguiBuildConfigAsync","extractToClassNames","params","Error","result","errorMessage","stack","Boolean","join","data","extractToNative","sourceFileName","sourceCode","watchTamaguiConfig","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":[]}
@@ -11,7 +11,7 @@ const getPragmaOptions = async props => {
11
11
  CLOSING_KEY = "__tamagui_piscina_closing__",
12
12
  TASK_COUNT_KEY = "__tamagui_piscina_task_count__",
13
13
  RECYCLING_KEY = "__tamagui_piscina_recycling__",
14
- MAX_TASKS_BEFORE_RECYCLE = 200;
14
+ MAX_TASKS_BEFORE_RECYCLE = 1e3;
15
15
  function getSharedPool() {
16
16
  return globalThis[POOL_KEY] ?? null;
17
17
  }
@@ -43,9 +43,9 @@ function resetTaskCount() {
43
43
  function createPool() {
44
44
  const pool = new Piscina({
45
45
  filename: getWorkerPath(),
46
- // Single worker for state consistency and simpler caching
47
- minThreads: 1,
48
- maxThreads: 1,
46
+ // each worker loads and caches config independently
47
+ minThreads: 2,
48
+ maxThreads: 2,
49
49
  // Never terminate due to idle - worker stays alive until close() or process exit
50
50
  // This prevents "Terminating worker thread" errors from Piscina during idle
51
51
  idleTimeout: Number.POSITIVE_INFINITY
@@ -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","loadTamagui","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","loadTamaguiBuildConfig","tamaguiOptions","loadTamaguiBuildConfigAsync","extractToClassNames","params","Error","result","errorMessage","stack","Boolean","join","data","extractToNative","sourceFileName","sourceCode","watchTamaguiConfig","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","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","loadTamagui","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","loadTamaguiBuildConfig","tamaguiOptions","loadTamaguiBuildConfigAsync","extractToClassNames","params","Error","result","errorMessage","stack","Boolean","join","data","extractToNative","sourceFileName","sourceCode","watchTamaguiConfig","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": "@tamagui/static-worker",
3
- "version": "2.0.0-rc.3",
3
+ "version": "2.0.0-rc.31",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
6
  "files": [
@@ -16,9 +16,10 @@
16
16
  "./package.json": "./package.json",
17
17
  ".": {
18
18
  "types": "./types/index.d.ts",
19
- "require": "./dist/cjs/index.cjs",
19
+ "browser": "./dist/esm/index.mjs",
20
20
  "module": "./dist/esm/index.mjs",
21
- "import": "./dist/esm/index.mjs"
21
+ "import": "./dist/esm/index.mjs",
22
+ "require": "./dist/cjs/index.cjs"
22
23
  }
23
24
  },
24
25
  "publishConfig": {
@@ -30,15 +31,16 @@
30
31
  "clean": "tamagui-build clean",
31
32
  "clean:build": "tamagui-build clean:build",
32
33
  "test": "vitest run",
34
+ "test:web": "bun run test",
33
35
  "test:watch": "vitest"
34
36
  },
35
37
  "dependencies": {
36
- "@tamagui/static": "2.0.0-rc.3",
37
- "@tamagui/types": "2.0.0-rc.3",
38
+ "@tamagui/static": "2.0.0-rc.31",
39
+ "@tamagui/types": "2.0.0-rc.31",
38
40
  "piscina": "^4.7.0"
39
41
  },
40
42
  "devDependencies": {
41
- "@tamagui/build": "2.0.0-rc.3",
43
+ "@tamagui/build": "2.0.0-rc.31",
42
44
  "vitest": "4.0.4"
43
45
  }
44
46
  }
package/src/index.ts CHANGED
@@ -9,7 +9,6 @@
9
9
  */
10
10
 
11
11
  import type { TamaguiOptions } from '@tamagui/types'
12
- import { dirname, resolve } from 'node:path'
13
12
  import { fileURLToPath } from 'node:url'
14
13
  import Piscina from 'piscina'
15
14
 
@@ -43,8 +42,9 @@ const RECYCLING_KEY = '__tamagui_piscina_recycling__'
43
42
 
44
43
  // recycle worker after this many tasks to prevent RSS bloat from V8 memory fragmentation
45
44
  // Node.js worker threads don't release memory properly - see https://github.com/nodejs/node/issues/51868
46
- // Lower threshold to recycle before hitting V8 memory limits
47
- const MAX_TASKS_BEFORE_RECYCLE = 200
45
+ // set high enough that builds (typically 200-400 files) never trigger a recycle,
46
+ // but long-running dev servers still get memory relief eventually
47
+ const MAX_TASKS_BEFORE_RECYCLE = 1000
48
48
 
49
49
  function getSharedPool(): Piscina | null {
50
50
  return (globalThis as any)[POOL_KEY] ?? null
@@ -90,9 +90,9 @@ function resetTaskCount() {
90
90
  function createPool(): Piscina {
91
91
  const pool = new Piscina({
92
92
  filename: getWorkerPath(),
93
- // Single worker for state consistency and simpler caching
94
- minThreads: 1,
95
- maxThreads: 1,
93
+ // each worker loads and caches config independently
94
+ minThreads: 2,
95
+ maxThreads: 2,
96
96
  // Never terminate due to idle - worker stays alive until close() or process exit
97
97
  // This prevents "Terminating worker thread" errors from Piscina during idle
98
98
  idleTimeout: Number.POSITIVE_INFINITY,
@@ -126,14 +126,15 @@ function getPool(): Piscina {
126
126
  }
127
127
 
128
128
  /**
129
- * Load Tamagui configuration in the worker thread
130
- * This is cached in the worker, so subsequent calls are fast
129
+ * Load Tamagui configuration in worker
130
+ * Sends a warmup task to trigger config loading
131
+ * bundleConfig auto-detects if files exist and skips rebuild
131
132
  */
132
133
  export async function loadTamagui(options: Partial<TamaguiOptions>): Promise<any> {
133
134
  const pool = getPool()
134
135
 
135
- // Use extractToClassNames with a dummy request to trigger config loading
136
- // The worker will cache the config for subsequent requests
136
+ // use extractToClassNames with a dummy request to trigger config loading
137
+ // the worker will cache the config for subsequent requests
137
138
  const task = {
138
139
  type: 'extractToClassNames',
139
140
  source: '// dummy',
package/types/index.d.ts CHANGED
@@ -18,8 +18,9 @@ export declare const getPragmaOptions: (props: {
18
18
  shouldDisable: boolean;
19
19
  }>;
20
20
  /**
21
- * Load Tamagui configuration in the worker thread
22
- * This is cached in the worker, so subsequent calls are fast
21
+ * Load Tamagui configuration in worker
22
+ * Sends a warmup task to trigger config loading
23
+ * bundleConfig auto-detects if files exist and skips rebuild
23
24
  */
24
25
  export declare function loadTamagui(options: Partial<TamaguiOptions>): Promise<any>;
25
26
  /**
@@ -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,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,eAAO,MAAM,gBAAgB,GAAU,OAAO;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;;;EAG7E,CAAA;AA0GD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAuBhF;AAsED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,GAClD,OAAO,CAAC,cAAc,CAAC,CAIzB;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,CAwCf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,GAAG,CAAC,CAiCd;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,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMtD;AAED;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAWjD;AAED;;GAEG;AACH,wBAAgB,YAAY;;;;;;SAY3B"}
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;AAIpD,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,eAAO,MAAM,gBAAgB,GAAU,OAAO;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;;;EAG7E,CAAA;AA2GD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAuBhF;AAsED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,GAClD,OAAO,CAAC,cAAc,CAAC,CAIzB;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,CAwCf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,GAAG,CAAC,CAiCd;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,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMtD;AAED;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAWjD;AAED;;GAEG;AACH,wBAAgB,YAAY;;;;;;SAY3B"}
package/dist/cjs/index.js DELETED
@@ -1,224 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- return to;
14
- };
15
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
- // If the importer is in node compatibility mode or this is not an ESM
17
- // file that has been converted to a CommonJS file using a Babel-
18
- // compatible transform (i.e. "__esModule" has not been set), then set
19
- // "default" to the CommonJS "module.exports" for node compatibility.
20
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
21
- mod
22
- )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
23
- var index_exports = {};
24
- __export(index_exports, {
25
- clearWorkerCache: () => clearWorkerCache,
26
- destroyPool: () => destroyPool,
27
- extractToClassNames: () => extractToClassNames,
28
- extractToNative: () => extractToNative,
29
- getPoolStats: () => getPoolStats,
30
- getPragmaOptions: () => getPragmaOptions,
31
- loadTamagui: () => loadTamagui,
32
- loadTamaguiBuildConfig: () => loadTamaguiBuildConfig,
33
- watchTamaguiConfig: () => watchTamaguiConfig
34
- });
35
- module.exports = __toCommonJS(index_exports);
36
- var import_node_url = require("node:url"), import_piscina = __toESM(require("piscina"), 1);
37
- const import_meta = {}, getPragmaOptions = async (props) => {
38
- const { default: Static } = await import("@tamagui/static");
39
- return Static.getPragmaOptions(props);
40
- }, getWorkerPath = () => typeof import_meta < "u" && import_meta.url ? (0, import_node_url.fileURLToPath)(import_meta.resolve("@tamagui/static/worker")).replace(/\.mjs$/, ".js") : require.resolve("@tamagui/static/worker").replace(/\.mjs$/, ".js"), POOL_KEY = "__tamagui_piscina_pool__", CLOSING_KEY = "__tamagui_piscina_closing__", TASK_COUNT_KEY = "__tamagui_piscina_task_count__", RECYCLING_KEY = "__tamagui_piscina_recycling__", MAX_TASKS_BEFORE_RECYCLE = 200;
41
- function getSharedPool() {
42
- return globalThis[POOL_KEY] ?? null;
43
- }
44
- function setSharedPool(pool) {
45
- globalThis[POOL_KEY] = pool;
46
- }
47
- function isClosing() {
48
- return globalThis[CLOSING_KEY] === !0;
49
- }
50
- function setClosing(value) {
51
- globalThis[CLOSING_KEY] = value;
52
- }
53
- function isRecycling() {
54
- return globalThis[RECYCLING_KEY] === !0;
55
- }
56
- function setRecycling(value) {
57
- globalThis[RECYCLING_KEY] = value;
58
- }
59
- function getTaskCount() {
60
- return globalThis[TASK_COUNT_KEY] ?? 0;
61
- }
62
- function incrementTaskCount() {
63
- const count = getTaskCount() + 1;
64
- return globalThis[TASK_COUNT_KEY] = count, count;
65
- }
66
- function resetTaskCount() {
67
- globalThis[TASK_COUNT_KEY] = 0;
68
- }
69
- function createPool() {
70
- const pool = new import_piscina.default({
71
- filename: getWorkerPath(),
72
- // Single worker for state consistency and simpler caching
73
- minThreads: 1,
74
- maxThreads: 1,
75
- // Never terminate due to idle - worker stays alive until close() or process exit
76
- // This prevents "Terminating worker thread" errors from Piscina during idle
77
- idleTimeout: Number.POSITIVE_INFINITY
78
- // no resourceLimits - we rely on task-based recycling instead
79
- // V8 resourceLimits cause "Terminating worker thread" messages when hit
80
- });
81
- return pool.on("error", (err) => {
82
- isClosing() || isRecycling() || (err && typeof err == "object" && "message" in err ? String(err.message) : "").includes("Terminating worker thread") || console.error("[tamagui] Worker pool error:", err);
83
- }), pool;
84
- }
85
- function getPool() {
86
- let pool = getSharedPool();
87
- return pool || (pool = createPool(), setSharedPool(pool)), pool;
88
- }
89
- async function loadTamagui(options) {
90
- const pool = getPool(), task = {
91
- type: "extractToClassNames",
92
- source: "// dummy",
93
- sourcePath: "__dummy__.tsx",
94
- options: {
95
- components: ["tamagui"],
96
- ...options
97
- },
98
- shouldPrintDebug: !1
99
- };
100
- try {
101
- return await pool.run(task, { name: "runTask" }), { success: !0 };
102
- } catch (error) {
103
- throw console.error("[static-worker] Error loading Tamagui config:", error), error;
104
- }
105
- }
106
- async function recyclePool(options) {
107
- if (isClosing() || isRecycling()) return;
108
- const oldPool = getSharedPool();
109
- if (!oldPool) return;
110
- setRecycling(!0);
111
- const start = Date.now();
112
- try {
113
- const originalStderr = process.stderr.write.bind(process.stderr), originalStdout = process.stdout.write.bind(process.stdout), filter = (chunk, ...args) => !!(typeof chunk == "string" ? chunk : chunk?.toString?.() || "").includes("Terminating worker thread");
114
- process.stderr.write = ((chunk, ...args) => filter(chunk) ? !0 : originalStderr(chunk, ...args)), process.stdout.write = ((chunk, ...args) => filter(chunk) ? !0 : originalStdout(chunk, ...args));
115
- const newPool = createPool();
116
- setSharedPool(newPool);
117
- const warmupTask = {
118
- type: "extractToClassNames",
119
- source: "// warmup",
120
- sourcePath: "__warmup__.tsx",
121
- options: {
122
- ...options,
123
- // skip the "built config" log on warmup since it's a recycle
124
- _skipBuildLog: !0
125
- },
126
- shouldPrintDebug: !1
127
- };
128
- await newPool.run(warmupTask, { name: "runTask" }), oldPool.removeAllListeners(), oldPool.destroy().catch(() => {
129
- }), setTimeout(() => {
130
- process.stderr.write = originalStderr, process.stdout.write = originalStdout;
131
- }), console.log(` \u267B\uFE0F [tamagui] recycled worker pool (${Date.now() - start}ms)`);
132
- } finally {
133
- setRecycling(!1);
134
- }
135
- }
136
- async function loadTamaguiBuildConfig(tamaguiOptions) {
137
- const { default: Static } = await import("@tamagui/static");
138
- return Static.loadTamaguiBuildConfigAsync(tamaguiOptions);
139
- }
140
- async function extractToClassNames(params) {
141
- const { source, sourcePath = "", options, shouldPrintDebug = !1 } = params;
142
- if (typeof source != "string")
143
- throw new Error("`source` must be a string of javascript");
144
- const task = {
145
- type: "extractToClassNames",
146
- source,
147
- sourcePath,
148
- options,
149
- shouldPrintDebug
150
- }, result = await getPool().run(task, { name: "runTask" });
151
- if (!result.success) {
152
- const errorMessage = [
153
- `[tamagui-extract] Error processing file: ${sourcePath || "(unknown)"}`,
154
- "",
155
- result.error,
156
- result.stack ? `
157
- ${result.stack}` : ""
158
- ].filter(Boolean).join(`
159
- `);
160
- throw new Error(errorMessage);
161
- }
162
- return incrementTaskCount() >= MAX_TASKS_BEFORE_RECYCLE && (resetTaskCount(), recyclePool(options).catch(() => {
163
- })), result.data;
164
- }
165
- async function extractToNative(sourceFileName, sourceCode, options) {
166
- const task = {
167
- type: "extractToNative",
168
- sourceFileName,
169
- sourceCode,
170
- options
171
- }, result = await getPool().run(task, { name: "runTask" });
172
- if (!result.success) {
173
- const errorMessage = [
174
- `[tamagui-extract] Error processing file: ${sourceFileName || "(unknown)"}`,
175
- "",
176
- result.error,
177
- result.stack ? `
178
- ${result.stack}` : ""
179
- ].filter(Boolean).join(`
180
- `);
181
- throw new Error(errorMessage);
182
- }
183
- return incrementTaskCount() >= MAX_TASKS_BEFORE_RECYCLE && (resetTaskCount(), recyclePool(options).catch(() => {
184
- })), result.data;
185
- }
186
- async function watchTamaguiConfig(options) {
187
- const { default: Static } = await import("@tamagui/static"), watcher = await Static.watchTamaguiConfig(options);
188
- if (!watcher)
189
- return;
190
- const originalDispose = watcher.dispose;
191
- return {
192
- dispose: () => {
193
- originalDispose(), getSharedPool() && clearWorkerCache();
194
- }
195
- };
196
- }
197
- async function clearWorkerCache() {
198
- const pool = getSharedPool();
199
- if (!pool || isClosing()) return;
200
- const task = { type: "clearCache" };
201
- await pool.run(task, { name: "runTask" });
202
- }
203
- async function destroyPool() {
204
- const pool = getSharedPool();
205
- if (pool) {
206
- setClosing(!0);
207
- try {
208
- await pool.close();
209
- } finally {
210
- setSharedPool(null), setClosing(!1);
211
- }
212
- }
213
- }
214
- function getPoolStats() {
215
- const pool = getSharedPool();
216
- return pool ? {
217
- threads: pool.threads.length,
218
- queueSize: pool.queueSize,
219
- completed: pool.completed,
220
- duration: pool.duration,
221
- utilization: pool.utilization
222
- } : null;
223
- }
224
- //# sourceMappingURL=index.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": "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",
5
- "names": ["Piscina"]
6
- }