UNPKG

@mongodb-js/compass-query-bar

Version:

Renders a component for executing MongoDB queries through a GUI.

135 lines (132 loc) 3.6 kB
const nodeExternals = require('webpack-node-externals'); const path = require('path'); const project = require('./project'); module.exports = { target: 'node', // webpack should compile node compatible code for tests externals: [ nodeExternals() ], stats: { warnings: false }, resolve: { modules: ['node_modules'], extensions: ['.js', '.jsx', '.json', 'less'], alias: { actions: path.join(project.path.src, 'actions'), components: path.join(project.path.src, 'components'), constants: path.join(project.path.src, 'constants'), fonts: path.join(project.path.src, 'assets/fonts'), images: path.join(project.path.src, 'assets/images'), less: path.join(project.path.src, 'assets/less'), models: path.join(project.path.src, 'models'), plugin: path.join(project.path.src, 'index.js'), stores: path.join(project.path.src, 'stores'), storybook: project.path.storybook } }, module: { rules: [ { test: /\.css$/, use: [ { loader: 'style-loader'}, { loader: 'css-loader' } ] }, // For styles that have to be global (see https://github.com/css-modules/css-modules/pull/65) { test: /\.less$/, include: [/\.global/, /bootstrap/], use: [ { loader: 'style-loader' }, { loader: 'css-loader', options: { modules: false } }, { loader: 'postcss-loader', options: { plugins: function() { return [ project.plugin.autoprefixer ]; } } }, { loader: 'less-loader', options: { noIeCompat: true } } ] }, // For CSS-Modules locally scoped styles { test: /\.less$/, exclude: [/\.global/, /bootstrap/, /node_modules/], use: [ { loader: 'style-loader' }, { loader: 'css-loader', options: { modules: true, importLoaders: 1, localIdentName: 'QueryBar_[name]-[local]__[hash:base64:5]' } }, { loader: 'postcss-loader', options: { plugins: function() { return [ project.plugin.autoprefixer ]; } } }, { loader: 'less-loader', options: { noIeCompat: true } } ] }, { test: /node_modules[\\\/]JSONStream[\\\/]index\.js/, use: [{ loader: 'shebang-loader' }] }, { test: /\.(js|jsx)$/, use: [{ loader: 'babel-loader' }], exclude: /(node_modules)/ }, { test: /\.(js|jsx)/, enforce: 'post', // Enforce as a post step so babel can do its compilation prior to instrumenting code exclude: [ /node_modules/, /constants/, /.*?(?=\.spec).*?\.js/ ], include: project.path.src, use: { loader: 'istanbul-instrumenter-loader', options: { esModules: true } } }, { test: /\.(png|jpg|jpeg|gif|svg)$/, use: [{ loader: 'ignore-loader' }] }, { test: /\.(woff|woff2|ttf|eot)(\?v=\d+\.\d+\.\d+)?$/, use: [{ loader: 'ignore-loader' }] } ] } };