fix?: possible fix to #1

Signed-off-by: Alix von Schirp <github@avonschirp.bootmedia.de>
This commit is contained in:
2026-02-27 02:02:56 +01:00
parent bcd311352c
commit 70177202bf
3 changed files with 17 additions and 16 deletions

View File

@@ -17,8 +17,5 @@ cp src/*.d.* dist
# Build browser/node workers # Build browser/node workers
npm run build npm run build
# Remove unnecessary files
rm dist/browser-vite.* dist/worker-browser.*
# Copy files for npm publish # Copy files for npm publish
cp package.json LICENSE README.md dist cp package.json LICENSE README.md dist

View File

@@ -1,10 +1,10 @@
{ {
"name": "@cis-oss/avprobe-wasm", "name": "@cis-oss/avprobe-wasm",
"version": "0.3.2", "version": "0.3.3-rc1",
"description": "ffprobe-like for browser and node, powered by WebAssembly", "description": "ffprobe-like for browser and node, powered by WebAssembly",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.cislabs.de/cis-oss/ffprobe-wasm-npm" "url": "https://git.cislabs.de/cis-oss/avprobe-wasm"
}, },
"keywords": [ "keywords": [
"ffprobe", "ffprobe",
@@ -17,6 +17,7 @@
"url": "https://b00tload.space", "url": "https://b00tload.space",
"email": "hi@b00tload.space" "email": "hi@b00tload.space"
}, },
"type": "module",
"license": "MIT", "license": "MIT",
"exports": { "exports": {
"node": "./node.mjs", "node": "./node.mjs",

View File

@@ -1,19 +1,22 @@
import { createRequire } from "module";
import { parentPort } from "worker_threads"; import { parentPort } from "worker_threads";
import type { FFprobe } from "./ffprobe-wasm.js";
import { createListener } from "./worker.mjs"; import { createListener } from "./worker.mjs";
if (!parentPort) { if (!parentPort) {
throw new Error("parentPort must be defined. Are you sure you are in a worker context?"); throw new Error("parentPort must be defined.");
} }
const require = createRequire(import.meta.url); const listenerPromise = (async () => {
const { default: initFFprobe } = await import("./ffprobe-wasm.mjs");
const listener = createListener(new Promise((resolve) => { return createListener(new Promise(async (resolve) => {
const ffprobe: FFprobe = require('./ffprobe-wasm.js') const ffprobe = await initFFprobe();
ffprobe.onRuntimeInitialized = () => { ffprobe.onRuntimeInitialized = () => {
resolve(ffprobe); resolve(ffprobe);
} };
}), "NODEFS"); }), "NODEFS");
})();
parentPort.on("message", listener); parentPort.on("message", async (data) => {
const listener = await listenerPromise;
await listener(data);
});