/wasm-pack

A docker image for wasm-pack projects

Primary LanguageDockerfileMIT LicenseMIT

wasm-pack

A rust-node based image installed with wasm-pack for projects

WARNING: This is not a image to serve projects with! Consider it as a builder image. use multi-stage builds as stated below.

Features

  • node v18
  • npm v9
  • built in yarn & pnpm
  • rust 1.69.0
  • bash-sh aliasing for better CLI support for Docker Desktop

Usage

To diploy a node site based on rust packages

FROM 15012002/wasm-pack as builder
WORKDIR /usr/app
copy . .
RUN cargo update && npm install
RUN wasm-pack build ./rust-proj && npm run build


FROM nginx:latest
COPY --from=builder /usr/app/dist /usr/share/nginx/html

NOTE: The Dockerfile above wont work yet it is a fair demonstration of how it should be used.

Troubleshooting

In case you get an error regarding wasm-opt, put the following in cargo.toml:

[package.metadata.wasm-pack.profile.release]
wasm-opt = false

This will remove any usage of wasm-opt and will complete build in most cases.

handling CLI

This image comes with bash support out-of-the box. Just click the CLI button in your docker desktop or via the command line:

 docker exec -it mycontainer sh