rustpython 0.1.1

A python interpreter written in rust.
FROM rust:1.36-slim AS rust

WORKDIR /rustpython

USER root
ENV USER=root


RUN apt-get update && apt-get install curl libssl-dev pkg-config -y && \
  curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh

COPY Cargo.toml Cargo.lock ./
COPY src src
COPY vm vm
COPY derive derive
COPY parser parser
COPY bytecode bytecode
COPY compiler compiler
COPY wasm/lib wasm/lib
COPY Lib Lib

RUN cd wasm/lib/ && wasm-pack build --release


FROM node:alpine AS node

WORKDIR /rustpython-demo

COPY --from=rust /rustpython/wasm/lib/pkg rustpython_wasm

COPY wasm/demo .

RUN npm install && npm run dist -- --env.noWasmPack --env.rustpythonPkg=rustpython_wasm


FROM node:slim

WORKDIR /rustpython-demo

RUN npm i -g serve

COPY --from=node /rustpython-demo/dist .

CMD [ "serve", "-l", "80", "/rustpython-demo" ]

EXPOSE 80