@takker/ScrapJupyter
/takker/@takker/ScrapJupyter
構成要素
takker99/ScrapJupyter: Execute JS/TS/JSX/TSX on Scrapbox roughly
esbuild-wasm
esbuild-wasm-no-blob
esbuild-wasmと同じバージョンのものを使う
事前にbundleしておく
takker.iconさんとのやりとり
/scrapbox-userscript-std/ScrapJupyter
UserScript更新確認
2025/2/1: revert
ScrapJupyter v1.7.5
wasm v0.24.0
エラー
code:error
index.js:2 Error: Build failed with 2 errors:
error: Path must be absolute: received "https://scrapbox.io/yosider-scripts/test"
error: Cannot read properties of null (reading 'resolve')
at Ug (script.js:53:56)
at script.js:46:13852
at P (script.js:46:20827)
at m (script.js:46:13807)
at script.js:46:14124
at G.C.<computed> (script.js:46:9039)
at q (script.js:46:9821)
at D (script.js:46:8739)
at I.onmessage (script.js:53:2327)
https://scrapbox.io/yosider-scripts/test は実行しようとしたコードを置いてあるScrapboxページのURL
/villagepump/2025/02/01#679dd5a7e5172d0000e81748
2024/11/10
ScrapJupyter/1.7.4
まだJSRにはない模様
workerをesbuild-wasm-no-blobへ移動
wasmファイルをesbuild-wasmへ移動
2024/6/16
ScrapJupyter/1.5.5, esbuild-wasm-no-blob/0.21.5
2024/6/1
v0.21.4 現状動かなかったのでv0.20.1を使用
2024/5/26
/takker/for-any-project#61937ef61280f0000061cd76を参考に設定
code:mod.ts
export * from "https://raw.githubusercontent.com/takker99/ScrapJupyter/v1.7.4/app.ts";
code:script.js
import { setup as setupJupyter } from "./mod.ts";
import { findLatestCache, saveApiCache } from "../scrapbox-userscript-std/dom.ts";
// 0.23.0
const WASM_URL = "https://scrapbox.io/files/6730bb5886d646fa1d630a2a.wasm";
const WORKER_URL = "https://scrapbox.io/api/code/yosider-scripts/esbuild-wasm-no-blob-min/worker.js";
(async () => {
const req = new Request(WASM_URL);
const res = await findLatestCache(req) || await fetchAndCache(req);
await setupJupyter(await WebAssembly.compileStreaming(res), WORKER_URL);
})();
async function fetchAndCache(req) {
const res = await fetch(req);
await saveApiCache(req, res);
return res;
}
code:test.ts
alert(1)
/icons/hr.icon
エラー
Error: div.lines is not found.
done.icon生成されたesbuild-wasm-no-blob/worker.jsの--service=${ESBUILD_VERSION}の部分を自分で書き換える必要があるyosider.icon
scrapbox-bundlerに&define=ESBUILD_VERSION:"0.21.4"を渡すと置換される
2024/11/11 もう不要な模様
workerやwasmファイルのバージョン上げたはずだがエラー
code:error
Uncaught Error: Cannot start service: Host version "0.20.1" does not match binary version "0.21.4"
at F (script.js:20:9831)
at c (script.js:20:8962)
at r.onmessage (script.js:27:2213)
binary versionだからwasmファイルに問題があるのか…?
reloadがなかった? /scrapbox-userscript-std/ScrapJupyter#665bb1631280f00000fabc9e