diff --git a/.gitignore b/.gitignore index 007081b..bae73e3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .DS_Store node_modules +.npm /dist # local env files diff --git a/Makefile b/Makefile index cdb0b67..f395ae0 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -all: deno_lint deno app docker +all: clean deno_lint deno_docker tgbot app deno_lint: cd cli && deno lint @@ -8,8 +8,14 @@ deno: ./kollagen ./kollagen: cd cli && deno compile --import-map ./import_map.json --allow-read --allow-write --unstable -o ../kollagen main.ts +deno_docker: + docker run --rm -v $$PWD:/app denoland/deno compile --import-map /app/cli/import_map.json --allow-read --allow-write --unstable -o /app/kollagen /app/cli/main.ts + app: npm ci --cache .npm --prefer-offline && npm run build -docker: ./kollagen - docker build -t kollagen-bot -f tgbot/Dockerfile . \ No newline at end of file +tgbot: ./kollagen + docker build -t kollagen-bot -f tgbot/Dockerfile . + +clean: + rm -rvf dist kollagen \ No newline at end of file diff --git a/src/collages.ts b/src/collages.ts index 8b5c7ae..de1f9a7 100644 --- a/src/collages.ts +++ b/src/collages.ts @@ -1,7 +1,14 @@ import { CollageModes } from "./common/collages"; -export default class BrowserCollageModes extends CollageModes { +export default class BrowserCollageModes extends CollageModes { drawImage(ctx: CanvasRenderingContext2D, image: ImageBitmap, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void { ctx.drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh); } + + createCanvas(w: number, h: number) { + throw new Error("Method not implemented."); + } + canvasToImage(canvas: any): PromiseLike { + throw new Error("Method not implemented."); + } } \ No newline at end of file diff --git a/src/common/types.ts b/src/common/types.ts index 0bc5300..5d7900f 100644 --- a/src/common/types.ts +++ b/src/common/types.ts @@ -26,7 +26,7 @@ export interface CollageContext { export interface CollageCanvas { width: number; height: number; - getContext: (x: '2d') => CollageContext + getContext: (x: '2d') => CollageContext | null } export interface CollageImage {