Webpack 5 is out and I was excited to try using it! I've pinned the dependency via the resolutions field in package.json, but - upon running next build - I'm met with a large callstack related to: "ValidationError: Invalid configuration object.". The problem is that the Webpack config is defined as a result of many functions in next source code AND the amalgamation of many plugins (or not if one doesn't use them.)
It would be helpful for both myself and plugin owners, if the specific loader in question (and it's shape/appearance) was brought to the attention of developers when facing a webpack build validation error.
If a webpack build validation error throws, the problematic loaders should be logged.
whats the config object saying. Show me the error it emits.
also yarn list webpack and make sure there's not more than once being installed
$ next build
info - Loaded env from /Users/kyle/Code/@air/next/.env.local
warn - You have enabled experimental feature(s).
warn - Experimental features are not covered by semver, and may cause unexpected or broken application behavior. Use them at your own risk.
> Build error occurred
ValidationError: Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
- configuration[0].module.rules[4] should be one of these:
["..." | object { compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, sideEffects?, test?, type?, use? }, ...]
-> A rule.
Details:
* configuration[0].module.rules[4].loader should be a non-empty string.
-> A loader request.
- configuration[0].output has an unknown property 'ecmaVersion'. These properties are valid:
object { assetModuleFilename?, auxiliaryComment?, charset?, chunkFilename?, chunkFormat?, chunkLoadTimeout?, chunkLoading?, chunkLoadingGlobal?, compareBeforeEmit?, crossOriginLoading?, devtoolFallbackModuleFilenameTemplate?, devtoolModuleFilenameTemplate?, devtoolNamespace?, enabledChunkLoadingTypes?, enabledLibraryTypes?, enabledWasmLoadingTypes?, environment?, filename?, globalObject?, hashDigest?, hashDigestLength?, hashFunction?, hashSalt?, hotUpdateChunkFilename?, hotUpdateGlobal?, hotUpdateMainFilename?, iife?, importFunctionName?, importMetaName?, library?, libraryExport?, libraryTarget?, module?, path?, pathinfo?, publicPath?, scriptType?, sourceMapFilename?, sourcePrefix?, strictModuleExceptionHandling?, umdNamedDefine?, uniqueName?, wasmLoading?, webassemblyModuleFilename?, workerChunkLoading?, workerWasmLoading? }
-> Options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.
Did you mean output.environment (output.ecmaVersion was a temporary configuration option during webpack 5 beta)?
- configuration[0].watchOptions.ignored[2] should be a non-empty string.
-> A glob pattern for files that should be ignored from watching.
- configuration[1].module.rules[4] should be one of these:
["..." | object { compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, sideEffects?, test?, type?, use? }, ...]
-> A rule.
Details:
* configuration[1].module.rules[4].loader should be a non-empty string.
-> A loader request.
- configuration[1].output has an unknown property 'ecmaVersion'. These properties are valid:
object { assetModuleFilename?, auxiliaryComment?, charset?, chunkFilename?, chunkFormat?, chunkLoadTimeout?, chunkLoading?, chunkLoadingGlobal?, compareBeforeEmit?, crossOriginLoading?, devtoolFallbackModuleFilenameTemplate?, devtoolModuleFilenameTemplate?, devtoolNamespace?, enabledChunkLoadingTypes?, enabledLibraryTypes?, enabledWasmLoadingTypes?, environment?, filename?, globalObject?, hashDigest?, hashDigestLength?, hashFunction?, hashSalt?, hotUpdateChunkFilename?, hotUpdateGlobal?, hotUpdateMainFilename?, iife?, importFunctionName?, importMetaName?, library?, libraryExport?, libraryTarget?, module?, path?, pathinfo?, publicPath?, scriptType?, sourceMapFilename?, sourcePrefix?, strictModuleExceptionHandling?, umdNamedDefine?, uniqueName?, wasmLoading?, webassemblyModuleFilename?, workerChunkLoading?, workerWasmLoading? }
-> Options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.
Did you mean output.environment (output.ecmaVersion was a temporary configuration option during webpack 5 beta)?
- configuration[1].watchOptions.ignored[2] should be a non-empty string.
-> A glob pattern for files that should be ignored from watching.
at validate (/Users/kyle/Code/@air/next/node_modules/webpack/node_modules/schema-utils/dist/validate.js:104:11)
at validateSchema (/Users/kyle/Code/@air/next/node_modules/webpack/lib/validateSchema.js:73:2)
at create (/Users/kyle/Code/@air/next/node_modules/webpack/lib/webpack.js:102:3)
at webpack (/Users/kyle/Code/@air/next/node_modules/webpack/lib/webpack.js:139:31)
at f (/Users/kyle/Code/@air/next/node_modules/webpack/lib/index.js:35:15)
at /Users/kyle/Code/@air/next/node_modules/next/dist/build/compiler.js:4:172
at new Promise (<anonymous>)
at runCompiler (/Users/kyle/Code/@air/next/node_modules/next/dist/build/compiler.js:4:106)
at build (/Users/kyle/Code/@air/next/node_modules/next/dist/build/index.js:13:348) {
errors: [
{
keyword: 'oneOf',
dataPath: '[0].module.rules',
schemaPath: '#/properties/rules/oneOf',
params: [Object],
message: 'should match exactly one schema in oneOf',
schema: [Array],
parentSchema: [Object],
data: [Array],
children: [Array]
},
{
keyword: 'additionalProperties',
dataPath: '[0].output',
schemaPath: '#/additionalProperties',
params: [Object],
message: 'should NOT have additional properties',
schema: false,
parentSchema: [Object],
data: [Object]
},
{
keyword: 'anyOf',
dataPath: '[0].watchOptions.ignored',
schemaPath: '#/definitions/WatchOptions/properties/ignored/anyOf',
params: {},
message: 'should match some schema in anyOf',
schema: [Array],
parentSchema: [Object],
data: [Array],
children: [Array]
},
{
keyword: 'oneOf',
dataPath: '[1].module.rules',
schemaPath: '#/properties/rules/oneOf',
params: [Object],
message: 'should match exactly one schema in oneOf',
schema: [Array],
parentSchema: [Object],
data: [Array],
children: [Array]
},
{
keyword: 'additionalProperties',
dataPath: '[1].output',
schemaPath: '#/additionalProperties',
params: [Object],
message: 'should NOT have additional properties',
schema: false,
parentSchema: [Object],
data: [Object]
},
{
keyword: 'anyOf',
dataPath: '[1].watchOptions.ignored',
schemaPath: '#/definitions/WatchOptions/properties/ignored/anyOf',
params: {},
message: 'should match some schema in anyOf',
schema: [Array],
parentSchema: [Object],
data: [Array],
children: [Array]
}
],
schema: {
definitions: {
Amd: [Object],
AssetModuleFilename: [Object],
AuxiliaryComment: [Object],
Bail: [Object],
CacheOptions: [Object],
CacheOptionsNormalized: [Object],
Charset: [Object],
ChunkFilename: [Object],
ChunkFormat: [Object],
ChunkLoadTimeout: [Object],
ChunkLoading: [Object],
ChunkLoadingGlobal: [Object],
ChunkLoadingType: [Object],
CompareBeforeEmit: [Object],
Context: [Object],
CrossOriginLoading: [Object],
Dependencies: [Object],
DevServer: [Object],
DevTool: [Object],
DevtoolFallbackModuleFilenameTemplate: [Object],
DevtoolModuleFilenameTemplate: [Object],
DevtoolNamespace: [Object],
EnabledChunkLoadingTypes: [Object],
EnabledLibraryTypes: [Object],
EnabledWasmLoadingTypes: [Object],
Entry: [Object],
EntryDescription: [Object],
EntryDescriptionNormalized: [Object],
EntryDynamic: [Object],
EntryDynamicNormalized: [Object],
EntryItem: [Object],
EntryNormalized: [Object],
EntryObject: [Object],
EntryRuntime: [Object],
EntryStatic: [Object],
EntryStaticNormalized: [Object],
EntryUnnamed: [Object],
Environment: [Object],
Experiments: [Object],
ExternalItem: [Object],
Externals: [Object],
ExternalsPresets: [Object],
ExternalsType: [Object],
FileCacheOptions: [Object],
Filename: [Object],
FilterItemTypes: [Object],
FilterTypes: [Object],
GlobalObject: [Object],
HashDigest: [Object],
HashDigestLength: [Object],
HashFunction: [Object],
HashSalt: [Object],
HotUpdateChunkFilename: [Object],
HotUpdateGlobal: [Object],
HotUpdateMainFilename: [Object],
IgnoreWarnings: [Object],
IgnoreWarningsNormalized: [Object],
Iife: [Object],
ImportFunctionName: [Object],
ImportMetaName: [Object],
InfrastructureLogging: [Object],
Library: [Object],
LibraryCustomUmdCommentObject: [Object],
LibraryCustomUmdObject: [Object],
LibraryExport: [Object],
LibraryName: [Object],
LibraryOptions: [Object],
LibraryType: [Object],
Loader: [Object],
MemoryCacheOptions: [Object],
Mode: [Object],
ModuleOptions: [Object],
Name: [Object],
Node: [Object],
NodeOptions: [Object],
Optimization: [Object],
OptimizationRuntimeChunk: [Object],
OptimizationRuntimeChunkNormalized: [Object],
OptimizationSplitChunksCacheGroup: [Object],
OptimizationSplitChunksGetCacheGroups: [Object],
OptimizationSplitChunksOptions: [Object],
OptimizationSplitChunksSizes: [Object],
Output: [Object],
OutputModule: [Object],
OutputNormalized: [Object],
Parallelism: [Object],
Path: [Object],
Pathinfo: [Object],
Performance: [Object],
PerformanceOptions: [Object],
Plugins: [Object],
Profile: [Object],
PublicPath: [Object],
RecordsInputPath: [Object],
RecordsOutputPath: [Object],
RecordsPath: [Object],
Resolve: [Object],
ResolveAlias: [Object],
ResolveLoader: [Object],
ResolveOptions: [Object],
ResolvePluginInstance: [Object],
RuleSetCondition: [Object],
RuleSetConditionAbsolute: [Object],
RuleSetConditionOrConditions: [Object],
RuleSetConditionOrConditionsAbsolute: [Object],
RuleSetConditions: [Object],
RuleSetConditionsAbsolute: [Object],
RuleSetLoader: [Object],
RuleSetLoaderOptions: [Object],
RuleSetRule: [Object],
RuleSetRules: [Object],
RuleSetUse: [Object],
RuleSetUseItem: [Object],
ScriptType: [Object],
SnapshotOptions: [Object],
SourceMapFilename: [Object],
SourcePrefix: [Object],
StatsOptions: [Object],
StatsValue: [Object],
StrictModuleExceptionHandling: [Object],
Target: [Object],
UmdNamedDefine: [Object],
UniqueName: [Object],
WasmLoading: [Object],
WasmLoadingType: [Object],
Watch: [Object],
WatchOptions: [Object],
WebassemblyModuleFilename: [Object],
WebpackOptionsNormalized: [Object],
WebpackPluginFunction: [Object],
WebpackPluginInstance: [Object]
},
description: 'Options object as provided by the user.',
type: 'object',
additionalProperties: false,
properties: {
amd: [Object],
bail: [Object],
cache: [Object],
context: [Object],
dependencies: [Object],
devServer: [Object],
devtool: [Object],
entry: [Object],
experiments: [Object],
externals: [Object],
externalsPresets: [Object],
externalsType: [Object],
ignoreWarnings: [Object],
infrastructureLogging: [Object],
loader: [Object],
mode: [Object],
module: [Object],
name: [Object],
node: [Object],
optimization: [Object],
output: [Object],
parallelism: [Object],
performance: [Object],
plugins: [Object],
profile: [Object],
recordsInputPath: [Object],
recordsOutputPath: [Object],
recordsPath: [Object],
resolve: [Object],
resolveLoader: [Object],
snapshot: [Object],
stats: [Object],
target: [Object],
watch: [Object],
watchOptions: [Object]
}
},
headerName: 'Webpack',
baseDataPath: 'configuration',
postFormatter: [Function: postFormatter]
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

my config:
const path = require('path');
const withPlugins = require('next-compose-plugins');
const withImages = require('next-images');
const withSvgr = require('@newhighsco/next-plugin-svgr');
const withTranspiledModules = require('next-transpile-modules')(['react-dnd', 'react-dnd-html5-backend', 'dnd-core']);
const svgoConfig = require('./config/svgo');
module.exports = withPlugins([withTranspiledModules, withImages, withSvgr], {
experimental: {
productionBrowserSourceMaps: true,
},
exclude: path.resolve(__dirname, './public/assets/illustrations'),
// Exclude SVGs from `next-images`
fileExtensions: ['jpg', 'jpeg', 'png', 'gif', 'ico', 'webp', 'jp2'],
// SVGO config for `withSVGR`
svgrOptions: {
svgoConfig,
},
/** @see https://nextjs.org/docs/api-reference/next.config.js/redirects */
async redirects() {
return [
{
source: '/terms',
destination: '/legal/terms',
permanent: true,
},
{
source: '/privacy',
destination: '/legal/privacy',
permanent: true,
},
{
source: '/switch',
destination: '/comparison/cloud-storage-alternative',
permanent: true,
},
{
source: '/app',
destination: 'https://itunes.apple.com/app/apple-store/id1244558410',
permanent: true,
},
];
},
/** @see https://nextjs.org/docs/api-reference/next.config.js/rewrites#incremental-adoption-of-nextjs */
async rewrites() {
return [
{
source: '/blog',
destination: 'https://air.netlify.app/blog/',
},
{
source: '/blog/:slug*',
destination: 'https://air.netlify.app/blog/:slug*',
},
];
},
});
Lemme know if I can provide any more context @ScriptedAlchemy - really excited to take advantage of your hard work.
Looks like an old version of next. Make sure you're on the latest copy. The ecma feature set was changed around the RC release I think.
Yarn list next and webpack. There must be an old copy of next. Also try clearing lock and module modules.

No other versions of Next.js - is the suggestion to use a canary version or will a simple minor version change resolve the issue? I tried clearing node_modules to no avail. There's no other version of Next.js or webpack listed in the lockfile.
Lockfile proof:


I didn't think an upgrade from Next.js 9.5.3 -> 9.5.5 was necessary to leverage Webpack@5, but I upgraded anyways and received a similar error.
> Build error occurred
ValidationError: Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
- configuration[0].module.rules[5] should be one of these:
["..." | object { compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, sideEffects?, test?, type?, use? }, ...]
-> A rule.
Details:
* configuration[0].module.rules[5].loader should be a non-empty string.
-> A loader request.
- configuration[0].watchOptions.ignored[2] should be a non-empty string.
-> A glob pattern for files that should be ignored from watching.
- configuration[1].module.rules[5] should be one of these:
["..." | object { compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, sideEffects?, test?, type?, use? }, ...]
-> A rule.
Details:
* configuration[1].module.rules[5].loader should be a non-empty string.
-> A loader request.
- configuration[1].watchOptions.ignored[2] should be a non-empty string.
-> A glob pattern for files that should be ignored from watching.
at validate (/Users/kyle/Code/@air/next/node_modules/webpack/node_modules/schema-utils/dist/validate.js:104:11)
at validateSchema (/Users/kyle/Code/@air/next/node_modules/webpack/lib/validateSchema.js:73:2)
at create (/Users/kyle/Code/@air/next/node_modules/webpack/lib/webpack.js:102:3)
at webpack (/Users/kyle/Code/@air/next/node_modules/webpack/lib/webpack.js:139:31)
at f (/Users/kyle/Code/@air/next/node_modules/webpack/lib/index.js:35:15)
at /Users/kyle/Code/@air/next/node_modules/next/dist/build/compiler.js:4:172
at new Promise (<anonymous>)
at runCompiler (/Users/kyle/Code/@air/next/node_modules/next/dist/build/compiler.js:4:106)
at build (/Users/kyle/Code/@air/next/node_modules/next/dist/build/index.js:13:348) {
errors: [
{
keyword: 'oneOf',
dataPath: '[0].module.rules',
schemaPath: '#/properties/rules/oneOf',
params: [Object],
message: 'should match exactly one schema in oneOf',
schema: [Array],
parentSchema: [Object],
data: [Array],
children: [Array]
},
{
keyword: 'anyOf',
dataPath: '[0].watchOptions.ignored',
schemaPath: '#/definitions/WatchOptions/properties/ignored/anyOf',
params: {},
message: 'should match some schema in anyOf',
schema: [Array],
parentSchema: [Object],
data: [Array],
children: [Array]
},
{
keyword: 'oneOf',
dataPath: '[1].module.rules',
schemaPath: '#/properties/rules/oneOf',
params: [Object],
message: 'should match exactly one schema in oneOf',
schema: [Array],
parentSchema: [Object],
data: [Array],
children: [Array]
},
{
keyword: 'anyOf',
dataPath: '[1].watchOptions.ignored',
schemaPath: '#/definitions/WatchOptions/properties/ignored/anyOf',
params: {},
message: 'should match some schema in anyOf',
schema: [Array],
parentSchema: [Object],
data: [Array],
children: [Array]
}
],
schema: {
definitions: {
Amd: [Object],
AssetModuleFilename: [Object],
AuxiliaryComment: [Object],
Bail: [Object],
CacheOptions: [Object],
CacheOptionsNormalized: [Object],
Charset: [Object],
ChunkFilename: [Object],
ChunkFormat: [Object],
ChunkLoadTimeout: [Object],
ChunkLoading: [Object],
ChunkLoadingGlobal: [Object],
ChunkLoadingType: [Object],
CompareBeforeEmit: [Object],
Context: [Object],
CrossOriginLoading: [Object],
Dependencies: [Object],
DevServer: [Object],
DevTool: [Object],
DevtoolFallbackModuleFilenameTemplate: [Object],
DevtoolModuleFilenameTemplate: [Object],
DevtoolNamespace: [Object],
EnabledChunkLoadingTypes: [Object],
EnabledLibraryTypes: [Object],
EnabledWasmLoadingTypes: [Object],
Entry: [Object],
EntryDescription: [Object],
EntryDescriptionNormalized: [Object],
EntryDynamic: [Object],
EntryDynamicNormalized: [Object],
EntryItem: [Object],
EntryNormalized: [Object],
EntryObject: [Object],
EntryRuntime: [Object],
EntryStatic: [Object],
EntryStaticNormalized: [Object],
EntryUnnamed: [Object],
Environment: [Object],
Experiments: [Object],
ExternalItem: [Object],
Externals: [Object],
ExternalsPresets: [Object],
ExternalsType: [Object],
FileCacheOptions: [Object],
Filename: [Object],
FilterItemTypes: [Object],
FilterTypes: [Object],
GlobalObject: [Object],
HashDigest: [Object],
HashDigestLength: [Object],
HashFunction: [Object],
HashSalt: [Object],
HotUpdateChunkFilename: [Object],
HotUpdateGlobal: [Object],
HotUpdateMainFilename: [Object],
IgnoreWarnings: [Object],
IgnoreWarningsNormalized: [Object],
Iife: [Object],
ImportFunctionName: [Object],
ImportMetaName: [Object],
InfrastructureLogging: [Object],
Library: [Object],
LibraryCustomUmdCommentObject: [Object],
LibraryCustomUmdObject: [Object],
LibraryExport: [Object],
LibraryName: [Object],
LibraryOptions: [Object],
LibraryType: [Object],
Loader: [Object],
MemoryCacheOptions: [Object],
Mode: [Object],
ModuleOptions: [Object],
Name: [Object],
Node: [Object],
NodeOptions: [Object],
Optimization: [Object],
OptimizationRuntimeChunk: [Object],
OptimizationRuntimeChunkNormalized: [Object],
OptimizationSplitChunksCacheGroup: [Object],
OptimizationSplitChunksGetCacheGroups: [Object],
OptimizationSplitChunksOptions: [Object],
OptimizationSplitChunksSizes: [Object],
Output: [Object],
OutputModule: [Object],
OutputNormalized: [Object],
Parallelism: [Object],
Path: [Object],
Pathinfo: [Object],
Performance: [Object],
PerformanceOptions: [Object],
Plugins: [Object],
Profile: [Object],
PublicPath: [Object],
RecordsInputPath: [Object],
RecordsOutputPath: [Object],
RecordsPath: [Object],
Resolve: [Object],
ResolveAlias: [Object],
ResolveLoader: [Object],
ResolveOptions: [Object],
ResolvePluginInstance: [Object],
RuleSetCondition: [Object],
RuleSetConditionAbsolute: [Object],
RuleSetConditionOrConditions: [Object],
RuleSetConditionOrConditionsAbsolute: [Object],
RuleSetConditions: [Object],
RuleSetConditionsAbsolute: [Object],
RuleSetLoader: [Object],
RuleSetLoaderOptions: [Object],
RuleSetRule: [Object],
RuleSetRules: [Object],
RuleSetUse: [Object],
RuleSetUseItem: [Object],
ScriptType: [Object],
SnapshotOptions: [Object],
SourceMapFilename: [Object],
SourcePrefix: [Object],
StatsOptions: [Object],
StatsValue: [Object],
StrictModuleExceptionHandling: [Object],
Target: [Object],
UmdNamedDefine: [Object],
UniqueName: [Object],
WasmLoading: [Object],
WasmLoadingType: [Object],
Watch: [Object],
WatchOptions: [Object],
WebassemblyModuleFilename: [Object],
WebpackOptionsNormalized: [Object],
WebpackPluginFunction: [Object],
WebpackPluginInstance: [Object]
},
description: 'Options object as provided by the user.',
type: 'object',
additionalProperties: false,
properties: {
amd: [Object],
bail: [Object],
cache: [Object],
context: [Object],
dependencies: [Object],
devServer: [Object],
devtool: [Object],
entry: [Object],
experiments: [Object],
externals: [Object],
externalsPresets: [Object],
externalsType: [Object],
ignoreWarnings: [Object],
infrastructureLogging: [Object],
loader: [Object],
mode: [Object],
module: [Object],
name: [Object],
node: [Object],
optimization: [Object],
output: [Object],
parallelism: [Object],
performance: [Object],
plugins: [Object],
profile: [Object],
recordsInputPath: [Object],
recordsOutputPath: [Object],
recordsPath: [Object],
resolve: [Object],
resolveLoader: [Object],
snapshot: [Object],
stats: [Object],
target: [Object],
watch: [Object],
watchOptions: [Object]
}
},
headerName: 'Webpack',
baseDataPath: 'configuration',
postFormatter: [Function: postFormatter]
}
Looks like webpack dev server configs are old, this changed a little. Do you use next transpile modules? Or have you configured any specific watch options.
Webpack stable release might have changed some final things. I've had some issues when jumping from beta 31 to RC1 then to stable.
9.5.5 might have made final refinements. What we are likely seeing right now is a plugin that's it yet been updated. I've had this exact issue. For me it was next-transpile-modules which sets watchOptions. That changed slightly. But I did PR that project & updated it to work, also published a fork.
Have you checked loaders and plugins are up to date? Typically there's not too much that's changed. But there's a few little things, like this error which needs updating. If you want find where watchOptions is coming from, do a global search in your repo and exclude webpack. Then we would have a better idea of what sets watch options from a third party plugin.
Your lock file shows another version of webpack. V4 In there. I also see virtual modules plugin which is not working (broke svelte-loader)
Yarn resolution usually solved that. Which you've done. Yarn list webpack should only show one version installed.
The lockfile shows multiple versions of webpack resolving to one (v5). Not that all the versions are installed. I also have Storybook installed in the project, but even removing it and the dependencies you mentioned fail to resolve the issue.
To be clear, I presumed this was a problematic plugin from the beginning, which is why the original issue post was about logging loader configs so I can find out the actual problematic loader.
I do use next transpile modules! I listed my next.config.js higher up. The plugins I use: next-compose-plugins, @newhighsco/next-plugin-svgr, next-images, next-transpile-modules
Yeah it's transpile modules. Use my copy till the author updates it. Mine is a little slower because I turn off caching on transpiled modules to make it work.
It's not recommended ofc. But it works and would unblock you at the expense of slightly slower builds. Had the fork in production for about a month or two. I pushed a bunch of new fixed to it today as I've started updating all my apps to v5 stable
https://www.npmjs.com/%40module-federation%2Fnext-transpile-modules
I won't be maintaining the fork once the main repo is updated. So keep an eye transpile-modules
Docs are outdated but it works on next 955 and v5 stable
Awesome thanks! I still think the original point would be helpful for debug purposes, so I'll leave this issue open
Haha sure. Just unblocking you 馃憤
Most helpful comment
Yeah it's transpile modules. Use my copy till the author updates it. Mine is a little slower because I turn off caching on transpiled modules to make it work.
It's not recommended ofc. But it works and would unblock you at the expense of slightly slower builds. Had the fork in production for about a month or two. I pushed a bunch of new fixed to it today as I've started updating all my apps to v5 stable
https://www.npmjs.com/%40module-federation%2Fnext-transpile-modules
I won't be maintaining the fork once the main repo is updated. So keep an eye transpile-modules
Docs are outdated but it works on next 955 and v5 stable