VERSION 0.7 FROM oven/bun:1.0.15 WORKDIR /due all: BUILD +lint BUILD +docker deps: RUN apt update -y RUN apt upgrade -y RUN apt install sqlite3 -y COPY package.json ./ COPY bun.lockb ./ RUN bun install SAVE ARTIFACT package.json AS LOCAL ./package.json SAVE ARTIFACT bun.lockb AS LOCAL ./bun.lockb source: FROM +deps COPY src src COPY static static COPY due_moe_schema.sql due_moe_schema.sql COPY svelte.config.js svelte.config.js COPY tsconfig.json tsconfig.json COPY vite.config.ts vite.config.ts dev: FROM +source CMD ["bun", "--bun", "run", "dev", "--host"] SAVE IMAGE fuwn/due-next-dev:latest rundev: FROM earthly/dind:alpine-3.18-docker-23.0.6-r7 WITH DOCKER --load +dev RUN docker run --network=host \ # -v $PWD/src:/due/src \ # -v $PWD/static:/due/static \ # -v $PWD/due_moe_schema.sql:/adue/due_moe_schema.sql \ # -v $PWD/svelte.config.js:/app/svelte.config.js \ # -v $PWD/tsconfig.json:/app/tsconfig.json \ # -v $PWD/vite.config.ts:/app/vite.config.ts \ fuwn/due-next-dev:latest END lint: FROM +source COPY .eslintignore .eslintignore COPY .eslintrc.cjs .eslintrc.cjs COPY .prettierignore .prettierignore COPY .prettierrc .prettierrc RUN bun --bun run check build: FROM +source RUN mkdir data RUN sqlite3 data/due_moe.sqlite3 < due_moe_schema.sql RUN bun --bun run vite build SAVE ARTIFACT build ./build docker: FROM +deps COPY +build/build ./build CMD ["bun", "--bun", "./build/index.js"] SAVE IMAGE fuwn/due-next:latest