microsoft / microsoft/TypeScript
Expose `resolvedModules` property of `SourceFile`
Abierto
Nadie ha tomado este issue todavía.
Awaiting More Feedback
Domain: API
Suggestion
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.3k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 117
Descripción
TypeScript Version: 3.6.4
Code
import * as ts from 'typescript'
function createCompilerHost(): ts.CompilerHost {
function fileExists(fileName: string): boolean {
return ts.sys.fileExists(fileName)
}
function readFile(fileName: string): string | undefined {
return ts.sys.readFile(fileName)
}
function getSourceFile(
fileName: string,
languageVersion: ts.ScriptTarget,
) {
const sourceText = ts.sys.readFile(fileName)
return sourceText !== undefined
? ts.createSourceFile(fileName, sourceText, languageVersion)
: undefined
}
function resolveModuleNames(moduleNames) {
return moduleNames.map(() => undefined)
}
return {
getSourceFile,
getDefaultLibFileName: () => 'lib.d.ts',
writeFile: (fileName, content) => ts.sys.writeFile(fileName, content),
getCurrentDirectory: () => ts.sys.getCurrentDirectory(),
getDirectories: path => ts.sys.getDirectories(path),
getCanonicalFileName: fileName =>
ts.sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase(),
getNewLine: () => ts.sys.newLine,
useCaseSensitiveFileNames: () => ts.sys.useCaseSensitiveFileNames,
fileExists,
readFile,
resolveModuleNames,
}
}
const options = {
module: ts.ModuleKind.ES2015,
target: ts.ScriptTarget.ES5,
}
const host = createCompilerHost()
const sourceFiles = ts.createProgram(['./test.ts'], options, host).getSourceFiles()
const matchsFile = sourceFiles
.filter(s => {
return s.resolvedModules.has('typescript')
})
Expected behavior:
Property 'resolvedModules' should exist on type 'SourceFile'
Actual behavior:

Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza localizando el tipo público SourceFile y la ruta createProgram().getSourceFiles() mostrada en la reproducción. Comprueba cómo se representa internamente resolvedModules y, a continuación, verifica que la propiedad esté expuesta en SourceFile y que el ejemplo de TypeScript proporcionado pueda acceder a ella.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript
- Área
- compilers
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100