add vite config to build iframe api

This commit is contained in:
Lukas Hass 2022-02-02 00:20:46 +01:00
parent 5890e9c5cb
commit 984c1e4502
No known key found for this signature in database
GPG Key ID: 7C8CEF72C4039178
4 changed files with 21 additions and 2 deletions

1
front/.gitignore vendored
View File

@ -4,3 +4,4 @@ dist/
/package-lock.json
*.sh
!templater.sh
/public/iframe_api.js

View File

@ -12,7 +12,7 @@ RUN cp -r ../messages/ts-proto-generated/protos/* src/Messages/ts-proto-generate
RUN sed -i 's/import { Observable } from "rxjs";/import type { Observable } from "rxjs";/g' src/Messages/ts-proto-generated/messages.ts
RUN cp -r ../messages/JsonMessages/* src/Messages/JsonMessages
RUN yarn install && yarn run typesafe-i18n && yarn build
RUN yarn install && yarn run typesafe-i18n && yarn run build-iframe-api && yarn build
# Removing the iframe.html file from the final image as this adds a XSS attack.
# iframe.html is only in dev mode to circumvent a limitation

View File

@ -0,0 +1,16 @@
import { defineConfig } from "vite";
import { resolve } from "path";
export default defineConfig({
publicDir: false,
build: {
outDir: "public",
emptyOutDir: false,
lib: {
entry: resolve(__dirname, "src/iframe_api.ts"),
name: "iframe_api",
formats: ["cjs"],
fileName: () => "iframe_api.js",
},
},
});

View File

@ -74,10 +74,12 @@
"zod": "^3.11.6"
},
"scripts": {
"start": "run-p templater serve svelte-check-watch typesafe-i18n",
"start": "run-p templater serve watch-iframe-api svelte-check-watch typesafe-i18n",
"templater": "cross-env ./templater.sh",
"serve": "cross-env vite --host",
"build": "cross-env vite build",
"build-iframe-api": "vite --config iframe-api.vite.config.ts build",
"watch-iframe-api": "yarn run build-iframe-api --watch",
"build-typings": "cross-env tsc --project tsconfig-for-iframe-api-typings.json",
"test": "cross-env TS_NODE_PROJECT=\"tsconfig-for-jasmine.json\" ts-node node_modules/jasmine/bin/jasmine --config=jasmine.json",
"lint": "node_modules/.bin/eslint src/ tests/ --ext .ts,.svelte",