diff --git a/package-lock.json b/package-lock.json index 5b3634f148..b49f0bb785 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45384,9 +45384,9 @@ } }, "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "devOptional": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", @@ -49229,7 +49229,8 @@ "hasInstallScript": true, "license": "AGPL-3.0", "devDependencies": { - "cargo-cp-artifact": "^0.1" + "cargo-cp-artifact": "^0.1", + "ts-node": "^10.9.2" } }, "packages/ui": { @@ -53844,7 +53845,8 @@ "@nuclear/scanner": { "version": "file:packages/scanner", "requires": { - "cargo-cp-artifact": "^0.1" + "cargo-cp-artifact": "^0.1", + "ts-node": "^10.9.2" } }, "@nuclear/ui": { @@ -84268,9 +84270,9 @@ } }, "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "devOptional": true, "requires": { "@cspotcode/source-map-support": "^0.8.0", diff --git a/packages/scanner/build-selector.ts b/packages/scanner/build-selector.ts new file mode 100644 index 0000000000..b94f92cc38 --- /dev/null +++ b/packages/scanner/build-selector.ts @@ -0,0 +1,26 @@ +/* eslint-disable no-console */ +import { exec } from 'child_process'; + +const targetArch = process.env.npm_config_target_arch ?? 'x64'; + +const commands: { [key: string]: string } = { + 'arm64': 'npm run build-macos-arm64', + 'x64': 'npm run build-macos' +}; + +const defaultCommand = 'npm run build-linux-windows'; + +const commandToRun = commands[targetArch] || defaultCommand; + +exec(commandToRun, (error, stdout, stderr) => { + if (error) { + console.error(`exec error: ${error.message}`); + return; + } + if (stdout) { + console.log(`stdout: ${stdout}`); + } + if (stderr) { + console.error(`stderr: ${stderr}`); + } +}); diff --git a/packages/scanner/package.json b/packages/scanner/package.json index 393c78c3e6..12cfb0c6c2 100644 --- a/packages/scanner/package.json +++ b/packages/scanner/package.json @@ -6,7 +6,7 @@ "types": "index.d.ts", "scripts": { "build": "cargo-cp-artifact -nc index.node -- cargo build --message-format=json-render-diagnostics", - "build-release": "if [ \"$npm_config_target_arch\" == \"arm64\" ]; then npm run build-macos-arm64; elif [ \"$npm_config_target_arch\" == \"x64\" ]; then npm run build-macos; else npm run build-linux-windows; fi", + "build-release": "ts-node build-selector.ts", "build-linux-windows": "cargo-cp-artifact -nc index.node -- cargo build --release --message-format=json-render-diagnostics", "build-macos": "cargo-cp-artifact -nc index.node -- cargo build --target x86_64-apple-darwin --release --message-format=json-render-diagnostics", "build-macos-arm64": "cargo-cp-artifact -nc index.node -- cargo build --target aarch64-apple-darwin --release --message-format=json-render-diagnostics", @@ -26,6 +26,7 @@ }, "homepage": "https://github.com/nukeop/nuclear#readme", "devDependencies": { - "cargo-cp-artifact": "^0.1" + "cargo-cp-artifact": "^0.1", + "ts-node": "^10.9.2" } } \ No newline at end of file