{ "version": 2, "framework": "vite", "installCommand": "npm install", "buildCommand": "npm run build", "outputDirectory": "dist", "rewrites": [ { "source": "/catalogue", "destination": "/index.html" }, { "source": "/machine/:slug*", "destination": "/index.html" }, { "source": "/viewer/:slug*", "destination": "/index.html" }, { "source": "/(.*)", "destination": "/index.html" } ], "headers": [ { "source": "/(.*)", "headers": [ { "key": "X-Content-Type-Options", "value": "nosniff" }, { "key": "X-Frame-Options", "value": "DENY" }, { "key": "Referrer-Policy", "value": "strict-origin-when-cross-origin" }, { "key": "Permissions-Policy", "value": "camera=(), microphone=(), geolocation=(), payment=(), usb=(), xr-spatial-tracking=()" }, { "key": "Content-Security-Policy", "value": "default-src 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'none'; form-action 'self'; script-src 'self' 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:; font-src 'self' data:; connect-src 'self' https: data: blob:; worker-src 'self' blob:; child-src 'none'; upgrade-insecure-requests" } ] }, { "source": "/assets/(.*)", "headers": [ { "key": "Cache-Control", "value": "public, max-age=31536000, immutable" } ] }, { "source": "/draco/(.*)", "headers": [ { "key": "Cache-Control", "value": "public, max-age=31536000, immutable" } ] }, { "source": "/basis/(.*)", "headers": [ { "key": "Cache-Control", "value": "public, max-age=31536000, immutable" } ] }, { "source": "/icons/(.*)", "headers": [ { "key": "Cache-Control", "value": "public, max-age=604800" } ] }, { "source": "/social/(.*)", "headers": [ { "key": "Cache-Control", "value": "public, max-age=604800" } ] } ] }