@gjsify/worker_threads 0.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.
@@ -0,0 +1,42 @@
1
+ import { EventEmitter } from 'node:events';
2
+ export interface WorkerOptions {
3
+ argv?: unknown[];
4
+ env?: Record<string, string> | symbol;
5
+ execArgv?: string[];
6
+ stdin?: boolean;
7
+ stdout?: boolean;
8
+ stderr?: boolean;
9
+ workerData?: unknown;
10
+ eval?: boolean;
11
+ transferList?: unknown[];
12
+ resourceLimits?: Record<string, number>;
13
+ name?: string;
14
+ }
15
+ export declare class Worker extends EventEmitter {
16
+ readonly threadId: number;
17
+ readonly resourceLimits: Record<string, unknown>;
18
+ private _subprocess;
19
+ private _stdinPipe;
20
+ private _exited;
21
+ private _bootstrapFile;
22
+ constructor(filename: string | URL, options?: WorkerOptions);
23
+ postMessage(value: unknown, _transferList?: unknown[]): void;
24
+ terminate(): Promise<number>;
25
+ ref(): this;
26
+ unref(): this;
27
+ /**
28
+ * Resolve a worker filename to an absolute path or file:// URL.
29
+ *
30
+ * - URL instances → href string
31
+ * - file:// URLs → kept as-is
32
+ * - Absolute paths → converted to file:// URL
33
+ * - Relative paths (./foo, ../bar) → resolved relative to cwd, converted to file:// URL
34
+ * - eval mode → returned as-is (it's code, not a path)
35
+ */
36
+ private static _resolveFilename;
37
+ private _readMessages;
38
+ private _stderrChunks;
39
+ private _readStderr;
40
+ private _onExit;
41
+ private _cleanup;
42
+ }
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@gjsify/worker_threads",
3
+ "version": "0.1.0",
4
+ "description": "Node.js worker_threads module for Gjs",
5
+ "type": "module",
6
+ "module": "lib/esm/index.js",
7
+ "types": "lib/types/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./lib/types/index.d.ts",
11
+ "default": "./lib/esm/index.js"
12
+ }
13
+ },
14
+ "scripts": {
15
+ "clear": "rm -rf lib tsconfig.tsbuildinfo tsconfig.types.tsbuildinfo test.gjs.mjs test.node.mjs || exit 0",
16
+ "check": "tsc --noEmit",
17
+ "build": "yarn build:gjsify && yarn build:types",
18
+ "build:gjsify": "gjsify build --library 'src/**/*.{ts,js}' --exclude 'src/**/*.spec.{mts,ts}' 'src/test.{mts,ts}'",
19
+ "build:types": "tsc",
20
+ "build:test": "yarn build:test:gjs && yarn build:test:node",
21
+ "build:test:gjs": "gjsify build src/test.mts --app gjs --outfile test.gjs.mjs",
22
+ "build:test:node": "gjsify build src/test.mts --app node --outfile test.node.mjs",
23
+ "test": "yarn build:gjsify && yarn build:test && yarn test:node && yarn test:gjs",
24
+ "test:gjs": "gjs -m test.gjs.mjs",
25
+ "test:node": "node test.node.mjs"
26
+ },
27
+ "keywords": [
28
+ "gjs",
29
+ "node",
30
+ "worker_threads"
31
+ ],
32
+ "devDependencies": {
33
+ "@gjsify/cli": "^0.1.0",
34
+ "@gjsify/node-globals": "^0.1.0",
35
+ "@gjsify/unit": "^0.1.0",
36
+ "@types/node": "^25.5.0",
37
+ "typescript": "^6.0.2"
38
+ },
39
+ "dependencies": {
40
+ "@girs/gio-2.0": "^2.88.0-4.0.0-beta.42",
41
+ "@girs/glib-2.0": "^2.88.0-4.0.0-beta.42",
42
+ "@gjsify/events": "^0.1.0"
43
+ }
44
+ }