fc0c01e400
* 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.
14 lines
361 B
Docker
14 lines
361 B
Docker
FROM node:22.11.0-alpine3.20@sha256:b64ced2e7cd0a4816699fe308ce6e8a08ccba463c757c00c14cd372e3d2c763e
|
|
|
|
WORKDIR /workspace/
|
|
|
|
# cache dependencies
|
|
COPY ./package.json ./package-lock.json /workspace/
|
|
RUN npm ci --ignore-scripts
|
|
|
|
COPY ./main.js ./esbuild.mjs /workspace/
|
|
COPY ./src/ /workspace/src/
|
|
COPY ./test/ /workspace/test/
|
|
RUN node --test
|
|
RUN node esbuild.mjs
|