Skip to content

Commit 725330a

Browse files
authored
Fix extension private prop mangling when compiling all projects (microsoft#167464)
microsoft#167269
1 parent cf01f3b commit 725330a

File tree

2 files changed

+22
-13
lines changed

2 files changed

+22
-13
lines changed

extensions/mangle-loader.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,26 @@
77
const webpack = require('webpack');
88
const { Mangler } = require('../build/lib/mangleTypeScript');
99

10-
let map;
10+
/**
11+
* Map of project paths to mangled file contents
12+
*
13+
* @type {Map<string, Map<string, string>>}
14+
*/
15+
const mangleMap = new Map();
16+
1117
/**
1218
* @param {string} projectPath
1319
*/
1420
function getMangledFileContents(projectPath) {
15-
if (!map) {
21+
let entry = mangleMap.get(projectPath);
22+
if (!entry) {
23+
console.log(`Mangling ${projectPath}`);
1624
const ts2tsMangler = new Mangler(projectPath, console.log);
17-
map = ts2tsMangler.computeNewFileContents();
25+
entry = ts2tsMangler.computeNewFileContents();
26+
mangleMap.set(projectPath, entry);
1827
}
1928

20-
return map;
29+
return entry;
2130
}
2231

2332
/**

extensions/shared.webpack.config.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@ const CopyWebpackPlugin = require('copy-webpack-plugin');
1515
const { NLSBundlePlugin } = require('vscode-nls-dev/lib/webpack-bundler');
1616
const { DefinePlugin, optimize } = require('webpack');
1717

18+
const tsLoaderOptions = {
19+
compilerOptions: {
20+
'sourceMap': true,
21+
},
22+
onlyCompileBundledFiles: true,
23+
};
24+
1825
function withNodeDefaults(/**@type WebpackConfig*/extConfig) {
1926
/** @type WebpackConfig */
2027
const defaultConfig = {
@@ -42,11 +49,7 @@ function withNodeDefaults(/**@type WebpackConfig*/extConfig) {
4249
// configure TypeScript loader:
4350
// * enable sources maps for end-to-end source maps
4451
loader: 'ts-loader',
45-
options: {
46-
compilerOptions: {
47-
'sourceMap': true,
48-
}
49-
}
52+
options: tsLoaderOptions
5053
}, {
5154
loader: path.resolve(__dirname, 'mangle-loader.js'),
5255
options: {
@@ -125,11 +128,8 @@ function withBrowserDefaults(/**@type WebpackConfig*/extConfig, /** @type Additi
125128
// * enable sources maps for end-to-end source maps
126129
loader: 'ts-loader',
127130
options: {
128-
compilerOptions: {
129-
'sourceMap': true,
130-
},
131+
...tsLoaderOptions,
131132
...(additionalOptions ? {} : { configFile: additionalOptions.configFile }),
132-
onlyCompileBundledFiles: true,
133133
}
134134
},
135135
{

0 commit comments

Comments
 (0)