aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-01-02 11:29:22 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-01-02 11:29:22 -0800
commit9fd3b5587b9c7f045eaf8828ed5358206a1802ee (patch)
tree1ad5acc330ac23571839976d32e7f2ac9503decb
parent04b00229cf2408d4af742cb4cc890fd76c4fad1b (diff)
downloadbun-9fd3b5587b9c7f045eaf8828ed5358206a1802ee.tar.gz
bun-9fd3b5587b9c7f045eaf8828ed5358206a1802ee.tar.zst
bun-9fd3b5587b9c7f045eaf8828ed5358206a1802ee.zip
Auto-install and link webkit
-rw-r--r--.gitignore2
-rwxr-xr-x.scripts/postinstall.sh9
-rw-r--r--.vscode/c_cpp_properties.json5
-rw-r--r--Makefile18
-rwxr-xr-xbun.lockbbin77408 -> 78782 bytes
-rw-r--r--package.json16
6 files changed, 35 insertions, 15 deletions
diff --git a/.gitignore b/.gitignore
index 01b43a0ac..835f585ff 100644
--- a/.gitignore
+++ b/.gitignore
@@ -106,3 +106,5 @@ src/runtime.version
misctools/machbench
*.big
.eslintcache
+
+bun-webkit
diff --git a/.scripts/postinstall.sh b/.scripts/postinstall.sh
new file mode 100755
index 000000000..9bc888037
--- /dev/null
+++ b/.scripts/postinstall.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+set -euxo pipefail
+
+# if bun-webkit node_modules directory exists
+if [ -d ./node_modules/bun-webkit ]; then
+ rm -f bun-webkit
+ # get the first matching bun-webkit-* directory name
+ ln -s ./node_modules/$(ls ./node_modules | grep bun-webkit- | head -n 1) ./bun-webkit
+fi
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
index 56cde0394..43148048a 100644
--- a/.vscode/c_cpp_properties.json
+++ b/.vscode/c_cpp_properties.json
@@ -5,6 +5,7 @@
"forcedInclude": ["${workspaceFolder}/src/bun.js/bindings/root.h"],
"includePath": [
"${workspaceFolder}/../webkit-build/include/",
+ "${workspaceFolder}/bun-webkit/include/",
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/",
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/ICU/Headers/",
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/JavaScriptCore/PrivateHeaders/",
@@ -24,6 +25,7 @@
"browse": {
"path": [
"${workspaceFolder}/../webkit-build/include/",
+ "${workspaceFolder}/bun-webkit/include/",
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/",
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/ICU/Headers/",
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/JavaScriptCore/PrivateHeaders/**",
@@ -57,8 +59,7 @@
"macFrameworkPath": [],
"compilerPath": "/opt/homebrew/opt/llvm/bin/clang++",
"cStandard": "c17",
- "cppStandard": "c++20",
- "intelliSenseMode": "macos-clang-x64"
+ "cppStandard": "c++20"
}
],
"version": 4
diff --git a/Makefile b/Makefile
index aef321e88..383ee2caa 100644
--- a/Makefile
+++ b/Makefile
@@ -175,18 +175,26 @@ DEFAULT_USE_BMALLOC := 1
USE_BMALLOC ?= DEFAULT_USE_BMALLOC
-JSC_BASE_DIR ?= ${HOME}/webkit-build
+# Set via postinstall
+AUTO_JSX_BASE_DIR ?= $(realpath $(firstword $(wildcard bun-webkit)))
+
+ifeq (,$(AUTO_JSX_BASE_DIR))
+AUTO_JSX_BASE_DIR ?= $(HOME)/webkit-build
+endif
+
+JSC_BASE_DIR ?= $(AUTO_JSX_BASE_DIR)
DEFAULT_JSC_LIB :=
DEFAULT_JSC_LIB_DEBUG :=
-ifeq ($(OS_NAME),linux)
DEFAULT_JSC_LIB = $(JSC_BASE_DIR)/lib
DEFAULT_JSC_LIB_DEBUG = $(DEFAULT_JSC_LIB)
-endif
-ifeq ($(OS_NAME),darwin)
+ifneq (,$(realpath $(WEBKIT_RELEASE_DIR_LTO)/lib))
DEFAULT_JSC_LIB = $(WEBKIT_RELEASE_DIR_LTO)/lib
+endif
+
+ifneq (,$(realpath $(WEBKIT_RELEASE_DIR)/lib))
DEFAULT_JSC_LIB_DEBUG = $(WEBKIT_RELEASE_DIR)/lib
endif
@@ -489,7 +497,7 @@ CLANG_VERSION = $(shell $(CC) --version | awk '/version/ {for(i=1; i<=NF; i++){i
bun:
npm-install:
- $(NPM_CLIENT) install
+ $(NPM_CLIENT) install --ignore-scripts --production
print-% : ; @echo $* = $($*)
diff --git a/bun.lockb b/bun.lockb
index bfa5bce68..06db86562 100755
--- a/bun.lockb
+++ b/bun.lockb
Binary files differ
diff --git a/package.json b/package.json
index 4ec3c8ac2..eba62b258 100644
--- a/package.json
+++ b/package.json
@@ -4,12 +4,18 @@
"mitata": "^0.1.3",
"peechy": "latest",
"react": "next",
- "react-dom": "next"
+ "react-dom": "next",
+ "eslint": "^8.20.0",
+ "eslint-config-prettier": "^8.5.0",
+ "prettier": "^2.4.1",
+ "svelte": "^3.52.0",
+ "typescript": "latest"
},
"private": true,
"scripts": {
"build-runtime": "esbuild --target=esnext --bundle src/runtime/index.ts --format=iife --platform=browser --global-name=BUN_RUNTIME > src/runtime.out.js; cat src/runtime.footer.js >> src/runtime.out.js",
"build-fallback": "esbuild --target=esnext --bundle src/fallback.ts --format=iife --platform=browser --minify > src/fallback.out.js",
+ "postinstall": "bash .scripts/postinstall.sh",
"typecheck": "tsc",
"fmt": "prettier --write './**/*.{ts,tsx,js,jsx}'",
"lint": "eslint './**/*.d.ts' --cache",
@@ -19,13 +25,7 @@
"@types/react": "^18.0.25",
"@typescript-eslint/eslint-plugin": "^5.31.0",
"@typescript-eslint/parser": "^5.31.0",
- "eslint": "^8.20.0",
- "eslint-config-prettier": "^8.5.0",
- "he": "^1.2.0",
- "html-entities": "^2.3.3",
- "prettier": "^2.4.1",
- "svelte": "^3.52.0",
- "typescript": "latest"
+ "bun-webkit": "latest"
},
"version": "0.0.0"
}