aboutsummaryrefslogtreecommitdiff
path: root/src/client/util/Scripting.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/util/Scripting.ts')
-rw-r--r--src/client/util/Scripting.ts31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/client/util/Scripting.ts b/src/client/util/Scripting.ts
index 400b63a1c..b3c694024 100644
--- a/src/client/util/Scripting.ts
+++ b/src/client/util/Scripting.ts
@@ -120,6 +120,35 @@ class ScriptingCompilerHost {
}
return undefined;
}
+ resolveModuleNames(moduleNames: string[], containingFile: string): any {
+ const resolvedModules: ts.ResolvedModule[] = [];
+ for (const moduleName of moduleNames) {
+ // try to use standard resolution
+ let result = ts.resolveModuleName(
+ moduleName,
+ containingFile,
+ {},
+ {
+ fileExists: (fileName: string) => true as any,
+ readFile: (fileName: string) => 'true',
+ }
+ );
+ if (result.resolvedModule) {
+ resolvedModules.push(result.resolvedModule);
+ } else {
+ // check fallback locations, for simplicity assume that module at location
+ // should be represented by '.d.ts' file
+ // for (const location of moduleSearchLocations) {
+ // const modulePath = path.join(location, moduleName + ".d.ts");
+ // if (fileExists(modulePath)) {
+ // resolvedModules.push({ resolvedFileName: modulePath });
+ // }
+ // }
+ }
+ }
+ return resolvedModules;
+ }
+
// getDefaultLibFileName(options: ts.CompilerOptions): string {
getDefaultLibFileName(options: any): string {
return 'node_modules/typescript/lib/lib.d.ts'; // No idea what this means...
@@ -247,7 +276,7 @@ export function CompileScript(script: string, options: ScriptOptions = {}): Comp
const funcScript = `(function(${paramString})${reqTypes} { ${body} })`;
host.writeFile('file.ts', funcScript);
- if (typecheck) host.writeFile('node_modules/typescript/lib/lib.d.ts', typescriptlib);
+ if (typecheck && false) host.writeFile('node_modules/typescript/lib/lib.d.ts', typescriptlib);
const program = ts.createProgram(['file.ts'], {}, host);
const testResult = program.emit();
const outputText = host.readFile('file.js');