123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /*eslint-env node*/
- /*eslint import/no-nodejs-modules:0 */
- const path = require('path');
- const webpack = require('webpack');
- const [appConfig] = require('../webpack.config');
- const staticPath = path.resolve(
- __dirname,
- '..',
- 'src',
- 'sentry',
- 'static',
- 'sentry',
- 'app'
- );
- module.exports = {
- module: {
- rules: [
- {
- test: /\.stories\.jsx?$/,
- loaders: [
- {
- loader: require.resolve('@storybook/addon-storysource/loader'),
- options: {
- prettierConfig: {
- parser: 'babylon',
- },
- },
- },
- ],
- enforce: 'pre',
- },
- {
- test: /\.po$/,
- loader: 'po-catalog-loader',
- query: {
- referenceExtensions: ['.js', '.jsx'],
- domain: 'sentry',
- },
- },
- {
- test: /\.css$/,
- use: ['style-loader', 'css-loader'],
- },
- {
- test: /app\/icons\/.*\.svg$/,
- use: [
- {
- loader: 'svg-sprite-loader',
- },
- {
- loader: 'svgo-loader',
- },
- ],
- },
- {
- test: /\.less$/,
- use: [
- {
- loader: 'style-loader',
- },
- {
- loader: 'css-loader',
- },
- {
- loader: 'less-loader',
- },
- ],
- },
- {
- test: /\.(woff|woff2|ttf|eot|svg|png|gif|ico|jpg)($|\?)/,
- exclude: /app\/icons\/.*\.svg$/,
- loader: 'file-loader?name=' + '[name].[ext]',
- },
- ],
- },
- plugins: [
- new webpack.ProvidePlugin({
- $: 'jquery',
- jQuery: 'jquery',
- 'window.jQuery': 'jquery',
- 'root.jQuery': 'jquery',
- underscore: 'underscore',
- _: 'underscore',
- }),
- new webpack.DefinePlugin({
- 'process.env': {
- IS_PERCY: true,
- },
- }),
- ],
- resolve: {
- extensions: appConfig.resolve.extensions,
- alias: Object.assign({}, appConfig.resolve.alias, {
- app: staticPath,
- }),
- },
- };
|