/*--------------------------------------------------------------------------------------------- * 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 fs = require('fs'); const path = require('path'); const rimraf = require('rimraf'); const root = path.join(__dirname, 'node_modules', 'typescript'); function processRoot() { const toKeep = new Set([ 'lib', 'package.json', ]); for (const name of fs.readdirSync(root)) { if (!toKeep.has(name)) { const filePath = path.join(root, name); console.log(`Removed ${filePath}`); rimraf.sync(filePath); } } } function processLib() { const toDelete = new Set([ 'tsc.js', 'tsserverlibrary.js', 'typescriptServices.js', ]); const libRoot = path.join(root, 'lib'); for (const name of fs.readdirSync(libRoot)) { if (name === 'lib.d.ts' || name.match(/^lib\..*\.d\.ts$/) || name === 'protocol.d.ts') { continue; } if (name === 'typescript.js' || name === 'typescript.d.ts') { // used by html and extension editing continue; } if (toDelete.has(name) || name.match(/\.d\.ts$/)) { try { fs.unlinkSync(path.join(libRoot, name)); console.log(`removed '${path.join(libRoot, name)}'`); } catch (e) { console.warn(e); } } } } processRoot(); processLib();