@atlaspack/workers 2.14.21-typescript-80839fbd5.0 → 2.14.21-typescript-c10a7ae7b.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.
- package/index.d.ts +94 -2
- package/lib/backend.js +4 -0
- package/lib/child.js +3 -0
- package/package.json +9 -9
- package/src/backend.ts +5 -2
- package/src/child.ts +5 -3
package/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
2
|
import type {FilePath} from '@atlaspack/types';
|
|
3
|
+
import type EventEmitter from 'events';
|
|
3
4
|
|
|
4
5
|
type BackendType = 'process' | 'threads';
|
|
5
6
|
|
|
@@ -15,10 +16,101 @@ export type FarmOptions = {
|
|
|
15
16
|
shouldTrace?: boolean;
|
|
16
17
|
};
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
export class Bus extends EventEmitter {
|
|
20
|
+
emit(event: string, ...args: Array<any>): boolean;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export const bus: Bus;
|
|
20
24
|
|
|
25
|
+
export declare class WorkerFarm {
|
|
26
|
+
ending: boolean;
|
|
27
|
+
workerApi: {
|
|
28
|
+
callChild: (
|
|
29
|
+
childId: number,
|
|
30
|
+
request: HandleCallRequest,
|
|
31
|
+
) => Promise<unknown>;
|
|
32
|
+
callMaster: (
|
|
33
|
+
request: CallRequest,
|
|
34
|
+
awaitResponse?: boolean | null | undefined,
|
|
35
|
+
) => Promise<unknown>;
|
|
36
|
+
createReverseHandle: (fn: HandleFunction) => Handle;
|
|
37
|
+
getSharedReference: (ref: SharedReference) => unknown;
|
|
38
|
+
resolveSharedReference: (value: unknown) => undefined | SharedReference;
|
|
39
|
+
runHandle: (handle: Handle, args: Array<any>) => Promise<unknown>;
|
|
40
|
+
};
|
|
41
|
+
constructor(options: Partial<FarmOptions>);
|
|
42
|
+
createSharedReference(
|
|
43
|
+
value: unknown,
|
|
44
|
+
isCacheable?: boolean,
|
|
45
|
+
): {
|
|
46
|
+
ref: SharedReference;
|
|
47
|
+
dispose(): Promise<unknown>;
|
|
48
|
+
};
|
|
49
|
+
startProfile(): Promise<void>;
|
|
50
|
+
endProfile(): Promise<void>;
|
|
51
|
+
takeHeapSnapshot(): Promise<void>;
|
|
52
|
+
createHandle(method: string, useMainThread?: boolean): HandleFunction;
|
|
53
|
+
createReverseHandle(fn: HandleFunction): Handle;
|
|
54
|
+
callAllWorkers(method: string, args: Array<any>): Promise<void>;
|
|
55
|
+
static getWorkerApi(): {
|
|
56
|
+
callMaster: (
|
|
57
|
+
request: CallRequest,
|
|
58
|
+
awaitResponse?: boolean | null | undefined,
|
|
59
|
+
) => Promise<unknown>;
|
|
60
|
+
createReverseHandle: (fn: (...args: Array<any>) => unknown) => Handle;
|
|
61
|
+
getSharedReference: (ref: SharedReference) => unknown;
|
|
62
|
+
resolveSharedReference: (value: unknown) => undefined | SharedReference;
|
|
63
|
+
runHandle: (handle: Handle, args: Array<any>) => Promise<unknown>;
|
|
64
|
+
};
|
|
21
65
|
end(): Promise<void>;
|
|
66
|
+
static isWorker(): boolean;
|
|
22
67
|
}
|
|
23
68
|
|
|
24
69
|
export default WorkerFarm;
|
|
70
|
+
|
|
71
|
+
export type SharedReference = number;
|
|
72
|
+
|
|
73
|
+
export type WorkerApi = {
|
|
74
|
+
callMaster(
|
|
75
|
+
arg1: CallRequest,
|
|
76
|
+
arg2?: boolean | null | undefined,
|
|
77
|
+
): Promise<unknown>;
|
|
78
|
+
createReverseHandle(fn: HandleFunction): Handle;
|
|
79
|
+
getSharedReference(ref: SharedReference): unknown;
|
|
80
|
+
resolveSharedReference(value: unknown): SharedReference | null | undefined;
|
|
81
|
+
callChild?: (childId: number, request: HandleCallRequest) => Promise<unknown>;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
export type HandleFunction = (...args: Array<any>) => any;
|
|
85
|
+
|
|
86
|
+
export type LocationCallRequest = {
|
|
87
|
+
args: ReadonlyArray<unknown>;
|
|
88
|
+
location: string;
|
|
89
|
+
method?: string;
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export type HandleCallRequest = {
|
|
93
|
+
args: ReadonlyArray<unknown>;
|
|
94
|
+
handle: number;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export type CallRequest = LocationCallRequest | HandleCallRequest;
|
|
98
|
+
|
|
99
|
+
type HandleOpts = {
|
|
100
|
+
fn?: HandleFunction;
|
|
101
|
+
childId?: number | null | undefined;
|
|
102
|
+
id?: number;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export declare class Handle {
|
|
106
|
+
id: number;
|
|
107
|
+
childId: number | null | undefined;
|
|
108
|
+
fn: HandleFunction | null | undefined;
|
|
109
|
+
constructor(opts: HandleOpts);
|
|
110
|
+
dispose(): void;
|
|
111
|
+
serialize(): {
|
|
112
|
+
childId: number | null | undefined;
|
|
113
|
+
id: number;
|
|
114
|
+
};
|
|
115
|
+
static deserialize(opts: HandleOpts): Handle;
|
|
116
|
+
}
|
package/lib/backend.js
CHANGED
|
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.detectBackend = detectBackend;
|
|
7
7
|
exports.getWorkerBackend = getWorkerBackend;
|
|
8
|
+
// flow-to-ts helpers
|
|
9
|
+
|
|
10
|
+
// /flow-to-ts helpers
|
|
11
|
+
|
|
8
12
|
function detectBackend() {
|
|
9
13
|
// @ts-expect-error TS2339
|
|
10
14
|
if (process.browser) return 'web';
|
package/lib/child.js
CHANGED
|
@@ -51,6 +51,9 @@ var _Handle2 = _interopRequireDefault(require("./Handle"));
|
|
|
51
51
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
52
52
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
53
53
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
54
|
+
// flow-to-ts helpers
|
|
55
|
+
|
|
56
|
+
// /flow-to-ts helpers
|
|
54
57
|
// The import of './Handle' should really be imported eagerly (with @babel/plugin-transform-modules-commonjs's lazy mode).
|
|
55
58
|
const Handle = _Handle2.default;
|
|
56
59
|
class Child {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaspack/workers",
|
|
3
|
-
"version": "2.14.21-typescript-
|
|
3
|
+
"version": "2.14.21-typescript-c10a7ae7b.0",
|
|
4
4
|
"description": "Blazing fast, zero configuration web application bundler",
|
|
5
5
|
"license": "(MIT OR Apache-2.0)",
|
|
6
6
|
"publishConfig": {
|
|
@@ -12,17 +12,17 @@
|
|
|
12
12
|
},
|
|
13
13
|
"main": "lib/index.js",
|
|
14
14
|
"source": "src/index.ts",
|
|
15
|
-
"types": "
|
|
15
|
+
"types": "index.d.ts",
|
|
16
16
|
"engines": {
|
|
17
17
|
"node": ">= 16.0.0"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@atlaspack/build-cache": "2.13.4-typescript-
|
|
21
|
-
"@atlaspack/diagnostic": "2.14.2-typescript-
|
|
22
|
-
"@atlaspack/logger": "2.14.14-typescript-
|
|
23
|
-
"@atlaspack/profiler": "2.14.18-typescript-
|
|
24
|
-
"@atlaspack/types-internal": "2.15.3-typescript-
|
|
25
|
-
"@atlaspack/utils": "2.17.3-typescript-
|
|
20
|
+
"@atlaspack/build-cache": "2.13.4-typescript-c10a7ae7b.0",
|
|
21
|
+
"@atlaspack/diagnostic": "2.14.2-typescript-c10a7ae7b.0",
|
|
22
|
+
"@atlaspack/logger": "2.14.14-typescript-c10a7ae7b.0",
|
|
23
|
+
"@atlaspack/profiler": "2.14.18-typescript-c10a7ae7b.0",
|
|
24
|
+
"@atlaspack/types-internal": "2.15.3-typescript-c10a7ae7b.0",
|
|
25
|
+
"@atlaspack/utils": "2.17.3-typescript-c10a7ae7b.0",
|
|
26
26
|
"nullthrows": "^1.1.1"
|
|
27
27
|
},
|
|
28
28
|
"browser": {
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"scripts": {
|
|
34
34
|
"check-ts": "tsc --noEmit"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "c10a7ae7b0dc2c79430506d16447ff9bb9966043"
|
|
37
37
|
}
|
package/src/backend.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import {Flow} from 'flow-to-typescript-codemod';
|
|
2
1
|
import type {BackendType, WorkerImpl} from './types';
|
|
3
2
|
|
|
3
|
+
// flow-to-ts helpers
|
|
4
|
+
export type Class<T> = new (...args: any[]) => T;
|
|
5
|
+
// /flow-to-ts helpers
|
|
6
|
+
|
|
4
7
|
export function detectBackend(): BackendType {
|
|
5
8
|
// @ts-expect-error TS2339
|
|
6
9
|
if (process.browser) return 'web';
|
|
@@ -19,7 +22,7 @@ export function detectBackend(): BackendType {
|
|
|
19
22
|
}
|
|
20
23
|
}
|
|
21
24
|
|
|
22
|
-
export function getWorkerBackend(backend: BackendType):
|
|
25
|
+
export function getWorkerBackend(backend: BackendType): Class<WorkerImpl> {
|
|
23
26
|
switch (backend) {
|
|
24
27
|
case 'threads':
|
|
25
28
|
return require('./threads/ThreadsWorker').default;
|
package/src/child.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import {Flow} from 'flow-to-typescript-codemod';
|
|
2
|
-
|
|
3
1
|
import type {
|
|
4
2
|
CallRequest,
|
|
5
3
|
WorkerDataResponse,
|
|
@@ -21,6 +19,10 @@ import bus from './bus';
|
|
|
21
19
|
import {SamplingProfiler, tracer} from '@atlaspack/profiler';
|
|
22
20
|
import _Handle from './Handle';
|
|
23
21
|
|
|
22
|
+
// flow-to-ts helpers
|
|
23
|
+
export type Class<T> = new (...args: any[]) => T;
|
|
24
|
+
// /flow-to-ts helpers
|
|
25
|
+
|
|
24
26
|
// The import of './Handle' should really be imported eagerly (with @babel/plugin-transform-modules-commonjs's lazy mode).
|
|
25
27
|
const Handle = _Handle;
|
|
26
28
|
|
|
@@ -45,7 +47,7 @@ export class Child {
|
|
|
45
47
|
sharedReferences: Map<SharedReference, unknown> = new Map();
|
|
46
48
|
sharedReferencesByValue: Map<unknown, SharedReference> = new Map();
|
|
47
49
|
|
|
48
|
-
constructor(ChildBackend:
|
|
50
|
+
constructor(ChildBackend: Class<ChildImpl>) {
|
|
49
51
|
this.child = new ChildBackend(
|
|
50
52
|
(m: WorkerMessage) => {
|
|
51
53
|
this.messageListener(m);
|