diff --git a/install/try-build.js b/install/try-build.js new file mode 100644 index 0000000..13f0d5c --- /dev/null +++ b/install/try-build.js @@ -0,0 +1,14 @@ +import { execSync } from 'node:child_process'; +import { writeFileSync } from 'node:fs'; + +let output = ''; + +try { + output = execSync('node-gyp configure && node-gyp build 2>&1', { + encoding: 'utf8', + }); +} catch (err) { + output = err?.stdout || err?.stderr || err?.message || ''; +} + +writeFileSync('builderror.log', output); diff --git a/package.json b/package.json index 3696380..addd90c 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "emcc": "miniquery -p \"targets.#.sources.#\" ./binding.gyp | grep -v \"csrc/addon.cc\" | xargs docker run --rm -v $(pwd):/src -u $(id -u):$(id -g) emscripten/emsdk emcc --bind -o jssrc/ttf2woff2.cjs -O2 -s \"TOTAL_MEMORY=536870912\" -s \"ALLOW_MEMORY_GROWTH=1\" -s BINARYEN_ASYNC_COMPILATION=0 -s EXPORTED_FUNCTIONS=[\"_malloc\"] -s 'EXPORTED_RUNTIME_METHODS=[\"getValue\", \"writeArrayToMemory\"]' -s NODEJS_CATCH_EXIT=0 -s NODEJS_CATCH_REJECTION=0 --post-js jssrc/post.js csrc/fallback.cc", "emcc-debug": "miniquery -p \"targets.#.sources.#\" ./binding.gyp | grep -v \"csrc/addon.cc\" | xargs docker run --rm -v $(pwd):/src -u $(id -u):$(id -g) emscripten/emsdk emcc --bind -o jssrc/ttf2woff2.cjs -s \"ALLOW_MEMORY_GROWTH=1\" -s \"ASSERTIONS=1\" -s BINARYEN_ASYNC_COMPILATION=0 -s EXPORTED_FUNCTIONS=[\"_malloc\"] -s 'EXPORTED_RUNTIME_METHODS=[\"getValue\", \"writeArrayToMemory\"]' -s NODEJS_CATCH_EXIT=0 -s NODEJS_CATCH_REJECTION=0 --post-js jssrc/post.js csrc/fallback.cc", "format": "npm run prettier", - "install": "((node-gyp configure && node-gyp build) > builderror.log) || (exit 0)", + "install": "node install/try-build.js", "jest": "NODE_OPTIONS=--experimental-vm-modules NODE_ENV=test jest", "lint": "eslint 'src/**/*.ts'", "make": "node-gyp build", @@ -124,6 +124,7 @@ "jssrc", "binding.gyp", "csrc", + "install", "LICENSE", "README.md", "CHANGELOG.md"