Canvas: Makefile
Change-Id: I448a36bf60ee33fb4691d5312ac69b32ec38ec14
diff --git a/apps/canvas/Makefile b/apps/canvas/Makefile
new file mode 100644
index 0000000..e06d29b
--- /dev/null
+++ b/apps/canvas/Makefile
@@ -0,0 +1,34 @@
+install:
+ npm install --prefix config/
+ npm install --prefix front/
+ npm install --prefix back/
+
+lint:
+ npm run lint --prefix config/
+ npm run lint --prefix front/
+ npm run lint --prefix back/
+
+format:
+ npm run format --prefix config/
+ npm run format --prefix front/
+ npm run format --prefix back/
+
+build: export DODO_VOLUME_DATA=/home/gio
+build:
+ npm run build --prefix config/
+ npm run build --prefix front/
+ npm run prisma-migrate --prefix back/
+ npm run build --prefix back/
+
+run: export DODO_PORT_WEB=8080
+run: export DODO_PORT_API=8081
+run: export DODO_VOLUME_DATA=/home/gio
+run: build
+ npm run start --prefix back/
+
+start: export DODO_PORT_WEB=8080
+start: export DODO_PORT_API=8081
+start: export DODO_VOLUME_DATA=/home/gio
+start:
+ npm run prisma-migrate --prefix back/
+ npm run start --prefix back/
diff --git a/apps/canvas/back/.env b/apps/canvas/back/.env
index a101621..9efa576 100644
--- a/apps/canvas/back/.env
+++ b/apps/canvas/back/.env
@@ -1,3 +1,3 @@
DATABASE_URL=file:/home/gio/dodo.db
-PUBLIC_ADDR=https://canvas.p.v1.dodo.cloud
-INTERNAL_API_ADDR=http://canvas.hgrz-dodo-app-jjy.svc.cluster.local:8081
+# PUBLIC_ADDR=https://canvas.p.v1.dodo.cloud
+INTERNAL_API_ADDR=http://10.42.0.39:8081
diff --git a/apps/canvas/back/package.json b/apps/canvas/back/package.json
index 66bf02b..dd63048 100644
--- a/apps/canvas/back/package.json
+++ b/apps/canvas/back/package.json
@@ -5,12 +5,13 @@
"main": "index.js",
"type": "module",
"scripts": {
- "build": "node --max-old-space-size=4096 node_modules/.bin/tsc",
+ "build": "node --max-old-space-size=1000 node_modules/.bin/tsc",
"test": "jest",
"format": "prettier --write src/**/*.{js,ts,jsx,tsx} --list-different",
"format-check": "prettier --check src/**/*.{js,ts,jsx,tsx}",
"lint": "eslint .",
- "start": "node dist/index.js"
+ "start": "node dist/index.js",
+ "prisma-migrate": "prisma migrate dev"
},
"author": "",
"license": "ISC",
diff --git a/apps/canvas/config/src/config.ts b/apps/canvas/config/src/config.ts
index 6793bf7..0eb185c 100644
--- a/apps/canvas/config/src/config.ts
+++ b/apps/canvas/config/src/config.ts
@@ -69,7 +69,7 @@
ports: (n.data.ports || [])
.filter((p) => !n.data.dev?.enabled || (p.value != 22 && p.value != 9090))
.map((p) => ({
- name: p.name.toLowerCase(),
+ name: p.name.toUpperCase(),
value: p.value,
protocol: "TCP", // TODO(gio)
})),
@@ -105,29 +105,35 @@
preBuildCommands: n.data.preBuildCommands
? n.data.preBuildCommands.split("\n").map((cmd) => ({ bin: cmd }))
: [],
- dev: {
- enabled: n.data.dev ? n.data.dev.enabled : false,
- username: n.data.dev && n.data.dev.enabled ? env.user.username : undefined,
- codeServer:
- n.data.dev?.enabled && n.data.dev.expose != null
- ? {
- network: networkMap.get(n.data.dev.expose.network)!,
- subdomain: n.data.dev.expose.subdomain,
- }
- : undefined,
- ssh:
- n.data.dev?.enabled && n.data.dev.expose != null
- ? {
- network: networkMap.get(n.data.dev.expose.network)!,
- subdomain: n.data.dev.expose.subdomain,
- }
- : undefined,
- },
- agent: n.data.agent
+ dev: n.data.dev?.enabled
? {
- geminiApiKey: n.data.agent.geminiApiKey,
+ enabled: true,
+ username: env.user.username,
+ codeServer:
+ n.data.dev.expose != null
+ ? {
+ network: networkMap.get(n.data.dev.expose.network)!,
+ subdomain: n.data.dev.expose.subdomain,
+ }
+ : undefined,
+ ssh:
+ n.data.dev.expose != null
+ ? {
+ network: networkMap.get(n.data.dev.expose.network)!,
+ subdomain: n.data.dev.expose.subdomain,
+ }
+ : undefined,
}
- : undefined,
+ : {
+ enabled: false,
+ },
+ ...(n.data.agent != null
+ ? {
+ agent: {
+ geminiApiKey: n.data.agent.geminiApiKey,
+ },
+ }
+ : {}),
};
});
return {
diff --git a/apps/canvas/front/package.json b/apps/canvas/front/package.json
index 0b31f98..4f21636 100644
--- a/apps/canvas/front/package.json
+++ b/apps/canvas/front/package.json
@@ -5,7 +5,7 @@
"type": "module",
"scripts": {
"dev": "vite --port=$DODO_PORT_WEB --host",
- "build": "vite build",
+ "build": "NODE_OPTIONS=--max-old-space-size=1000 vite build",
"format": "prettier --write src/**/*.{js,ts,jsx,tsx} --list-different",
"format-check": "prettier --check src/**/*.{js,ts,jsx,tsx}",
"lint": "eslint .",