From 86e9011eca4cbc6de539ba93afbea7b762a6c1a0 Mon Sep 17 00:00:00 2001 From: Vladislav Botvin Date: Fri, 29 Mar 2019 16:51:08 +0300 Subject: [PATCH] fix: allFiles as set --- src/core.ts | 4 ++-- src/dependencies.ts | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/core.ts b/src/core.ts index 03e957c..45915d1 100644 --- a/src/core.ts +++ b/src/core.ts @@ -31,14 +31,14 @@ export async function lint( const program = ts.createProgram(rootNames, compilerOptions, undefined, oldProgram) const checker = program.getTypeChecker() - const allFiles = {} as {[file: string]: boolean} + const allFiles = new Set() const sourceFileInfos: SourceFileInfo[] = [] const typeCheckResult = await readCache(enableCache) for (const sourceFile of program.getSourceFiles()) { let file = sourceFile.fileName if (!file.includes('node_modules') && (!files || files.includes(file))) { file = path.relative(process.cwd(), file) - allFiles[file] = true + allFiles.add(file) const hash = await getFileHash(file, enableCache) const cache = typeCheckResult.cache[file] sourceFileInfos.push({ diff --git a/src/dependencies.ts b/src/dependencies.ts index 94631b7..3ad7639 100644 --- a/src/dependencies.ts +++ b/src/dependencies.ts @@ -3,7 +3,7 @@ import * as path from 'path' import { SourceFileInfo } from './interfaces' -export function collectDependencies(sourceFileInfos: SourceFileInfo[], allFiles: {[file: string]: boolean}) { +export function collectDependencies(sourceFileInfos: SourceFileInfo[], allFiles: Set) { const dependencies: [string, string][] = [] for (const { sourceFile, file } of sourceFileInfos) { sourceFile.forEachChild(node => { @@ -26,34 +26,34 @@ export function collectDependencies(sourceFileInfos: SourceFileInfo[], allFiles: return dependencies } -function resolveImport(moduleName: string, allFiles: {[file: string]: boolean}) { +function resolveImport(moduleName: string, allFiles: Set) { let resolveResult = moduleName + '.ts' - if (allFiles[resolveResult]) { + if (allFiles.has(resolveResult)) { return resolveResult } resolveResult = moduleName + '.tsx' - if (allFiles[resolveResult]) { + if (allFiles.has(resolveResult)) { return resolveResult } resolveResult = moduleName + '.d.ts' - if (allFiles[resolveResult]) { + if (allFiles.has(resolveResult)) { return resolveResult } resolveResult = path.resolve(moduleName, 'index.ts') - if (allFiles[resolveResult]) { + if (allFiles.has(resolveResult)) { return resolveResult } resolveResult = path.resolve(moduleName, 'index.tsx') - if (allFiles[resolveResult]) { + if (allFiles.has(resolveResult)) { return resolveResult } resolveResult = path.resolve(moduleName, 'index.d.ts') - if (allFiles[resolveResult]) { + if (allFiles.has(resolveResult)) { return resolveResult }