You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
976 B
47 lines
976 B
3 years ago
|
/**
|
||
|
* Base webpack config used across other specific configs
|
||
|
*/
|
||
|
|
||
|
import path from 'path';
|
||
|
import webpack from 'webpack';
|
||
|
import { dependencies as externals } from '../../src/package.json';
|
||
|
|
||
|
export default {
|
||
|
externals: [...Object.keys(externals || {})],
|
||
|
|
||
|
module: {
|
||
|
rules: [
|
||
|
{
|
||
|
test: /\.tsx?$/,
|
||
|
exclude: /node_modules/,
|
||
|
use: {
|
||
|
loader: 'babel-loader',
|
||
|
options: {
|
||
|
cacheDirectory: true,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
|
||
|
output: {
|
||
|
path: path.join(__dirname, '../../src'),
|
||
|
// https://github.com/webpack/webpack/issues/1114
|
||
|
libraryTarget: 'commonjs2',
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Determine the array of extensions that should be used to resolve modules.
|
||
|
*/
|
||
|
resolve: {
|
||
|
extensions: ['.js', '.jsx', '.json', '.ts', '.tsx'],
|
||
|
modules: [path.join(__dirname, '../../src'), 'node_modules'],
|
||
|
},
|
||
|
|
||
|
plugins: [
|
||
|
new webpack.EnvironmentPlugin({
|
||
|
NODE_ENV: 'production',
|
||
|
}),
|
||
|
],
|
||
|
};
|