Skip to content

Commit bf342db

Browse files
authored
Make library work with node.js ES modules (#257)
1 parent 462b5df commit bf342db

File tree

6 files changed

+27
-4
lines changed

6 files changed

+27
-4
lines changed

index.mjs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import Threads from "./dist/index.js"
2+
3+
export const registerSerializer = Threads.registerSerializer
4+
export const spawn = Threads.spawn
5+
export const DefaultSerializer = Threads.DefaultSerializer
6+
export const Pool = Threads.Pool
7+
export const Thread = Threads.Thread
8+
export const Transfer = Threads.Transfer
9+
export const Worker = Threads.Worker

observable.mjs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
export * from "./dist-esm/observable"
1+
import Observables from "./dist/observable.js"
2+
3+
export const Observable = Observables.Observable
4+
export const Subject = Observables.Subject

package.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44
"description": "Web workers & worker threads as simple as a function call",
55
"main": "dist/index.js",
66
"module": "dist-esm/index.js",
7+
"exports": {
8+
".": "./index.mjs",
9+
"./observable": "./observable.mjs",
10+
"./register": "./register.mjs",
11+
"./worker": "./worker.mjs"
12+
},
713
"scripts": {
814
"prebuild": "rimraf dist/ dist-esm/",
915
"build": "run-p build:cjs build:es",

register.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export * from "./dist-esm/master/register"
1+
import "./dist/master/register.js"

src/master/implementation.node.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ function rebaseScriptPath(scriptPath: string, ignoreRegex: RegExp) {
6464
)
6565
})
6666

67-
const callerPath = parentCallSite ? parentCallSite.getFileName() : null
67+
const rawCallerPath = parentCallSite ? parentCallSite.getFileName() : null
68+
const callerPath = rawCallerPath ? rawCallerPath.replace(/^file:\//, "") : null
6869
const rebasedScriptPath = callerPath ? path.join(path.dirname(callerPath), scriptPath) : scriptPath
6970

7071
return rebasedScriptPath

worker.mjs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
export * from "./dist-esm/worker/index"
1+
import WorkerContext from "./dist/worker/index.js"
2+
3+
export const expose = WorkerContext.expose
4+
export const registerSerializer = WorkerContext.registerSerializer
5+
export const Transfer = WorkerContext.Transfer

0 commit comments

Comments
 (0)