kibana/packages/kbn-ui-framework/doc_site/webpack.config.js
2018-06-27 20:50:06 -07:00

68 lines
1.9 KiB
JavaScript

/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
const path = require('path');
module.exports = {
context: __dirname,
devtool: 'source-map',
entry: {
guide: './src/index.js'
},
output: {
path: path.resolve(__dirname, 'build'),
filename: 'bundle.js'
},
// These are necessary for using Enzyme with Webpack (https://github.com/airbnb/enzyme/blob/master/docs/guides/webpack.md).
externals: {
'react/lib/ExecutionEnvironment': true,
'react/lib/ReactContext': true,
'react/addons': true,
},
module: {
rules: [{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/,
query: {
presets: [
require.resolve('@kbn/babel-preset/webpack_preset')
],
},
}, {
test: /\.scss$/,
loaders: ['style-loader', 'css-loader', 'postcss-loader', 'sass-loader'],
exclude: /node_modules/
}, {
test: /\.html$/,
loader: 'html-loader',
exclude: /node_modules/
}, {
test: /\.(woff|woff2|ttf|eot|svg|ico)(\?|$)/,
loader: 'file-loader',
}, {
test: require.resolve('jquery'),
loader: 'expose-loader?jQuery!expose-loader?$'
}]
}
};