From c129e62a16a020aa5b88ceccbd69276150c55f82 Mon Sep 17 00:00:00 2001 From: hesprs <190185753+hesprs@users.noreply.github.com> Date: Tue, 13 Oct 2026 00:27:24 +0800 Subject: [PATCH] feat(notebook): Bun Jupyter Lab kernel --- .oxlintrc.json | 3 +- README.md | 2 +- bun.lock | 138 +++++++++++++++--------------------------------- jupyter-bun.tgz | Bin 0 -> 6608 bytes package.json | 4 +- shell.nix | 21 +++----- 6 files changed, 53 insertions(+), 115 deletions(-) create mode 100644 jupyter-bun.tgz diff --git a/.oxlintrc.json b/.oxlintrc.json index 7860332..9d1ba77 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -55,8 +55,7 @@ "camelCase": false, "snakeCase": false, "pascalCase": true - }, - "ignore": ["zh-Hans.ts"] + } } ], "unicorn/consistent-function-scoping": "off", diff --git a/README.md b/README.md index 4a4336e..5441d1c 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ To read the notebook interactively, you need Jupyter Lab with a TypeScript kerne ```sh bun install -tslab install --user # register TS kernel +bun jupyter-bun install # register TS kernel ``` Then open `whitepaper.ipynb` in your viewer (Jupyter WebUI or VSCode), choose the TS kernel. diff --git a/bun.lock b/bun.lock index e44c286..8c8f075 100644 --- a/bun.lock +++ b/bun.lock @@ -9,15 +9,53 @@ }, "devDependencies": { "@types/bun": "^1.4.2", + "jupyter-bun": "./jupyter-bun.tgz", "oxfmt": "^0.72.0", "oxlint": "^1.87.0", "oxlint-tsgolint": "^7.0.2004", "tsdown": "^0.23.1", - "tslab": "^1.0.22", }, }, }, "packages": { + "@oxc-parser/binding-android-arm-eabi": ["@oxc-parser/binding-android-arm-eabi@0.153.0", "", { "os": "android", "cpu": "arm" }, "sha512-BcWu25dMwMjHpaDCEidmpAi7rGg1qZoihJeUUH9bD55pVZ0z4Wa5CQgqSTo0R41H81oozisQKW3WqvAN2m77IQ=="], + + "@oxc-parser/binding-android-arm64": ["@oxc-parser/binding-android-arm64@0.153.0", "", { "os": "android", "cpu": "arm64" }, "sha512-9l5rdp2DhRqVriBHsNpu5cEf+hizZ4B58rt93HzyQEBUgZiC6qe2oFpaAAnXGCxHGnQExI1s7S2G0QhFacUZ6w=="], + + "@oxc-parser/binding-darwin-arm64": ["@oxc-parser/binding-darwin-arm64@0.153.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-EcpsyRXHhENDpekpG4QNaSZj2F/BAz4Gh4o89zZwNss86R8KyRSQ6sXbAj74Xyeb4z3j/yBZZ6joQZhraIWyfw=="], + + "@oxc-parser/binding-darwin-x64": ["@oxc-parser/binding-darwin-x64@0.153.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-hlj80HUQy07/2lYp6rmxH+3u+H2ik3rjLR52CUdPApxmZCNxASDUf/+ykTzAHS/fehftmVMATKvPaWmuLHuasg=="], + + "@oxc-parser/binding-freebsd-x64": ["@oxc-parser/binding-freebsd-x64@0.153.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-fWRcv2pMSh1qtez46MOu8vuUJ5fiaQZPHSphbWulbL7SHBMKfRgZl2PzjXZYQJbq7NEXyXbgIuIuUm+/Rmkv8w=="], + + "@oxc-parser/binding-linux-arm-gnueabihf": ["@oxc-parser/binding-linux-arm-gnueabihf@0.153.0", "", { "os": "linux", "cpu": "arm" }, "sha512-paZeUK1GXShl/bOJQET1/8AQxayFeuN4SIWAkgTRxE7ZQwv9uYSB2n0648smygP22N7jcI3zxAm0Z+ALNiIKxg=="], + + "@oxc-parser/binding-linux-arm-musleabihf": ["@oxc-parser/binding-linux-arm-musleabihf@0.153.0", "", { "os": "linux", "cpu": "arm" }, "sha512-qFPp5NwMf4K1C0O+DCVGmcbOaYyYAq98Rvv9p4VSfb777iUwlJCqMUxf6QG9N5f5ls4TEX6LitOZHi+6GL6rYQ=="], + + "@oxc-parser/binding-linux-arm64-gnu": ["@oxc-parser/binding-linux-arm64-gnu@0.153.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-oufEhZCX7saeo27Logra8cvBR1jQ/yw2zUI2hHmWw3qA/XYqEW31FOvLQBv7DWN32NjVdlcaP11WBBZTJo4k9g=="], + + "@oxc-parser/binding-linux-arm64-musl": ["@oxc-parser/binding-linux-arm64-musl@0.153.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-zXYzuAqng85h6+LI3iRm0zeMLX1/K2z41ZAMWxVRgt0D10VvZUaV5q+TEB46KDhoKBpdexoTLC6QoB/EiP2oqQ=="], + + "@oxc-parser/binding-linux-ppc64-gnu": ["@oxc-parser/binding-linux-ppc64-gnu@0.153.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-J7+NLwLEzdkKM9cKyPHH/AjXXstWOs98KYgLrPPnO4N9MO8EZRBfPNnBcS3S67uMOBkRpUmCl2FhRnWdQ5CbBA=="], + + "@oxc-parser/binding-linux-riscv64-gnu": ["@oxc-parser/binding-linux-riscv64-gnu@0.153.0", "", { "os": "linux", "cpu": "none" }, "sha512-sD0K11GQTLWylln54nPMMTtgmBbQrR5It/vMpZpy/fogiw8O2AvIE+9LuWUXddrWk9zvFIHGRcSgFn4IHOfoYg=="], + + "@oxc-parser/binding-linux-riscv64-musl": ["@oxc-parser/binding-linux-riscv64-musl@0.153.0", "", { "os": "linux", "cpu": "none" }, "sha512-7L66uql2BhvSz51LwfExjOdn6et/ydTiQxl23VApdKzJhTc3TczA1Qt6VR/UcvlQrL2ZbytIJb447vh7p5wmUw=="], + + "@oxc-parser/binding-linux-s390x-gnu": ["@oxc-parser/binding-linux-s390x-gnu@0.153.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-hXV3T7mNyrPR19rbPYkglkQJtoM/UNo/xwbZeeqdAxEg8PXgb4LXXuxPpGgI4bzRRCWwLUxdDSS58xIyC2u1TA=="], + + "@oxc-parser/binding-linux-x64-gnu": ["@oxc-parser/binding-linux-x64-gnu@0.153.0", "", { "os": "linux", "cpu": "x64" }, "sha512-Da8Vqs1xdtoDYtEjmozD7wGgJeLBQkMbR0WUBECOSxodyX5DXy8ySlvJWbukyO2Q0+TM9EK+4LT6tbq0jCg4hQ=="], + + "@oxc-parser/binding-linux-x64-musl": ["@oxc-parser/binding-linux-x64-musl@0.153.0", "", { "os": "linux", "cpu": "x64" }, "sha512-zGAPxNTIIw6X5WyTRscIFE/oDjpdNtrrl32ing6NOXdGjzRucadnxBilexLdeYQ9YxixF93GujpXyQ0jw7ddSg=="], + + "@oxc-parser/binding-openharmony-arm64": ["@oxc-parser/binding-openharmony-arm64@0.153.0", "", { "os": "none", "cpu": "arm64" }, "sha512-GoHzpqP5XyPIp9DHokoEdCp+K4UPl/h1neFj1uXnUB3pJYyOQ7NOhFVOttNUgCGcj2eywAvu5cRivTOSq4S10g=="], + + "@oxc-parser/binding-win32-arm64-msvc": ["@oxc-parser/binding-win32-arm64-msvc@0.153.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-xGcy12tO9k7zFbeyQzEuilfWfQpyRq23/fLPfN3wjSWuWv58k46fQT1hsO1KFNykZuVGW9xSJE/z592TmAoSDA=="], + + "@oxc-parser/binding-win32-ia32-msvc": ["@oxc-parser/binding-win32-ia32-msvc@0.153.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-o1ykUjWncvXX6N5a4KebgLjtD8zRui+f1llMhSGoSC9oP2KOqapRpdwmZ3NcNG0axFouwVKmhGBjd+IhA8BksA=="], + + "@oxc-parser/binding-win32-x64-msvc": ["@oxc-parser/binding-win32-x64-msvc@0.153.0", "", { "os": "win32", "cpu": "x64" }, "sha512-gxQz7G96Up136fd+2zWrP+o6FYGs9NO4Dyv55IoeJFJUDwLFHcLYY11hhA5wQKs0HoM57Q8esQ3nEVhnCdsjAQ=="], + "@oxc-project/types": ["@oxc-project/types@0.153.0", "", {}, "sha512-jSNrRIyvPVLL5E1z/tS5zLAprosGz/FuI1PWwEOz59j3E4TTTzSpqKb/RDGqJhhW0QHYISGXxq582wGx6T11Tw=="], "@oxfmt/binding-android-arm-eabi": ["@oxfmt/binding-android-arm-eabi@0.72.0", "", { "os": "android", "cpu": "arm" }, "sha512-u4U1uaDOVBuorGNC/07NLm48nECHOiJJka002YGML16Md2DRvf38RGBt01lH60EOGvNlFVmbLoksQedNBoZHKw=="], @@ -142,23 +180,9 @@ "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.1", "", {}, "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw=="], - "@rollup/plugin-commonjs": ["@rollup/plugin-commonjs@13.0.2", "", { "dependencies": { "@rollup/pluginutils": "3.1.0", "commondir": "1.0.1", "estree-walker": "1.0.1", "glob": "7.2.3", "is-reference": "1.2.1", "magic-string": "0.25.9", "resolve": "1.22.12" }, "peerDependencies": { "rollup": "^2.3.4" } }, "sha512-9JXf2k8xqvMYfqmhgtB6eCgMN9fbxwF1XDF3mGKJc6pkAmt0jnsqurxQ0tC1akQKNSXCm7c3unQxa3zuxtZ7mQ=="], - - "@rollup/plugin-node-resolve": ["@rollup/plugin-node-resolve@11.2.1", "", { "dependencies": { "@rollup/pluginutils": "3.1.0", "@types/resolve": "1.17.1", "builtin-modules": "3.3.0", "deepmerge": "4.3.1", "is-module": "1.0.0", "resolve": "1.22.12" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0" } }, "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg=="], - - "@rollup/plugin-replace": ["@rollup/plugin-replace@2.4.2", "", { "dependencies": { "@rollup/pluginutils": "3.1.0", "magic-string": "0.25.9" }, "peerDependencies": { "rollup": "^1.20.0 || ^2.0.0" } }, "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg=="], - - "@rollup/pluginutils": ["@rollup/pluginutils@3.1.0", "", { "dependencies": { "@types/estree": "0.0.39", "estree-walker": "1.0.1", "picomatch": "2.3.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0" } }, "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg=="], - - "@tslab/typescript-for-tslab": ["@tslab/typescript-for-tslab@5.0.4", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-bmR6F7uFw9D5fPc2cwGLerHyKxXRDM4nsOMtcqnLl5JL5aUB6eBoK9IDApyf0wdKrsrOPC6NKIZFB3FhYfNQ3w=="], - "@types/bun": ["@types/bun@1.4.2", "", { "dependencies": { "bun-types": "1.4.2" } }, "sha512-GimotNn7+ZV0uVArItBbriZsR1oNf0+WTzPkdcFrzShI7k2norL0uzEaJT8T33dWr7O/c9ZDuAFQrctKCi72oQ=="], - "@types/estree": ["@types/estree@0.0.39", "", {}, "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw=="], - - "@types/node": ["@types/node@18.19.130", "", { "dependencies": { "undici-types": "5.26.5" } }, "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg=="], - - "@types/resolve": ["@types/resolve@1.17.1", "", { "dependencies": { "@types/node": "26.1.1" } }, "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw=="], + "@types/node": ["@types/node@26.6.5", "", { "dependencies": { "undici-types": "~8.9.0" } }, "sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg=="], "@yuku-core/binding-android-arm64": ["@yuku-core/binding-android-arm64@0.18.1", "", { "os": "android", "cpu": "arm64" }, "sha512-1XTUWTmnpwXNyPwRLSQDjvHu7WPgykzCniYtTk+5ppnriznVONWd9TRPcFxCR8dlZ7HFGtv8v1wzbQmtmVlHNQ=="], @@ -186,73 +210,29 @@ "@yuku-toolchain/types": ["@yuku-toolchain/types@0.18.1", "", {}, "sha512-rWtqVdjA8O34nV/4mBFIdUm5Zj+FIzZDR7P2PEpqXXp53VEHabTROu7j2RjzzJbLMVYjW6gDKwOgPgiKRA+x4w=="], - "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], - - "brace-expansion": ["brace-expansion@1.1.16", "", { "dependencies": { "balanced-match": "1.0.2", "concat-map": "0.0.1" } }, "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw=="], - - "builtin-modules": ["builtin-modules@3.3.0", "", {}, "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw=="], - "bun-types": ["bun-types@1.4.2", "", { "dependencies": { "@types/node": "*" } }, "sha512-bxV1FgK7yBIzjRe5zBozIM4Bem11ZJcCXSrjWRG3YWLt8yFDePu4cLjpebO8OvPeIE9trbyPF4fuj3Cia4Fj3w=="], "cac": ["cac@7.0.1", "", {}, "sha512-86diuUyeeWM8CrqhpGCaDafrzjS1s++7sWy2AbAPoFNz/xKv7ID57CR4pZsMuGCh60PtsnEx4z68b+Vgt07VPw=="], - "cmake-ts": ["cmake-ts@1.0.2", "", { "bin": { "cmake-ts": "build/main.js" } }, "sha512-5l++JHE7MxFuyV/OwJf3ek7ZZN1aGPFPM5oUz6AnK5inQAPe4TFXRMz5sA2qg2FRgByPWdqO+gSfIPo8GzoKNQ=="], - - "commander": ["commander@10.0.1", "", {}, "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug=="], - - "commondir": ["commondir@1.0.1", "", {}, "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg=="], - - "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], - - "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], - "defu": ["defu@6.1.7", "", {}, "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ=="], "dts-resolver": ["dts-resolver@3.0.0", "", { "peerDependencies": { "oxc-resolver": ">=11.0.0" }, "optionalPeers": ["oxc-resolver"] }, "sha512-1T1f+z+4tl9XD+m+0HBgWoL/nm0bOIffyWaUuUSBlFg/86IWvfx+wjNaO/ybU0AJzG9/Mi5hBUgGV6zCmWEN7Q=="], "empathic": ["empathic@2.1.0", "", {}, "sha512-AnfC1ATldl49/cvZdLPDjBfrRNwbDO05aibiOtzQu3qtlbJtomNLhF30HEtn/7iBz50dlMECqATo3fG0LrdEgw=="], - "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], - - "estree-walker": ["estree-walker@1.0.1", "", {}, "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg=="], - "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], - "fs.realpath": ["fs.realpath@1.0.0", "", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="], - - "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], - - "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], - "get-tsconfig": ["get-tsconfig@5.0.0-beta.6", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-X6fBC0pmImC70gvX2zm56go9hx0MyoGVdG0tUCkg/D+Xnh5TJsOZ7iDbOdI3PvmtrDxnu1YdDufpK2QJX1Meqw=="], - "glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "1.0.0", "inflight": "1.0.6", "inherits": "2.0.4", "minimatch": "3.1.5", "once": "1.4.0", "path-is-absolute": "1.0.1" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], - - "hasown": ["hasown@2.0.4", "", { "dependencies": { "function-bind": "1.1.2" } }, "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A=="], - "hookable": ["hookable@6.1.2", "", {}, "sha512-+abwxtiEA52GCVIsQqut3S/uKTbUwYIp4Pe/vv+6py5XiXBCqMZHg6pA6Y5qhgLSEys0/cYuPbO0z1QFj5ZCmg=="], "import-without-cache": ["import-without-cache@0.4.1", "", {}, "sha512-vXoV9PjKHEednCUu01e98TkImxy67e3BJXbTIOmIq4Hyzw3IAwYRcuPkfeTzJzwyyts4kjuA73x+pWJLc4f86A=="], - "inflight": ["inflight@1.0.6", "", { "dependencies": { "once": "1.4.0", "wrappy": "1.0.2" } }, "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="], - - "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], - - "is-core-module": ["is-core-module@2.16.2", "", { "dependencies": { "hasown": "2.0.4" } }, "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA=="], - - "is-module": ["is-module@1.0.0", "", {}, "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g=="], - - "is-reference": ["is-reference@1.2.1", "", { "dependencies": { "@types/estree": "1.0.9" } }, "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ=="], - - "magic-string": ["magic-string@0.25.9", "", { "dependencies": { "sourcemap-codec": "1.4.8" } }, "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ=="], - - "minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "1.1.16" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], - - "node-addon-api": ["node-addon-api@8.9.0", "", {}, "sha512-ekZMeaaIzSQTSpr7X2X3iJM7lTzgnx8ahAG9pJfT/7+14mlEM8ZYQ9cgCDvSSRbReFK0oHli3WrZdCiRsgAT9Q=="], + "jupyter-bun": ["jupyter-bun@./jupyter-bun.tgz", { "dependencies": { "oxc-parser": "^0.153.0" }, "bin": "dist/index.ts" }, "sha512-OPh4Z0Ae+e77NeJwqRHteMYYQl2BRKKwe+3foEBfb/m+FMoWJ3vpXfN2pUBYaOYmIDpc1G/TnFlha/11J25nhw=="], "obug": ["obug@3.0.0", "", {}, "sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw=="], - "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1.0.2" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], + "oxc-parser": ["oxc-parser@0.153.0", "", { "dependencies": { "@oxc-project/types": "^0.153.0" }, "optionalDependencies": { "@oxc-parser/binding-android-arm-eabi": "0.153.0", "@oxc-parser/binding-android-arm64": "0.153.0", "@oxc-parser/binding-darwin-arm64": "0.153.0", "@oxc-parser/binding-darwin-x64": "0.153.0", "@oxc-parser/binding-freebsd-x64": "0.153.0", "@oxc-parser/binding-linux-arm-gnueabihf": "0.153.0", "@oxc-parser/binding-linux-arm-musleabihf": "0.153.0", "@oxc-parser/binding-linux-arm64-gnu": "0.153.0", "@oxc-parser/binding-linux-arm64-musl": "0.153.0", "@oxc-parser/binding-linux-ppc64-gnu": "0.153.0", "@oxc-parser/binding-linux-riscv64-gnu": "0.153.0", "@oxc-parser/binding-linux-riscv64-musl": "0.153.0", "@oxc-parser/binding-linux-s390x-gnu": "0.153.0", "@oxc-parser/binding-linux-x64-gnu": "0.153.0", "@oxc-parser/binding-linux-x64-musl": "0.153.0", "@oxc-parser/binding-openharmony-arm64": "0.153.0", "@oxc-parser/binding-win32-arm64-msvc": "0.153.0", "@oxc-parser/binding-win32-ia32-msvc": "0.153.0", "@oxc-parser/binding-win32-x64-msvc": "0.153.0" } }, "sha512-cEnpyyV1OJRXv++SFNw0z8i+2o/cr88rVLaOYJafELDoHM5yHvCAbwGRLvxuany6SNLcbblSMUyZaGzH+quSYg=="], "oxfmt": ["oxfmt@0.72.0", "", { "dependencies": { "tinypool": "2.2.0" }, "optionalDependencies": { "@oxfmt/binding-android-arm-eabi": "0.72.0", "@oxfmt/binding-android-arm64": "0.72.0", "@oxfmt/binding-darwin-arm64": "0.72.0", "@oxfmt/binding-darwin-x64": "0.72.0", "@oxfmt/binding-freebsd-x64": "0.72.0", "@oxfmt/binding-linux-arm-gnueabihf": "0.72.0", "@oxfmt/binding-linux-arm-musleabihf": "0.72.0", "@oxfmt/binding-linux-arm64-gnu": "0.72.0", "@oxfmt/binding-linux-arm64-musl": "0.72.0", "@oxfmt/binding-linux-ppc64-gnu": "0.72.0", "@oxfmt/binding-linux-riscv64-gnu": "0.72.0", "@oxfmt/binding-linux-riscv64-musl": "0.72.0", "@oxfmt/binding-linux-s390x-gnu": "0.72.0", "@oxfmt/binding-linux-x64-gnu": "0.72.0", "@oxfmt/binding-linux-x64-musl": "0.72.0", "@oxfmt/binding-openharmony-arm64": "0.72.0", "@oxfmt/binding-win32-arm64-msvc": "0.72.0", "@oxfmt/binding-win32-ia32-msvc": "0.72.0", "@oxfmt/binding-win32-x64-msvc": "0.72.0" }, "peerDependencies": { "svelte": "^5.0.0", "vite-plus": "*" }, "optionalPeers": ["svelte", "vite-plus"], "bin": { "oxfmt": "bin/oxfmt" } }, "sha512-16OQeL0uhPZbfmT9S9WWM0Nv9+BmVi8Ra1uTYaSKj/qSCs6FB30KOhz9JoNYw6thT+K5bVxsk/tSEOu497i34g=="], @@ -260,30 +240,16 @@ "oxlint-tsgolint": ["oxlint-tsgolint@7.0.2004", "", { "optionalDependencies": { "@oxlint-tsgolint/darwin-arm64": "7.0.2004", "@oxlint-tsgolint/darwin-x64": "7.0.2004", "@oxlint-tsgolint/linux-arm64": "7.0.2004", "@oxlint-tsgolint/linux-x64": "7.0.2004", "@oxlint-tsgolint/win32-arm64": "7.0.2004", "@oxlint-tsgolint/win32-x64": "7.0.2004" }, "bin": { "tsgolint": "./bin/tsgolint.js" } }, "sha512-vQ9WDF3fiZJvRdSDosNOflerOCOpwol6vWzVDxW76RcU19cjTh7engvkHLvmv+tzedR8fAiJUVUGr6IVZdkzXQ=="], - "path-is-absolute": ["path-is-absolute@1.0.1", "", {}, "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="], - - "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], - "picomatch": ["picomatch@4.0.7", "", {}, "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA=="], "quansync": ["quansync@1.0.0", "", {}, "sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA=="], - "resolve": ["resolve@1.22.12", "", { "dependencies": { "es-errors": "1.3.0", "is-core-module": "2.16.2", "path-parse": "1.0.7", "supports-preserve-symlinks-flag": "1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA=="], - "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], "rolldown": ["rolldown@1.2.13", "", { "dependencies": { "@oxc-project/types": "=0.153.0", "@rolldown/pluginutils": "^1.0.0" }, "optionalDependencies": { "@rolldown/binding-android-arm-eabi": "1.2.13", "@rolldown/binding-android-arm64": "1.2.13", "@rolldown/binding-darwin-arm64": "1.2.13", "@rolldown/binding-darwin-x64": "1.2.13", "@rolldown/binding-freebsd-x64": "1.2.13", "@rolldown/binding-linux-arm-gnueabihf": "1.2.13", "@rolldown/binding-linux-arm64-gnu": "1.2.13", "@rolldown/binding-linux-arm64-musl": "1.2.13", "@rolldown/binding-linux-ppc64-gnu": "1.2.13", "@rolldown/binding-linux-s390x-gnu": "1.2.13", "@rolldown/binding-linux-x64-gnu": "1.2.13", "@rolldown/binding-linux-x64-musl": "1.2.13", "@rolldown/binding-openharmony-arm64": "1.2.13", "@rolldown/binding-win32-arm64-msvc": "1.2.13", "@rolldown/binding-win32-x64-msvc": "1.2.13" }, "bin": { "rolldown": "./bin/cli.mjs" } }, "sha512-/5apOkwWxtACcQtZ5WlrAsKS4JwXVThQPJZ3RqIruRY9UG9M8e0VlXN068xum/JRKA4aIUoJ13ghe/kGCvidiQ=="], "rolldown-plugin-dts": ["rolldown-plugin-dts@0.28.7", "", { "dependencies": { "dts-resolver": "^3.0.0", "get-tsconfig": "5.0.0-beta.6", "obug": "^3.0.0", "yuku-ast": "^0.18.1", "yuku-codegen": "^0.18.1", "yuku-parser": "^0.18.1" }, "peerDependencies": { "@typescript/native-preview": "*", "@volar/typescript": "~2.4.0", "@vue/language-core": "~3.2.0 || ~3.3.0", "rolldown": "^1.2.0", "typescript": "^5.0.0 || ^6.0.0 || ~7.0.0", "vue-tsc": "~3.2.0 || ~3.3.0" }, "optionalPeers": ["@typescript/native-preview", "@volar/typescript", "@vue/language-core", "typescript", "vue-tsc"] }, "sha512-o0lA6/NPzBAhMFgnIVJgW4eMBbMBQ8sXEbq4GqEHloerWMLqLNatpFy5AlWpEKskFShWKNghMMI8naul9Lgo5Q=="], - "rollup": ["rollup@2.80.0", "", { "optionalDependencies": { "fsevents": "2.3.3" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-cIFJOD1DESzpjOBl763Kp1AH7UE/0fcdHe6rZXUdQ9c50uvgigvW97u3IcSeBwOkgqL/PXPBktBCh0KEu5L8XQ=="], - - "semver": ["semver@7.8.5", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA=="], - - "sourcemap-codec": ["sourcemap-codec@1.4.8", "", {}, "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="], - - "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], - "tinyexec": ["tinyexec@1.3.1", "", {}, "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA=="], "tinyglobby": ["tinyglobby@0.2.17", "", { "dependencies": { "fdir": "6.5.0", "picomatch": "4.0.5" } }, "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g=="], @@ -294,18 +260,14 @@ "tsdown": ["tsdown@0.23.1", "", { "dependencies": { "cac": "^7.0.1", "defu": "^6.1.7", "empathic": "^2.1.0", "hookable": "^6.1.2", "import-without-cache": "^0.4.1", "obug": "^3.0.0", "picomatch": "^4.0.7", "rolldown": "~1.2.13", "rolldown-plugin-dts": "^0.28.7", "tinyexec": "^1.3.1", "tinyglobby": "^0.2.17", "tree-kill": "^1.2.2", "unconfig-core": "^7.5.0", "verkit": "^0.5.0" }, "peerDependencies": { "@arethetypeswrong/core": "^0.18.1", "@tsdown/css": "0.23.1", "@tsdown/exe": "0.23.1", "@vitejs/devtools": "*", "publint": "^0.3.8", "tsx": "*", "typescript": "^5.0.0 || ^6.0.0 || ^7.0.0", "unplugin-unused": ">=0.5.0", "unrun": "*" }, "optionalPeers": ["@arethetypeswrong/core", "@tsdown/css", "@tsdown/exe", "@vitejs/devtools", "publint", "tsx", "typescript", "unplugin-unused", "unrun"], "bin": { "tsdown": "./dist/run.mjs" } }, "sha512-MSC2WSOts3in95J334/VIS7KPfor3eCSvndJ6KdoVj9Aak9Kh1aNfz9ws5owhdukuTNSXRdfkPEzA/ihpDD6SA=="], - "tslab": ["tslab@1.0.22", "", { "dependencies": { "@rollup/plugin-commonjs": "13.0.2", "@rollup/plugin-node-resolve": "11.2.1", "@rollup/plugin-replace": "2.4.2", "@tslab/typescript-for-tslab": "5.0.4", "@types/node": "18.19.130", "commander": "10.0.1", "rollup": "2.80.0", "semver": "7.8.5", "zeromq": "6.5.0" }, "bin": { "tslab": "bin/tslab" } }, "sha512-d3Ct6uehllgm71FVNWDy6z6oAreIHDtUqBUIMJym5Tm83CFFcY0urBAsfBuzWOBLMcB6+X1H0WDMZKAUcXCY4Q=="], - "typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="], "unconfig-core": ["unconfig-core@7.5.0", "", { "dependencies": { "@quansync/fs": "1.0.0", "quansync": "1.0.0" } }, "sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w=="], - "undici-types": ["undici-types@5.26.5", "", {}, "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="], + "undici-types": ["undici-types@8.9.0", "", {}, "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg=="], "verkit": ["verkit@0.5.0", "", {}, "sha512-u4J1hr6Y+C/hit34GwL3eIcUf3wngT8TlYUjK7tk0jxydKLAq3sYvifjdTDA6U3KCKRcQCQDGf/srjxfZF3l7g=="], - "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], - "yuku-ast": ["yuku-ast@0.18.1", "", { "dependencies": { "@yuku-toolchain/types": "^0.18.1" } }, "sha512-Y9YgmYeExF+13IOm4r9pTgmQiCVJtrhq014st78eAckWlCkbjzNd2AVrQHng5uiLz9j31O4sGYhuP3znSKJv9w=="], "yuku-codegen": ["yuku-codegen@0.18.1", "", { "dependencies": { "@yuku-toolchain/types": "^0.18.1" } }, "sha512-0tNgBfNHW6+tEBGEf1N20C6tDsFR9Vj344Ey01wgAMeP+j0zR5WBF8dyzOu5oA/n6Yz6YqV1ZcASdi0cin+q8A=="], @@ -314,20 +276,6 @@ "yuku-parser": ["yuku-parser@0.18.1", "", { "dependencies": { "@yuku-toolchain/types": "^0.18.1", "yuku-core": "0.18.1" } }, "sha512-t5pANCF6k9rgJre7jk8DMAU4lEoI1oWWZgXk0fcvmCYQquFVWv0rf6Awwt56nnPiHb0E24dhtrpfgf9ChTCbrQ=="], - "zeromq": ["zeromq@6.5.0", "", { "dependencies": { "cmake-ts": "1.0.2", "node-addon-api": "8.9.0" } }, "sha512-vWOrt19lvcXTxu5tiHXfEGQuldSlU+qZn2TT+4EbRQzaciWGwNZ99QQTolQOmcwVgZLodv+1QfC6UZs2PX/6pQ=="], - - "@rollup/pluginutils/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], - - "@types/resolve/@types/node": ["@types/node@26.1.1", "", { "dependencies": { "undici-types": "8.3.0" } }, "sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw=="], - - "bun-types/@types/node": ["@types/node@26.6.5", "", { "dependencies": { "undici-types": "~8.9.0" } }, "sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg=="], - - "is-reference/@types/estree": ["@types/estree@1.0.9", "", {}, "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg=="], - "tinyglobby/picomatch": ["picomatch@4.0.5", "", {}, "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A=="], - - "@types/resolve/@types/node/undici-types": ["undici-types@8.3.0", "", {}, "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ=="], - - "bun-types/@types/node/undici-types": ["undici-types@8.9.0", "", {}, "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg=="], } } diff --git a/jupyter-bun.tgz b/jupyter-bun.tgz new file mode 100644 index 0000000000000000000000000000000000000000..8b107aaabed5fb079b882de671df10cde279daf6 GIT binary patch literal 6608 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 OfBpwfn@X_&QUCxE70Cwx literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 81bb84c..e370386 100644 --- a/package.json +++ b/package.json @@ -47,11 +47,11 @@ }, "devDependencies": { "@types/bun": "^1.4.2", + "jupyter-bun": "./jupyter-bun.tgz", "oxfmt": "^0.72.0", "oxlint": "^1.87.0", "oxlint-tsgolint": "^7.0.2004", - "tsdown": "^0.23.1", - "tslab": "^1.0.22" + "tsdown": "^0.23.1" }, "packageManager": "bun@1.4.2" } diff --git a/shell.nix b/shell.nix index 5a92a1b..37b418f 100644 --- a/shell.nix +++ b/shell.nix @@ -3,7 +3,7 @@ let in pkgs.mkShell { buildInputs = with pkgs; [ - nodejs-slim_latest + bun python3 python314Packages.jupyterlab ]; @@ -11,26 +11,17 @@ pkgs.mkShell { shellHook = '' export JUPYTER_DATA_DIR="$(pwd)/.jupyter/data" export JUPYTER_CONFIG_DIR="$(pwd)/.jupyter/config" - export TSLAB_RUNTIME_DIR="$(pwd)/node_modules/.bin/tslab" - mkdir -p "$JUPYTER_DATA_DIR/kernels/tslab" - mkdir -p "$JUPYTER_DATA_DIR/kernels/jslab" + export JUPYTER_BUN_KERNEL="$(pwd)/node_modules/jupyter-bun/dist/index.js" + mkdir -p "$JUPYTER_DATA_DIR/kernels/typescript-bun" - cat > "$JUPYTER_DATA_DIR/kernels/tslab/kernel.json" < "$JUPYTER_DATA_DIR/kernels/typescript-bun/kernel.json" < "$JUPYTER_DATA_DIR/kernels/jslab/kernel.json" < "$JUPYTER_CONFIG_DIR/jupyter_server_config.py" << EOF c.FileCheckpoints.checkpoint_dir = ".jupyter/checkpoints" EOF