‘use strict’;

const TerserPlugin = require(‘terser-webpack-plugin’); const webpack = require(‘webpack’);

function criWrapper(_, options, callback) {

window.criRequest(options, callback); // eslint-disable-line no-undef

}

module.exports = {

mode: 'production',
resolve: {
    fallback: {
        'util': require.resolve('util/'),
        'url': require.resolve('url/'),
        'http': false,
        'https': false,
        'dns': false
    },
    alias: {
        'ws': './websocket-wrapper.js'
    }
},
externals: [
    {
        './external-request.js': `var (${criWrapper})`
    }
],
plugins: [
    new webpack.ProvidePlugin({
        process: 'process/browser',
    }),
],
optimization: {
    minimizer: [
        new TerserPlugin({
            extractComments: false,
        })
    ],
},
entry: ['babel-polyfill', './index.js'],
output: {
    path: __dirname,
    filename: 'chrome-remote-interface.js',
    libraryTarget: process.env.TARGET || 'commonjs2',
    library: 'CDP'
}

};