Skip to content

Commit d6b7dbf

Browse files
Update prepackage.js
1 parent f3269f1 commit d6b7dbf

File tree

1 file changed

+48
-79
lines changed

1 file changed

+48
-79
lines changed

extensions/vscode/scripts/prepackage.js

+48-79
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ const isWinTarget = target?.startsWith("win");
7777

7878
process.chdir("../../gui");
7979

80-
execCmdSync("npm install");
80+
execCmdSync("NODE_OPTIONS=--no-warnings npm install");
8181
console.log("[info] npm install in gui completed");
8282

8383
if (isInGitHubAction) {
@@ -325,86 +325,59 @@ const isWinTarget = target?.startsWith("win");
325325
}
326326
}
327327

328-
// // GitHub Actions doesn't support ARM, so we need to download pre-saved binaries
329-
// if (ghAction() && isArm()) {
330-
// // sqlite3
331-
// // Neither lancedb nor sqlite3 have pre-built windows arm64 binaries
332-
333-
// // lancedb binary
334-
// const packageToInstall = {
335-
// "darwin-arm64": "@lancedb/vectordb-darwin-arm64",
336-
// "win32-arm64": "@lancedb/vectordb-win32-arm64-msvc",
337-
// "linux-arm64": "@lancedb/vectordb-linux-arm64-gnu",
338-
// }[target];
339-
// console.log(
340-
// "[info] Downloading pre-built lancedb binary: " + packageToInstall,
341-
// );
342-
343-
// await installNodeModuleInTempDirAndCopyToCurrent(
344-
// packageToInstall,
345-
// "@lancedb",
346-
// );
347-
348-
// if (isWin()) {
349-
// // Replace the installed with pre-built
350-
// console.log("[info] Downloading pre-built sqlite3 binary");
351-
// rimrafSync("../../core/node_modules/sqlite3/build");
352-
// const downloadUrl = {
353-
// "darwin-arm64":
354-
// "https://github.com/TryGhost/node-sqlite3/releases/download/v5.1.7/sqlite3-v5.1.7-napi-v6-darwin-arm64.tar.gz",
355-
// "linux-arm64":
356-
// "https://github.com/TryGhost/node-sqlite3/releases/download/v5.1.7/sqlite3-v5.1.7-napi-v3-linux-arm64.tar.gz",
357-
// }[target];
358-
// execCmdSync(
359-
// `curl -L -o ../../core/node_modules/sqlite3/build.tar.gz ${downloadUrl}`,
360-
// );
361-
// execCmdSync(
362-
// "cd ../../core/node_modules/sqlite3 && tar -xvzf build.tar.gz",
363-
// );
364-
// fs.unlinkSync("../../core/node_modules/sqlite3/build.tar.gz");
365-
// } else {
366-
// console.log("[info] Building sqlite3 binary from source for ", target);
367-
// rimrafSync("../../core/node_modules/sqlite3/build");
368-
// execCmdSync(
369-
// `npm rebuild sqlite3 --build-from-source --target_arch=arm64 --fallback-to-build`,
370-
// );
371-
// }
372-
373-
// // Download and unzip esbuild
374-
// console.log("[info] Downloading pre-built esbuild binary");
375-
// rimrafSync("node_modules/@esbuild");
376-
// fs.mkdirSync("node_modules/@esbuild", { recursive: true });
377-
// execCmdSync(
378-
// `curl -o node_modules/@esbuild/esbuild.zip https://continue-server-binaries.s3.us-west-1.amazonaws.com/${target}/esbuild.zip`,
379-
// );
380-
// execCmdSync(`cd node_modules/@esbuild && unzip esbuild.zip`);
381-
// fs.unlinkSync("node_modules/@esbuild/esbuild.zip");
382-
// } else {
383-
// // Download esbuild from npm in tmp and copy over
384-
// console.log("npm installing esbuild binary");
385-
// await installNodeModuleInTempDirAndCopyToCurrent(
386-
387-
// "@esbuild",
388-
// );
389-
// }
390-
391-
if (isWinTarget && isArmTarget) {
392-
const downloadUrl =
393-
"https://continue-server-binaries.s3.us-west-1.amazonaws.com/win32-arm64/sqlite3.zip";
328+
// GitHub Actions doesn't support ARM, so we need to download pre-saved binaries
329+
// 02/07/25 - the above comment is out of date, there is now support for ARM runners on GitHub Actions
330+
if (isInGitHubAction && isArmTarget) {
331+
// lancedb binary
332+
const packageToInstall = {
333+
"darwin-arm64": "@lancedb/vectordb-darwin-arm64",
334+
"win32-arm64": "@lancedb/vectordb-win32-arm64-msvc",
335+
"linux-arm64": "@lancedb/vectordb-linux-arm64-gnu",
336+
}[target];
337+
console.log(
338+
"[info] Downloading pre-built lancedb binary: " + packageToInstall,
339+
);
340+
341+
await installNodeModuleInTempDirAndCopyToCurrent(
342+
packageToInstall,
343+
"@lancedb",
344+
);
345+
346+
// Replace the installed sqlite3 with pre-built
347+
console.log("[info] Downloading pre-built sqlite3 binary");
394348
rimrafSync("../../core/node_modules/sqlite3/build");
349+
const downloadUrl = {
350+
"darwin-arm64":
351+
"https://github.com/TryGhost/node-sqlite3/releases/download/v5.1.7/sqlite3-v5.1.7-napi-v6-darwin-arm64.tar.gz",
352+
"linux-arm64":
353+
"https://github.com/TryGhost/node-sqlite3/releases/download/v5.1.7/sqlite3-v5.1.7-napi-v3-linux-arm64.tar.gz",
354+
// node-sqlite3 doesn't have a pre-built binary for win32-arm64
355+
"win32-arm64":
356+
"https://continue-server-binaries.s3.us-west-1.amazonaws.com/win32-arm64/node_sqlite3.node",
357+
}[target];
395358
execCmdSync(
396359
`curl -L -o ../../core/node_modules/sqlite3/build.tar.gz ${downloadUrl}`,
397360
);
398361
execCmdSync("cd ../../core/node_modules/sqlite3 && tar -xvzf build.tar.gz");
399362
fs.unlinkSync("../../core/node_modules/sqlite3/build.tar.gz");
400-
}
401363

402-
// Download esbuild from npm in tmp and copy over
403-
console.log("npm installing esbuild binary");
404-
await installNodeModuleInTempDirAndCopyToCurrent(
405-
406-
"@esbuild",
407-
);
364+
// Download and unzip esbuild
365+
console.log("[info] Downloading pre-built esbuild binary");
366+
rimrafSync("node_modules/@esbuild");
367+
fs.mkdirSync("node_modules/@esbuild", { recursive: true });
368+
execCmdSync(
369+
`curl -o node_modules/@esbuild/esbuild.zip https://continue-server-binaries.s3.us-west-1.amazonaws.com/${target}/esbuild.zip`,
370+
);
371+
execCmdSync(`cd node_modules/@esbuild && unzip esbuild.zip`);
372+
fs.unlinkSync("node_modules/@esbuild/esbuild.zip");
373+
} else {
374+
// Download esbuild from npm in tmp and copy over
375+
console.log("npm installing esbuild binary");
376+
await installNodeModuleInTempDirAndCopyToCurrent(
377+
378+
"@esbuild",
379+
);
380+
}
408381

409382
console.log("[info] Copying sqlite node binding from core");
410383
await new Promise((resolve, reject) => {
@@ -532,11 +505,7 @@ const isWinTarget = target?.startsWith("win");
532505
// out/node_modules (to be accessed by extension.js)
533506
`out/node_modules/@vscode/ripgrep/bin/rg${exe}`,
534507
`out/node_modules/@esbuild/${
535-
target === "win32-arm64"
536-
? "esbuild.exe"
537-
: target === "win32-x64"
538-
? "win32-x64/esbuild.exe"
539-
: `${target}/bin/esbuild`
508+
isWinTarget ? `${target}/esbuild.exe` : `${target}/bin/esbuild`
540509
}`,
541510
`out/node_modules/@lancedb/vectordb-${target}${os === "linux" ? "-gnu" : ""}/index.node`,
542511
`out/node_modules/esbuild/lib/main.js`,

0 commit comments

Comments
 (0)