You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							75 lines
						
					
					
						
							2.2 KiB
						
					
					
				
			
		
		
	
	
							75 lines
						
					
					
						
							2.2 KiB
						
					
					
				| 
 | |
| /*
 | |
| * 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(); |