/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ 'use strict'; //@ts-check // See https://github.com/Microsoft/vscode-azuretools/wiki/webpack for guidance const process = require('process'); const dev = require("@microsoft/vscode-azext-dev"); const webpack = require('webpack'); let DEBUG_WEBPACK = !/^(false|0)?$/i.test(process.env.DEBUG_WEBPACK || ''); let nodeConfig = dev.getDefaultWebpackConfig({ projectRoot: __dirname, verbosity: DEBUG_WEBPACK ? 'debug' : 'normal', externals: { // Fix "Module not found" errors in ./node_modules/websocket/lib/{BufferUtil,Validation}.js // These files are not in node_modules and so will fail normally at runtime and instead use fallbacks. // Make them as external so webpack doesn't try to process them, and they'll simply fail at runtime as before. '../build/Release/validation': 'commonjs ../build/Release/validation', '../build/default/validation': 'commonjs ../build/default/validation', '../build/Release/bufferutil': 'commonjs ../build/Release/bufferutil', '../build/default/bufferutil': 'commonjs ../build/default/bufferutil', }, target: 'node', suppressCleanDistFolder: true }); let webConfig = dev.getDefaultWebpackConfig({ projectRoot: __dirname, verbosity: DEBUG_WEBPACK ? 'debug' : 'normal', externals: { // Fix "Module not found" errors in ./node_modules/websocket/lib/{BufferUtil,Validation}.js // These files are not in node_modules and so will fail normally at runtime and instead use fallbacks. // Make them as external so webpack doesn't try to process them, and they'll simply fail at runtime as before. '../build/Release/validation': 'commonjs ../build/Release/validation', '../build/default/validation': 'commonjs ../build/default/validation', '../build/Release/bufferutil': 'commonjs ../build/Release/bufferutil', '../build/default/bufferutil': 'commonjs ../build/default/bufferutil', }, target: 'webworker', resolveFallbackAliases: { "process": require.resolve("process/browser.js"), }, plugins: [new webpack.ProvidePlugin({ process: 'process/browser.js' }), new webpack.ProvidePlugin({ Buffer: ['buffer', 'Buffer'], })], suppressCleanDistFolder: true }); if (DEBUG_WEBPACK) { console.log('Config:', nodeConfig); } module.exports = [nodeConfig, webConfig];