diff --git a/lib/get_webpack_config.js b/lib/get_webpack_config.js index 2ab1b41..625ca11 100644 --- a/lib/get_webpack_config.js +++ b/lib/get_webpack_config.js @@ -1,6 +1,4 @@ const { resolve } = require('path'); -const webpack = require('webpack'); -const DirectoryNameAsMain = require('@elastic/webpack-directory-name-as-main'); const debug = require('./debug'); const getKibanaPath = require('./get_kibana_path'); @@ -10,14 +8,16 @@ module.exports = function getWebpackConfig(source, projectRoot, config) { const kibanaPath = getKibanaPath(config, projectRoot); const fromKibana = (...path) => resolve(kibanaPath, ...path); - const plugins = [ new webpack.ResolverPlugin([ new DirectoryNameAsMain() ]) ]; - const aliases = { - // Kibana defaults https://github.com/elastic/kibana/blob/b7f519704ae0d25f085e3278198e2abec1d9ef6e/src/ui/ui_bundler_env.js#L30-L34 + const alias = { + // Kibana defaults https://github.com/elastic/kibana/blob/6998f074542e8c7b32955db159d15661aca253d7/src/ui/ui_bundler_env.js#L30-L36 ui: fromKibana('src/ui/public'), + ui_framework: fromKibana('ui_framework'), test_harness: fromKibana('src/test_harness/public'), querystring: 'querystring-browser', + moment$: fromKibana('webpackShims/moment'), + 'moment-timezone$': fromKibana('webpackShims/moment-timezone'), - // Dev defaults for test bundle https://github.com/elastic/kibana/blob/b7f519704ae0d25f085e3278198e2abec1d9ef6e/src/core_plugins/tests_bundle/index.js#L70-L75 + // Dev defaults for test bundle https://github.com/elastic/kibana/blob/6998f074542e8c7b32955db159d15661aca253d7/src/core_plugins/tests_bundle/index.js#L73-L78 ng_mock$: fromKibana('src/core_plugins/dev_mode/public/ng_mock'), 'angular-mocks$': fromKibana('src/core_plugins/tests_bundle/webpackShims/angular-mocks.js'), fixtures: fromKibana('src/fixtures'), @@ -25,26 +25,23 @@ module.exports = function getWebpackConfig(source, projectRoot, config) { }; getPlugins(config, kibanaPath, projectRoot).forEach(plugin => { - aliases[`plugins/${plugin.name}`] = plugin.publicDirectory; + alias[`plugins/${plugin.name}`] = plugin.publicDirectory; }); - debug('Webpack resolved plugins', plugins); - debug('Webpack resolved aliases', aliases); + debug('Webpack resolved aliases', alias); return { context: kibanaPath, - plugins, resolve: { - extensions: ['.js', '.json', '.jsx', '.less', ''], - postfixes: [''], - modulesDirectories: ['webpackShims', 'node_modules'], - fallback: [ + extensions: ['.js', '.json'], + mainFields: ['browser', 'main'], + modules: [ + 'webpackShims', + 'node_modules', fromKibana('webpackShims'), - fromKibana('node_modules') + fromKibana('node_modules'), ], - loaderPostfixes: ['-loader', ''], - root: fromKibana('.'), - alias: aliases, + alias, unsafeCache: true, }, }; diff --git a/package.json b/package.json index 633aafd..a178d88 100644 --- a/package.json +++ b/package.json @@ -13,12 +13,11 @@ "url": "git+https://github.com/elastic/eslint-import-resolver-kibana.git" }, "dependencies": { - "@elastic/webpack-directory-name-as-main": "^2.0.3", "debug": "^2.6.6", "eslint-import-resolver-node": "^0.3.0", "eslint-import-resolver-webpack": "^0.8.1", "glob-all": "^3.1.0", - "webpack": "github:elastic/webpack#fix/query-params-for-aliased-loaders" + "webpack": "3.6.0" }, "devDependencies": { "eslint": "^3.19.0",