circomlibjs/esbuild.mjs
Micah Zoltu fc0c01e400 Removes many dependencies and bundles to ES Module.
* NodeJS has built-in testing tools now, so no need to include Mocha/Chai which bring in a lot of transitive dependencies.
* Removes ethers, as it was only being used for a few utility functions (which are now in `utils.js` and `keccak256`, whiche is better sourced from @noble/hashes.
* Adds @noble/hashes for `keccak256`.
* Removes hardhat, since it was brought in only to test one thing, and it is huge.
* Switches to esbuild for simple ESM targeted bundling with inlnined NodeJS dependencies.
* Pinned all JS dependencies to fixed versions.
* Adds a Dockerfile for generating reproducible builds.
* Commented out two tests that had a dependency on Hardhat.
2024-12-06 13:17:31 +08:00

23 lines
396 B
JavaScript

import { build } from "esbuild"
import { polyfillNode } from "esbuild-plugin-polyfill-node"
build({
bundle: true,
platform: "browser",
format: "esm",
entryPoints: ["main.js"],
outfile: "build/bundle.mjs",
plugins: [
polyfillNode({
globals: {
__dirname: false,
__filename: false,
buffer: true,
global: false,
navigator: false,
process: false,
}
}),
],
})