break up extension-browser.webpack.config
This commit is contained in:
parent
39456ea09d
commit
bd57bd7078
|
@ -16,4 +16,6 @@ server/.npmignore
|
||||||
yarn.lock
|
yarn.lock
|
||||||
server/extension.webpack.config.js
|
server/extension.webpack.config.js
|
||||||
extension.webpack.config.js
|
extension.webpack.config.js
|
||||||
CONTRIBUTING.md
|
server/extension-browser.webpack.config.js
|
||||||
|
extension-browser.webpack.config.js
|
||||||
|
CONTRIBUTING.md
|
||||||
|
|
|
@ -30,19 +30,4 @@ const clientConfig = withDefaults({
|
||||||
clientConfig.plugins[1] = vscodeNlsReplacement; // replace nls bundler
|
clientConfig.plugins[1] = vscodeNlsReplacement; // replace nls bundler
|
||||||
clientConfig.module.rules[0].use.shift(); // remove nls loader
|
clientConfig.module.rules[0].use.shift(); // remove nls loader
|
||||||
|
|
||||||
const serverConfig = withDefaults({
|
module.exports = clientConfig;
|
||||||
target: 'webworker',
|
|
||||||
context: path.join(__dirname, 'server'),
|
|
||||||
entry: {
|
|
||||||
extension: './src/browser/cssServerMain.ts',
|
|
||||||
},
|
|
||||||
output: {
|
|
||||||
filename: 'cssServerMain.js',
|
|
||||||
path: path.join(__dirname, 'server', 'dist', 'browser'),
|
|
||||||
libraryTarget: 'var'
|
|
||||||
}
|
|
||||||
});
|
|
||||||
serverConfig.plugins[1] = vscodeNlsReplacement; // replace nls bundler
|
|
||||||
serverConfig.module.rules[0].use.shift(); // remove nls loader
|
|
||||||
|
|
||||||
module.exports = [clientConfig, serverConfig];
|
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
/*---------------------------------------------------------------------------------------------
|
||||||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
//@ts-check
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const withDefaults = require('../../shared.webpack.config');
|
||||||
|
const path = require('path');
|
||||||
|
const webpack = require('webpack');
|
||||||
|
|
||||||
|
const vscodeNlsReplacement = new webpack.NormalModuleReplacementPlugin(
|
||||||
|
/vscode\-nls[\\/]lib[\\/]main\.js/,
|
||||||
|
path.join(__dirname, '../client/out/browser/vscodeNlsShim.js')
|
||||||
|
);
|
||||||
|
|
||||||
|
const serverConfig = withDefaults({
|
||||||
|
target: 'webworker',
|
||||||
|
context: __dirname,
|
||||||
|
entry: {
|
||||||
|
extension: './src/browser/cssServerMain.ts',
|
||||||
|
},
|
||||||
|
output: {
|
||||||
|
filename: 'cssServerMain.js',
|
||||||
|
path: path.join(__dirname, 'dist', 'browser'),
|
||||||
|
libraryTarget: 'var'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
serverConfig.plugins[1] = vscodeNlsReplacement; // replace nls bundler
|
||||||
|
serverConfig.module.rules[0].use.shift(); // remove nls loader
|
||||||
|
|
||||||
|
module.exports = serverConfig;
|
|
@ -12,6 +12,7 @@ const url = require('url');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const util = require('util');
|
const util = require('util');
|
||||||
|
const glob = require('glob');
|
||||||
const opn = require('opn');
|
const opn = require('opn');
|
||||||
const minimist = require('minimist');
|
const minimist = require('minimist');
|
||||||
const webpack = require('webpack');
|
const webpack = require('webpack');
|
||||||
|
@ -78,8 +79,13 @@ async function initialize() {
|
||||||
|
|
||||||
if (packageJSON.browser) {
|
if (packageJSON.browser) {
|
||||||
packageJSON.main = packageJSON.browser;
|
packageJSON.main = packageJSON.browser;
|
||||||
const webpackConfigPath = path.join(EXTENSIONS_ROOT, extensionFolder, 'extension-browser.webpack.config.js');
|
|
||||||
if ((await exists(webpackConfigPath))) {
|
const webpackConfigLocations = glob.sync(
|
||||||
|
path.join(EXTENSIONS_ROOT, extensionFolder, '**', 'extension-browser.webpack.config.js'),
|
||||||
|
{ ignore: ['**/node_modules'] }
|
||||||
|
);
|
||||||
|
|
||||||
|
for (const webpackConfigPath of webpackConfigLocations) {
|
||||||
const configOrFnOrArray = require(webpackConfigPath);
|
const configOrFnOrArray = require(webpackConfigPath);
|
||||||
function addConfig(configOrFn) {
|
function addConfig(configOrFn) {
|
||||||
if (typeof configOrFn === 'function') {
|
if (typeof configOrFn === 'function') {
|
||||||
|
@ -88,11 +94,7 @@ async function initialize() {
|
||||||
webpackConfigs.push(configOrFn);
|
webpackConfigs.push(configOrFn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Array.isArray(configOrFnOrArray)) {
|
addConfig(configOrFnOrArray);
|
||||||
configOrFnOrArray.forEach(addConfig);
|
|
||||||
} else {
|
|
||||||
addConfig(configOrFnOrArray);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue