threadsx 2.0.2 → 2.1.0

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.
Files changed (53) hide show
  1. package/dist/errors.d.ts +16 -0
  2. package/dist/errors.js +31 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +3 -1
  5. package/dist/master/implementation.node.js +22 -2
  6. package/dist/master/invocation-proxy.js +45 -11
  7. package/dist/master/pool.d.ts +1 -24
  8. package/dist/master/pool.js +25 -3
  9. package/dist/transferable.d.ts +1 -0
  10. package/dist/types/master.d.ts +22 -1
  11. package/dist/types/master.js +0 -1
  12. package/dist/types/worker.d.ts +1 -0
  13. package/dist/worker/implementation.browser.d.ts +1 -1
  14. package/dist/worker/implementation.worker_threads.d.ts +1 -1
  15. package/dist-esm/errors.js +26 -0
  16. package/dist-esm/index.js +1 -0
  17. package/dist-esm/master/implementation.node.js +22 -2
  18. package/dist-esm/master/invocation-proxy.js +45 -11
  19. package/dist-esm/master/pool.js +25 -3
  20. package/dist-esm/types/master.js +0 -1
  21. package/esm/common.mjs +20 -0
  22. package/esm/errors.mjs +34 -0
  23. package/esm/index.mjs +16 -0
  24. package/esm/master/get-bundle-url.browser.mjs +32 -0
  25. package/esm/master/implementation.browser.mjs +76 -0
  26. package/esm/master/implementation.mjs +24 -0
  27. package/esm/master/implementation.node.mjs +190 -0
  28. package/esm/master/index.mjs +17 -0
  29. package/esm/master/invocation-proxy.mjs +164 -0
  30. package/esm/master/pool-types.mjs +20 -0
  31. package/esm/master/pool.mjs +313 -0
  32. package/esm/master/register.mjs +14 -0
  33. package/esm/master/spawn.mjs +162 -0
  34. package/esm/master/thread.mjs +28 -0
  35. package/esm/observable-promise.mjs +155 -0
  36. package/esm/observable.mjs +45 -0
  37. package/esm/ponyfills.mjs +26 -0
  38. package/esm/promise.mjs +32 -0
  39. package/esm/serializers.mjs +55 -0
  40. package/esm/symbols.mjs +13 -0
  41. package/esm/transferable.mjs +31 -0
  42. package/esm/types/master.mjs +15 -0
  43. package/esm/types/messages.mjs +25 -0
  44. package/esm/worker/implementation.browser.mjs +31 -0
  45. package/esm/worker/implementation.mjs +22 -0
  46. package/esm/worker/implementation.worker_threads.mjs +46 -0
  47. package/esm/worker/index.mjs +224 -0
  48. package/esm/worker_threads.mjs +21 -0
  49. package/package.json +20 -20
  50. package/index.mjs +0 -4
  51. package/observable.mjs +0 -1
  52. package/register.mjs +0 -2
  53. package/worker.mjs +0 -1
