diff --git a/packages/backend/package.json b/packages/backend/package.json index 6065680b..6c3afa01 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -16,7 +16,7 @@ "db:migration:create": "knex migrate:make", "db:rollback": "knex migrate:rollback", "db:migrate": "knex migrate:latest", - "copy-statics": "copyfiles src/**/*.{graphql,json} dist" + "copy-statics": "copyfiles src/**/*.{graphql,json,svg} dist" }, "dependencies": { "@automatisch/web": "0.1.0", diff --git a/packages/backend/src/helpers/app-assets-handler.ts b/packages/backend/src/helpers/app-assets-handler.ts index 7c2e0b15..dd85808b 100644 --- a/packages/backend/src/helpers/app-assets-handler.ts +++ b/packages/backend/src/helpers/app-assets-handler.ts @@ -5,9 +5,19 @@ const appAssetsHandler = async (app: Application) => { const appNames = App.list; appNames.forEach(appName => { + const svgPath = `${__dirname}/../apps/${appName}/assets/favicon.svg`; + const staticFileHandlerOptions = { + /** + * Disabling fallthrough is important to respond with HTTP 404. + * Otherwise, web app might be served. + */ + fallthrough: false, + }; + const staticFileHandler = express.static(svgPath, staticFileHandlerOptions); + app.use( `/apps/${appName}/assets/favicon.svg`, - express.static(`src/apps/${appName}/assets/favicon.svg`) + staticFileHandler ) }) }