@turntrout/subfont 1.9.12 → 1.9.13

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.
@@ -1 +1 @@
1
- {"version":3,"file":"fontConverter.d.ts","sourceRoot":"","sources":["../src/fontConverter.ts"],"names":[],"mappings":"AA2JA,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,GAAG,UAAU,EAC3B,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAI7C"}
1
+ {"version":3,"file":"fontConverter.d.ts","sourceRoot":"","sources":["../src/fontConverter.ts"],"names":[],"mappings":"AAuIA,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,GAAG,UAAU,EAC3B,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAM7C"}
@@ -8,72 +8,59 @@ const worker_threads_1 = require("worker_threads");
8
8
  const workerPath = pathModule.join(__dirname, 'fontConverterWorker.js');
9
9
  const CONVERT_TIMEOUT_MS = 120_000;
10
10
  const POOL_SIZE = Math.max(1, Math.min(os.cpus().length, 8));
11
- const _pool = [];
12
- const _waiters = [];
13
- function createEntry() {
11
+ let _activeCount = 0;
12
+ const _queue = [];
13
+ const _idleWorkers = [];
14
+ const _allWorkers = new Set();
15
+ function acquireSlot() {
16
+ if (_activeCount < POOL_SIZE) {
17
+ _activeCount++;
18
+ return Promise.resolve();
19
+ }
20
+ return new Promise((resolve) => {
21
+ _queue.push(() => {
22
+ _activeCount++;
23
+ resolve();
24
+ });
25
+ });
26
+ }
27
+ function releaseSlot() {
28
+ _activeCount--;
29
+ const next = _queue.shift();
30
+ if (next)
31
+ next();
32
+ }
33
+ function createWorker() {
14
34
  const worker = new worker_threads_1.Worker(workerPath);
15
35
  worker.unref();
16
- const entry = { worker, busy: false };
36
+ _allWorkers.add(worker);
37
+ // Drop crashed idle workers from the cache so we never hand a zombie
38
+ // to a future caller. doConvert attaches its own short-lived exit
39
+ // handler for the in-flight case; both can fire harmlessly.
17
40
  worker.on('exit', () => {
18
- if (!entry.busy) {
19
- replaceEntry(entry);
20
- }
41
+ _allWorkers.delete(worker);
42
+ const idx = _idleWorkers.indexOf(worker);
43
+ if (idx !== -1)
44
+ _idleWorkers.splice(idx, 1);
21
45
  });
22
- return entry;
23
- }
24
- function acquire() {
25
- const idle = _pool.find((e) => !e.busy);
26
- if (idle) {
27
- idle.busy = true;
28
- return idle;
29
- }
30
- if (_pool.length < POOL_SIZE) {
31
- const entry = createEntry();
32
- entry.busy = true;
33
- _pool.push(entry);
34
- return entry;
35
- }
36
- return null;
46
+ return worker;
37
47
  }
38
- function release(entry) {
39
- entry.busy = false;
40
- if (_waiters.length > 0) {
41
- entry.busy = true;
42
- const waiter = _waiters.shift();
43
- waiter(entry);
44
- }
48
+ function discardWorker(worker) {
49
+ _allWorkers.delete(worker);
50
+ const idx = _idleWorkers.indexOf(worker);
51
+ if (idx !== -1)
52
+ _idleWorkers.splice(idx, 1);
53
+ worker.terminate().catch(() => { });
45
54
  }
46
- function replaceEntry(entry) {
47
- const idx = _pool.indexOf(entry);
48
- if (idx === -1)
49
- return;
50
- try {
51
- const replacement = createEntry();
52
- _pool[idx] = replacement;
53
- if (_waiters.length > 0) {
54
- replacement.busy = true;
55
- const waiter = _waiters.shift();
56
- waiter(replacement);
57
- }
58
- }
59
- catch {
60
- // Worker creation failed — shrink the pool. In the degenerate case
61
- // where all workers are unspawnable, the pool empties and pending
62
- // waiters will hang until the caller's own timeout fires.
63
- _pool.splice(idx, 1);
64
- }
65
- }
66
- function doConvert(entry, buffer, targetFormat, sourceFormat) {
55
+ function doConvert(worker, buffer, targetFormat, sourceFormat) {
67
56
  return new Promise((resolve, reject) => {
68
57
  let settled = false;
69
- const { worker } = entry;
70
58
  const timer = setTimeout(() => {
71
59
  if (settled)
72
60
  return;
73
61
  settled = true;
74
62
  cleanup();
75
- worker.terminate();
76
- replaceEntry(entry);
63
+ discardWorker(worker);
77
64
  reject(new Error(`Font conversion to ${targetFormat} timed out after ${CONVERT_TIMEOUT_MS}ms`));
78
65
  }, CONVERT_TIMEOUT_MS);
79
66
  timer.unref();
@@ -88,7 +75,7 @@ function doConvert(entry, buffer, targetFormat, sourceFormat) {
88
75
  return;
89
76
  settled = true;
90
77
  cleanup();
91
- release(entry);
78
+ _idleWorkers.push(worker);
92
79
  if (msg.type === 'result' && msg.buffer) {
93
80
  resolve(Buffer.from(msg.buffer));
94
81
  }
@@ -101,8 +88,7 @@ function doConvert(entry, buffer, targetFormat, sourceFormat) {
101
88
  return;
102
89
  settled = true;
103
90
  cleanup();
104
- worker.terminate();
105
- replaceEntry(entry);
91
+ discardWorker(worker);
106
92
  reject(err);
107
93
  };
108
94
  const onExit = (code) => {
@@ -110,7 +96,7 @@ function doConvert(entry, buffer, targetFormat, sourceFormat) {
110
96
  return;
111
97
  settled = true;
112
98
  cleanup();
113
- replaceEntry(entry);
99
+ discardWorker(worker);
114
100
  reject(new Error(`Font converter worker exited unexpectedly with code ${code}`));
115
101
  };
116
102
  worker.on('message', onMessage);
@@ -122,23 +108,26 @@ function doConvert(entry, buffer, targetFormat, sourceFormat) {
122
108
  catch (err) {
123
109
  settled = true;
124
110
  cleanup();
125
- release(entry);
111
+ discardWorker(worker);
126
112
  reject(err);
127
113
  }
128
114
  });
129
115
  }
130
- function convert(buffer, targetFormat, sourceFormat) {
131
- const entry = acquire();
132
- if (entry) {
133
- return doConvert(entry, buffer, targetFormat, sourceFormat);
116
+ async function convert(buffer, targetFormat, sourceFormat) {
117
+ await acquireSlot();
118
+ try {
119
+ const worker = _idleWorkers.pop() ?? createWorker();
120
+ return await doConvert(worker, buffer, targetFormat, sourceFormat);
121
+ }
122
+ finally {
123
+ releaseSlot();
134
124
  }
135
- return new Promise((resolve) => {
136
- _waiters.push(resolve);
137
- }).then((e) => doConvert(e, buffer, targetFormat, sourceFormat));
138
125
  }
139
126
  async function destroy() {
140
- _waiters.length = 0;
141
- await Promise.all(_pool.map((e) => e.worker.terminate()));
142
- _pool.length = 0;
127
+ _queue.length = 0;
128
+ _idleWorkers.length = 0;
129
+ const workers = Array.from(_allWorkers);
130
+ _allWorkers.clear();
131
+ await Promise.all(workers.map((w) => w.terminate()));
143
132
  }
144
133
  //# sourceMappingURL=fontConverter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fontConverter.js","sourceRoot":"","sources":["../src/fontConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fontConverter.js","sourceRoot":"","sources":["../src/fontConverter.ts"],"names":[],"mappings":";;AAuIA,0BAYC;AAED,0BAMC;AA3JD,mCAAoC;AACpC,yBAA0B;AAC1B,mDAAwC;AAExC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;AACxE,MAAM,kBAAkB,GAAG,OAAO,CAAC;AACnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAQ7D,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,MAAM,MAAM,GAAsB,EAAE,CAAC;AACrC,MAAM,YAAY,GAAa,EAAE,CAAC;AAClC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;AAEtC,SAAS,WAAW;IAClB,IAAI,YAAY,GAAG,SAAS,EAAE,CAAC;QAC7B,YAAY,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW;IAClB,YAAY,EAAE,CAAC;IACf,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,IAAI,IAAI;QAAE,IAAI,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,MAAM,GAAG,IAAI,uBAAM,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,qEAAqE;IACrE,kEAAkE;IAClE,4DAA4D;IAC5D,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACrB,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,SAAS,CAChB,MAAc,EACd,MAA2B,EAC3B,YAAoB,EACpB,YAAgC;IAEhC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,aAAa,CAAC,MAAM,CAAC,CAAC;YACtB,MAAM,CACJ,IAAI,KAAK,CACP,sBAAsB,YAAY,oBAAoB,kBAAkB,IAAI,CAC7E,CACF,CAAC;QACJ,CAAC,EAAE,kBAAkB,CAAC,CAAC;QACvB,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,CAAC,GAAkB,EAAE,EAAE;YACvC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACxC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,CACJ,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,sBAAsB,YAAY,SAAS,CAAC,CACpE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,GAAU,EAAE,EAAE;YAC7B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,aAAa,CAAC,MAAM,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;YAC9B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,aAAa,CAAC,MAAM,CAAC,CAAC;YACtB,MAAM,CACJ,IAAI,KAAK,CAAC,uDAAuD,IAAI,EAAE,CAAC,CACzE,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,aAAa,CAAC,MAAM,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,OAAO,CAC3B,MAA2B,EAC3B,YAAoB,EACpB,YAAqB;IAErB,MAAM,WAAW,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,YAAY,EAAE,CAAC;QACpD,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC;YAAS,CAAC;QACT,WAAW,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,OAAO;IAC3B,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@turntrout/subfont",
3
- "version": "1.9.12",
3
+ "version": "1.9.13",
4
4
  "description": "Automatically subset web fonts to only the characters used on your pages. Fork of Munter/subfont with modern defaults.",
5
5
  "engines": {
6
6
  "node": ">=18.0.0"