babel-plugin-webpack-alias icon indicating copy to clipboard operation
babel-plugin-webpack-alias copied to clipboard

Webpack 2: No config found when config is a function

Open giannif opened this issue 7 years ago • 1 comments

Webpack 2 supports exporting a default function as the webpack config.

export default env => {
    // return env-specific configuration
}

I'm using this for the reasons in this post.

babel-plugin-webpack-alias will need to check for a function, invoke it (potentially with the value env), to get the config object, before it checks if config.resolve exists

Otherwise you get the 'The resolved config file doesn\'t contain a resolve configuration' error

giannif avatar Feb 14 '17 20:02 giannif

Ran into this recently. To get around the issue I created a separate alias file webpack.alias.js and added the resolve property to its export:

module.exports = {
  resolve: {
    alias: {
      something: 'something'
    }
  }
};

From your .babelrc you can specify that this plugin use this file.

From within your webpack config(s) require this file and set your main config's resolve to this object:

...
resolve: {
  alias: resolve.resolve.alias
},
...

deldreth avatar Jul 15 '17 03:07 deldreth