loader: "url-loader",
options: {
limit: 10000,
name: "media/[name].[hash:8].[ext]"
}
},
{
test: /google-closure-library\/closure\/goog\/base/,
use: [
"imports-loader?this=>{goog:{}}&goog=>this.goog",
"exports-loader?goog"
]
},
{
test: /google-closure-library\/closure\/goog\/.*\.js/,
loader: "closure-loader",
options: {
paths: [
path.resolve(__dirname, "node_modules/google-closure-library/closure/goog"),
path.resolve(__dirname, "node_modules/google-closure-library/closure/goog/debug")
],
watch: false,
es6mode: true
},
exclude: [/google-closure-library\/closure\/goog\/base\.js$/]
},
{
test: /selenium-atoms\/.*\.js$/,
include: [
path.resolve(__dirname, "src")
],
use: {
loader: "closure-loader",
options: {
es6mode: true,
watch: false,
paths: [
path.resolve(__dirname, "node_modules/google-closure-library/closure/goog"),
path.resolve(__dirname, "node_modules/google-closure-library/closure/goog/debug"),
path.resolve(__dirname, "src/selenium-atoms")
]
}
}
},
{
test: /third_party\/wgxpath\/.*\.js$/,
include: [
path.resolve(__dirname, "src")
],
use: {
loader: "closure-loader",
options: {
es6mode: true,
watch: false,
paths: [
path.resolve(__dirname, "node_modules/google-closure-library/closure/goog")
]
}
}
},
{
test: /atoms\/.*\.js$/,
include: [
path.resolve(__dirname, "src")
],
use: {
loader: "closure-loader",
options: {
es6mode: true,
watch: false,
paths: [
path.resolve(__dirname, "node_modules/google-closure-library/closure/goog"),
path.resolve(__dirname, "node_modules/google-closure-library/closure/goog/debug"),
path.resolve(__dirname, "src/third_party/wgxpath"),
path.resolve(__dirname, "src/atoms")
]
}
}
},
{
test: /closure-polyfill\.js$/,
include: [
path.resolve(__dirname, "src")
],
use: {
loader: "closure-loader",
options: {
es6mode: true,
watch: false,
paths: [
path.resolve(__dirname, "node_modules/google-closure-library/closure/goog"),
path.resolve(__dirname, "src/atoms"),
path.resolve(__dirname, "src/selenium-atoms")
]
}
}
},
// Process JS with Babel.
{
test: /\.(jsx?)$/,
include: [
path.resolve(__dirname, "src")
],
use: [
{
loader: "babel-loader",
options: {
compact: true
}
}
]
},
// Process css
{
test: /\.css$/,
loader: [
require.resolve("style-loader"),
{
loader: require.resolve("css-loader"),
options: {
importLoaders: 1
}
},
]
// Note: this won't work without `new ExtractTextPlugin()` in `plugins`.
},
// Process markdown to string, to be included inside the bundle, instead of as file
{
test: /\.md$/,
loader: "raw-loader"
},
{
loader: "file-loader",
exclude: [/\.jsx?$/, /\.html$/, /\.json$/],
options: {
name: "media/[name].[hash:8].[ext]"
}
}
// ** STOP ** Are you adding a new loader?
// Make sure to add the new loader(s) before the "file" loader.
]
}
]