mirror of
https://github.com/oxc-project/oxc.git
synced 2026-09-14 19:36:11 +08:00
db446518ca
Fixes #25610 AI assistance: Codex was used to implement this change.
33 lines
786 B
JavaScript
33 lines
786 B
JavaScript
import fs from "node:fs";
|
|
import { join as pathJoin } from "node:path";
|
|
|
|
import "./patch-wasi-browser.js";
|
|
|
|
const packageDir = pathJoin(import.meta.dirname, "..");
|
|
const path = pathJoin(packageDir, "playground.wasi-browser.js");
|
|
|
|
let data = fs.readFileSync(path, "utf-8");
|
|
data = data.replace(
|
|
`export const Oxc = __napiModule.exports.Oxc`,
|
|
`
|
|
import { jsonParseAst } from "../parser/src-js/wrap.js"
|
|
|
|
export function Oxc() {
|
|
const oxc = new __napiModule.exports.Oxc();
|
|
return new Proxy(oxc, {
|
|
get(_target, p, _receiver) {
|
|
if (p === 'ast') {
|
|
return jsonParseAst(oxc.astJson);
|
|
}
|
|
const value = oxc[p];
|
|
if (typeof value === 'function') {
|
|
return value.bind(oxc);
|
|
}
|
|
return value;
|
|
}
|
|
})
|
|
}
|
|
`,
|
|
);
|
|
fs.writeFileSync(path, data);
|