Kibana is upgrading to the most recent version of Webpack (3). This should improve build times when restarting the optimizer and should also address the issues some users have been having with node running out of memory.
Plugin authors specifically should be aware that they may need to update a couple things:
-
Imports that include webpack loaders need to specify the full name of the loader, the "-loader" suffix is no longer added automatically:
- won't work:
import 'raw!./some_file.html'
- will work:
import 'raw-loader!./some_file.html'
- won't work:
-
Directories at the root of the Kibana repo can no longer be imported like node_modules. This feature was commonly used for two purposes:
a. importing the ui_framework viaimport 'ui_framework/*'
- this will continue to work, an alias forui_framework
has been added
b. explicitly importing Kibana's node_modules viaimport 'node_modules/*'
- This shouldn't be necessary
- Use relative imports or webpackShims instead
- If there isn't a webpackShim for a dependency yet, and the dependency needs to come from the Kibana repo, then we need to add one
This change is only happening in master for now. Since Webpack is very complicated, edge cases from the switch are more likely and we will run with Webpack 3 in master for a while and resolve any hard to spot bugs and from there we will backport to 6.X.