From c067e0d7bba08c3f7f7419fa15c542cf1b36bfd9 Mon Sep 17 00:00:00 2001 From: LongYinan Date: Thu, 17 Jul 2025 14:10:48 +0800 Subject: [PATCH] chore(cli): skip Buffer import if fs is enable (#2779) --- cli/src/api/templates/load-wasi-template.ts | 6 +++++- examples/napi/example.wasi-browser.js | 2 ++ examples/napi/package.json | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/cli/src/api/templates/load-wasi-template.ts b/cli/src/api/templates/load-wasi-template.ts index 6823358e..32802020 100644 --- a/cli/src/api/templates/load-wasi-template.ts +++ b/cli/src/api/templates/load-wasi-template.ts @@ -7,7 +7,11 @@ export const createWasiBrowserBinding = ( buffer = false, ) => { const fsImport = fs ? `import { memfs } from '@napi-rs/wasm-runtime/fs'` : '' - const bufferImport = buffer ? `import { Buffer } from 'buffer'` : '' + const bufferImport = buffer + ? fs + ? `` + : `import { Buffer } from 'buffer'` + : '' const wasiCreation = fs ? ` export const { fs: __fs, vol: __volume } = memfs() diff --git a/examples/napi/example.wasi-browser.js b/examples/napi/example.wasi-browser.js index a5e3b467..d9f4e7db 100644 --- a/examples/napi/example.wasi-browser.js +++ b/examples/napi/example.wasi-browser.js @@ -6,6 +6,7 @@ import { } from '@napi-rs/wasm-runtime' import { memfs } from '@napi-rs/wasm-runtime/fs' + export const { fs: __fs, vol: __volume } = memfs() const __wasi = new __WASI({ @@ -18,6 +19,7 @@ const __wasi = new __WASI({ const __wasmUrl = new URL('./example.wasm32-wasi.wasm', import.meta.url).href const __emnapiContext = __emnapiGetDefaultContext() +__emnapiContext.feature.Buffer = Buffer const __sharedMemory = new WebAssembly.Memory({ initial: 16384, diff --git a/examples/napi/package.json b/examples/napi/package.json index 68ff463d..048db682 100644 --- a/examples/napi/package.json +++ b/examples/napi/package.json @@ -16,7 +16,8 @@ "wasm": { "initialMemory": 16384, "browser": { - "fs": true + "fs": true, + "buffer": true } }, "dtsHeader": "type MaybePromise = T | Promise",