Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
dd856f3
fix(find-oci-exe): do no check for filesystem program existence
thewtex Aug 15, 2025
1a0673b
style(find-oci-exe): dos2unix
thewtex Aug 15, 2025
41528c3
feat(load-emscripten-module-node): support pthread modules
thewtex Aug 15, 2025
7a90d45
feat(itkPipeline): add --threads flag
thewtex Aug 15, 2025
c722385
docs: update author email
thewtex Aug 16, 2025
f252ee7
feat(run-pipeline-node): disable pthread loading with --threads 0
thewtex Aug 16, 2025
c049b32
build: disable quay.io manifest push, default images to docker.io
thewtex Sep 2, 2025
ebdb02c
feat(itk-wasm-cli): update default Docker image for 20250901-f252ee79
thewtex Sep 2, 2025
fb36664
build(docker): migrate default directory source to docker.io
thewtex Sep 2, 2025
163ecff
feat(itk-wasm-cli): update default Docker image for 20250902-fb36664b
thewtex Sep 2, 2025
609ca73
build(docker): start from docker.io to tag quay.io images
thewtex Sep 2, 2025
eb7304a
style(load-emscripten-module-node): address nullish disableThreads
thewtex Sep 3, 2025
3311fe9
build(itk-wasm): build threading pipelines for tests
thewtex Sep 5, 2025
9b3d11a
fix(run-pipeline-node): remove --threads 0 before passing
thewtex Sep 5, 2025
8e49a40
build(docker): update pull.sh to use docker.io
thewtex Sep 5, 2025
1accb2f
build: enable ITK_USE_PTHREADS in the emscripten -threads images
thewtex Sep 5, 2025
bef3f57
feat(itk-wasm-cli): update default Docker image for 20250905-1accb2fc
thewtex Sep 6, 2025
52a1c09
test(pthreads-test): use standard --threads flag
thewtex Sep 6, 2025
db002b5
build: bump default image tag to 20250905-1accb2fc
thewtex Sep 6, 2025
f829e86
feat(run-pipeline): add support for running pthread modules
thewtex Sep 6, 2025
1e9c504
feat(bindgen): copy threads wasm and js bindings to typescript package
thewtex Sep 9, 2025
a34c66b
build(docker): bump emscripten to 4.0.14
thewtex Sep 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ type: software
authors:
- given-names: Matthew
family-names: McCormick
email: matt@mmmccormick.com
email: matt@fideus.io
affiliation: 'Kitware, Inc'
orcid: 'https://orcid.org/0000-0001-9475-3756'
keywords:
Expand Down
10 changes: 5 additions & 5 deletions examples/debugging/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@
"build": "npm run native-build && npm run emscripten-build-release && npm run emscripten-build-debug && npm run wasi-build-release && npm run wasi-build-debug",
"native-build": "cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Debug && cmake --build build/ --config Debug",
"native-debug-linux": "gdb --args ./build/DebugMe",
"emscripten-build-release": "itk-wasm -i quay.io/itkwasm/emscripten:latest --build-dir emscripten-build-release build",
"emscripten-build-release": "itk-wasm -i docker.io/itkwasm/emscripten:latest --build-dir emscripten-build-release build",
"run-node-release": "node ./runEmscriptenNode.js ./emscripten-build-release/DebugMe",
"emscripten-build-debug": "itk-wasm -i quay.io/itkwasm/emscripten:latest-debug --build-dir emscripten-build-debug build -- -DCMAKE_BUILD_TYPE=Debug",
"emscripten-build-debug": "itk-wasm -i docker.io/itkwasm/emscripten:latest-debug --build-dir emscripten-build-debug build -- -DCMAKE_BUILD_TYPE=Debug",
"run-node-debug": "node ./runEmscriptenNode.js ./emscripten-build-debug/DebugMe",
"wasi-build-release": "itk-wasm -i quay.io/itkwasm/wasi:latest --build-dir wasi-build-release build",
"wasi-build-release": "itk-wasm -i docker.io/itkwasm/wasi:latest --build-dir wasi-build-release build",
"node-inspect": "node --inspect-brk ./runEmscriptenNode.js ./emscripten-build-debug/DebugMe",
"wasi-build-debug": "itk-wasm -i quay.io/itkwasm/wasi:latest-debug --build-dir wasi-build-debug build -- -DCMAKE_BUILD_TYPE=Debug",
"wasi-build-debug": "itk-wasm -i docker.io/itkwasm/wasi:latest-debug --build-dir wasi-build-debug build -- -DCMAKE_BUILD_TYPE=Debug",
"run-wasi-debug": "itk-wasm --build-dir wasi-build-debug run DebugMe.wasi.wasm",
"start": "http-server -o"
},
"type": "module",
"author": "Matt McCormick <matt@mmmccormick.com>",
"author": "Matt McCormick <matt@fideus.io>",
"license": "Apache-2.0",
"dependencies": {
"http-server": "^14.1.0",
Expand Down
4 changes: 2 additions & 2 deletions examples/different-input-types/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
"type": "module",
"scripts": {
"build": "pnpm run build:wasi",
"build:wasi": "itk-wasm -b wasi-build -i quay.io/itkwasm/wasi:latest build",
"build:wasi": "itk-wasm -b wasi-build -i docker.io/itkwasm/wasi:latest build",
"test": "pnpm run test:wasi",
"test:wasi": "itk-wasm -b wasi-build run different-input-types.wasi.wasm -- ./Gourds.png label.png overlay.png",
"test:wasi:help": "itk-wasm -b wasi-build run different-input-types.wasi.wasm -- --help"
},
"author": "Matt McCormick <matt@mmmccormick.com>",
"author": "Matt McCormick <matt@fideus.io>",
"license": "Apache-2.0",
"dependencies": {
"itk-wasm": "workspace:^"
Expand Down
2 changes: 1 addition & 1 deletion examples/hello-pipeline/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"test:quiet": "itk-wasm run wasi-build/hello-pipeline.wasi.wasm -- --quiet cthead1.png",
"test:help": "itk-wasm run wasi-build/hello-pipeline.wasi.wasm -- --help"
},
"author": "Matt McCormick <matt@mmmccormick.com>",
"author": "Matt McCormick <matt@fideus.io>",
"license": "Apache-2.0",
"dependencies": {
"fs-extra": "^10.0.0",
Expand Down
4 changes: 2 additions & 2 deletions examples/hello-world/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"type": "module",
"scripts": {
"build": "pnpm run build:wasi && pnpm run build:emscripten",
"build:wasi": "itk-wasm -i quay.io/itkwasm/wasi:latest build",
"build:wasi": "itk-wasm -i docker.io/itkwasm/wasi:latest build",
"build:emscripten": "itk-wasm build",
"test": "pnpm run test:wasi && pnpm run test:node && pnpm run test:browser",
"test:wasi": "pnpx itk-wasm run wasi-build/hello.wasi.wasm",
Expand All @@ -15,7 +15,7 @@
"test:browser": "playwright test",
"test:browser:debug": "playwright test --debug"
},
"author": "Matt McCormick <matt@mmmccormick.com>",
"author": "Matt McCormick <matt@fideus.io>",
"license": "Apache-2.0",
"dependencies": {
"fs-extra": "^11.1.0",
Expand Down
6 changes: 3 additions & 3 deletions examples/inputs-outputs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"description": "An itk-wasm pipeline example for inputs/outputs",
"type": "module",
"itk-wasm": {
"emscripten-docker-image": "quay.io/itkwasm/emscripten:latest",
"wasi-docker-image": "quay.io/itkwasm/wasi:latest",
"emscripten-docker-image": "docker.io/itkwasm/emscripten:latest",
"wasi-docker-image": "docker.io/itkwasm/wasi:latest",
"typescript-package-name": "@itk-wasm/inputs-outputs-example",
"python-package-name": "itkwasm-inputs-outputs-example",
"package-description": "An example that has non-trivial inputs and outputs.",
Expand Down Expand Up @@ -38,7 +38,7 @@
"test:wasi": "itk-wasm -i itkwasm/wasi:latest -b wasi-build run inputs-outputs.wasi.wasm -- -- cthead1.png smoothed.png",
"test:wasi:help": "itk-wasm -i itkwasm/wasi:latest -b wasi-build run inputs-outputs.wasi.wasm -- -- --help"
},
"author": "Matt McCormick <matt@mmmccormick.com>",
"author": "Matt McCormick <matt@fideus.io>",
"license": "Apache-2.0",
"devDependencies": {
"@itk-wasm/image-io": "workspace:^",
Expand Down
6 changes: 3 additions & 3 deletions examples/mean-squares-versor-registration/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"description": "Illustrate the use of the VersorRigid3DTransform for 3D image registration.",
"type": "module",
"itk-wasm": {
"emscripten-docker-image": "quay.io/itkwasm/emscripten:latest",
"wasi-docker-image": "quay.io/itkwasm/wasi:latest",
"emscripten-docker-image": "docker.io/itkwasm/emscripten:latest",
"wasi-docker-image": "docker.io/itkwasm/wasi:latest",
"typescript-package-name": "@itk-wasm/mean-squares-versor-registration-example",
"python-package-name": "itkwasm-mean-squares-versor-registration-example",
"package-description": "Example 3D versor transform registration with a mean-squares similarity metric",
Expand Down Expand Up @@ -38,7 +38,7 @@
"test:wasi:long": "itk-wasm test -- -- -V",
"test:wasi:help": "itk-wasm -i itkwasm/wasi:latest run mean-squares-versor-registration.wasi.wasm -- -- --help"
},
"author": "Matt McCormick <matt@mmmccormick.com>",
"author": "Matt McCormick <matt@fideus.io>",
"license": "Apache-2.0",
"devDependencies": {
"@itk-wasm/image-io": "workspace:^",
Expand Down
20 changes: 20 additions & 0 deletions include/itkPipeline.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,13 @@
#include "itkMacro.h"
#include "itkImage.h"
#include "itkVectorImage.h"
#include "itkConfigure.h"
#if defined(ITK_USE_PTHREADS) || defined(ITK_USE_WIN32_THREADS)
#define ITK_WASM_PIPELINE_USE_THREADS 1
#endif
#ifdef ITK_WASM_PIPELINE_USE_THREADS
#include "itkMultiThreaderBase.h"
#endif

#include "glaze/glaze.hpp"

Expand Down Expand Up @@ -164,6 +171,16 @@ class WebAssemblyInterface_EXPORT Pipeline : public CLI::App
return m_UseMemoryIO;
}

int
get_threads() const
{
#ifdef ITK_WASM_PIPELINE_USE_THREADS
return m_Threads;
#else
return 1;
#endif
}

int
get_argc() const
{
Expand Down Expand Up @@ -198,6 +215,9 @@ class WebAssemblyInterface_EXPORT Pipeline : public CLI::App
int m_argc;
char ** m_argv;
std::string m_Version;
#ifdef ITK_WASM_PIPELINE_USE_THREADS
int m_Threads;
#endif
};


Expand Down
4 changes: 2 additions & 2 deletions itk_wasm_env.bash
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export ITK_WASM_DCMTK_REPOSITORY=${ITK_WASM_DCMTK_REPOSITORY:-"https://github.co
export ITK_WASM_DCMTK_GIT_TAG=${ITK_WASM_DCMTK_GIT_TAG:-"2fe4dacbe9c343dba350fcff6eab365241636623"}

export ITK_WASM_ITK_REPOSITORY=${ITK_WASM_ITK_REPOSITORY:-"https://github.com/thewtex/ITK"}
export ITK_WASM_ITK_BRANCH=${ITK_WASM_ITK_BRANCH:-"itkwasm-2025-03-19-25d3162371"}
export ITK_WASM_ITK_BRANCH=${ITK_WASM_ITK_BRANCH:-"itkwasm-2025-03-19-25d3162371-1"}

export ITK_WASM_NATIVE_WORKSPACE=${ITK_WASM_NATIVE_WORKSPACE:-$(pwd)/native}

Expand Down Expand Up @@ -54,4 +54,4 @@ export ITK_WASM_TRANSFORM_IO_TEST_DATA_HASH=${ITK_WASM_TRANSFORM_IO_TEST_DATA_HA
export ITK_WASM_TRANSFORM_IO_TEST_DATA_URLS=${ITK_WASM_TRANSFORM_IO_TEST_DATA_URLS:-$(cat packages/transform-io/package.json | jq -e -r '."itk-wasm"."test-data-urls" | join(" ")')}

export ITK_WASM_TRANSFORM_TEST_DATA_HASH=${ITK_WASM_TRANSFORM_TEST_DATA_HASH:-$(cat packages/transform/package.json | jq -e -r '."itk-wasm"."test-data-hash"')}
export ITK_WASM_TRANSFORM_TEST_DATA_URLS=${ITK_WASM_TRANSFORM_TEST_DATA_URLS:-$(cat packages/transform/package.json | jq -e -r '."itk-wasm"."test-data-urls" | join(" ")')}
export ITK_WASM_TRANSFORM_TEST_DATA_URLS=${ITK_WASM_TRANSFORM_TEST_DATA_URLS:-$(cat packages/transform/package.json | jq -e -r '."itk-wasm"."test-data-urls" | join(" ")')}
4 changes: 2 additions & 2 deletions packages/compare-images/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"description": "@itk-wasm/compare-stringify build configuration",
"type": "module",
"itk-wasm": {
"emscripten-docker-image": "quay.io/itkwasm/emscripten:latest",
"wasi-docker-image": "quay.io/itkwasm/wasi:latest",
"emscripten-docker-image": "docker.io/itkwasm/emscripten:latest",
"wasi-docker-image": "docker.io/itkwasm/wasi:latest",
"test-data-hash": "bafybeiafli6egtmkcgany65po64w67hpqnmgwr5utqo6ycbbz7k5l33llu",
"test-data-urls": [
"https://github.com/InsightSoftwareConsortium/ITK-Wasm/releases/download/itk-wasm-v1.0.0-b.171/compare-images-test-data.tar.gz"
Expand Down
2 changes: 1 addition & 1 deletion packages/compare-images/pixi.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[project]
authors = ["Matt McCormick <matt@mmmccormick.com>"]
authors = ["Matt McCormick <matt@fideus.io>"]
channels = ["conda-forge"]
description = "Compare images with a tolerance for regression testing."
name = "compare-images"
Expand Down
4 changes: 2 additions & 2 deletions packages/compare-meshes/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"description": "@itk-wasm/compare-meshes build configuration.",
"type": "module",
"itk-wasm": {
"emscripten-docker-image": "quay.io/itkwasm/emscripten:latest",
"wasi-docker-image": "quay.io/itkwasm/wasi:latest",
"emscripten-docker-image": "docker.io/itkwasm/emscripten:latest",
"wasi-docker-image": "docker.io/itkwasm/wasi:latest",
"test-data-hash": "bafkreibsonywg3w3gscmookip3elsyydfsn2cbubk6dukatkmjgeguhiri",
"test-data-urls": [
"https://github.com/InsightSoftwareConsortium/ITK-Wasm/releases/download/itk-wasm-v1.0.0-b.178/compare-meshes-data.tar.gz"
Expand Down
2 changes: 1 addition & 1 deletion packages/compare-meshes/pixi.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[project]
authors = ["Matt McCormick <matt@mmmccormick.com>"]
authors = ["Matt McCormick <matt@fideus.io>"]
channels = ["conda-forge"]
description = "Compare meshes with a tolerance for regression testing."
name = "compare-meshes"
Expand Down
4 changes: 2 additions & 2 deletions packages/compress-stringify/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"description": "@itk-wasm/compare-stringify build configuration.",
"type": "module",
"itk-wasm": {
"emscripten-docker-image": "quay.io/itkwasm/emscripten:latest",
"wasi-docker-image": "quay.io/itkwasm/wasi:latest",
"emscripten-docker-image": "docker.io/itkwasm/emscripten:latest",
"wasi-docker-image": "docker.io/itkwasm/wasi:latest",
"test-data-hash": "bafkreiha6oye3fd5cxfadnua5r2jlkaco2xuyeek454d2ihiffsx7rauqe",
"test-data-urls": [
"https://placeholder"
Expand Down
2 changes: 1 addition & 1 deletion packages/compress-stringify/pixi.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[project]
authors = ["Matt McCormick <matt@mmmccormick.com>"]
authors = ["Matt McCormick <matt@fideus.io>"]
channels = ["conda-forge"]
description = "Zstandard compression and decompression and base64 encoding and decoding in WebAssembly."
name = "compress-stringify"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export ITK_WASM_TEST_DATA_HASH=\${ITK_WASM_TEST_DATA_HASH:-$(cat package.json |
export ITK_WASM_TEST_DATA_URLS=\${ITK_WASM_TEST_DATA_URLS:-$(cat package.json | jq -e -r '."itk-wasm"."test-data-urls" | join(" ")')}

export ITK_WASM_ITK_REPOSITORY=\${ITK_WASM_ITK_REPOSITORY:-"https://github.com/thewtex/ITK"}
export ITK_WASM_ITK_BRANCH=\${ITK_WASM_ITK_BRANCH:-"itkwasm-2025-03-19-25d3162371"}
export ITK_WASM_ITK_BRANCH=\${ITK_WASM_ITK_BRANCH:-"itkwasm-2025-03-19-25d3162371-1"}

export ITK_WASM_NATIVE_WORKSPACE=\${ITK_WASM_NATIVE_WORKSPACE:-$(pwd)/native}

Expand Down
20 changes: 10 additions & 10 deletions packages/core/typescript/itk-wasm/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,16 @@
"test": "pnpm test:lint && pnpm test:testPipelines && pnpm test:node && pnpm test:bindgenTestPipelines:python && pnpm test:browser",
"test:lint": "ts-standard --fix \"src/**/*.ts\" && standard --fix \"test/node/**/*.js\"",
"test:node": "ava test/node/**/*.js",
"test:testPipelines": "pnpm test:buildTestPipelines:emscripten && pnpm test:buildTestPipelines:wasi && pnpm test:runTestPipelines",
"test:buildTestPipelines:emscripten:debug": "node src/itk-wasm-cli.js -i quay.io/itkwasm/emscripten:latest-debug -b emscripten-build -s ./test/pipelines build -- -DCMAKE_BUILD_TYPE=Debug",
"test:buildTestPipelines:emscripten": "node src/itk-wasm-cli.js -i quay.io/itkwasm/emscripten:latest -b emscripten-build -s ./test/pipelines build",
"test:buildTestPipelines:emscriptenThreads:debug": "node src/itk-wasm-cli.js -i quay.io/itkwasm/emscripten:latest-threads-debug -b emscripten-threads-build -s ./test/pipelines build -- -DCMAKE_BUILD_TYPE=Debug",
"test:buildTestPipelines:emscriptenThreads": "node src/itk-wasm-cli.js -i quay.io/itkwasm/emscripten:latest-threads -b emscripten-threads-build -s ./test/pipelines build",
"test:buildTestPipelines:wasi": "node src/itk-wasm-cli.js -i quay.io/itkwasm/wasi:latest -b wasi-build -s ./test/pipelines build",
"test:buildTestPipelines:wasi:debug": "node src/itk-wasm-cli.js -i quay.io/itkwasm/wasi:latest-debug -b wasi-build -s ./test/pipelines build -- -DCMAKE_BUILD_TYPE=Debug",
"test:runTestPipelines": "node src/itk-wasm-cli.js -i quay.io/itkwasm/wasi:latest -b wasi-build -s ./test/pipelines run -r wasmtime stdout-stderr-pipeline/stdout-stderr-test.wasi.wasm",
"test:bindgenTestPipelines:typescript": "node src/itk-wasm-cli.js -i quay.io/itkwasm/emscripten:latest -b emscripten-build -s ./test/pipelines/ bindgen --package-version 1.0.0 --package-name test-pipelines --package-description \"Exercise interface types for bindgen\"",
"test:bindgenTestPipelines:python": "node src/itk-wasm-cli.js -i quay.io/itkwasm/wasi:latest -b wasi-build -s ./test/pipelines/ bindgen --interface python --package-version 1.0.0 --package-name test-pipelines --package-description \"Exercise interface types for bindgen\"",
"test:testPipelines": "pnpm test:buildTestPipelines:emscripten && pnpm test:buildTestPipelines:emscriptenThreads && pnpm test:buildTestPipelines:wasi && pnpm test:runTestPipelines",
"test:buildTestPipelines:emscripten:debug": "node src/itk-wasm-cli.js -i docker.io/itkwasm/emscripten:latest-debug -b emscripten-build -s ./test/pipelines build -- -DCMAKE_BUILD_TYPE=Debug",
"test:buildTestPipelines:emscripten": "node src/itk-wasm-cli.js -i docker.io/itkwasm/emscripten:latest -b emscripten-build -s ./test/pipelines build",
"test:buildTestPipelines:emscriptenThreads:debug": "node src/itk-wasm-cli.js -i docker.io/itkwasm/emscripten:latest-threads-debug -b emscripten-threads-build -s ./test/pipelines build -- -DCMAKE_BUILD_TYPE=Debug",
"test:buildTestPipelines:emscriptenThreads": "node src/itk-wasm-cli.js -i docker.io/itkwasm/emscripten:latest-threads -b emscripten-threads-build -s ./test/pipelines build",
"test:buildTestPipelines:wasi": "node src/itk-wasm-cli.js -i docker.io/itkwasm/wasi:latest -b wasi-build -s ./test/pipelines build",
"test:buildTestPipelines:wasi:debug": "node src/itk-wasm-cli.js -i docker.io/itkwasm/wasi:latest-debug -b wasi-build -s ./test/pipelines build -- -DCMAKE_BUILD_TYPE=Debug",
"test:runTestPipelines": "node src/itk-wasm-cli.js -i docker.io/itkwasm/wasi:latest -b wasi-build -s ./test/pipelines run -r wasmtime stdout-stderr-pipeline/stdout-stderr-test.wasi.wasm",
"test:bindgenTestPipelines:typescript": "node src/itk-wasm-cli.js -i docker.io/itkwasm/emscripten:latest -b emscripten-build -s ./test/pipelines/ bindgen --package-version 1.0.0 --package-name test-pipelines --package-description \"Exercise interface types for bindgen\"",
"test:bindgenTestPipelines:python": "node src/itk-wasm-cli.js -i docker.io/itkwasm/wasi:latest -b wasi-build -s ./test/pipelines/ bindgen --interface python --package-version 1.0.0 --package-name test-pipelines --package-description \"Exercise interface types for bindgen\"",
"test:browser": "playwright test",
"test:browser:ui": "playwright test --ui",
"test:browser:debug": "playwright test --debug",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,35 @@ function typescriptBindings(
path.join(distPipelinesDir, `${path.basename(prefix)}.js`)
)

// Check for and copy threaded WASM files if present
const wasmBinaryNameWithoutFirstDir = wasmBinaryName
.split(path.sep)
.slice(1)
.join(path.sep)
const threadsWasmPath = path.join(
'emscripten-threads-build',
wasmBinaryNameWithoutFirstDir
)
const threadsThreadsWasmPath =
threadsWasmPath.substring(0, threadsWasmPath.length - 5) +
'.threads.wasm.zst'
const jsThreadsWasmPath =
threadsWasmPath.substring(0, threadsWasmPath.length - 5) + '.js'
if (fs.existsSync(threadsThreadsWasmPath)) {
fs.copyFileSync(
threadsThreadsWasmPath,
path.join(distPipelinesDir, path.basename(threadsThreadsWasmPath))
)
const jsThreadsWasmBasename = path.basename(jsThreadsWasmPath)
const jsThreadsWasm =
jsThreadsWasmBasename.substring(0, jsThreadsWasmBasename.length - 3) +
'.threads.js'
fs.copyFileSync(
jsThreadsWasmPath,
path.join(distPipelinesDir, jsThreadsWasm)
)
}

const { interfaceJson, parsedPath } = wasmBinaryInterfaceJson(
outputDir,
buildDir,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
const defaultImageTag = '20250813-cd217d20'
const defaultImageTag = '20251001-f1c4e0ff'
export default defaultImageTag
92 changes: 46 additions & 46 deletions packages/core/typescript/itk-wasm/src/cli/find-oci-exe.js
Original file line number Diff line number Diff line change
@@ -1,46 +1,46 @@
import fs from 'fs'
import path from 'path'
import os from 'os'
import chalk from 'chalk'
import die from './die.js'
function findOciExe() {
// Check for OCI_EXE environmental variable
const ociExe = process.env.OCI_EXE
if (ociExe && fs.existsSync(ociExe)) {
return ociExe
}
// Get the PATH environment variable
const PATH = process.env.PATH.split(path.delimiter)
// Check for podman executable
const podmanExe = os.platform() === 'win32' ? 'podman.exe' : 'podman'
for (let p of PATH) {
if (fs.existsSync(path.join(p, podmanExe))) {
return podmanExe
}
}
// Check for docker executable
const dockerExe = os.platform() === 'win32' ? 'docker.exe' : 'docker'
for (let p of PATH) {
if (fs.existsSync(path.join(p, dockerExe))) {
return dockerExe
}
}
// If none of the above exist, die
die(`${chalk.magenta(`Could not find podman or docker executable in the
PATH or OCI_EXE environmental variables.`)}
${chalk.blue(`Please find installation instructions at:
https://podman.io/docs/installation`)}
`)
}
export default findOciExe
import fs from 'fs'
import path from 'path'
import os from 'os'

import chalk from 'chalk'

import die from './die.js'

function findOciExe() {
// Check for OCI_EXE environmental variable
const ociExe = process.env.OCI_EXE
if (ociExe) {
return ociExe
}

// Get the PATH environment variable
const PATH = process.env.PATH.split(path.delimiter)

// Check for podman executable
const podmanExe = os.platform() === 'win32' ? 'podman.exe' : 'podman'
for (let p of PATH) {
if (fs.existsSync(path.join(p, podmanExe))) {
return podmanExe
}
}

// Check for docker executable
const dockerExe = os.platform() === 'win32' ? 'docker.exe' : 'docker'
for (let p of PATH) {
if (fs.existsSync(path.join(p, dockerExe))) {
return dockerExe
}
}

// If none of the above exist, die
die(`${chalk.magenta(`Could not find podman or docker executable in the
PATH or OCI_EXE environmental variables.`)}

${chalk.blue(`Please find installation instructions at:

https://podman.io/docs/installation`)}

`)
}

export default findOciExe
Loading
Loading