Webpack: "SyntaxError: Invalid regular expression flags" during runtime

31 Views Asked by At

Webpack 5 Node v18.12.1 Backbone

I'm trying to package a client/server website using webpack (Express.js/Backbone.js) but I get this error during runtime. Not sure where to look for the problem.

[24/02/18| 9:42PM] ➜  project git:(master) ✗  $ npm start    

> [email protected] start
> node ./dist/main.js

/Users/user/Documents/dir/project/dist/main.js:28830
/Users/user/Documents/dir/project/node_modules/.bin/webpack = __webpack_require__(4523);
^

SyntaxError: Invalid regular expression flags
    at Object.compileFunction (node:vm:360:18)
    at wrapSafe (node:internal/modules/cjs/loader:1088:15)
    at Module._compile (node:internal/modules/cjs/loader:1123:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
    at Module.load (node:internal/modules/cjs/loader:1037:32)
    at Module._load (node:internal/modules/cjs/loader:878:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47

Here is my config

const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');

const isProduction = process.env.NODE_ENV == 'development';


const stylesHandler = 'style-loader';


const config = {
    infrastructureLogging: {
        level: 'verbose'
    },
    target: 'web',
    optimization: {
        minimize: false
    },

    entry: {
        app: [
            // 'webpack-dev-server/client?http://localhost:8081',
            './src/start-services.js',//server
            './src/main.js'//client
        ]
    },
    
    output: {
        filename: '[name].js',
        path: path.resolve(__dirname, 'dist'),
        publicPath: '/assets/',
    },
    // devServer: {
    //     open: true,
    //     host: 'localhost',
    // },
    node: {
        // global: true,
        // __filename: true,
        // __dirname: true
    },
    resolve: {
        // modulesDirectories: ['js', 'views', 'node_modules'],
        modules: [
            path.resolve(__dirname, 'node_modules'),
            path.resolve(__dirname, './src'),
        ],
        fallback: {
            "crypto": require.resolve("crypto-browserify"),
            "path": require.resolve("path-browserify"),
            "console": require.resolve("console-browserify"), 
            "async_hooks": false,
            "http": require.resolve("stream-http"),
            "https": require.resolve("https-browserify"),
            "assert": require.resolve("assert/"),
            "stream": require.resolve("stream-browserify"),
            "zlib": require.resolve("browserify-zlib"),
            "os": require.resolve("os-browserify/browser"),
            "child_process": false,
            "fs": false,
            "os": false,
            "path": false,
            "tls": false,
            "net": false,
            "dns": false,
            "util": require.resolve("util/")
            // "net": require.resolve ("net-browserify"),
         },
        alias: {
            'express-handlebars': 'handlebars/dist/handlebars.js',
        }
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: 'index.html',
        }),
        new webpack.DefinePlugin({
            'process.env.FLUENTFFMPEG_COV': false
        })
        // Add your plugins here
        // Learn more about plugins from https://webpack.js.org/configuration/plugins/
    ],
    module: {
        rules: [
            {
                test: /\.(?:js|mjs|cjs)$/,
                exclude: /node_modules/,
                use: {
                    loader: 'babel-loader',
                    options: {
                    presets: [
                        ['@babel/preset-env', { targets: "defaults" }]
                    ]
                }
            }
            },
            {
                test: /\.css$/i,
                use: [stylesHandler,'css-loader'],
            },
            {
                test: /\.(eot|svg|ttf|woff|woff2|png|jpg|gif)$/i,
                type: 'asset',
            },
            { 
                test: /\.(hjs)$/i, 
                loader: "handlebars-loader" 
            }
              

            // Add your rules for custom modules here
            // Learn more about loaders from https://webpack.js.org/loaders/
        ],
    },
};

module.exports = () => {
    if (isProduction) {
        config.mode = 'production';
        
        
    } else {
        config.mode = 'development';
    }
    return config;
};

I tried to find one of my files that may have a regex causing this but I'm not understanding the error.

0

There are 0 best solutions below