44 * MIT License
55 */
66
7- const webpack = require ( 'webpack' ) ;
8- const path = require ( 'path' ) ;
7+ import webpack from 'webpack' ;
8+ import { fileURLToPath } from 'url' ;
9+ import { dirname , resolve } from 'path' ;
10+ import { createRequire } from 'module' ;
11+
12+ const __filename = fileURLToPath ( import . meta. url ) ;
13+ const __dirname = dirname ( __filename ) ;
14+ const require = createRequire ( import . meta. url ) ;
915
1016/** @type {import('next').NextConfig } */
1117const nextConfig = {
1218 reactStrictMode : false ,
1319 transpilePackages : [ '@jupyterlab/settingregistry' , '@jupyterlite/settings' ] ,
14- webpack : ( config : any , options : any ) => {
20+ // Skip Next.js built-in ESLint during build (monorepo has its own ESLint setup)
21+ // This avoids ESLint 9 compatibility warnings from Next.js 14's ESLint config
22+ eslint : {
23+ ignoreDuringBuilds : true ,
24+ } ,
25+ webpack : ( config , options ) => {
26+
1527 config . resolve . fallback = {
1628 ...config . resolve . fallback ,
1729 buffer : require . resolve ( 'buffer/' ) ,
@@ -25,14 +37,14 @@ const nextConfig = {
2537 config . resolve . alias = {
2638 ...config . resolve . alias ,
2739 json5 : require . resolve ( 'json5/lib/index.js' ) ,
28- '~' : path . resolve ( __dirname , 'node_modules' ) ,
2940 } ;
30- // Add a plugin to strip `~` from import paths
31- config . plugins . push (
32- new webpack . NormalModuleReplacementPlugin ( / ^ ~ ( .* ) / , ( resource : any ) => {
33- resource . request = resource . request . replace ( / ^ ~ / , '' ) ;
34- } ) ,
35- ) ;
41+
42+ // Add resolve modules to look in monorepo node_modules
43+ config . resolve . modules = [
44+ ...( config . resolve . modules || [ ] ) ,
45+ resolve ( __dirname , '../../node_modules' ) ,
46+ 'node_modules' ,
47+ ] ;
3648 config . module . rules . push (
3749 { test : / \. j s .m a p $ / , type : 'asset/resource' } ,
3850 {
@@ -87,4 +99,4 @@ const nextConfig = {
8799 } ,
88100} ;
89101
90- module . exports = nextConfig ;
102+ export default nextConfig ;
0 commit comments