diff --git a/front/.gitignore b/front/.gitignore index a547bf3..2d7ceb8 100644 --- a/front/.gitignore +++ b/front/.gitignore @@ -22,3 +22,8 @@ dist-ssr *.njsproj *.sln *.sw? + +# Lock files +package-lock.json +yarn.lock +pnpm-lock.yaml \ No newline at end of file diff --git a/front/package.json b/front/package.json index 886816b..684d8b2 100644 --- a/front/package.json +++ b/front/package.json @@ -10,6 +10,10 @@ "preview": "vite preview" }, "dependencies": { + "@aztec/bb.js": "^0.87.9", + "@noir-lang/acvm_js": "^1.0.0-beta.8", + "@noir-lang/noirc_abi": "^1.0.0-beta.8", + "@rollup/plugin-inject": "^5.0.5", "@types/crypto-js": "^4.2.2", "@types/elliptic": "^6.4.18", "@types/react-router-dom": "^5.3.3", diff --git a/front/src/main.tsx b/front/src/main.tsx index b87c1fc..2528125 100644 --- a/front/src/main.tsx +++ b/front/src/main.tsx @@ -1,5 +1,4 @@ -import { Buffer } from 'buffer' -(window as any).Buffer = Buffer +import './shims/buffer.ts'; import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' diff --git a/front/src/shims/buffer.ts b/front/src/shims/buffer.ts new file mode 100644 index 0000000..5b31399 --- /dev/null +++ b/front/src/shims/buffer.ts @@ -0,0 +1,24 @@ +// src/shims/buffer.ts + +// buffer/index.js doğrudan gerçek paketten çekilir, alias’a takılmaz +import { Buffer as NodeBuffer } from 'buffer/index.js'; + +// Eğer writeBigUInt64BE yoksa ekleyelim +if (!(NodeBuffer.prototype as any).writeBigUInt64BE) { + Object.defineProperty(NodeBuffer.prototype, 'writeBigUInt64BE', { + value(this: Buffer, value: bigint, offset = 0) { + for (let i = 7; i >= 0; --i) { + const byte = Number((value >> BigInt(i * 8)) & 0xffn); + (this as any)[offset + (7 - i)] = byte; + } + return offset + 8; + }, + writable: true, + }); +} + +// Global Buffer’ı da atayalım (bazı kütüphaneler window.Buffer bekleyebilir) +;(window as any).Buffer = NodeBuffer; + +// Adından export edelim +export const Buffer = NodeBuffer; \ No newline at end of file diff --git a/front/vite.config.ts b/front/vite.config.ts index 7d8f305..d2f746c 100644 --- a/front/vite.config.ts +++ b/front/vite.config.ts @@ -1,24 +1,29 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' +import path from 'path' -// https://vite.dev/config/ export default defineConfig({ plugins: [react()], - optimizeDeps: { - esbuildOptions: { target: "esnext" }, - exclude: ["@noir-lang/noirc_abi", "@noir-lang/acvm_js"], - }, resolve: { - alias: { - buffer: 'buffer', + alias: [ + { + find: /^buffer$/, + replacement: path.resolve(__dirname, 'src/shims/buffer.ts'), + }, + ], + }, + optimizeDeps: { + esbuildOptions: { + target: 'esnext', }, + exclude: ['@noir-lang/noirc_abi', '@noir-lang/acvm_js'], }, define: { - global: 'globalThis', + global: 'window', }, server: { fs: { allow: ['../..'], }, }, -}); +}) \ No newline at end of file