src/amo/server/webpack-isomorphic-tools-config.js (59 lines of code) (raw):

/* eslint-disable no-else-return */ import WebpackIsomorphicToolsPlugin from 'webpack-isomorphic-tools/plugin'; export default { debug: false, assets: { images: { extensions: ['jpeg', 'jpg', 'png', 'gif'], parser: WebpackIsomorphicToolsPlugin.url_loader_parser, }, fonts: { extensions: ['otf', 'woff', 'woff2'], parser: WebpackIsomorphicToolsPlugin.url_loader_parser, }, svg: { extensions: ['svg'], parser: WebpackIsomorphicToolsPlugin.url_loader_parser, }, style_modules: { extensions: ['css', 'scss'], filter: (module, regex, options, log) => { if (options.development) { // in development mode there's webpack "style-loader", // so the module.name is not equal to module.name return WebpackIsomorphicToolsPlugin.style_loader_filter( module, regex, options, log, ); } else { // in production mode there's no webpack "style-loader", // so the module.name will be equal to the asset path return regex.test(module.name); } }, path: (module, options, log) => { if (options.development) { // in development mode there's webpack "style-loader", // so the module.name is not equal to module.name return WebpackIsomorphicToolsPlugin.style_loader_path_extractor( module, options, log, ); } else { // in production mode there's no webpack "style-loader", // so the module.name will be equal to the asset path return module.name; } }, parser: (module, options, log) => { if (options.development) { return WebpackIsomorphicToolsPlugin.css_modules_loader_parser( module, options, log, ); } else { // in production mode there's Extract Text Loader which extracts CSS text away return module.source; } }, }, videos: { extensions: ['mp4', 'webm'], parser: WebpackIsomorphicToolsPlugin.url_loader_parser, }, }, };