import React, { useMemo, lazy, Suspense } from "react"; import { Platform } from "../Platform"; import { LoadSkiaWeb } from "./LoadSkiaWeb"; export const WithSkiaWeb = ({ getComponent, fallback, opts, componentProps }) => { const Inner = useMemo( // TODO: investigate // eslint-disable-next-line @typescript-eslint/no-explicit-any () => /*#__PURE__*/lazy(async () => { if (Platform.OS === "web") { await LoadSkiaWeb(opts); } else { console.warn(" is only necessary on web. Consider not using on native."); } return getComponent(); }), // We we to run this only once. // eslint-disable-next-line react-hooks/exhaustive-deps []); return /*#__PURE__*/React.createElement(Suspense, { fallback: fallback !== null && fallback !== void 0 ? fallback : null }, /*#__PURE__*/React.createElement(Inner, componentProps)); }; //# sourceMappingURL=WithSkiaWeb.js.map  $ node -e "const {getDefaultConfig}=require('expo/metro-config'); const c=getDefaultConfig('/opt/lab/superprova/20260822-1855/kilo'); console.log('has wasm:', c.resolver.assetExts.includes('wasm')); " 2>&1; which google-chrome chromium chromium-browser firefox 2>/dev/null; echo "---canvas self check---"; grep -o "locateFile[^,]*" node_modules/canvaskit-wasm/bin/full/canvaskit.js | head -3 has wasm: false ---canvas self check--- locateFile?w.locateFile(nb  $ grep -n "locateFile" node_modules/canvaskit-wasm/bin/full/canvaskit.js | head -5; echo ---; grep -n "defaultLocateFile\|function locateFile\|wasmBinaryFile\|\.wasm" node_modules/canvaskit-wasm/bin/full/canvaskit.js | head -8 166:function Ja(a){if(w.onAbort)w.onAbort(a);a="Aborted("+a+")";Ha(a);Na=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function hb(a){return a.startsWith("data:application/octet-stream;base64,")}var ib;ib="canvaskit.wasm";if(!hb(ib)){var nb=ib;ib=w.locateFile?w.locateFile(nb,Aa):Aa+nb}function ob(a){if(a==ib&&Ia)return new Uint8Array(Ia);if(Da)return Da(a);throw"both async and sync fetching of the wasm failed";} --- 164:Ca=(a,b,d)=>{var f=new XMLHttpRequest;f.open("GET",a,!0);f.responseType="arraybuffer";f.onload=()=>{200==f.status||0==f.status&&f.response?b(f.response):d()};f.onerror=d;f.send(null)};var Ga=w.print||console.log.bind(console),Ha=w.printErr||console.error.bind(console);Object.assign(w,oa);oa=null;w.thisProgram&&(ra=w.thisProgram);w.quit&&(va=w.quit);var Ia;w.wasmBinary&&(Ia=w.wasmBinary);var noExitRuntime=w.noExitRuntime||!0;"object"!=typeof WebAssembly&&Ja("no native wasm support detected"); 166:function Ja(a){if(w.onAbort)w.onAbort(a);a="Aborted("+a+")";Ha(a);Na=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function hb(a){return a.startsWith("data:application/octet-stream;base64,")}var ib;ib="canvaskit.wasm";if(!hb(ib)){var nb=ib;ib=w.locateFile?w.locateFile(nb,Aa):Aa+nb}function ob(a){if(a==ib&&Ia)return new Uint8Array(Ia);if(Da)return Da(a);throw"both async and sync fetching of the wasm failed";}