|  | 
 | /* | 
 | * Licensed to the Apache Software Foundation (ASF) under one | 
 | * or more contributor license agreements.  See the NOTICE file | 
 | * distributed with this work for additional information | 
 | * regarding copyright ownership.  The ASF licenses this file | 
 | * to you under the Apache License, Version 2.0 (the | 
 | * "License"); you may not use this file except in compliance | 
 | * with the License.  You may obtain a copy of the License at | 
 | * | 
 | *   http://www.apache.org/licenses/LICENSE-2.0 | 
 | * | 
 | * Unless required by applicable law or agreed to in writing, | 
 | * software distributed under the License is distributed on an | 
 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
 | * KIND, either express or implied.  See the License for the | 
 | * specific language governing permissions and limitations | 
 | * under the License. | 
 | */ | 
 |  | 
 | const { TypeScriptVersion } = require('@definitelytyped/typescript-versions'); | 
 | const { | 
 |     cleanTypeScriptInstalls, | 
 |     installAllTypeScriptVersions, | 
 |     typeScriptPath | 
 | } = require('@definitelytyped/utils'); | 
 | const { runTsCompile } = require('./pre-publish'); | 
 | const globby = require('globby'); | 
 | const semver = require('semver'); | 
 |  | 
 | const MIN_VERSION = '3.5.0'; | 
 |  | 
 | async function installTs() { | 
 |     // await cleanTypeScriptInstalls(); | 
 |     await installAllTypeScriptVersions(); | 
 | } | 
 |  | 
 | async function runTests() { | 
 |     const compilerOptions = { | 
 |         declaration: false, | 
 |         importHelpers: false, | 
 |         sourceMap: false, | 
 |         pretty: false, | 
 |         removeComments: false, | 
 |         allowJs: false, | 
 |         outDir: __dirname + '/../test/types/tmp', | 
 |         typeRoots: [__dirname + '/../types/dist'], | 
 |         rootDir: __dirname + '/../test/types', | 
 |  | 
 |         // Must pass in most strict cases | 
 |         strict: true | 
 |     }; | 
 |     const testsList = await globby(__dirname + '/../test/types/*.ts'); | 
 |  | 
 |     for (let version of TypeScriptVersion.shipped) { | 
 |         if (semver.lt(version + '.0', MIN_VERSION)) { | 
 |             continue; | 
 |         } | 
 |  | 
 |         console.log(`Testing ts version ${version}`); | 
 |         const ts = require(typeScriptPath(version)); | 
 |         await runTsCompile(ts, compilerOptions, testsList); | 
 |  | 
 |         console.log(`Finished test of ts version ${version}`); | 
 |     } | 
 | } | 
 |  | 
 | async function main() { | 
 |     await installTs(); | 
 |     await runTests(); | 
 | } | 
 |  | 
 | module.exports = main; | 
 |  | 
 | main(); |