diff --git a/packages/frontend/next.config.mjs b/packages/frontend/next.config.mjs index 0cf3a7b35..14c376403 100644 --- a/packages/frontend/next.config.mjs +++ b/packages/frontend/next.config.mjs @@ -19,18 +19,34 @@ const nextConfig = config => { frontend: new URL(ENVS.frontend_url ?? 'http://localhost:3000'), }; + const transpilePackages = config.transpilePackages || []; + const imageRemotePatterns = config.images?.remotePatterns || []; + return { ...config, devIndicators: { + ...config.devIndicators, appIsrStatus: false, }, env: { + ...config.env, NEXT_PUBLIC_BACKEND_URL: ENVS.backend_url, NEXT_PUBLIC_FRONTEND_URL: ENVS.frontend_url, }, - transpilePackages: ['lucide-react', 'vitnode-frontend', 'vitnode-shared'], + experimental: { + ...(config.experimental || {}), + reactCompiler: true, + }, + transpilePackages: [ + ...transpilePackages, + 'lucide-react', + 'vitnode-frontend', + 'vitnode-shared', + ], images: { + ...(config.images || {}), remotePatterns: [ + ...imageRemotePatterns, { protocol: urls.backend.protocol === 'https:' ? 'https' : 'http', hostname: urls.backend.hostname, diff --git a/packages/frontend/package.json b/packages/frontend/package.json index 217781e92..03547a4ae 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -158,6 +158,7 @@ "@tiptap/pm": "^2.10.3", "@tiptap/react": "^2.10.3", "@tiptap/starter-kit": "^2.10.3", + "babel-plugin-react-compiler": "19.0.0-beta-df7b47d-20241124", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.0.4", diff --git a/packages/frontend/src/views/layout/root-layout.tsx b/packages/frontend/src/views/layout/root-layout.tsx index 196be746a..b13d14f89 100644 --- a/packages/frontend/src/views/layout/root-layout.tsx +++ b/packages/frontend/src/views/layout/root-layout.tsx @@ -21,7 +21,7 @@ export const generateMetadataRootLayout = async ({ const metadata: Metadata = { manifest: `${CONFIG.backend_client_public_url}/assets/${locale}/manifest.webmanifest`, icons: { - icon: `${CONFIG.backend_client_public_url}/assets//favicon.ico`, + icon: `${CONFIG.backend_client_public_url}/assets/favicon.ico`, }, }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a5591f971..f1a254f4b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -125,7 +125,7 @@ importers: version: 0.462.0(react@19.0.0-rc.1) next: specifier: ^15.0.3 - version: 15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) next-intl: specifier: ^3.25.3 version: 3.25.3(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1))(react@19.0.0-rc.1) @@ -657,6 +657,9 @@ importers: '@tiptap/starter-kit': specifier: ^2.10.3 version: 2.10.3 + babel-plugin-react-compiler: + specifier: 19.0.0-beta-df7b47d-20241124 + version: 19.0.0-beta-df7b47d-20241124 class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -689,13 +692,13 @@ importers: version: 3.2.0 next: specifier: ^15.0.3 - version: 15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) next-themes: specifier: ^0.4.3 version: 0.4.3(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) nextjs-toploader: specifier: ^3.7.15 - version: 3.7.15(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1))(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 3.7.15(next@15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1))(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) nprogress: specifier: ^0.2.0 version: 0.2.0 @@ -3632,6 +3635,9 @@ packages: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} + babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124: + resolution: {integrity: sha512-93iSASR20HNsotcOTQ+KPL0zpgfRFVWL86AtXpmHp995HuMVnC9femd8Winr3GxkPEh8lEOyaw3nqY4q2HUm5w==} + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -9739,6 +9745,10 @@ snapshots: cosmiconfig: 7.1.0 resolve: 1.22.8 + babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124: + dependencies: + '@babel/types': 7.26.0 + balanced-match@1.0.2: {} bare-events@2.5.0: @@ -10875,7 +10885,7 @@ snapshots: geist@1.3.1(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)): dependencies: - next: 15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + next: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) gensync@1.0.0-beta.2: {} @@ -11611,7 +11621,7 @@ snapshots: dependencies: '@formatjs/intl-localematcher': 0.5.8 negotiator: 1.0.0 - next: 15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + next: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) react: 19.0.0-rc.1 use-intl: 3.25.3(react@19.0.0-rc.1) @@ -11620,7 +11630,7 @@ snapshots: react: 19.0.0-rc.1 react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) - next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + next@15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): dependencies: '@next/env': 15.0.3 '@swc/counter': 0.1.3 @@ -11641,14 +11651,15 @@ snapshots: '@next/swc-win32-arm64-msvc': 15.0.3 '@next/swc-win32-x64-msvc': 15.0.3 '@opentelemetry/api': 1.9.0 + babel-plugin-react-compiler: 19.0.0-beta-df7b47d-20241124 sharp: 0.33.5 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - nextjs-toploader@3.7.15(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1))(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + nextjs-toploader@3.7.15(next@15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1))(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): dependencies: - next: 15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + next: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) nprogress: 0.2.0 prop-types: 15.8.1 react: 19.0.0-rc.1