package/package.json CHANGED
@@ -1,18 +1,19 @@
1
1
  {
2
2
  "name": "threadsx",
3
- "version": "2.0.2",
3
+ "version": "2.1.0",
4
4
  "description": "Make web workers & worker threads as simple as a function call. Maintained, modernized fork of threads.js — Node.js 20+, ESM & CommonJS, TypeScript, observables and thread pools.",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist-esm/index.js",
8
8
  "scripts": {
9
- "clean": "rimraf dist/ dist-esm/",
9
+ "clean": "rimraf dist/ dist-esm/ esm/",
10
10
  "dev": "npm run clean && tsc -p tsconfig.json --watch",
11
11
  "build": "npm run clean && npm run build:cjs && npm run build:es",
12
12
  "build:cjs": "tsc -p tsconfig.json",
13
13
  "build:es": "tsc -p tsconfig-esm.json",
14
- "postbuild": "npm run bundle",
14
+ "postbuild": "npm run bundle && npm run bundle:entries",
15
15
  "bundle": "rollup -c -f umd --file=bundle/worker.js --name=threads --silent -- dist-esm/worker/bundle-entry.js",
16
+ "bundle:entries": "rollup -c rollup.entries.config.js --silent",
16
17
  "lint": "eslint .",
17
18
  "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
18
19
  "test": "npm run lint && npm run test:library && npm run test:tooling && npm run test:browser",
@@ -26,32 +27,33 @@
26
27
  ".": {
27
28
  "types": "./dist/index.d.ts",
28
29
  "module": "./dist-esm/index.js",
29
- "import": "./index.mjs",
30
+ "import": "./esm/index.mjs",
30
31
  "require": "./dist/index.js"
31
32
  },
32
33
  "./observable": {
33
34
  "types": "./dist/observable.d.ts",
34
35
  "module": "./dist-esm/observable.js",
35
- "import": "./observable.mjs",
36
+ "import": "./esm/observable.mjs",
36
37
  "require": "./dist/observable.js"
37
38
  },
38
39
  "./register": {
40
+ "types": "./dist/master/register.d.ts",
39
41
  "module": "./dist-esm/master/register.js",
40
- "import": "./register.mjs",
42
+ "import": "./esm/master/register.mjs",
41
43
  "require": "./dist/master/register.js"
42
44
  },
43
45
  "./worker": {
44
46
  "types": "./dist/worker/index.d.ts",
45
47
  "module": "./dist-esm/worker/index.js",
46
- "import": "./worker.mjs",
48
+ "import": "./esm/worker/index.mjs",
47
49
  "require": "./dist/worker/index.js"
48
50
  }
49
51
  },
50
52
  "sideEffects": [
51
53
  "./dist*/master/register.js",
52
54
  "./dist*/worker/index.js",
53
- "./register.mjs",
54
- "./worker.mjs"
55
+ "./esm/master/register.mjs",
56
+ "./esm/worker/index.mjs"
55
57
  ],
56
58
  "repository": {
57
59
  "type": "git",
@@ -94,22 +96,20 @@
94
96
  "@rollup/plugin-commonjs": "^29.0.3",
95
97
  "@rollup/plugin-node-resolve": "^16.0.3",
96
98
  "@types/debug": "^4.1.12",
97
- "@types/execa": "^2.0.0",
98
99
  "@types/node": "^20.19.0",
99
100
  "ava": "^7.0.0",
100
101
  "c8": "^10.1.3",
101
102
  "esbuild": "^0.25.12",
102
103
  "eslint": "^10.5.0",
103
104
  "eslint-config-prettier": "^9.1.2",
104
- "execa": "^4.0.3",
105
105
  "globals": "^16.5.0",
106
106
  "prettier": "^3.8.4",
107
107
  "rimraf": "^6.0.1",
108
108
  "rollup": "^4.62.0",
109
109
  "ts-loader": "^9.6.1",
110
110
  "tsx": "^4.22.4",
111
- "typescript": "^5.9.3",
112
- "typescript-eslint": "^8.61.1",
111
+ "typescript": "^6.0.3",
112
+ "typescript-eslint": "^8.62.1",
113
113
  "webpack": "^5.107.2"
114
114
  },
115
115
  "ava": {
@@ -145,8 +145,8 @@
145
145
  "lcov"
146
146
  ],
147
147
  "check-coverage": true,
148
- "lines": 91,
149
- "branches": 80,
148
+ "lines": 92,
149
+ "branches": 82,
150
150
  "functions": 90
151
151
  },
152
152
  "browser": {
@@ -171,9 +171,9 @@
171
171
  "files": [
172
172
  "dist/**",
173
173
  "dist-esm/**",
174
- "index.mjs",
175
- "observable.mjs",
176
- "register.mjs",
177
- "worker.mjs"
178
- ]
174
+ "esm/**"
175
+ ],
176
+ "overrides": {
177
+ "js-yaml": "^4.1.0"
178
+ }
179
179
  }
package/index.mjs DELETED
@@ -1,4 +0,0 @@
1
- // ESM entry for Node. Re-exports the CommonJS build (which is runtime-safe in
2
- // both module systems); bundlers get the tree-shakeable dist-esm/ build via the
3
- // "module" condition in package.json#exports.
4
- export * from "./dist/index.js"
package/observable.mjs DELETED
@@ -1 +0,0 @@
1
- export * from "./dist/observable.js"
package/register.mjs DELETED
@@ -1,2 +0,0 @@
1
- // Side-effect only: registers the threads.js Worker as the global Worker.
2
- import "./dist/master/register.js"
package/worker.mjs DELETED
@@ -1 +0,0 @@
1
- export * from "./dist/worker/index.js"