diff --git a/build/gulpfile.extensions.js b/build/gulpfile.extensions.js index bd38427a422..9b9a30e997a 100644 --- a/build/gulpfile.extensions.js +++ b/build/gulpfile.extensions.js @@ -21,6 +21,7 @@ const nlsDev = require('vscode-nls-dev'); const root = path.dirname(__dirname); const commit = util.getVersion(root); const plumber = require('gulp-plumber'); +const _ = require('underscore'); const extensionsPath = path.join(path.dirname(__dirname), 'extensions'); @@ -35,7 +36,9 @@ const tasks = compilations.map(function (tsconfigFile) { const absolutePath = path.join(extensionsPath, tsconfigFile); const relativeDirname = path.dirname(tsconfigFile); - const tsOptions = require(absolutePath).compilerOptions; + const tsconfig = require(absolutePath); + const tsOptions = _.assign({}, tsconfig.compilerOptions, tsconfig.extends ? require(path.join(extensionsPath, relativeDirname, tsconfig.extends)).compilerOptions : {}); + tsOptions.verbose = false; tsOptions.sourceMap = true; diff --git a/extensions/shared.tsconfig.json b/extensions/shared.tsconfig.json new file mode 100644 index 00000000000..1cbda1bf9f0 --- /dev/null +++ b/extensions/shared.tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "es2017", + "module": "commonjs", + "lib": [ + "es6", + "es2015.promise" + ], + "strict": true, + "alwaysStrict": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noUnusedLocals": true, + "noUnusedParameters": true + } +} \ No newline at end of file diff --git a/extensions/typescript-language-features/tsconfig.json b/extensions/typescript-language-features/tsconfig.json index e9800fa4b00..d83a0817920 100644 --- a/extensions/typescript-language-features/tsconfig.json +++ b/extensions/typescript-language-features/tsconfig.json @@ -1,18 +1,7 @@ { + "extends": "../shared.tsconfig.json", "compilerOptions": { - "target": "es2017", - "module": "commonjs", - "lib": [ - "es6", - "es2015.promise" - ], "outDir": "./out", - "noImplicitAny": true, - "noImplicitReturns": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "strict": true, - "alwaysStrict": true, "experimentalDecorators": true }, "include": [