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.
82 lines
1.7 KiB
82 lines
1.7 KiB
/**
|
|
* Base webpack config used across other specific configs
|
|
*/
|
|
|
|
import path from 'path'
|
|
import { IgnorePlugin } from 'webpack'
|
|
import { dependencies as externals } from '../../app/package.json'
|
|
|
|
export const rootDir = path.join(__dirname, '..', '..')
|
|
|
|
export default {
|
|
externals: Object.keys(externals || {}),
|
|
|
|
context: rootDir,
|
|
|
|
output: {
|
|
// https://github.com/webpack/webpack/issues/1114
|
|
libraryTarget: 'commonjs2'
|
|
},
|
|
|
|
module: {
|
|
rules: [
|
|
// JSX
|
|
{
|
|
test: /\.jsx?$/,
|
|
exclude: /node_modules/,
|
|
use: {
|
|
loader: 'babel-loader',
|
|
options: {
|
|
cacheDirectory: true
|
|
}
|
|
}
|
|
},
|
|
// WOFF Font
|
|
{
|
|
test: /\.woff(\?v=\d+\.\d+\.\d+)?$/,
|
|
use: {
|
|
loader: 'url-loader',
|
|
options: {
|
|
limit: 10000,
|
|
mimetype: 'application/font-woff'
|
|
}
|
|
}
|
|
},
|
|
// WOFF2 Font
|
|
{
|
|
test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/,
|
|
use: {
|
|
loader: 'url-loader',
|
|
options: {
|
|
limit: 10000,
|
|
mimetype: 'application/font-woff'
|
|
}
|
|
}
|
|
},
|
|
// TTF Font
|
|
{
|
|
test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
|
|
use: {
|
|
loader: 'url-loader',
|
|
options: {
|
|
limit: 10000,
|
|
mimetype: 'application/octet-stream'
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
/**
|
|
* Determine the array of extensions that should be used to resolve modules.
|
|
*/
|
|
resolve: {
|
|
modules: [path.resolve(rootDir, 'app'), 'node_modules', 'app/node_modules']
|
|
},
|
|
|
|
plugins: [new IgnorePlugin(/^\.\/locale$/, /moment$/)],
|
|
|
|
optimization: {
|
|
namedModules: true
|
|
}
|
|
}
|
|
|