mega-plant/next.config.ts
David 63016895b9 Plant Register: inline editing, active toggle and cascade-delete impact
WIP carried over from the working tree, committed separately so it does not
sit inside the invoice work.

- inline Edit cells for code / name / type and an active toggle
- GET /api/assets/:id/impact returns the cascade counts so the client can
  confirm before a delete
- DELETE /api/assets/:id hard delete; PocketBase cascade clears the dependent
  income / running / cost-line rows

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-10-01 15:59:51 +02:00

38 lines
1.7 KiB
TypeScript

import type { NextConfig } from "next";
import withPWAInit from "@ducanh2912/next-pwa";
const nextConfig: NextConfig = {
// No `env` block — NEXT_PUBLIC_ vars are picked up automatically at build time.
// Next.js blocks dev resources (HMR client, font optimizer, stack frames) for
// any origin that isn't localhost. When you open the dev server from another
// device on the LAN, the SSR HTML renders but /_next/hmr is refused, so the
// page never hydrates and every button/control is inert.
//
// Patterns are matched per dot-segment with `*` as a single-segment wildcard
// (same rules as `images.remotePatterns`) — CIDR ranges do NOT work here.
// Dev-only; `allowedDevOrigins` has no effect on `next build` / `next start`.
allowedDevOrigins: ["192.168.0.*", "100.88.155.*", "*.local"],
// Emits `.next/standalone/server.js` with a trimmed node_modules, so the
// runtime image doesn't need the full dependency tree. Required by the
// Dockerfile. Note it does NOT bundle `.next/static` or `public/` — the
// Dockerfile copies those in separately.
output: "standalone",
};
const withPWA = withPWAInit({
dest: "public",
// Off in dev. next-pwa writes sw.js + workbox-*.js into `dest` on every
// compile, and the dev server watches public/ — so leaving it on makes each
// build trigger the next one, forever. A dev service worker also serves
// stale assets against HMR. Production builds are unaffected.
disable: process.env.NODE_ENV === "development",
cacheOnFrontEndNav: true,
aggressiveFrontEndNavCaching: true,
reloadOnOnline: true,
register: true,
workboxOptions: { cleanupOutdatedCaches: true, clientsClaim: true, skipWaiting: true },
});
export default withPWA(nextConfig);