diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 8f4a50f..a2f1e9e 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -46,7 +46,7 @@ jobs: org.opencontainers.image.revision=${{ env.GITHUB_SHA }} org.opencontainers.image.vendor=Orebolt.cz org.opencontainers.image.ref.name=${{ env.GITHUB_REF }} - org.opencontainers.image.title=ESN Code Scanner App + org.opencontainers.image.title=ScanWave - name: Run Trivy vulnerability scanner uses: aquasecurity/trivy-action@0.24.0 diff --git a/docker-compose-prod.yml b/docker-compose-prod.yml new file mode 100644 index 0000000..ac89599 --- /dev/null +++ b/docker-compose-prod.yml @@ -0,0 +1,12 @@ +services: + app: + image: ${DOCKER_REGISTRY}/${DOCKER_USER}/${DOCKER_IMAGE}:latest + restart: unless-stopped + env_file: .env + labels: + - "traefik.enable=true" + - "traefik.http.routers.scan-wave.rule=Host(`scanwave.orebolt.cz`)" + - "traefik.http.routers.scan-wave.tls.certresolver=leresolver" + - "traefik.http.routers.scan-wave.entrypoints=websecure" + - "traefik.http.services.scan-wave.loadbalancer.server.port=3000" + - "traefik.http.routers.scan-wave.middlewares=hsts" \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 8551814..82ba851 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ --- services: app: - image: ${DOCKER_REGISTRY}/${DOCKER_USER}/esn-code-scanner-app:latest + image: ${DOCKER_REGISTRY}/${DOCKER_USER}/${DOCKER_IAMGE}:latest restart: unless-stopped ports: - "3000:3000" \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index afde73a..08b4194 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "esn-code-scanner", + "name": "scan-wave", "version": "0.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "esn-code-scanner", + "name": "scan-wave", "version": "0.0.1", "dependencies": { "@supabase/ssr": "^0.6.1", @@ -18,7 +18,7 @@ "simple-icons": "^15.3.0" }, "devDependencies": { - "@sveltejs/kit": "^2.16.0", + "@sveltejs/kit": "^2.22.0", "@sveltejs/vite-plugin-svelte": "^5.0.0", "@tailwindcss/typography": "^0.5.15", "@tailwindcss/vite": "^4.0.0", @@ -30,7 +30,7 @@ "svelte-check": "^4.0.0", "tailwindcss": "^4.0.0", "typescript": "^5.0.0", - "vite": "^6.2.6" + "vite-plugin-devtools-json": "^0.2.0" } }, "node_modules/@ampproject/remapping": { @@ -58,6 +58,7 @@ "os": [ "aix" ], + "peer": true, "engines": { "node": ">=18" } @@ -74,6 +75,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -90,6 +92,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -106,6 +109,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -122,6 +126,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=18" } @@ -138,6 +143,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=18" } @@ -154,6 +160,7 @@ "os": [ "freebsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -170,6 +177,7 @@ "os": [ "freebsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -186,6 +194,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -202,6 +211,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -218,6 +228,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -234,6 +245,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -250,6 +262,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -266,6 +279,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -282,6 +296,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -298,6 +313,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -314,6 +330,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -330,6 +347,7 @@ "os": [ "netbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -346,6 +364,7 @@ "os": [ "netbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -362,6 +381,7 @@ "os": [ "openbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -378,6 +398,7 @@ "os": [ "openbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -394,6 +415,7 @@ "os": [ "sunos" ], + "peer": true, "engines": { "node": ">=18" } @@ -410,6 +432,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -426,6 +449,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -442,6 +466,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -994,15 +1019,15 @@ } }, "node_modules/@sveltejs/kit": { - "version": "2.21.0", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.21.0.tgz", - "integrity": "sha512-kvu4h9qXduiPk1Q1oqFKDLFGu/7mslEYbVaqpbBcBxjlRJnvNCFwEvEwKt0Mx9TtSi8J77xRelvJobrGlst4nQ==", + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.22.0.tgz", + "integrity": "sha512-DJm0UxVgzXq+1MUfiJK4Ridk7oIQsIets6JwHiEl97sI6nXScfXe+BeqNhzB7jQIVBb3BM51U4hNk8qQxRXBAA==", "license": "MIT", "dependencies": { "@sveltejs/acorn-typescript": "^1.0.5", "@types/cookie": "^0.6.0", "acorn": "^8.14.1", - "cookie": "^0.7.0", + "cookie": "^0.6.0", "devalue": "^5.1.0", "esm-env": "^1.2.2", "kleur": "^4.1.5", @@ -1010,7 +1035,8 @@ "mrmime": "^2.0.0", "sade": "^1.8.1", "set-cookie-parser": "^2.6.0", - "sirv": "^3.0.0" + "sirv": "^3.0.0", + "vitefu": "^1.0.6" }, "bin": { "svelte-kit": "svelte-kit.js" @@ -1019,9 +1045,9 @@ "node": ">=18.13" }, "peerDependencies": { - "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0", "svelte": "^4.0.0 || ^5.0.0-next.0", - "vite": "^5.0.3 || ^6.0.0" + "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0" } }, "node_modules/@sveltejs/vite-plugin-svelte": { @@ -1604,9 +1630,9 @@ "license": "MIT" }, "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -1770,6 +1796,7 @@ "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", "hasInstallScript": true, "license": "MIT", + "peer": true, "bin": { "esbuild": "bin/esbuild" }, @@ -2570,6 +2597,7 @@ } ], "license": "MIT", + "peer": true, "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -2730,6 +2758,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", @@ -3236,6 +3265,13 @@ "typescript": ">=5.0.0" } }, + "node_modules/svelte-kit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/svelte-kit/-/svelte-kit-1.2.0.tgz", + "integrity": "sha512-RRaOHBhpDv4g2v9tcq8iNw055Pt0MlLps6JVA7/40f4KAbtztXSI4T6MZYbHRirO708urfAAMx6Qow+tQfCHug==", + "hasInstallScript": true, + "license": "MIT" + }, "node_modules/tailwindcss": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.7.tgz", @@ -3276,6 +3312,7 @@ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", "license": "MIT", + "peer": true, "dependencies": { "fdir": "^6.4.4", "picomatch": "^4.0.2" @@ -3349,11 +3386,26 @@ "dev": true, "license": "MIT" }, + "node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, "node_modules/vite": { "version": "6.3.5", "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -3423,6 +3475,19 @@ } } }, + "node_modules/vite-plugin-devtools-json": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-devtools-json/-/vite-plugin-devtools-json-0.2.0.tgz", + "integrity": "sha512-K7PoaWOEJECZ1n3VbhJXsUAX2PsO0xY7KFMM/Leh7tUev0M5zi+lz+vnVVdCK17IOK9Jp9rdzHXc08cnQirGbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "uuid": "^11.1.0" + }, + "peerDependencies": { + "vite": "^2.7.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" + } + }, "node_modules/vitefu": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.6.tgz", diff --git a/package.json b/package.json index 892b651..e904f68 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "esn-code-scanner", + "name": "scan-wave", "private": true, "version": "0.0.1", "type": "module", @@ -14,7 +14,7 @@ "lint": "prettier --check ." }, "devDependencies": { - "@sveltejs/kit": "^2.16.0", + "@sveltejs/kit": "^2.22.0", "@sveltejs/vite-plugin-svelte": "^5.0.0", "@tailwindcss/typography": "^0.5.15", "@tailwindcss/vite": "^4.0.0", @@ -26,7 +26,7 @@ "svelte-check": "^4.0.0", "tailwindcss": "^4.0.0", "typescript": "^5.0.0", - "vite": "^6.2.6" + "vite-plugin-devtools-json": "^0.2.0" }, "dependencies": { "@supabase/ssr": "^0.6.1", diff --git a/vite.config.ts b/vite.config.ts index 2d35c4f..67b20ff 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,7 +1,8 @@ import tailwindcss from '@tailwindcss/vite'; import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; +import devtoolsJson from 'vite-plugin-devtools-json'; export default defineConfig({ - plugins: [tailwindcss(), sveltekit()] + plugins: [tailwindcss(), sveltekit(), devtoolsJson()] });