mirror of
https://github.com/Microsoft/vscode
synced 2024-08-27 04:49:35 +00:00
4d59b19b73
Fixes #170920 Enables this feature by default but also disables semantic errors. This is needed to avoid lots of annoying false positive errors for external modules. We plan to remove this limitation once type downloading support is enabled
85 lines
2.1 KiB
JavaScript
85 lines
2.1 KiB
JavaScript
/*---------------------------------------------------------------------------------------------
|
|
* 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 CopyPlugin = require('copy-webpack-plugin');
|
|
const path = require('path');
|
|
|
|
const defaultConfig = require('../shared.webpack.config');
|
|
const withBrowserDefaults = defaultConfig.browser;
|
|
const browserPlugins = defaultConfig.browserPlugins;
|
|
|
|
const languages = [
|
|
'zh-tw',
|
|
'cs',
|
|
'de',
|
|
'es',
|
|
'fr',
|
|
'it',
|
|
'ja',
|
|
'ko',
|
|
'pl',
|
|
'pt-br',
|
|
'ru',
|
|
'tr',
|
|
'zh-cn',
|
|
];
|
|
module.exports = [withBrowserDefaults({
|
|
context: __dirname,
|
|
entry: {
|
|
extension: './src/extension.browser.ts',
|
|
},
|
|
plugins: [
|
|
...browserPlugins(__dirname), // add plugins, don't replace inherited
|
|
|
|
// @ts-ignore
|
|
new CopyPlugin({
|
|
patterns: [
|
|
{
|
|
from: '../node_modules/typescript/lib/*.d.ts',
|
|
to: 'typescript/[name][ext]',
|
|
},
|
|
{
|
|
from: '../node_modules/typescript/lib/typesMap.json',
|
|
to: 'typescript/'
|
|
},
|
|
...languages.map(lang => ({
|
|
from: `../node_modules/typescript/lib/${lang}/**/*`,
|
|
to: (pathData) => {
|
|
const normalizedFileName = pathData.absoluteFilename.replace(/[\\/]/g, '/');
|
|
const match = normalizedFileName.match(/typescript\/lib\/(.*)/);
|
|
if (match) {
|
|
return `typescript/${match[1]}`;
|
|
}
|
|
console.log(`Did not find typescript/lib in ${normalizedFileName}`);
|
|
return 'typescript/';
|
|
}
|
|
}))
|
|
],
|
|
}),
|
|
],
|
|
}), withBrowserDefaults({
|
|
context: __dirname,
|
|
entry: {
|
|
'typescript/tsserver.web': './web/webServer.ts'
|
|
},
|
|
module: {
|
|
exprContextCritical: false,
|
|
},
|
|
ignoreWarnings: [/Critical dependency: the request of a dependency is an expression/],
|
|
output: {
|
|
// all output goes into `dist`.
|
|
// packaging depends on that and this must always be like it
|
|
filename: '[name].js',
|
|
path: path.join(__dirname, 'dist', 'browser'),
|
|
libraryTarget: undefined,
|
|
},
|
|
externals: {
|
|
'perf_hooks': 'commonjs perf_hooks',
|
|
}
|
|
})];
|