/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ //@ts-check 'use strict'; const withDefaults = require('../shared.webpack.config'); const fs = require('fs'); const path = require('path'); const externals = { 'node-fetch': 'commonjs node-fetch', 'adm-zip': 'commonjs adm-zip', 'applicationinsights-native-metrics': 'commonjs applicationinsights-native-metrics', '@opentelemetry/tracing': 'commonjs @opentelemetry/tracing' }; // conditionally add ws if we are going to be running in a node environment const yarnrcPath = path.join(__dirname, '.yarnrc'); if (fs.existsSync(yarnrcPath)) { const yarnrc = fs.readFileSync(yarnrcPath).toString(); const properties = yarnrc.split(/\r?\n/).map(r => r.split(' ')); if (properties.find(r => r[0] === 'runtime')[1] === '"node"') { externals['ws'] = 'commonjs ws'; } } module.exports = withDefaults({ context: __dirname, entry: { extension: './src/extension.ts' }, externals: externals });