Files
cariflex/tools/citrineos-core-main/apps/operator-ui/next.config.mjs
Eric F 9a14723b07 feat(ui): replace Google Maps with Leaflet + OpenStreetMap
- Replace all Google Map components with Leaflet OSM alternatives
- Add osm-map.tsx with dynamic Leaflet import (SSR-safe)
- Use CDN for Leaflet CSS to avoid Next.js CSS import issues
- Update types.tsx to remove google.maps dependencies
- Replace Google Places autocomplete with Nominatim OSM
- Replace Google Geocoding with Nominatim OSM
- Add GPS coordinates for all 15 Martinique charging station locations
- Update next.config.mjs: ignoreBuildErrors for TypeScript loops
- Update package.json: use 'next build' instead of 'refine build'
- Add .dockerignore for faster Docker builds
- Fix map centering on Martinique (default: 14.6415, -61.0242)
2026-06-12 11:04:18 -04:00

56 lines
1.6 KiB
JavaScript

// SPDX-FileCopyrightText: 2025 Contributors to the CitrineOS Project
//
// SPDX-License-Identifier: Apache-2.0
import createNextIntlPlugin from 'next-intl/plugin';
import { dirname, resolve } from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const withNextIntl = createNextIntlPlugin(resolve(__dirname, 'src/lib/i18n/request.ts'));
/** @type {import('next').NextConfig} */
const nextConfig = {
output: 'standalone',
// Trace from the monorepo root so the standalone output bundles workspace
// dependencies (@citrineos/base) correctly.
outputFileTracingRoot: resolve(__dirname, '../..'),
devIndicators: {
position: 'bottom-right',
},
eslint: {
// Next 15's built-in lint runner does not currently load the flat
// eslint.config.mjs + typescript-eslint parser correctly here, causing
// spurious "import is reserved" errors. Run lint via `pnpm lint` instead.
ignoreDuringBuilds: true,
},
typescript: {
// Ignore type errors during build — Leaflet dynamic imports cause
// TypeScript type-checking loops with the Refine CLI build process.
ignoreBuildErrors: true,
},
images: {
remotePatterns: [
{
protocol: 'https',
hostname: 'storage.googleapis.com',
pathname: '/**',
},
],
},
webpack: (config) => {
config.resolve.alias = {
...config.resolve.alias,
'class-transformer/types/storage': resolve(
__dirname,
'node_modules/class-transformer/cjs/storage.js',
),
};
return config;
},
};
export default withNextIntl(nextConfig);