mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Code refactoring for module resolution api (#51675)
* Refactoring so CacheWithRedirects has Key and Value type parameters * ModuleResolutionCache or TypeRefDirectiveCache will look in directory before solving, so ResolutionCache doesnt need this check * Test showing module resolution is not shared because resolution cache doesnt update own options * Enable traceResolution on some of the project reference tests * Simplify CacheWithRedirects and ensure the options are set in all common scenarios so cache can be shared between redirects
This commit is contained in:
@@ -99,6 +99,7 @@ import {
|
||||
createFileDiagnostic,
|
||||
createGetCanonicalFileName,
|
||||
createGetSymbolWalker,
|
||||
createModeAwareCacheKey,
|
||||
createPrinter,
|
||||
createPropertyNameNodeForIdentifierOrLiteral,
|
||||
createScanner,
|
||||
@@ -337,8 +338,8 @@ import {
|
||||
hasAccessorModifier,
|
||||
hasAmbientModifier,
|
||||
hasContextSensitiveParameters,
|
||||
hasDecorators,
|
||||
HasDecorators,
|
||||
hasDecorators,
|
||||
hasDynamicName,
|
||||
hasEffectiveModifier,
|
||||
hasEffectiveModifiers,
|
||||
@@ -347,8 +348,8 @@ import {
|
||||
hasExtension,
|
||||
HasIllegalDecorators,
|
||||
HasIllegalModifiers,
|
||||
hasInitializer,
|
||||
HasInitializer,
|
||||
hasInitializer,
|
||||
hasJSDocNodes,
|
||||
hasJSDocParameterTags,
|
||||
hasJsonModuleEmitEnabled,
|
||||
@@ -7406,7 +7407,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
}
|
||||
const contextFile = getSourceFileOfNode(getOriginalNode(context.enclosingDeclaration));
|
||||
const resolutionMode = overrideImportMode || contextFile?.impliedNodeFormat;
|
||||
const cacheKey = getSpecifierCacheKey(contextFile.path, resolutionMode);
|
||||
const cacheKey = createModeAwareCacheKey(contextFile.path, resolutionMode);
|
||||
const links = getSymbolLinks(symbol);
|
||||
let specifier = links.specifierCache && links.specifierCache.get(cacheKey);
|
||||
if (!specifier) {
|
||||
@@ -7435,10 +7436,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
links.specifierCache.set(cacheKey, specifier);
|
||||
}
|
||||
return specifier;
|
||||
|
||||
function getSpecifierCacheKey(path: string, mode: ResolutionMode | undefined) {
|
||||
return mode === undefined ? path : `${mode}|${path}`;
|
||||
}
|
||||
}
|
||||
|
||||
function symbolToEntityNameNode(symbol: Symbol): EntityName {
|
||||
|
||||
@@ -5,6 +5,7 @@ import {
|
||||
changeAnyExtension,
|
||||
CharacterCodes,
|
||||
combinePaths,
|
||||
CommandLineOption,
|
||||
comparePaths,
|
||||
Comparison,
|
||||
CompilerOptions,
|
||||
@@ -35,6 +36,7 @@ import {
|
||||
getBaseFileName,
|
||||
GetCanonicalFileName,
|
||||
getCommonSourceDirectory,
|
||||
getCompilerOptionValue,
|
||||
getDirectoryPath,
|
||||
GetEffectiveTypeRootsHost,
|
||||
getEmitModuleKind,
|
||||
@@ -66,14 +68,13 @@ import {
|
||||
ModuleKind,
|
||||
ModuleResolutionHost,
|
||||
ModuleResolutionKind,
|
||||
moduleResolutionOptionDeclarations,
|
||||
noop,
|
||||
noopPush,
|
||||
normalizePath,
|
||||
normalizeSlashes,
|
||||
optionsHaveModuleResolutionChanges,
|
||||
PackageId,
|
||||
packageIdToString,
|
||||
ParsedCommandLine,
|
||||
Path,
|
||||
pathIsRelative,
|
||||
Pattern,
|
||||
@@ -718,58 +719,97 @@ export interface PerModuleNameCache {
|
||||
set(directory: string, result: ResolvedModuleWithFailedLookupLocations): void;
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
export interface CacheWithRedirects<T> {
|
||||
getOwnMap: () => Map<string, T>;
|
||||
redirectsMap: Map<Path, Map<string, T>>;
|
||||
getOrCreateMapOfCacheRedirects(redirectedReference: ResolvedProjectReference | undefined): Map<string, T>;
|
||||
clear(): void;
|
||||
setOwnOptions(newOptions: CompilerOptions): void;
|
||||
setOwnMap(newOwnMap: Map<string, T>): void;
|
||||
function compilerOptionValueToString(value: unknown): string {
|
||||
if (value === null || typeof value !== "object") { // eslint-disable-line no-null/no-null
|
||||
return "" + value;
|
||||
}
|
||||
if (isArray(value)) {
|
||||
return `[${value.map(e => compilerOptionValueToString(e))?.join(",")}]`;
|
||||
}
|
||||
let str = "{";
|
||||
for (const key in value) {
|
||||
if (hasProperty(value, key)) {
|
||||
str += `${key}: ${compilerOptionValueToString((value as any)[key])}`;
|
||||
}
|
||||
}
|
||||
return str + "}";
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
export function createCacheWithRedirects<T>(options?: CompilerOptions): CacheWithRedirects<T> {
|
||||
let ownMap: Map<string, T> = new Map();
|
||||
const redirectsMap = new Map<Path, Map<string, T>>();
|
||||
export function getKeyForCompilerOptions(options: CompilerOptions, affectingOptionDeclarations: readonly CommandLineOption[]) {
|
||||
return affectingOptionDeclarations.map(option => compilerOptionValueToString(getCompilerOptionValue(options, option))).join("|") + (options.pathsBasePath ? `|${options.pathsBasePath}` : undefined);
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
export interface CacheWithRedirects<K, V> {
|
||||
getOrCreateMapOfCacheRedirects(redirectedReference: ResolvedProjectReference | undefined): Map<K, V>;
|
||||
update(newOptions: CompilerOptions): void;
|
||||
clear(): void;
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
export function createCacheWithRedirects<K, V>(ownOptions: CompilerOptions | undefined): CacheWithRedirects<K, V> {
|
||||
type RedirectsCacheKey = string & { __compilerOptionsKey: any; };
|
||||
const redirectsMap = new Map<CompilerOptions, Map<K, V>>();
|
||||
const optionsToRedirectsKey = new Map<CompilerOptions, RedirectsCacheKey>();
|
||||
const redirectsKeyToMap = new Map<RedirectsCacheKey, Map<K, V>>();
|
||||
let ownMap = new Map<K, V>();
|
||||
if (ownOptions) redirectsMap.set(ownOptions, ownMap);
|
||||
return {
|
||||
getOwnMap,
|
||||
redirectsMap,
|
||||
getOrCreateMapOfCacheRedirects,
|
||||
update,
|
||||
clear,
|
||||
setOwnOptions,
|
||||
setOwnMap
|
||||
};
|
||||
|
||||
function getOwnMap() {
|
||||
return ownMap;
|
||||
function getOrCreateMapOfCacheRedirects(redirectedReference: ResolvedProjectReference | undefined): Map<K, V> {
|
||||
return redirectedReference ?
|
||||
getOrCreateMap(redirectedReference.commandLine.options) :
|
||||
ownMap;
|
||||
}
|
||||
|
||||
function setOwnOptions(newOptions: CompilerOptions) {
|
||||
options = newOptions;
|
||||
}
|
||||
|
||||
function setOwnMap(newOwnMap: Map<string, T>) {
|
||||
ownMap = newOwnMap;
|
||||
}
|
||||
|
||||
function getOrCreateMapOfCacheRedirects(redirectedReference: ResolvedProjectReference | undefined) {
|
||||
if (!redirectedReference) {
|
||||
return ownMap;
|
||||
function update(newOptions: CompilerOptions) {
|
||||
if (ownOptions !== newOptions) {
|
||||
if (ownOptions) ownMap = getOrCreateMap(newOptions); // set new map for new options as ownMap
|
||||
else redirectsMap.set(newOptions, ownMap); // Use existing map if oldOptions = undefined
|
||||
ownOptions = newOptions;
|
||||
}
|
||||
const path = redirectedReference.sourceFile.path;
|
||||
let redirects = redirectsMap.get(path);
|
||||
if (!redirects) {
|
||||
// Reuse map if redirected reference map uses same resolution
|
||||
redirects = !options || optionsHaveModuleResolutionChanges(options, redirectedReference.commandLine.options) ? new Map() : ownMap;
|
||||
redirectsMap.set(path, redirects);
|
||||
}
|
||||
|
||||
function getOrCreateMap(redirectOptions: CompilerOptions): Map<K, V> {
|
||||
let result = redirectsMap.get(redirectOptions);
|
||||
if (result) return result;
|
||||
const key = getRedirectsCacheKey(redirectOptions);
|
||||
result = redirectsKeyToMap.get(key);
|
||||
if (!result) {
|
||||
if (ownOptions) {
|
||||
const ownKey = getRedirectsCacheKey(ownOptions);
|
||||
if (ownKey === key) result = ownMap;
|
||||
else if (!redirectsKeyToMap.has(ownKey)) redirectsKeyToMap.set(ownKey, ownMap);
|
||||
}
|
||||
redirectsKeyToMap.set(key, result ??= new Map());
|
||||
}
|
||||
return redirects;
|
||||
redirectsMap.set(redirectOptions, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
function clear() {
|
||||
const ownKey = ownOptions && optionsToRedirectsKey.get(ownOptions);
|
||||
ownMap.clear();
|
||||
redirectsMap.clear();
|
||||
optionsToRedirectsKey.clear();
|
||||
redirectsKeyToMap.clear();
|
||||
if (ownOptions) {
|
||||
if (ownKey) optionsToRedirectsKey.set(ownOptions, ownKey);
|
||||
redirectsMap.set(ownOptions, ownMap);
|
||||
}
|
||||
}
|
||||
|
||||
function getRedirectsCacheKey(options: CompilerOptions) {
|
||||
let result = optionsToRedirectsKey.get(options);
|
||||
if (!result) {
|
||||
optionsToRedirectsKey.set(options, result = getKeyForCompilerOptions(options, moduleResolutionOptionDeclarations) as RedirectsCacheKey);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -794,7 +834,7 @@ function createPackageJsonInfoCache(currentDirectory: string, getCanonicalFileNa
|
||||
}
|
||||
}
|
||||
|
||||
function getOrCreateCache<T>(cacheWithRedirects: CacheWithRedirects<T>, redirectedReference: ResolvedProjectReference | undefined, key: string, create: () => T): T {
|
||||
function getOrCreateCache<K, V>(cacheWithRedirects: CacheWithRedirects<K, V>, redirectedReference: ResolvedProjectReference | undefined, key: K, create: () => V): V {
|
||||
const cache = cacheWithRedirects.getOrCreateMapOfCacheRedirects(redirectedReference);
|
||||
let result = cache.get(key);
|
||||
if (!result) {
|
||||
@@ -804,35 +844,7 @@ function getOrCreateCache<T>(cacheWithRedirects: CacheWithRedirects<T>, redirect
|
||||
return result;
|
||||
}
|
||||
|
||||
function updateRedirectsMap<T>(
|
||||
options: CompilerOptions,
|
||||
directoryToModuleNameMap: CacheWithRedirects<ModeAwareCache<T>>,
|
||||
moduleNameToDirectoryMap?: CacheWithRedirects<PerModuleNameCache>
|
||||
) {
|
||||
if (!options.configFile) return;
|
||||
if (directoryToModuleNameMap.redirectsMap.size === 0) {
|
||||
// The own map will be for projectCompilerOptions
|
||||
Debug.assert(!moduleNameToDirectoryMap || moduleNameToDirectoryMap.redirectsMap.size === 0);
|
||||
Debug.assert(directoryToModuleNameMap.getOwnMap().size === 0);
|
||||
Debug.assert(!moduleNameToDirectoryMap || moduleNameToDirectoryMap.getOwnMap().size === 0);
|
||||
directoryToModuleNameMap.redirectsMap.set(options.configFile.path, directoryToModuleNameMap.getOwnMap());
|
||||
moduleNameToDirectoryMap?.redirectsMap.set(options.configFile.path, moduleNameToDirectoryMap.getOwnMap());
|
||||
}
|
||||
else {
|
||||
// Set correct own map
|
||||
Debug.assert(!moduleNameToDirectoryMap || moduleNameToDirectoryMap.redirectsMap.size > 0);
|
||||
const ref: ResolvedProjectReference = {
|
||||
sourceFile: options.configFile,
|
||||
commandLine: { options } as ParsedCommandLine
|
||||
};
|
||||
directoryToModuleNameMap.setOwnMap(directoryToModuleNameMap.getOrCreateMapOfCacheRedirects(ref));
|
||||
moduleNameToDirectoryMap?.setOwnMap(moduleNameToDirectoryMap.getOrCreateMapOfCacheRedirects(ref));
|
||||
}
|
||||
directoryToModuleNameMap.setOwnOptions(options);
|
||||
moduleNameToDirectoryMap?.setOwnOptions(options);
|
||||
}
|
||||
|
||||
function createPerDirectoryResolutionCache<T>(currentDirectory: string, getCanonicalFileName: GetCanonicalFileName, directoryToModuleNameMap: CacheWithRedirects<ModeAwareCache<T>>): PerDirectoryResolutionCache<T> {
|
||||
function createPerDirectoryResolutionCache<T>(currentDirectory: string, getCanonicalFileName: GetCanonicalFileName, directoryToModuleNameMap: CacheWithRedirects<Path, ModeAwareCache<T>>): PerDirectoryResolutionCache<T> {
|
||||
return {
|
||||
getOrCreateCacheForDirectory,
|
||||
clear,
|
||||
@@ -844,19 +856,24 @@ function createPerDirectoryResolutionCache<T>(currentDirectory: string, getCanon
|
||||
}
|
||||
|
||||
function update(options: CompilerOptions) {
|
||||
updateRedirectsMap(options, directoryToModuleNameMap);
|
||||
directoryToModuleNameMap.update(options);
|
||||
}
|
||||
|
||||
function getOrCreateCacheForDirectory(directoryName: string, redirectedReference?: ResolvedProjectReference) {
|
||||
const path = toPath(directoryName, currentDirectory, getCanonicalFileName);
|
||||
return getOrCreateCache<ModeAwareCache<T>>(directoryToModuleNameMap, redirectedReference, path, () => createModeAwareCache());
|
||||
return getOrCreateCache(directoryToModuleNameMap, redirectedReference, path, () => createModeAwareCache());
|
||||
}
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
export type ModeAwareCacheKey = string & { __modeAwareCacheKey: any; };
|
||||
/** @internal */
|
||||
export function createModeAwareCacheKey(specifier: string, mode: ResolutionMode) {
|
||||
return (mode === undefined ? specifier : `${mode}|${specifier}`) as ModeAwareCacheKey;
|
||||
}
|
||||
/** @internal */
|
||||
export function createModeAwareCache<T>(): ModeAwareCache<T> {
|
||||
const underlying = new Map<ModeAwareCacheKey, T>();
|
||||
type ModeAwareCacheKey = string & { __modeAwareCacheKey: any; };
|
||||
const memoizedReverseKeys = new Map<ModeAwareCacheKey, [specifier: string, mode: ResolutionMode]>();
|
||||
|
||||
const cache: ModeAwareCache<T> = {
|
||||
@@ -887,7 +904,7 @@ export function createModeAwareCache<T>(): ModeAwareCache<T> {
|
||||
return cache;
|
||||
|
||||
function getUnderlyingCacheKey(specifier: string, mode: ResolutionMode) {
|
||||
const result = (mode === undefined ? specifier : `${mode}|${specifier}`) as ModeAwareCacheKey;
|
||||
const result = createModeAwareCacheKey(specifier, mode);
|
||||
memoizedReverseKeys.set(result, [specifier, mode]);
|
||||
return result;
|
||||
}
|
||||
@@ -919,24 +936,10 @@ export function createModuleResolutionCache(
|
||||
currentDirectory: string,
|
||||
getCanonicalFileName: (s: string) => string,
|
||||
options?: CompilerOptions
|
||||
): ModuleResolutionCache;
|
||||
/** @internal */
|
||||
export function createModuleResolutionCache(
|
||||
currentDirectory: string,
|
||||
getCanonicalFileName: GetCanonicalFileName,
|
||||
options: undefined,
|
||||
directoryToModuleNameMap: CacheWithRedirects<ModeAwareCache<ResolvedModuleWithFailedLookupLocations>>,
|
||||
moduleNameToDirectoryMap: CacheWithRedirects<PerModuleNameCache>,
|
||||
): ModuleResolutionCache;
|
||||
export function createModuleResolutionCache(
|
||||
currentDirectory: string,
|
||||
getCanonicalFileName: GetCanonicalFileName,
|
||||
options?: CompilerOptions,
|
||||
directoryToModuleNameMap?: CacheWithRedirects<ModeAwareCache<ResolvedModuleWithFailedLookupLocations>>,
|
||||
moduleNameToDirectoryMap?: CacheWithRedirects<PerModuleNameCache>,
|
||||
): ModuleResolutionCache {
|
||||
const perDirectoryResolutionCache = createPerDirectoryResolutionCache(currentDirectory, getCanonicalFileName, directoryToModuleNameMap ||= createCacheWithRedirects(options));
|
||||
moduleNameToDirectoryMap ||= createCacheWithRedirects(options);
|
||||
const directoryToModuleNameMap = createCacheWithRedirects<Path, ModeAwareCache<ResolvedModuleWithFailedLookupLocations>>(options);
|
||||
const perDirectoryResolutionCache = createPerDirectoryResolutionCache(currentDirectory, getCanonicalFileName, directoryToModuleNameMap);
|
||||
const moduleNameToDirectoryMap = createCacheWithRedirects<ModeAwareCacheKey, PerModuleNameCache>(options);
|
||||
const packageJsonInfoCache = createPackageJsonInfoCache(currentDirectory, getCanonicalFileName);
|
||||
|
||||
return {
|
||||
@@ -956,20 +959,21 @@ export function createModuleResolutionCache(
|
||||
|
||||
function clearAllExceptPackageJsonInfoCache() {
|
||||
perDirectoryResolutionCache.clear();
|
||||
moduleNameToDirectoryMap!.clear();
|
||||
moduleNameToDirectoryMap.clear();
|
||||
}
|
||||
|
||||
function update(options: CompilerOptions) {
|
||||
updateRedirectsMap(options, directoryToModuleNameMap!, moduleNameToDirectoryMap);
|
||||
directoryToModuleNameMap.update(options);
|
||||
moduleNameToDirectoryMap.update(options);
|
||||
}
|
||||
|
||||
function getOrCreateCacheForModuleName(nonRelativeModuleName: string, mode: ResolutionMode, redirectedReference?: ResolvedProjectReference): PerModuleNameCache {
|
||||
Debug.assert(!isExternalModuleNameRelative(nonRelativeModuleName));
|
||||
return getOrCreateCache(moduleNameToDirectoryMap!, redirectedReference, mode === undefined ? nonRelativeModuleName : `${mode}|${nonRelativeModuleName}`, createPerModuleNameCache);
|
||||
return getOrCreateCache(moduleNameToDirectoryMap, redirectedReference, createModeAwareCacheKey(nonRelativeModuleName, mode), createPerModuleNameCache);
|
||||
}
|
||||
|
||||
function createPerModuleNameCache(): PerModuleNameCache {
|
||||
const directoryPathMap = new Map<string, ResolvedModuleWithFailedLookupLocations>();
|
||||
const directoryPathMap = new Map<Path, ResolvedModuleWithFailedLookupLocations>();
|
||||
|
||||
return { get, set };
|
||||
|
||||
@@ -1046,23 +1050,9 @@ export function createTypeReferenceDirectiveResolutionCache(
|
||||
getCanonicalFileName: (s: string) => string,
|
||||
options?: CompilerOptions,
|
||||
packageJsonInfoCache?: PackageJsonInfoCache,
|
||||
): TypeReferenceDirectiveResolutionCache;
|
||||
/** @internal */
|
||||
export function createTypeReferenceDirectiveResolutionCache(
|
||||
currentDirectory: string,
|
||||
getCanonicalFileName: GetCanonicalFileName,
|
||||
options: undefined,
|
||||
packageJsonInfoCache: PackageJsonInfoCache | undefined,
|
||||
directoryToModuleNameMap: CacheWithRedirects<ModeAwareCache<ResolvedTypeReferenceDirectiveWithFailedLookupLocations>>,
|
||||
): TypeReferenceDirectiveResolutionCache;
|
||||
export function createTypeReferenceDirectiveResolutionCache(
|
||||
currentDirectory: string,
|
||||
getCanonicalFileName: GetCanonicalFileName,
|
||||
options?: CompilerOptions,
|
||||
packageJsonInfoCache?: PackageJsonInfoCache | undefined,
|
||||
directoryToModuleNameMap?: CacheWithRedirects<ModeAwareCache<ResolvedTypeReferenceDirectiveWithFailedLookupLocations>>,
|
||||
): TypeReferenceDirectiveResolutionCache {
|
||||
const perDirectoryResolutionCache = createPerDirectoryResolutionCache(currentDirectory, getCanonicalFileName, directoryToModuleNameMap ||= createCacheWithRedirects(options));
|
||||
const directoryToModuleNameMap = createCacheWithRedirects<Path, ModeAwareCache<ResolvedTypeReferenceDirectiveWithFailedLookupLocations>>(options);
|
||||
const perDirectoryResolutionCache = createPerDirectoryResolutionCache(currentDirectory, getCanonicalFileName, directoryToModuleNameMap);
|
||||
packageJsonInfoCache ||= createPackageJsonInfoCache(currentDirectory, getCanonicalFileName);
|
||||
|
||||
return {
|
||||
|
||||
+8
-10
@@ -814,17 +814,16 @@ export function loadWithTypeDirectiveCache<T>(names: string[] | readonly FileRef
|
||||
return [];
|
||||
}
|
||||
const resolutions: T[] = [];
|
||||
const cache = new Map<string, T>();
|
||||
const cache = createModeAwareCache<T>();
|
||||
for (const name of names) {
|
||||
let result: T;
|
||||
const mode = getModeForFileReference(name, containingFileMode);
|
||||
const strName = getResolutionName(name);
|
||||
const cacheKey = mode !== undefined ? `${mode}|${strName}` : strName;
|
||||
if (cache.has(cacheKey)) {
|
||||
result = cache.get(cacheKey)!;
|
||||
if (cache.has(strName, mode)) {
|
||||
result = cache.get(strName, mode)!;
|
||||
}
|
||||
else {
|
||||
cache.set(cacheKey, result = loader(strName, containingFile, redirectedReference, mode));
|
||||
cache.set(strName, mode, result = loader(strName, containingFile, redirectedReference, mode));
|
||||
}
|
||||
resolutions.push(result);
|
||||
}
|
||||
@@ -944,7 +943,7 @@ export function loadWithModeAwareCache<T>(names: readonly StringLiteralLike[] |
|
||||
return [];
|
||||
}
|
||||
const resolutions: T[] = [];
|
||||
const cache = new Map<string, T>();
|
||||
const cache = createModeAwareCache<T>();
|
||||
let i = 0;
|
||||
for (const entry of resolutionInfo ? resolutionInfo.names : names) {
|
||||
let result: T;
|
||||
@@ -953,12 +952,11 @@ export function loadWithModeAwareCache<T>(names: readonly StringLiteralLike[] |
|
||||
getModeForResolutionAtIndex(containingFile, i);
|
||||
i++;
|
||||
const name = isString(entry) ? entry : entry.text;
|
||||
const cacheKey = mode !== undefined ? `${mode}|${name}` : name;
|
||||
if (cache.has(cacheKey)) {
|
||||
result = cache.get(cacheKey)!;
|
||||
if (cache.has(name, mode)) {
|
||||
result = cache.get(name, mode)!;
|
||||
}
|
||||
else {
|
||||
cache.set(cacheKey, result = loader(name, mode, containingFileName, redirectedReference));
|
||||
cache.set(name, mode, result = loader(name, mode, containingFileName, redirectedReference));
|
||||
}
|
||||
resolutions.push(result);
|
||||
}
|
||||
|
||||
@@ -2,14 +2,12 @@ import * as ts from "./_namespaces/ts";
|
||||
import {
|
||||
arrayToMap,
|
||||
CachedDirectoryStructureHost,
|
||||
CacheWithRedirects,
|
||||
CharacterCodes,
|
||||
clearMap,
|
||||
closeFileWatcher,
|
||||
closeFileWatcherOf,
|
||||
CompilerOptions,
|
||||
contains,
|
||||
createCacheWithRedirects,
|
||||
createModeAwareCache,
|
||||
createModuleResolutionCache,
|
||||
createMultiMap,
|
||||
@@ -65,7 +63,6 @@ import {
|
||||
parseNodeModuleFromPath,
|
||||
Path,
|
||||
pathContainsNodeModules,
|
||||
PerModuleNameCache,
|
||||
Program,
|
||||
removeSuffix,
|
||||
removeTrailingDirectorySeparator,
|
||||
@@ -292,24 +289,18 @@ export function createResolutionCache(resolutionHost: ResolutionCacheHost, rootD
|
||||
// The key in the map is source file's path.
|
||||
// The values are Map of resolutions with key being name lookedup.
|
||||
const resolvedModuleNames = new Map<Path, ModeAwareCache<CachedResolvedModuleWithFailedLookupLocations>>();
|
||||
const perDirectoryResolvedModuleNames: CacheWithRedirects<ModeAwareCache<CachedResolvedModuleWithFailedLookupLocations>> = createCacheWithRedirects();
|
||||
const nonRelativeModuleNameCache: CacheWithRedirects<PerModuleNameCache> = createCacheWithRedirects();
|
||||
const moduleResolutionCache = createModuleResolutionCache(
|
||||
getCurrentDirectory(),
|
||||
resolutionHost.getCanonicalFileName,
|
||||
/*options*/ undefined,
|
||||
perDirectoryResolvedModuleNames,
|
||||
nonRelativeModuleNameCache,
|
||||
resolutionHost.getCompilationSettings(),
|
||||
);
|
||||
|
||||
const resolvedTypeReferenceDirectives = new Map<Path, ModeAwareCache<CachedResolvedTypeReferenceDirectiveWithFailedLookupLocations>>();
|
||||
const perDirectoryResolvedTypeReferenceDirectives: CacheWithRedirects<ModeAwareCache<CachedResolvedTypeReferenceDirectiveWithFailedLookupLocations>> = createCacheWithRedirects();
|
||||
const typeReferenceDirectiveResolutionCache = createTypeReferenceDirectiveResolutionCache(
|
||||
getCurrentDirectory(),
|
||||
resolutionHost.getCanonicalFileName,
|
||||
/*options*/ undefined,
|
||||
resolutionHost.getCompilationSettings(),
|
||||
moduleResolutionCache.getPackageJsonInfoCache(),
|
||||
perDirectoryResolvedTypeReferenceDirectives
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -387,6 +378,8 @@ export function createResolutionCache(resolutionHost: ResolutionCacheHost, rootD
|
||||
affectingPathChecksForFile = undefined;
|
||||
moduleResolutionCache.clear();
|
||||
typeReferenceDirectiveResolutionCache.clear();
|
||||
moduleResolutionCache.update(resolutionHost.getCompilationSettings());
|
||||
typeReferenceDirectiveResolutionCache.update(resolutionHost.getCompilationSettings());
|
||||
impliedFormatPackageJsons.clear();
|
||||
hasChangedAutomaticTypeDirectiveNames = false;
|
||||
}
|
||||
@@ -514,8 +507,7 @@ export function createResolutionCache(resolutionHost: ResolutionCacheHost, rootD
|
||||
names: readonly string[] | readonly FileReference[];
|
||||
containingFile: string;
|
||||
redirectedReference: ResolvedProjectReference | undefined;
|
||||
cache: Map<Path, ModeAwareCache<T>>;
|
||||
perDirectoryCacheWithRedirects: CacheWithRedirects<ModeAwareCache<T>>;
|
||||
perFileCache: Map<Path, ModeAwareCache<T>>;
|
||||
loader: (name: string, containingFile: string, options: CompilerOptions, host: ModuleResolutionHost, redirectedReference?: ResolvedProjectReference, containingSourceFile?: SourceFile, resolutionMode?: ResolutionMode) => T;
|
||||
getResolutionWithResolvedFileName: GetResolutionWithResolvedFileName<T, R>;
|
||||
shouldRetryResolution: (t: T) => boolean;
|
||||
@@ -527,19 +519,12 @@ export function createResolutionCache(resolutionHost: ResolutionCacheHost, rootD
|
||||
}
|
||||
function resolveNamesWithLocalCache<T extends ResolutionWithFailedLookupLocations, R extends ResolutionWithResolvedFileName>({
|
||||
names, containingFile, redirectedReference,
|
||||
cache, perDirectoryCacheWithRedirects,
|
||||
perFileCache,
|
||||
loader, getResolutionWithResolvedFileName,
|
||||
shouldRetryResolution, reusedNames, resolutionInfo, logChanges, containingSourceFile, containingSourceFileMode
|
||||
}: ResolveNamesWithLocalCacheInput<T, R>): (R | undefined)[] {
|
||||
const path = resolutionHost.toPath(containingFile);
|
||||
const resolutionsInFile = cache.get(path) || cache.set(path, createModeAwareCache()).get(path)!;
|
||||
const dirPath = getDirectoryPath(path);
|
||||
const perDirectoryCache = perDirectoryCacheWithRedirects.getOrCreateMapOfCacheRedirects(redirectedReference);
|
||||
let perDirectoryResolution = perDirectoryCache.get(dirPath);
|
||||
if (!perDirectoryResolution) {
|
||||
perDirectoryResolution = createModeAwareCache();
|
||||
perDirectoryCache.set(dirPath, perDirectoryResolution);
|
||||
}
|
||||
const resolutionsInFile = perFileCache.get(path) || perFileCache.set(path, createModeAwareCache()).get(path)!;
|
||||
const resolvedModules: (R | undefined)[] = [];
|
||||
const compilerOptions = resolutionHost.getCompilationSettings();
|
||||
const hasInvalidatedNonRelativeUnresolvedImport = logChanges && isFileWithInvalidatedNonRelativeUnresolvedImports(path);
|
||||
@@ -575,39 +560,9 @@ export function createResolutionCache(resolutionHost: ResolutionCacheHost, rootD
|
||||
// If the name is unresolved import that was invalidated, recalculate
|
||||
(hasInvalidatedNonRelativeUnresolvedImport && !isExternalModuleNameRelative(name) && shouldRetryResolution(resolution))) {
|
||||
const existingResolution = resolution;
|
||||
const resolutionInDirectory = perDirectoryResolution.get(name, mode);
|
||||
if (resolutionInDirectory) {
|
||||
resolution = resolutionInDirectory;
|
||||
const host = resolutionHost.getCompilerHost?.() || resolutionHost;
|
||||
if (isTraceEnabled(compilerOptions, host)) {
|
||||
const resolved = getResolutionWithResolvedFileName(resolution);
|
||||
trace(
|
||||
host,
|
||||
loader === resolveModuleName as unknown ?
|
||||
resolved?.resolvedFileName ?
|
||||
resolved.packageId ?
|
||||
Diagnostics.Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4 :
|
||||
Diagnostics.Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3 :
|
||||
Diagnostics.Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved :
|
||||
resolved?.resolvedFileName ?
|
||||
resolved.packageId ?
|
||||
Diagnostics.Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4 :
|
||||
Diagnostics.Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3 :
|
||||
Diagnostics.Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved,
|
||||
name,
|
||||
containingFile,
|
||||
getDirectoryPath(containingFile),
|
||||
resolved?.resolvedFileName,
|
||||
resolved?.packageId && packageIdToString(resolved.packageId)
|
||||
);
|
||||
}
|
||||
}
|
||||
else {
|
||||
resolution = loader(name, containingFile, compilerOptions, resolutionHost.getCompilerHost?.() || resolutionHost, redirectedReference, containingSourceFile, mode);
|
||||
perDirectoryResolution.set(name, mode, resolution);
|
||||
if (resolutionHost.onDiscoveredSymlink && resolutionIsSymlink(resolution)) {
|
||||
resolutionHost.onDiscoveredSymlink();
|
||||
}
|
||||
resolution = loader(name, containingFile, compilerOptions, resolutionHost.getCompilerHost?.() || resolutionHost, redirectedReference, containingSourceFile, mode);
|
||||
if (resolutionHost.onDiscoveredSymlink && resolutionIsSymlink(resolution)) {
|
||||
resolutionHost.onDiscoveredSymlink();
|
||||
}
|
||||
resolutionsInFile.set(name, mode, resolution);
|
||||
watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, path, getResolutionWithResolvedFileName);
|
||||
@@ -703,8 +658,7 @@ export function createResolutionCache(resolutionHost: ResolutionCacheHost, rootD
|
||||
names: typeDirectiveNames,
|
||||
containingFile,
|
||||
redirectedReference,
|
||||
cache: resolvedTypeReferenceDirectives,
|
||||
perDirectoryCacheWithRedirects: perDirectoryResolvedTypeReferenceDirectives,
|
||||
perFileCache: resolvedTypeReferenceDirectives,
|
||||
loader: resolveTypeReferenceDirective,
|
||||
getResolutionWithResolvedFileName: getResolvedTypeReferenceDirective,
|
||||
shouldRetryResolution: resolution => resolution.resolvedTypeReferenceDirective === undefined,
|
||||
@@ -725,8 +679,7 @@ export function createResolutionCache(resolutionHost: ResolutionCacheHost, rootD
|
||||
names: moduleNames,
|
||||
containingFile,
|
||||
redirectedReference,
|
||||
cache: resolvedModuleNames,
|
||||
perDirectoryCacheWithRedirects: perDirectoryResolvedModuleNames,
|
||||
perFileCache: resolvedModuleNames,
|
||||
loader: resolveModuleName,
|
||||
getResolutionWithResolvedFileName: getResolvedModule,
|
||||
shouldRetryResolution: resolution => !resolution.resolvedModule || !resolutionExtensionIsTSOrJson(resolution.resolvedModule.extension),
|
||||
|
||||
@@ -4,6 +4,7 @@ import {
|
||||
EmitHelperFactory,
|
||||
MapLike,
|
||||
ModeAwareCache,
|
||||
ModeAwareCacheKey,
|
||||
ModuleResolutionCache,
|
||||
MultiMap,
|
||||
NodeFactoryFlags,
|
||||
@@ -5503,7 +5504,7 @@ export interface SymbolLinks {
|
||||
enumKind?: EnumKind; // Enum declaration classification
|
||||
originatingImport?: ImportDeclaration | ImportCall; // Import declaration which produced the symbol, present if the symbol is marked as uncallable but had call signatures in `resolveESModuleSymbol`
|
||||
lateSymbol?: Symbol; // Late-bound symbol for a computed property
|
||||
specifierCache?: Map<string, string>; // For symbols corresponding to external modules, a cache of incoming path -> module specifier name mappings
|
||||
specifierCache?: Map<ModeAwareCacheKey, string>; // For symbols corresponding to external modules, a cache of incoming path -> module specifier name mappings
|
||||
extendedContainers?: Symbol[]; // Containers (other than the parent) which this symbol is aliased in
|
||||
extendedContainersByFile?: Map<NodeId, Symbol[]>; // Containers (other than the parent) which this symbol is aliased in
|
||||
variances?: VarianceFlags[]; // Alias symbol type argument variance cache
|
||||
|
||||
@@ -8,17 +8,14 @@ import {
|
||||
ensureScriptKind,
|
||||
firstDefinedIterator,
|
||||
forEachEntry,
|
||||
getCompilerOptionValue,
|
||||
getEmitScriptTarget,
|
||||
getImpliedNodeFormatForFile,
|
||||
getKeyForCompilerOptions,
|
||||
getOrUpdate,
|
||||
getSetExternalModuleIndicator,
|
||||
hasProperty,
|
||||
identity,
|
||||
isArray,
|
||||
IScriptSnapshot,
|
||||
isDeclarationFileName,
|
||||
map,
|
||||
MinimalResolutionCacheHost,
|
||||
Path,
|
||||
ResolutionMode,
|
||||
@@ -407,24 +404,8 @@ export function createDocumentRegistryInternal(useCaseSensitiveFileNames?: boole
|
||||
};
|
||||
}
|
||||
|
||||
function compilerOptionValueToString(value: unknown): string {
|
||||
if (value === null || typeof value !== "object") { // eslint-disable-line no-null/no-null
|
||||
return "" + value;
|
||||
}
|
||||
if (isArray(value)) {
|
||||
return `[${map(value, e => compilerOptionValueToString(e))?.join(",")}]`;
|
||||
}
|
||||
let str = "{";
|
||||
for (const key in value) {
|
||||
if (hasProperty(value, key)) {
|
||||
str += `${key}: ${compilerOptionValueToString((value as any)[key])}`;
|
||||
}
|
||||
}
|
||||
return str + "}";
|
||||
}
|
||||
|
||||
function getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey {
|
||||
return sourceFileAffectingCompilerOptions.map(option => compilerOptionValueToString(getCompilerOptionValue(settings, option))).join("|") + (settings.pathsBasePath ? `|${settings.pathsBasePath}` : undefined) as DocumentRegistryBucketKey;
|
||||
return getKeyForCompilerOptions(settings, sourceFileAffectingCompilerOptions) as DocumentRegistryBucketKey;
|
||||
}
|
||||
|
||||
function getDocumentRegistryBucketKeyWithMode(key: DocumentRegistryBucketKey, mode: ResolutionMode) {
|
||||
|
||||
@@ -30,7 +30,7 @@ describe("unittests:: tsc-watch:: projects with references: invoking when refere
|
||||
],
|
||||
{ currentDirectory: `/user/username/projects/sample1` }
|
||||
),
|
||||
commandLineArgs: ["-w", "-p", "tests"],
|
||||
commandLineArgs: ["-w", "-p", "tests", "--traceResolution", "--explainFiles"],
|
||||
changes: [
|
||||
{
|
||||
caption: "local edit in logic ts, and build logic",
|
||||
@@ -91,7 +91,7 @@ describe("unittests:: tsc-watch:: projects with references: invoking when refere
|
||||
],
|
||||
{ currentDirectory: `/user/username/projects/transitiveReferences` }
|
||||
),
|
||||
commandLineArgs: ["-w", "-p", "tsconfig.c.json"],
|
||||
commandLineArgs: ["-w", "-p", "tsconfig.c.json", "--traceResolution", "--explainFiles"],
|
||||
changes: [
|
||||
{
|
||||
caption: "non local edit b ts, and build b",
|
||||
@@ -179,7 +179,7 @@ describe("unittests:: tsc-watch:: projects with references: invoking when refere
|
||||
],
|
||||
{ currentDirectory: `/user/username/projects/transitiveReferences` }
|
||||
),
|
||||
commandLineArgs: ["-w", "-p", "tsconfig.c.json"],
|
||||
commandLineArgs: ["-w", "-p", "tsconfig.c.json", "--traceResolution", "--explainFiles"],
|
||||
changes: ts.emptyArray,
|
||||
baselineDependencies: true,
|
||||
});
|
||||
@@ -234,7 +234,7 @@ X;`,
|
||||
],
|
||||
{ currentDirectory: `/user/username/projects/transitiveReferences` }
|
||||
),
|
||||
commandLineArgs: ["-w", "-p", "c"],
|
||||
commandLineArgs: ["-w", "-p", "c", "--traceResolution", "--explainFiles"],
|
||||
changes: [
|
||||
{
|
||||
caption: "non local edit b ts, and build b",
|
||||
@@ -353,7 +353,7 @@ X;`,
|
||||
],
|
||||
{ currentDirectory: `/user/username/projects/transitiveReferences` }
|
||||
),
|
||||
commandLineArgs: ["-w", "-p", "c"],
|
||||
commandLineArgs: ["-w", "-p", "c", "--traceResolution", "--explainFiles"],
|
||||
changes: [
|
||||
{
|
||||
caption: "non local edit b ts, and build b",
|
||||
@@ -439,7 +439,7 @@ X;`,
|
||||
],
|
||||
{ currentDirectory: `/user/username/projects/sample1` }
|
||||
),
|
||||
commandLineArgs: ["-w", "-p", "logic"],
|
||||
commandLineArgs: ["-w", "-p", "logic", "--traceResolution", "--explainFiles"],
|
||||
changes: [
|
||||
{
|
||||
caption: "change declration map in core",
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
import * as ts from "../../_namespaces/ts";
|
||||
import * as Utils from "../../_namespaces/Utils";
|
||||
import {
|
||||
createServerHost,
|
||||
File,
|
||||
libFile,
|
||||
TestServerHost,
|
||||
} from "../virtualFileSystemWithWatch";
|
||||
import {
|
||||
compilerOptionsToConfigJson,
|
||||
} from "../tsc/helpers";
|
||||
import {
|
||||
baselineTsserverLogs,
|
||||
checkNumberOfProjects,
|
||||
@@ -630,3 +634,73 @@ export const x = 10;`
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("unittests:: tsserver:: resolutionCache:: tsserverProjectSystem with project references", () => {
|
||||
it("sharing across references", () => {
|
||||
const host = createServerHost({
|
||||
"/src/projects/node_modules/moduleX/index.d.ts": "export const x = 10;",
|
||||
"/src/projects/common/tsconfig.json": JSON.stringify({
|
||||
compilerOptions: compilerOptionsToConfigJson({
|
||||
composite: true,
|
||||
traceResolution: true,
|
||||
}),
|
||||
}),
|
||||
"/src/projects/common/moduleA.ts": "export const a = 10;",
|
||||
"/src/projects/common/moduleB.ts": Utils.dedent`
|
||||
import { x } from "moduleX";
|
||||
export const b = x;
|
||||
`,
|
||||
"/src/projects/app/tsconfig.json": JSON.stringify({
|
||||
compilerOptions: compilerOptionsToConfigJson({
|
||||
composite: true,
|
||||
traceResolution: true,
|
||||
}),
|
||||
references: [{ path: "../common" }],
|
||||
}),
|
||||
"/src/projects/app/appA.ts": Utils.dedent`
|
||||
import { x } from "moduleX";
|
||||
export const y = x;
|
||||
`,
|
||||
"/src/projects/app/appB.ts": Utils.dedent`
|
||||
import { x } from "../common/moduleB";
|
||||
export const y = x;
|
||||
`,
|
||||
});
|
||||
const session = createSession(host, { logger: createLoggerWithInMemoryLogs(host) });
|
||||
openFilesForSession(["/src/projects/app/appB.ts"], session);
|
||||
baselineTsserverLogs("resolutionCache", "sharing across references", session);
|
||||
});
|
||||
|
||||
it("not sharing across references", () => {
|
||||
const host = createServerHost({
|
||||
"/src/projects/node_modules/moduleX/index.d.ts": "export const x = 10;",
|
||||
"/src/projects/common/tsconfig.json": JSON.stringify({
|
||||
compilerOptions: { composite: true, traceResolution: true },
|
||||
}),
|
||||
"/src/projects/common/moduleA.ts": "export const a = 10;",
|
||||
"/src/projects/common/moduleB.ts": Utils.dedent`
|
||||
import { x } from "moduleX";
|
||||
export const b = x;
|
||||
`,
|
||||
"/src/projects/app/tsconfig.json": JSON.stringify({
|
||||
compilerOptions: {
|
||||
composite: true,
|
||||
traceResolution: true,
|
||||
typeRoots: [], // Just some sample option that is different across the projects
|
||||
},
|
||||
references: [{ path: "../common" }],
|
||||
}),
|
||||
"/src/projects/app/appA.ts": Utils.dedent`
|
||||
import { x } from "moduleX";
|
||||
export const y = x;
|
||||
`,
|
||||
"/src/projects/app/appB.ts": Utils.dedent`
|
||||
import { x } from "../common/moduleB";
|
||||
export const y = x;
|
||||
`,
|
||||
});
|
||||
const session = createSession(host, { logger: createLoggerWithInMemoryLogs(host) });
|
||||
openFilesForSession(["/src/projects/app/appB.ts"], session);
|
||||
baselineTsserverLogs("resolutionCache", "not sharing across references", session);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -395,17 +395,50 @@ export declare const m: typeof mod;
|
||||
}
|
||||
|
||||
|
||||
/a/lib/tsc.js -w -p tests
|
||||
/a/lib/tsc.js -w -p tests --traceResolution --explainFiles
|
||||
Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:16 AM[0m] Starting compilation in watch mode...
|
||||
|
||||
======== Resolving module '../core/index' from '/user/username/projects/sample1/tests/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/index', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/sample1/core/index.ts' exist - use it as a name resolution result.
|
||||
======== Module name '../core/index' was successfully resolved to '/user/username/projects/sample1/core/index.ts'. ========
|
||||
======== Resolving module '../logic/index' from '/user/username/projects/sample1/tests/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/sample1/logic/index', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/sample1/logic/index.ts' exist - use it as a name resolution result.
|
||||
======== Module name '../logic/index' was successfully resolved to '/user/username/projects/sample1/logic/index.ts'. ========
|
||||
======== Resolving module '../core/anotherModule' from '/user/username/projects/sample1/tests/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/anotherModule', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/sample1/core/anotherModule.ts' exist - use it as a name resolution result.
|
||||
======== Module name '../core/anotherModule' was successfully resolved to '/user/username/projects/sample1/core/anotherModule.ts'. ========
|
||||
======== Resolving module '../core/anotherModule' from '/user/username/projects/sample1/logic/index.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/sample1/logic/tsconfig.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '../core/anotherModule' was successfully resolved to '/user/username/projects/sample1/core/anotherModule.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
core/index.d.ts
|
||||
Imported via '../core/index' from file 'tests/index.ts'
|
||||
File is output of project reference source 'core/index.ts'
|
||||
core/anotherModule.d.ts
|
||||
Imported via '../core/anotherModule' from file 'logic/index.d.ts'
|
||||
Imported via '../core/anotherModule' from file 'tests/index.ts'
|
||||
File is output of project reference source 'core/anotherModule.ts'
|
||||
logic/index.d.ts
|
||||
Imported via '../logic/index' from file 'tests/index.ts'
|
||||
File is output of project reference source 'logic/index.ts'
|
||||
tests/index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:01:17 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/sample1/tests/index.ts"]
|
||||
Program options: {"composite":true,"declaration":true,"forceConsistentCasingInFileNames":true,"skipDefaultLibCheck":true,"watch":true,"project":"/user/username/projects/sample1/tests","configFilePath":"/user/username/projects/sample1/tests/tsconfig.json"}
|
||||
Program options: {"composite":true,"declaration":true,"forceConsistentCasingInFileNames":true,"skipDefaultLibCheck":true,"watch":true,"project":"/user/username/projects/sample1/tests","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/sample1/tests/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -733,12 +766,27 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:51 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../core/anotherModule' from '/user/username/projects/sample1/logic/index.ts' of old program, it was successfully resolved to '/user/username/projects/sample1/core/anotherModule.ts'.
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
core/index.d.ts
|
||||
Imported via '../core/index' from file 'tests/index.ts'
|
||||
File is output of project reference source 'core/index.ts'
|
||||
core/anotherModule.d.ts
|
||||
Imported via '../core/anotherModule' from file 'logic/index.d.ts'
|
||||
Imported via '../core/anotherModule' from file 'tests/index.ts'
|
||||
File is output of project reference source 'core/anotherModule.ts'
|
||||
logic/index.d.ts
|
||||
Imported via '../logic/index' from file 'tests/index.ts'
|
||||
File is output of project reference source 'logic/index.ts'
|
||||
tests/index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:01:58 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/sample1/tests/index.ts"]
|
||||
Program options: {"composite":true,"declaration":true,"forceConsistentCasingInFileNames":true,"skipDefaultLibCheck":true,"watch":true,"project":"/user/username/projects/sample1/tests","configFilePath":"/user/username/projects/sample1/tests/tsconfig.json"}
|
||||
Program options: {"composite":true,"declaration":true,"forceConsistentCasingInFileNames":true,"skipDefaultLibCheck":true,"watch":true,"project":"/user/username/projects/sample1/tests","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/sample1/tests/tsconfig.json"}
|
||||
Program structureReused: Completely
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -1009,12 +1057,33 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:02:20 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../core/index' from '/user/username/projects/sample1/tests/index.ts' of old program, it was successfully resolved to '/user/username/projects/sample1/core/index.ts'.
|
||||
Reusing resolution of module '../logic/index' from '/user/username/projects/sample1/tests/index.ts' of old program, it was successfully resolved to '/user/username/projects/sample1/logic/index.ts'.
|
||||
Reusing resolution of module '../core/anotherModule' from '/user/username/projects/sample1/tests/index.ts' of old program, it was successfully resolved to '/user/username/projects/sample1/core/anotherModule.ts'.
|
||||
======== Resolving module '../core/anotherModule' from '/user/username/projects/sample1/logic/index.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/sample1/logic/tsconfig.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '../core/anotherModule' was successfully resolved to '/user/username/projects/sample1/core/anotherModule.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
core/index.d.ts
|
||||
Imported via '../core/index' from file 'tests/index.ts'
|
||||
File is output of project reference source 'core/index.ts'
|
||||
core/anotherModule.d.ts
|
||||
Imported via '../core/anotherModule' from file 'logic/decls/index.d.ts'
|
||||
Imported via '../core/anotherModule' from file 'tests/index.ts'
|
||||
File is output of project reference source 'core/anotherModule.ts'
|
||||
logic/decls/index.d.ts
|
||||
Imported via '../logic/index' from file 'tests/index.ts'
|
||||
File is output of project reference source 'logic/index.ts'
|
||||
tests/index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:02:27 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/sample1/tests/index.ts"]
|
||||
Program options: {"composite":true,"declaration":true,"forceConsistentCasingInFileNames":true,"skipDefaultLibCheck":true,"watch":true,"project":"/user/username/projects/sample1/tests","configFilePath":"/user/username/projects/sample1/tests/tsconfig.json"}
|
||||
Program options: {"composite":true,"declaration":true,"forceConsistentCasingInFileNames":true,"skipDefaultLibCheck":true,"watch":true,"project":"/user/username/projects/sample1/tests","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/sample1/tests/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
|
||||
+234
-11
@@ -186,17 +186,53 @@ a_1.X;
|
||||
|
||||
|
||||
|
||||
/a/lib/tsc.js -w -p c
|
||||
/a/lib/tsc.js -w -p c --traceResolution --explainFiles
|
||||
Output::
|
||||
>> Screen clear
|
||||
[[90m12:00:59 AM[0m] Starting compilation in watch mode...
|
||||
|
||||
======== Resolving module '../b' from '/user/username/projects/transitiveReferences/c/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/b', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/b.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b.d.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b/package.json' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b/index.ts' exist - use it as a name resolution result.
|
||||
======== Module name '../b' was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
'baseUrl' option is set to '/user/username/projects/transitiveReferences/c', using this value to resolve non-relative module name '@ref/a'.
|
||||
'paths' option is specified, looking for a pattern to match module name '@ref/a'.
|
||||
Module name '@ref/a', matched pattern '@ref/*'.
|
||||
Trying substitution '../refs/*', candidate module location: '../refs/a'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/refs/a', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.d.ts' exist - use it as a name resolution result.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/b/tsconfig.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a/index.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a/index.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
File is output of project reference source 'a/index.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Matched by default include pattern '**/*'
|
||||
[[90m12:01:03 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -370,12 +406,25 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:19 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/a/index.ts'.
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a/index.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
File is output of project reference source 'a/index.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Matched by default include pattern '**/*'
|
||||
[[90m12:01:23 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Completely
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -468,12 +517,48 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:31 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
======== Resolving module '../b' from '/user/username/projects/transitiveReferences/c/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/b', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/b.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b.d.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b/package.json' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b/index.ts' exist - use it as a name resolution result.
|
||||
======== Module name '../b' was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
'baseUrl' option is set to '/user/username/projects/transitiveReferences/c', using this value to resolve non-relative module name '@ref/a'.
|
||||
'paths' option is specified, looking for a pattern to match module name '@ref/a'.
|
||||
Module name '@ref/a', matched pattern '@ref/*'.
|
||||
Trying substitution '../nrefs/*', candidate module location: '../nrefs/a'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/nrefs/a', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/nrefs/a.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/nrefs/a.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/nrefs/a.d.ts' exist - use it as a name resolution result.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/nrefs/a.d.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/b/tsconfig.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a/index.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a/index.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
File is output of project reference source 'a/index.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
nrefs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Matched by default include pattern '**/*'
|
||||
[[90m12:01:35 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../nrefs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../nrefs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -561,12 +646,48 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:39 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
======== Resolving module '../b' from '/user/username/projects/transitiveReferences/c/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/b', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/b.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b.d.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b/package.json' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b/index.ts' exist - use it as a name resolution result.
|
||||
======== Module name '../b' was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
'baseUrl' option is set to '/user/username/projects/transitiveReferences/c', using this value to resolve non-relative module name '@ref/a'.
|
||||
'paths' option is specified, looking for a pattern to match module name '@ref/a'.
|
||||
Module name '@ref/a', matched pattern '@ref/*'.
|
||||
Trying substitution '../refs/*', candidate module location: '../refs/a'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/refs/a', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.d.ts' exist - use it as a name resolution result.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/b/tsconfig.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a/index.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a/index.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
File is output of project reference source 'a/index.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Matched by default include pattern '**/*'
|
||||
[[90m12:01:43 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -654,12 +775,29 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:47 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../b' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/b/tsconfig.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/nrefs/a.d.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
nrefs/a.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Matched by default include pattern '**/*'
|
||||
[[90m12:01:48 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -748,12 +886,28 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:53 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../b' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/b/tsconfig.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
refs/a.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
c/index.ts
|
||||
Matched by default include pattern '**/*'
|
||||
[[90m12:01:54 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -829,17 +983,39 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:56 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../b' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
'baseUrl' option is set to '/user/username/projects/transitiveReferences/c', using this value to resolve non-relative module name '@ref/a'.
|
||||
'paths' option is specified, looking for a pattern to match module name '@ref/a'.
|
||||
Module name '@ref/a', matched pattern '@ref/*'.
|
||||
Trying substitution '../refs/*', candidate module location: '../refs/a'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/refs/a', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.d.ts' exist - use it as a name resolution result.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ========
|
||||
[96mc/tsconfig.json[0m:[93m1[0m:[93m84[0m - [91merror[0m[90m TS6053: [0mFile '/user/username/projects/transitiveReferences/b' not found.
|
||||
|
||||
[7m1[0m {"compilerOptions":{"baseUrl":"./","paths":{"@ref/*":["../refs/*"]}},"references":[{"path":"../b"}]}
|
||||
[7m [0m [91m ~~~~~~~~~~~~~~~[0m
|
||||
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
refs/a.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.ts'
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
b/index.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Matched by default include pattern '**/*'
|
||||
[[90m12:02:03 AM[0m] Found 1 error. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -917,12 +1093,30 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:02:06 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../b' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/b/tsconfig.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a/index.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a/index.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
File is output of project reference source 'a/index.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Matched by default include pattern '**/*'
|
||||
[[90m12:02:10 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -1010,17 +1204,31 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:02:12 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../b' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/a/index.ts'.
|
||||
[96mb/tsconfig.json[0m:[93m1[0m:[93m96[0m - [91merror[0m[90m TS6053: [0mFile '/user/username/projects/transitiveReferences/a' not found.
|
||||
|
||||
[7m1[0m {"compilerOptions":{"composite":true,"baseUrl":"./","paths":{"@ref/*":["../*"]}},"references":[{"path":"../a"}]}
|
||||
[7m [0m [91m ~~~~~~~~~~~~~~~[0m
|
||||
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a/index.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Matched by default include pattern '**/*'
|
||||
[[90m12:02:16 AM[0m] Found 1 error. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -1108,12 +1316,27 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:02:20 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../b' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/a/index.ts'.
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a/index.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
File is output of project reference source 'a/index.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Matched by default include pattern '**/*'
|
||||
[[90m12:02:21 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
|
||||
+234
-11
@@ -186,17 +186,53 @@ a_1.X;
|
||||
|
||||
|
||||
|
||||
/a/lib/tsc.js -w -p c
|
||||
/a/lib/tsc.js -w -p c --traceResolution --explainFiles
|
||||
Output::
|
||||
>> Screen clear
|
||||
[[90m12:00:59 AM[0m] Starting compilation in watch mode...
|
||||
|
||||
======== Resolving module '../b' from '/user/username/projects/transitiveReferences/c/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/b', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/b.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b.d.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b/package.json' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b/index.ts' exist - use it as a name resolution result.
|
||||
======== Module name '../b' was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
'baseUrl' option is set to '/user/username/projects/transitiveReferences/c', using this value to resolve non-relative module name '@ref/a'.
|
||||
'paths' option is specified, looking for a pattern to match module name '@ref/a'.
|
||||
Module name '@ref/a', matched pattern '@ref/*'.
|
||||
Trying substitution '../refs/*', candidate module location: '../refs/a'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/refs/a', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.d.ts' exist - use it as a name resolution result.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/b/tsconfig.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a/index.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a/index.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
File is output of project reference source 'a/index.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:01:03 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -368,12 +404,25 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:19 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/a/index.ts'.
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a/index.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
File is output of project reference source 'a/index.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:01:23 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Completely
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -464,12 +513,48 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:31 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
======== Resolving module '../b' from '/user/username/projects/transitiveReferences/c/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/b', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/b.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b.d.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b/package.json' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b/index.ts' exist - use it as a name resolution result.
|
||||
======== Module name '../b' was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
'baseUrl' option is set to '/user/username/projects/transitiveReferences/c', using this value to resolve non-relative module name '@ref/a'.
|
||||
'paths' option is specified, looking for a pattern to match module name '@ref/a'.
|
||||
Module name '@ref/a', matched pattern '@ref/*'.
|
||||
Trying substitution '../nrefs/*', candidate module location: '../nrefs/a'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/nrefs/a', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/nrefs/a.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/nrefs/a.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/nrefs/a.d.ts' exist - use it as a name resolution result.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/nrefs/a.d.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/b/tsconfig.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a/index.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a/index.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
File is output of project reference source 'a/index.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
nrefs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:01:35 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../nrefs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../nrefs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -555,12 +640,48 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:39 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
======== Resolving module '../b' from '/user/username/projects/transitiveReferences/c/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/b', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/b.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b.d.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b/package.json' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/b/index.ts' exist - use it as a name resolution result.
|
||||
======== Module name '../b' was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
'baseUrl' option is set to '/user/username/projects/transitiveReferences/c', using this value to resolve non-relative module name '@ref/a'.
|
||||
'paths' option is specified, looking for a pattern to match module name '@ref/a'.
|
||||
Module name '@ref/a', matched pattern '@ref/*'.
|
||||
Trying substitution '../refs/*', candidate module location: '../refs/a'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/refs/a', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.d.ts' exist - use it as a name resolution result.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/b/tsconfig.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a/index.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a/index.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
File is output of project reference source 'a/index.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:01:43 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -646,12 +767,29 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:47 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../b' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/b/tsconfig.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/nrefs/a.d.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
nrefs/a.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:01:48 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -736,12 +874,28 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:53 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../b' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/b/tsconfig.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
refs/a.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
c/index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:01:54 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -813,17 +967,39 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:56 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../b' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
'baseUrl' option is set to '/user/username/projects/transitiveReferences/c', using this value to resolve non-relative module name '@ref/a'.
|
||||
'paths' option is specified, looking for a pattern to match module name '@ref/a'.
|
||||
Module name '@ref/a', matched pattern '@ref/*'.
|
||||
Trying substitution '../refs/*', candidate module location: '../refs/a'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/refs/a', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.d.ts' exist - use it as a name resolution result.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ========
|
||||
[96mc/tsconfig.json[0m:[93m1[0m:[93m105[0m - [91merror[0m[90m TS6053: [0mFile '/user/username/projects/transitiveReferences/b' not found.
|
||||
|
||||
[7m1[0m {"compilerOptions":{"baseUrl":"./","paths":{"@ref/*":["../refs/*"]}},"files":["index.ts"],"references":[{"path":"../b"}]}
|
||||
[7m [0m [91m ~~~~~~~~~~~~~~~[0m
|
||||
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
refs/a.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.ts'
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
b/index.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:02:03 AM[0m] Found 1 error. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -899,12 +1075,30 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:02:06 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../b' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/b/tsconfig.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a/index.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a/index.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
File is output of project reference source 'a/index.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:02:10 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -990,17 +1184,31 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:02:12 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../b' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/a/index.ts'.
|
||||
[96mb/tsconfig.json[0m:[93m1[0m:[93m117[0m - [91merror[0m[90m TS6053: [0mFile '/user/username/projects/transitiveReferences/a' not found.
|
||||
|
||||
[7m1[0m {"compilerOptions":{"composite":true,"baseUrl":"./","paths":{"@ref/*":["../*"]}},"files":["index.ts"],"references":[{"path":"../a"}]}
|
||||
[7m [0m [91m ~~~~~~~~~~~~~~~[0m
|
||||
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a/index.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:02:16 AM[0m] Found 1 error. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -1086,12 +1294,27 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:02:20 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../b' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b/index.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/b/index.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/a/index.ts'.
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a/index.d.ts
|
||||
Imported via '@ref/a' from file 'b/index.d.ts'
|
||||
File is output of project reference source 'a/index.ts'
|
||||
b/index.d.ts
|
||||
Imported via '../b' from file 'c/index.ts'
|
||||
File is output of project reference source 'b/index.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c/index.ts'
|
||||
c/index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:02:21 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c/index.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences/c","paths":{"@ref/*":["../refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences/c","watch":true,"project":"/user/username/projects/transitiveReferences/c","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/c/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
|
||||
+222
-11
@@ -210,17 +210,49 @@ a_1.X;
|
||||
|
||||
|
||||
|
||||
/a/lib/tsc.js -w -p tsconfig.c.json
|
||||
/a/lib/tsc.js -w -p tsconfig.c.json --traceResolution --explainFiles
|
||||
Output::
|
||||
>> Screen clear
|
||||
[[90m12:00:53 AM[0m] Starting compilation in watch mode...
|
||||
|
||||
======== Resolving module './b' from '/user/username/projects/transitiveReferences/c.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/b', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/b.ts' exist - use it as a name resolution result.
|
||||
======== Module name './b' was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
'baseUrl' option is set to '/user/username/projects/transitiveReferences', using this value to resolve non-relative module name '@ref/a'.
|
||||
'paths' option is specified, looking for a pattern to match module name '@ref/a'.
|
||||
Module name '@ref/a', matched pattern '@ref/*'.
|
||||
Trying substitution './refs/*', candidate module location: './refs/a'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/refs/a', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.d.ts' exist - use it as a name resolution result.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/tsconfig.b.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a.d.ts
|
||||
Imported via '@ref/a' from file 'b.d.ts'
|
||||
File is output of project reference source 'a.ts'
|
||||
b.d.ts
|
||||
Imported via './b' from file 'c.ts'
|
||||
File is output of project reference source 'b.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c.ts'
|
||||
c.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:00:57 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -385,12 +417,25 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:13 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'.
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a.d.ts
|
||||
Imported via '@ref/a' from file 'b.d.ts'
|
||||
File is output of project reference source 'a.ts'
|
||||
b.d.ts
|
||||
Imported via './b' from file 'c.ts'
|
||||
File is output of project reference source 'b.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c.ts'
|
||||
c.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:01:17 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program structureReused: Completely
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -473,12 +518,44 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:25 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
======== Resolving module './b' from '/user/username/projects/transitiveReferences/c.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/b', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/b.ts' exist - use it as a name resolution result.
|
||||
======== Module name './b' was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
'baseUrl' option is set to '/user/username/projects/transitiveReferences', using this value to resolve non-relative module name '@ref/a'.
|
||||
'paths' option is specified, looking for a pattern to match module name '@ref/a'.
|
||||
Module name '@ref/a', matched pattern '@ref/*'.
|
||||
Trying substitution './nrefs/*', candidate module location: './nrefs/a'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/nrefs/a', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/nrefs/a.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/nrefs/a.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/nrefs/a.d.ts' exist - use it as a name resolution result.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/nrefs/a.d.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/tsconfig.b.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a.d.ts
|
||||
Imported via '@ref/a' from file 'b.d.ts'
|
||||
File is output of project reference source 'a.ts'
|
||||
b.d.ts
|
||||
Imported via './b' from file 'c.ts'
|
||||
File is output of project reference source 'b.ts'
|
||||
nrefs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c.ts'
|
||||
c.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:01:29 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./nrefs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./nrefs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -556,12 +633,44 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:33 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
======== Resolving module './b' from '/user/username/projects/transitiveReferences/c.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/b', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/b.ts' exist - use it as a name resolution result.
|
||||
======== Module name './b' was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
'baseUrl' option is set to '/user/username/projects/transitiveReferences', using this value to resolve non-relative module name '@ref/a'.
|
||||
'paths' option is specified, looking for a pattern to match module name '@ref/a'.
|
||||
Module name '@ref/a', matched pattern '@ref/*'.
|
||||
Trying substitution './refs/*', candidate module location: './refs/a'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/refs/a', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.d.ts' exist - use it as a name resolution result.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/tsconfig.b.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a.d.ts
|
||||
Imported via '@ref/a' from file 'b.d.ts'
|
||||
File is output of project reference source 'a.ts'
|
||||
b.d.ts
|
||||
Imported via './b' from file 'c.ts'
|
||||
File is output of project reference source 'b.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c.ts'
|
||||
c.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:01:37 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -639,12 +748,29 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:41 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module './b' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/tsconfig.b.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/nrefs/a.d.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
nrefs/a.d.ts
|
||||
Imported via '@ref/a' from file 'b.d.ts'
|
||||
b.d.ts
|
||||
Imported via './b' from file 'c.ts'
|
||||
File is output of project reference source 'b.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c.ts'
|
||||
c.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:01:42 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -723,12 +849,28 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:47 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module './b' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/tsconfig.b.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
refs/a.d.ts
|
||||
Imported via '@ref/a' from file 'b.d.ts'
|
||||
Imported via "@ref/a" from file 'c.ts'
|
||||
b.d.ts
|
||||
Imported via './b' from file 'c.ts'
|
||||
File is output of project reference source 'b.ts'
|
||||
c.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:01:48 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -794,17 +936,39 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:50 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module './b' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
'baseUrl' option is set to '/user/username/projects/transitiveReferences', using this value to resolve non-relative module name '@ref/a'.
|
||||
'paths' option is specified, looking for a pattern to match module name '@ref/a'.
|
||||
Module name '@ref/a', matched pattern '@ref/*'.
|
||||
Trying substitution './refs/*', candidate module location: './refs/a'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/refs/a', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.d.ts' exist - use it as a name resolution result.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ========
|
||||
[96mtsconfig.c.json[0m:[93m1[0m:[93m100[0m - [91merror[0m[90m TS6053: [0mFile '/user/username/projects/transitiveReferences/tsconfig.b.json' not found.
|
||||
|
||||
[7m1[0m {"files":["c.ts"],"compilerOptions":{"baseUrl":"./","paths":{"@ref/*":["./refs/*"]}},"references":[{"path":"tsconfig.b.json"}]}
|
||||
[7m [0m [91m ~~~~~~~~~~~~~~~~~~~~~~~~~~[0m
|
||||
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
refs/a.d.ts
|
||||
Imported via '@ref/a' from file 'b.ts'
|
||||
Imported via "@ref/a" from file 'c.ts'
|
||||
b.ts
|
||||
Imported via './b' from file 'c.ts'
|
||||
c.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:01:57 AM[0m] Found 1 error. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -885,12 +1049,30 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:02:00 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module './b' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/tsconfig.b.json'.
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a.d.ts
|
||||
Imported via '@ref/a' from file 'b.d.ts'
|
||||
File is output of project reference source 'a.ts'
|
||||
b.d.ts
|
||||
Imported via './b' from file 'c.ts'
|
||||
File is output of project reference source 'b.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c.ts'
|
||||
c.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:02:04 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -968,17 +1150,31 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:02:06 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module './b' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'.
|
||||
[96mtsconfig.b.json[0m:[93m10[0m:[93m21[0m - [91merror[0m[90m TS6053: [0mFile '/user/username/projects/transitiveReferences/tsconfig.a.json' not found.
|
||||
|
||||
[7m10[0m "references": [ { "path": "tsconfig.a.json" } ]
|
||||
[7m [0m [91m ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[0m
|
||||
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a.ts
|
||||
Imported via '@ref/a' from file 'b.d.ts'
|
||||
b.d.ts
|
||||
Imported via './b' from file 'c.ts'
|
||||
File is output of project reference source 'b.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c.ts'
|
||||
c.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:02:10 AM[0m] Found 1 error. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -1057,12 +1253,27 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:02:14 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module './b' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'.
|
||||
Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'.
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a.d.ts
|
||||
Imported via '@ref/a' from file 'b.d.ts'
|
||||
File is output of project reference source 'a.ts'
|
||||
b.d.ts
|
||||
Imported via './b' from file 'c.ts'
|
||||
File is output of project reference source 'b.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c.ts'
|
||||
c.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:02:15 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
|
||||
+35
-3
@@ -163,17 +163,37 @@ export declare function multiply(a: number, b: number): number;
|
||||
}
|
||||
|
||||
|
||||
/a/lib/tsc.js -w -p logic
|
||||
/a/lib/tsc.js -w -p logic --traceResolution --explainFiles
|
||||
Output::
|
||||
>> Screen clear
|
||||
[[90m12:00:50 AM[0m] Starting compilation in watch mode...
|
||||
|
||||
======== Resolving module '../core/index' from '/user/username/projects/sample1/logic/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/index', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/sample1/core/index.ts' exist - use it as a name resolution result.
|
||||
======== Module name '../core/index' was successfully resolved to '/user/username/projects/sample1/core/index.ts'. ========
|
||||
======== Resolving module '../core/anotherModule' from '/user/username/projects/sample1/logic/index.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/anotherModule', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/sample1/core/anotherModule.ts' exist - use it as a name resolution result.
|
||||
======== Module name '../core/anotherModule' was successfully resolved to '/user/username/projects/sample1/core/anotherModule.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
core/index.d.ts
|
||||
Imported via '../core/index' from file 'logic/index.ts'
|
||||
File is output of project reference source 'core/index.ts'
|
||||
core/anotherModule.d.ts
|
||||
Imported via '../core/anotherModule' from file 'logic/index.ts'
|
||||
File is output of project reference source 'core/anotherModule.ts'
|
||||
logic/index.ts
|
||||
Matched by default include pattern '**/*'
|
||||
[[90m12:00:59 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/sample1/logic/index.ts"]
|
||||
Program options: {"composite":true,"declaration":true,"sourceMap":true,"forceConsistentCasingInFileNames":true,"skipDefaultLibCheck":true,"watch":true,"project":"/user/username/projects/sample1/logic","configFilePath":"/user/username/projects/sample1/logic/tsconfig.json"}
|
||||
Program options: {"composite":true,"declaration":true,"sourceMap":true,"forceConsistentCasingInFileNames":true,"skipDefaultLibCheck":true,"watch":true,"project":"/user/username/projects/sample1/logic","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/sample1/logic/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
@@ -432,12 +452,24 @@ Output::
|
||||
>> Screen clear
|
||||
[[90m12:01:18 AM[0m] File change detected. Starting incremental compilation...
|
||||
|
||||
Reusing resolution of module '../core/index' from '/user/username/projects/sample1/logic/index.ts' of old program, it was successfully resolved to '/user/username/projects/sample1/core/index.ts'.
|
||||
Reusing resolution of module '../core/anotherModule' from '/user/username/projects/sample1/logic/index.ts' of old program, it was successfully resolved to '/user/username/projects/sample1/core/anotherModule.ts'.
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
core/index.d.ts
|
||||
Imported via '../core/index' from file 'logic/index.ts'
|
||||
File is output of project reference source 'core/index.ts'
|
||||
core/anotherModule.d.ts
|
||||
Imported via '../core/anotherModule' from file 'logic/index.ts'
|
||||
File is output of project reference source 'core/anotherModule.ts'
|
||||
logic/index.ts
|
||||
Matched by default include pattern '**/*'
|
||||
[[90m12:01:19 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/sample1/logic/index.ts"]
|
||||
Program options: {"composite":true,"declaration":true,"sourceMap":true,"forceConsistentCasingInFileNames":true,"skipDefaultLibCheck":true,"watch":true,"project":"/user/username/projects/sample1/logic","configFilePath":"/user/username/projects/sample1/logic/tsconfig.json"}
|
||||
Program options: {"composite":true,"declaration":true,"sourceMap":true,"forceConsistentCasingInFileNames":true,"skipDefaultLibCheck":true,"watch":true,"project":"/user/username/projects/sample1/logic","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/sample1/logic/tsconfig.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
|
||||
+34
-2
@@ -197,17 +197,49 @@ a_1.X;
|
||||
|
||||
|
||||
|
||||
/a/lib/tsc.js -w -p tsconfig.c.json
|
||||
/a/lib/tsc.js -w -p tsconfig.c.json --traceResolution --explainFiles
|
||||
Output::
|
||||
>> Screen clear
|
||||
[[90m12:00:53 AM[0m] Starting compilation in watch mode...
|
||||
|
||||
======== Resolving module './b' from '/user/username/projects/transitiveReferences/c.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/b', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/b.ts' exist - use it as a name resolution result.
|
||||
======== Module name './b' was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'. ========
|
||||
======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts'. ========
|
||||
Module resolution kind is not specified, using 'NodeJs'.
|
||||
'baseUrl' option is set to '/user/username/projects/transitiveReferences', using this value to resolve non-relative module name '@ref/a'.
|
||||
'paths' option is specified, looking for a pattern to match module name '@ref/a'.
|
||||
Module name '@ref/a', matched pattern '@ref/*'.
|
||||
Trying substitution './refs/*', candidate module location: './refs/a'.
|
||||
Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/refs/a', target file types: TypeScript, Declaration.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.ts' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.tsx' does not exist.
|
||||
File '/user/username/projects/transitiveReferences/refs/a.d.ts' exist - use it as a name resolution result.
|
||||
======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ========
|
||||
======== Resolving module 'a' from '/user/username/projects/transitiveReferences/b.ts'. ========
|
||||
Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/tsconfig.b.json'.
|
||||
Explicitly specified module resolution kind: 'Classic'.
|
||||
======== Module name 'a' was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'. ========
|
||||
../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
a.d.ts
|
||||
Imported via "a" from file 'b.d.ts'
|
||||
File is output of project reference source 'a.ts'
|
||||
b.d.ts
|
||||
Imported via './b' from file 'c.ts'
|
||||
File is output of project reference source 'b.ts'
|
||||
refs/a.d.ts
|
||||
Imported via "@ref/a" from file 'c.ts'
|
||||
c.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
[[90m12:00:57 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/user/username/projects/transitiveReferences/c.ts"]
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program options: {"baseUrl":"/user/username/projects/transitiveReferences","paths":{"@ref/*":["./refs/*"]},"pathsBasePath":"/user/username/projects/transitiveReferences","watch":true,"project":"/user/username/projects/transitiveReferences/tsconfig.c.json","traceResolution":true,"explainFiles":true,"configFilePath":"/user/username/projects/transitiveReferences/tsconfig.c.json"}
|
||||
Program structureReused: Not
|
||||
Program files::
|
||||
/a/lib/lib.d.ts
|
||||
|
||||
+50
-46
@@ -81,18 +81,22 @@ Info 34 [00:01:11.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/pr
|
||||
Info 35 [00:01:12.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache
|
||||
Info 36 [00:01:13.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache
|
||||
Info 37 [00:01:14.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache
|
||||
Info 38 [00:01:15.000] Reusing resolution of module 'module1' from '/user/username/projects/myproject/src/file2.ts' found in cache from location '/user/username/projects/myproject/src', it was successfully resolved to '/user/username/projects/myproject/src/node_modules/module1/index.ts'.
|
||||
Info 39 [00:01:16.000] Reusing resolution of module 'module2' from '/user/username/projects/myproject/src/file2.ts' found in cache from location '/user/username/projects/myproject/src', it was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'.
|
||||
Info 40 [00:01:17.000] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info
|
||||
Info 41 [00:01:18.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Info 42 [00:01:19.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Info 43 [00:01:20.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Info 44 [00:01:21.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Info 45 [00:01:22.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots
|
||||
Info 46 [00:01:23.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots
|
||||
Info 47 [00:01:24.000] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
|
||||
Info 48 [00:01:25.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 49 [00:01:26.000] Files (5)
|
||||
Info 38 [00:01:15.000] ======== Resolving module 'module1' from '/user/username/projects/myproject/src/file2.ts'. ========
|
||||
Info 39 [00:01:16.000] Resolution for module 'module1' was found in cache from location '/user/username/projects/myproject/src'.
|
||||
Info 40 [00:01:17.000] ======== Module name 'module1' was successfully resolved to '/user/username/projects/myproject/src/node_modules/module1/index.ts'. ========
|
||||
Info 41 [00:01:18.000] ======== Resolving module 'module2' from '/user/username/projects/myproject/src/file2.ts'. ========
|
||||
Info 42 [00:01:19.000] Resolution for module 'module2' was found in cache from location '/user/username/projects/myproject/src'.
|
||||
Info 43 [00:01:20.000] ======== Module name 'module2' was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'. ========
|
||||
Info 44 [00:01:21.000] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info
|
||||
Info 45 [00:01:22.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Info 46 [00:01:23.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Info 47 [00:01:24.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Info 48 [00:01:25.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Info 49 [00:01:26.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots
|
||||
Info 50 [00:01:27.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots
|
||||
Info 51 [00:01:28.000] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
|
||||
Info 52 [00:01:29.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 53 [00:01:30.000] Files (5)
|
||||
/a/lib/lib.d.ts
|
||||
/user/username/projects/myproject/src/node_modules/module1/index.ts
|
||||
/user/username/projects/myproject/node_modules/module2/index.ts
|
||||
@@ -113,18 +117,18 @@ Info 49 [00:01:26.000] Files (5)
|
||||
src/file2.ts
|
||||
Matched by default include pattern '**/*'
|
||||
|
||||
Info 50 [00:01:27.000] -----------------------------------------------
|
||||
Info 51 [00:01:28.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 51 [00:01:29.000] Files (5)
|
||||
Info 54 [00:01:31.000] -----------------------------------------------
|
||||
Info 55 [00:01:32.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 55 [00:01:33.000] Files (5)
|
||||
|
||||
Info 51 [00:01:30.000] -----------------------------------------------
|
||||
Info 51 [00:01:31.000] Open files:
|
||||
Info 51 [00:01:32.000] FileName: /user/username/projects/myproject/src/file1.ts ProjectRootPath: undefined
|
||||
Info 51 [00:01:33.000] Projects: /user/username/projects/myproject/tsconfig.json
|
||||
Info 51 [00:01:40.000] FileWatcher:: Triggered with /user/username/projects/myproject/src/file2.ts 1:: WatchInfo: /user/username/projects/myproject/src/file2.ts 500 undefined WatchType: Closed Script info
|
||||
Info 52 [00:01:41.000] Scheduled: /user/username/projects/myproject/tsconfig.json
|
||||
Info 53 [00:01:42.000] Scheduled: *ensureProjectForOpenFiles*
|
||||
Info 54 [00:01:43.000] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/src/file2.ts 1:: WatchInfo: /user/username/projects/myproject/src/file2.ts 500 undefined WatchType: Closed Script info
|
||||
Info 55 [00:01:34.000] -----------------------------------------------
|
||||
Info 55 [00:01:35.000] Open files:
|
||||
Info 55 [00:01:36.000] FileName: /user/username/projects/myproject/src/file1.ts ProjectRootPath: undefined
|
||||
Info 55 [00:01:37.000] Projects: /user/username/projects/myproject/tsconfig.json
|
||||
Info 55 [00:01:44.000] FileWatcher:: Triggered with /user/username/projects/myproject/src/file2.ts 1:: WatchInfo: /user/username/projects/myproject/src/file2.ts 500 undefined WatchType: Closed Script info
|
||||
Info 56 [00:01:45.000] Scheduled: /user/username/projects/myproject/tsconfig.json
|
||||
Info 57 [00:01:46.000] Scheduled: *ensureProjectForOpenFiles*
|
||||
Info 58 [00:01:47.000] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/src/file2.ts 1:: WatchInfo: /user/username/projects/myproject/src/file2.ts 500 undefined WatchType: Closed Script info
|
||||
Before running timeout callbacks
|
||||
//// [/user/username/projects/myproject/src/file1.ts]
|
||||
import { module1 } from "module1";import { module2 } from "module2";import { module1 } from "module1";import { module2 } from "module2";
|
||||
@@ -155,31 +159,31 @@ FsWatchesRecursive::
|
||||
/user/username/projects/myproject/src:
|
||||
{}
|
||||
|
||||
Info 55 [00:01:44.000] Running: /user/username/projects/myproject/tsconfig.json
|
||||
Info 56 [00:01:45.000] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json
|
||||
Info 57 [00:01:46.000] Reusing resolution of module 'module1' from '/user/username/projects/myproject/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/src/node_modules/module1/index.ts'.
|
||||
Info 58 [00:01:47.000] Reusing resolution of module 'module2' from '/user/username/projects/myproject/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'.
|
||||
Info 59 [00:01:48.000] Reusing resolution of module 'module1' from '/user/username/projects/myproject/src/file2.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/src/node_modules/module1/index.ts'.
|
||||
Info 60 [00:01:49.000] Reusing resolution of module 'module2' from '/user/username/projects/myproject/src/file2.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'.
|
||||
Info 61 [00:01:50.000] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Version: 2 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms
|
||||
Info 62 [00:01:51.000] Different program with same set of files
|
||||
Info 63 [00:01:52.000] Running: *ensureProjectForOpenFiles*
|
||||
Info 64 [00:01:53.000] Before ensureProjectForOpenFiles:
|
||||
Info 65 [00:01:54.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 65 [00:01:55.000] Files (5)
|
||||
Info 59 [00:01:48.000] Running: /user/username/projects/myproject/tsconfig.json
|
||||
Info 60 [00:01:49.000] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json
|
||||
Info 61 [00:01:50.000] Reusing resolution of module 'module1' from '/user/username/projects/myproject/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/src/node_modules/module1/index.ts'.
|
||||
Info 62 [00:01:51.000] Reusing resolution of module 'module2' from '/user/username/projects/myproject/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'.
|
||||
Info 63 [00:01:52.000] Reusing resolution of module 'module1' from '/user/username/projects/myproject/src/file2.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/src/node_modules/module1/index.ts'.
|
||||
Info 64 [00:01:53.000] Reusing resolution of module 'module2' from '/user/username/projects/myproject/src/file2.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'.
|
||||
Info 65 [00:01:54.000] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Version: 2 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms
|
||||
Info 66 [00:01:55.000] Different program with same set of files
|
||||
Info 67 [00:01:56.000] Running: *ensureProjectForOpenFiles*
|
||||
Info 68 [00:01:57.000] Before ensureProjectForOpenFiles:
|
||||
Info 69 [00:01:58.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 69 [00:01:59.000] Files (5)
|
||||
|
||||
Info 65 [00:01:56.000] -----------------------------------------------
|
||||
Info 65 [00:01:57.000] Open files:
|
||||
Info 65 [00:01:58.000] FileName: /user/username/projects/myproject/src/file1.ts ProjectRootPath: undefined
|
||||
Info 65 [00:01:59.000] Projects: /user/username/projects/myproject/tsconfig.json
|
||||
Info 65 [00:02:00.000] After ensureProjectForOpenFiles:
|
||||
Info 66 [00:02:01.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 66 [00:02:02.000] Files (5)
|
||||
Info 69 [00:02:00.000] -----------------------------------------------
|
||||
Info 69 [00:02:01.000] Open files:
|
||||
Info 69 [00:02:02.000] FileName: /user/username/projects/myproject/src/file1.ts ProjectRootPath: undefined
|
||||
Info 69 [00:02:03.000] Projects: /user/username/projects/myproject/tsconfig.json
|
||||
Info 69 [00:02:04.000] After ensureProjectForOpenFiles:
|
||||
Info 70 [00:02:05.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 70 [00:02:06.000] Files (5)
|
||||
|
||||
Info 66 [00:02:03.000] -----------------------------------------------
|
||||
Info 66 [00:02:04.000] Open files:
|
||||
Info 66 [00:02:05.000] FileName: /user/username/projects/myproject/src/file1.ts ProjectRootPath: undefined
|
||||
Info 66 [00:02:06.000] Projects: /user/username/projects/myproject/tsconfig.json
|
||||
Info 70 [00:02:07.000] -----------------------------------------------
|
||||
Info 70 [00:02:08.000] Open files:
|
||||
Info 70 [00:02:09.000] FileName: /user/username/projects/myproject/src/file1.ts ProjectRootPath: undefined
|
||||
Info 70 [00:02:10.000] Projects: /user/username/projects/myproject/tsconfig.json
|
||||
After running timeout callbacks
|
||||
|
||||
PolledWatches::
|
||||
|
||||
@@ -0,0 +1,182 @@
|
||||
Info 0 [00:00:29.000] Provided types map file "/a/lib/typesMap.json" doesn't exist
|
||||
Info 1 [00:00:30.000] request:
|
||||
{
|
||||
"command": "open",
|
||||
"arguments": {
|
||||
"file": "/src/projects/app/appB.ts"
|
||||
},
|
||||
"seq": 1,
|
||||
"type": "request"
|
||||
}
|
||||
Before request
|
||||
//// [/src/projects/node_modules/moduleX/index.d.ts]
|
||||
export const x = 10;
|
||||
|
||||
//// [/src/projects/common/tsconfig.json]
|
||||
{"compilerOptions":{"composite":true,"traceResolution":true}}
|
||||
|
||||
//// [/src/projects/common/moduleA.ts]
|
||||
export const a = 10;
|
||||
|
||||
//// [/src/projects/common/moduleB.ts]
|
||||
import { x } from "moduleX";
|
||||
export const b = x;
|
||||
|
||||
|
||||
//// [/src/projects/app/tsconfig.json]
|
||||
{"compilerOptions":{"composite":true,"traceResolution":true,"typeRoots":[]},"references":[{"path":"../common"}]}
|
||||
|
||||
//// [/src/projects/app/appA.ts]
|
||||
import { x } from "moduleX";
|
||||
export const y = x;
|
||||
|
||||
|
||||
//// [/src/projects/app/appB.ts]
|
||||
import { x } from "../common/moduleB";
|
||||
export const y = x;
|
||||
|
||||
|
||||
|
||||
PolledWatches::
|
||||
|
||||
FsWatches::
|
||||
|
||||
FsWatchesRecursive::
|
||||
|
||||
Info 2 [00:00:31.000] Search path: /src/projects/app
|
||||
Info 3 [00:00:32.000] For info: /src/projects/app/appB.ts :: Config file name: /src/projects/app/tsconfig.json
|
||||
Info 4 [00:00:33.000] Creating configuration project /src/projects/app/tsconfig.json
|
||||
Info 5 [00:00:34.000] FileWatcher:: Added:: WatchInfo: /src/projects/app/tsconfig.json 2000 undefined Project: /src/projects/app/tsconfig.json WatchType: Config file
|
||||
Info 6 [00:00:35.000] Config: /src/projects/app/tsconfig.json : {
|
||||
"rootNames": [
|
||||
"/src/projects/app/appA.ts",
|
||||
"/src/projects/app/appB.ts"
|
||||
],
|
||||
"options": {
|
||||
"composite": true,
|
||||
"traceResolution": true,
|
||||
"typeRoots": [],
|
||||
"configFilePath": "/src/projects/app/tsconfig.json"
|
||||
},
|
||||
"projectReferences": [
|
||||
{
|
||||
"path": "/src/projects/common",
|
||||
"originalPath": "../common"
|
||||
}
|
||||
]
|
||||
}
|
||||
Info 7 [00:00:36.000] DirectoryWatcher:: Added:: WatchInfo: /src/projects/app 1 undefined Config: /src/projects/app/tsconfig.json WatchType: Wild card directory
|
||||
Info 8 [00:00:37.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /src/projects/app 1 undefined Config: /src/projects/app/tsconfig.json WatchType: Wild card directory
|
||||
Info 9 [00:00:38.000] FileWatcher:: Added:: WatchInfo: /src/projects/app/appA.ts 500 undefined WatchType: Closed Script info
|
||||
Info 10 [00:00:39.000] Starting updateGraphWorker: Project: /src/projects/app/tsconfig.json
|
||||
Info 11 [00:00:40.000] Config: /src/projects/common/tsconfig.json : {
|
||||
"rootNames": [
|
||||
"/src/projects/common/moduleA.ts",
|
||||
"/src/projects/common/moduleB.ts"
|
||||
],
|
||||
"options": {
|
||||
"composite": true,
|
||||
"traceResolution": true,
|
||||
"configFilePath": "/src/projects/common/tsconfig.json"
|
||||
}
|
||||
}
|
||||
Info 12 [00:00:41.000] FileWatcher:: Added:: WatchInfo: /src/projects/common/tsconfig.json 2000 undefined Project: /src/projects/app/tsconfig.json WatchType: Config file
|
||||
Info 13 [00:00:42.000] DirectoryWatcher:: Added:: WatchInfo: /src/projects/common 1 undefined Config: /src/projects/common/tsconfig.json WatchType: Wild card directory
|
||||
Info 14 [00:00:43.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /src/projects/common 1 undefined Config: /src/projects/common/tsconfig.json WatchType: Wild card directory
|
||||
Info 15 [00:00:44.000] ======== Resolving module 'moduleX' from '/src/projects/app/appA.ts'. ========
|
||||
Info 16 [00:00:45.000] Module resolution kind is not specified, using 'NodeJs'.
|
||||
Info 17 [00:00:46.000] Loading module 'moduleX' from 'node_modules' folder, target file types: TypeScript, Declaration.
|
||||
Info 18 [00:00:47.000] Directory '/src/projects/app/node_modules' does not exist, skipping all lookups in it.
|
||||
Info 19 [00:00:48.000] File '/src/projects/node_modules/moduleX/package.json' does not exist.
|
||||
Info 20 [00:00:49.000] File '/src/projects/node_modules/moduleX.ts' does not exist.
|
||||
Info 21 [00:00:50.000] File '/src/projects/node_modules/moduleX.tsx' does not exist.
|
||||
Info 22 [00:00:51.000] File '/src/projects/node_modules/moduleX.d.ts' does not exist.
|
||||
Info 23 [00:00:52.000] File '/src/projects/node_modules/moduleX/index.ts' does not exist.
|
||||
Info 24 [00:00:53.000] File '/src/projects/node_modules/moduleX/index.tsx' does not exist.
|
||||
Info 25 [00:00:54.000] File '/src/projects/node_modules/moduleX/index.d.ts' exist - use it as a name resolution result.
|
||||
Info 26 [00:00:55.000] Resolving real path for '/src/projects/node_modules/moduleX/index.d.ts', result '/src/projects/node_modules/moduleX/index.d.ts'.
|
||||
Info 27 [00:00:56.000] ======== Module name 'moduleX' was successfully resolved to '/src/projects/node_modules/moduleX/index.d.ts'. ========
|
||||
Info 28 [00:00:57.000] DirectoryWatcher:: Added:: WatchInfo: /src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache
|
||||
Info 29 [00:00:58.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache
|
||||
Info 30 [00:00:59.000] ======== Resolving module '../common/moduleB' from '/src/projects/app/appB.ts'. ========
|
||||
Info 31 [00:01:00.000] Module resolution kind is not specified, using 'NodeJs'.
|
||||
Info 32 [00:01:01.000] Loading module as file / folder, candidate module location '/src/projects/common/moduleB', target file types: TypeScript, Declaration.
|
||||
Info 33 [00:01:02.000] File '/src/projects/common/moduleB.ts' exist - use it as a name resolution result.
|
||||
Info 34 [00:01:03.000] ======== Module name '../common/moduleB' was successfully resolved to '/src/projects/common/moduleB.ts'. ========
|
||||
Info 35 [00:01:04.000] FileWatcher:: Added:: WatchInfo: /src/projects/common/moduleB.ts 500 undefined WatchType: Closed Script info
|
||||
Info 36 [00:01:05.000] ======== Resolving module 'moduleX' from '/src/projects/common/moduleB.ts'. ========
|
||||
Info 37 [00:01:06.000] Using compiler options of project reference redirect '/src/projects/common/tsconfig.json'.
|
||||
Info 38 [00:01:07.000] Module resolution kind is not specified, using 'NodeJs'.
|
||||
Info 39 [00:01:08.000] Loading module 'moduleX' from 'node_modules' folder, target file types: TypeScript, Declaration.
|
||||
Info 40 [00:01:09.000] Directory '/src/projects/common/node_modules' does not exist, skipping all lookups in it.
|
||||
Info 41 [00:01:10.000] File '/src/projects/node_modules/moduleX/package.json' does not exist according to earlier cached lookups.
|
||||
Info 42 [00:01:11.000] File '/src/projects/node_modules/moduleX.ts' does not exist.
|
||||
Info 43 [00:01:12.000] File '/src/projects/node_modules/moduleX.tsx' does not exist.
|
||||
Info 44 [00:01:13.000] File '/src/projects/node_modules/moduleX.d.ts' does not exist.
|
||||
Info 45 [00:01:14.000] File '/src/projects/node_modules/moduleX/index.ts' does not exist.
|
||||
Info 46 [00:01:15.000] File '/src/projects/node_modules/moduleX/index.tsx' does not exist.
|
||||
Info 47 [00:01:16.000] File '/src/projects/node_modules/moduleX/index.d.ts' exist - use it as a name resolution result.
|
||||
Info 48 [00:01:17.000] Resolving real path for '/src/projects/node_modules/moduleX/index.d.ts', result '/src/projects/node_modules/moduleX/index.d.ts'.
|
||||
Info 49 [00:01:18.000] ======== Module name 'moduleX' was successfully resolved to '/src/projects/node_modules/moduleX/index.d.ts'. ========
|
||||
Info 50 [00:01:19.000] DirectoryWatcher:: Added:: WatchInfo: /src/projects/app/node_modules 1 undefined Project: /src/projects/app/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Info 51 [00:01:20.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /src/projects/app/node_modules 1 undefined Project: /src/projects/app/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Info 52 [00:01:21.000] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /src/projects/app/tsconfig.json WatchType: Missing file
|
||||
Info 53 [00:01:22.000] Finishing updateGraphWorker: Project: /src/projects/app/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
|
||||
Info 54 [00:01:23.000] Project '/src/projects/app/tsconfig.json' (Configured)
|
||||
Info 55 [00:01:24.000] Files (4)
|
||||
/src/projects/node_modules/moduleX/index.d.ts
|
||||
/src/projects/app/appA.ts
|
||||
/src/projects/common/moduleB.ts
|
||||
/src/projects/app/appB.ts
|
||||
|
||||
|
||||
../node_modules/moduleX/index.d.ts
|
||||
Imported via "moduleX" from file 'appA.ts'
|
||||
Imported via "moduleX" from file '../common/moduleB.ts'
|
||||
appA.ts
|
||||
Matched by default include pattern '**/*'
|
||||
../common/moduleB.ts
|
||||
Imported via "../common/moduleB" from file 'appB.ts'
|
||||
appB.ts
|
||||
Matched by default include pattern '**/*'
|
||||
|
||||
Info 56 [00:01:25.000] -----------------------------------------------
|
||||
Info 57 [00:01:26.000] Search path: /src/projects/app
|
||||
Info 58 [00:01:27.000] For info: /src/projects/app/tsconfig.json :: No config files found.
|
||||
Info 59 [00:01:28.000] Project '/src/projects/app/tsconfig.json' (Configured)
|
||||
Info 59 [00:01:29.000] Files (4)
|
||||
|
||||
Info 59 [00:01:30.000] -----------------------------------------------
|
||||
Info 59 [00:01:31.000] Open files:
|
||||
Info 59 [00:01:32.000] FileName: /src/projects/app/appB.ts ProjectRootPath: undefined
|
||||
Info 59 [00:01:33.000] Projects: /src/projects/app/tsconfig.json
|
||||
After request
|
||||
|
||||
PolledWatches::
|
||||
/src/projects/app/node_modules:
|
||||
{"pollingInterval":500}
|
||||
/a/lib/lib.d.ts:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
/src/projects/app/tsconfig.json:
|
||||
{}
|
||||
/src/projects/app/appa.ts:
|
||||
{}
|
||||
/src/projects/common/tsconfig.json:
|
||||
{}
|
||||
/src/projects/common/moduleb.ts:
|
||||
{}
|
||||
|
||||
FsWatchesRecursive::
|
||||
/src/projects/app:
|
||||
{}
|
||||
/src/projects/common:
|
||||
{}
|
||||
/src/projects/node_modules:
|
||||
{}
|
||||
|
||||
Info 59 [00:01:34.000] response:
|
||||
{
|
||||
"responseRequired": false
|
||||
}
|
||||
+46
-42
@@ -67,14 +67,18 @@ Info 18 [00:00:47.000] Module resolution kind is not specified, using 'NodeJs'
|
||||
Info 19 [00:00:48.000] Loading module as file / folder, candidate module location '/user/username/projects/myproject/module2', target file types: TypeScript, Declaration.
|
||||
Info 20 [00:00:49.000] File '/user/username/projects/myproject/module2.ts' exist - use it as a name resolution result.
|
||||
Info 21 [00:00:50.000] ======== Module name '../module2' was successfully resolved to '/user/username/projects/myproject/module2.ts'. ========
|
||||
Info 22 [00:00:51.000] Reusing resolution of module './module1' from '/user/username/projects/myproject/src/file2.ts' found in cache from location '/user/username/projects/myproject/src', it was successfully resolved to '/user/username/projects/myproject/src/module1.ts'.
|
||||
Info 23 [00:00:52.000] Reusing resolution of module '../module2' from '/user/username/projects/myproject/src/file2.ts' found in cache from location '/user/username/projects/myproject/src', it was successfully resolved to '/user/username/projects/myproject/module2.ts'.
|
||||
Info 24 [00:00:53.000] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info
|
||||
Info 25 [00:00:54.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots
|
||||
Info 26 [00:00:55.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots
|
||||
Info 27 [00:00:56.000] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
|
||||
Info 28 [00:00:57.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 29 [00:00:58.000] Files (5)
|
||||
Info 22 [00:00:51.000] ======== Resolving module './module1' from '/user/username/projects/myproject/src/file2.ts'. ========
|
||||
Info 23 [00:00:52.000] Resolution for module './module1' was found in cache from location '/user/username/projects/myproject/src'.
|
||||
Info 24 [00:00:53.000] ======== Module name './module1' was successfully resolved to '/user/username/projects/myproject/src/module1.ts'. ========
|
||||
Info 25 [00:00:54.000] ======== Resolving module '../module2' from '/user/username/projects/myproject/src/file2.ts'. ========
|
||||
Info 26 [00:00:55.000] Resolution for module '../module2' was found in cache from location '/user/username/projects/myproject/src'.
|
||||
Info 27 [00:00:56.000] ======== Module name '../module2' was successfully resolved to '/user/username/projects/myproject/module2.ts'. ========
|
||||
Info 28 [00:00:57.000] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info
|
||||
Info 29 [00:00:58.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots
|
||||
Info 30 [00:00:59.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots
|
||||
Info 31 [00:01:00.000] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
|
||||
Info 32 [00:01:01.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 33 [00:01:02.000] Files (5)
|
||||
/a/lib/lib.d.ts
|
||||
/user/username/projects/myproject/module2.ts
|
||||
/user/username/projects/myproject/src/module1.ts
|
||||
@@ -97,18 +101,18 @@ Info 29 [00:00:58.000] Files (5)
|
||||
src/file2.ts
|
||||
Matched by default include pattern '**/*'
|
||||
|
||||
Info 30 [00:00:59.000] -----------------------------------------------
|
||||
Info 31 [00:01:00.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 31 [00:01:01.000] Files (5)
|
||||
Info 34 [00:01:03.000] -----------------------------------------------
|
||||
Info 35 [00:01:04.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 35 [00:01:05.000] Files (5)
|
||||
|
||||
Info 31 [00:01:02.000] -----------------------------------------------
|
||||
Info 31 [00:01:03.000] Open files:
|
||||
Info 31 [00:01:04.000] FileName: /user/username/projects/myproject/src/file1.ts ProjectRootPath: undefined
|
||||
Info 31 [00:01:05.000] Projects: /user/username/projects/myproject/tsconfig.json
|
||||
Info 31 [00:01:12.000] FileWatcher:: Triggered with /user/username/projects/myproject/src/file2.ts 1:: WatchInfo: /user/username/projects/myproject/src/file2.ts 500 undefined WatchType: Closed Script info
|
||||
Info 32 [00:01:13.000] Scheduled: /user/username/projects/myproject/tsconfig.json
|
||||
Info 33 [00:01:14.000] Scheduled: *ensureProjectForOpenFiles*
|
||||
Info 34 [00:01:15.000] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/src/file2.ts 1:: WatchInfo: /user/username/projects/myproject/src/file2.ts 500 undefined WatchType: Closed Script info
|
||||
Info 35 [00:01:06.000] -----------------------------------------------
|
||||
Info 35 [00:01:07.000] Open files:
|
||||
Info 35 [00:01:08.000] FileName: /user/username/projects/myproject/src/file1.ts ProjectRootPath: undefined
|
||||
Info 35 [00:01:09.000] Projects: /user/username/projects/myproject/tsconfig.json
|
||||
Info 35 [00:01:16.000] FileWatcher:: Triggered with /user/username/projects/myproject/src/file2.ts 1:: WatchInfo: /user/username/projects/myproject/src/file2.ts 500 undefined WatchType: Closed Script info
|
||||
Info 36 [00:01:17.000] Scheduled: /user/username/projects/myproject/tsconfig.json
|
||||
Info 37 [00:01:18.000] Scheduled: *ensureProjectForOpenFiles*
|
||||
Info 38 [00:01:19.000] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/src/file2.ts 1:: WatchInfo: /user/username/projects/myproject/src/file2.ts 500 undefined WatchType: Closed Script info
|
||||
Before running timeout callbacks
|
||||
//// [/user/username/projects/myproject/src/file1.ts]
|
||||
import { module1 } from "./module1";import { module2 } from "../module2";import { module1 } from "./module1";import { module2 } from "../module2";
|
||||
@@ -137,31 +141,31 @@ FsWatchesRecursive::
|
||||
/user/username/projects/myproject:
|
||||
{}
|
||||
|
||||
Info 35 [00:01:16.000] Running: /user/username/projects/myproject/tsconfig.json
|
||||
Info 36 [00:01:17.000] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json
|
||||
Info 37 [00:01:18.000] Reusing resolution of module './module1' from '/user/username/projects/myproject/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/src/module1.ts'.
|
||||
Info 38 [00:01:19.000] Reusing resolution of module '../module2' from '/user/username/projects/myproject/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/module2.ts'.
|
||||
Info 39 [00:01:20.000] Reusing resolution of module './module1' from '/user/username/projects/myproject/src/file2.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/src/module1.ts'.
|
||||
Info 40 [00:01:21.000] Reusing resolution of module '../module2' from '/user/username/projects/myproject/src/file2.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/module2.ts'.
|
||||
Info 41 [00:01:22.000] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Version: 2 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms
|
||||
Info 42 [00:01:23.000] Different program with same set of files
|
||||
Info 43 [00:01:24.000] Running: *ensureProjectForOpenFiles*
|
||||
Info 44 [00:01:25.000] Before ensureProjectForOpenFiles:
|
||||
Info 45 [00:01:26.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 45 [00:01:27.000] Files (5)
|
||||
Info 39 [00:01:20.000] Running: /user/username/projects/myproject/tsconfig.json
|
||||
Info 40 [00:01:21.000] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json
|
||||
Info 41 [00:01:22.000] Reusing resolution of module './module1' from '/user/username/projects/myproject/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/src/module1.ts'.
|
||||
Info 42 [00:01:23.000] Reusing resolution of module '../module2' from '/user/username/projects/myproject/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/module2.ts'.
|
||||
Info 43 [00:01:24.000] Reusing resolution of module './module1' from '/user/username/projects/myproject/src/file2.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/src/module1.ts'.
|
||||
Info 44 [00:01:25.000] Reusing resolution of module '../module2' from '/user/username/projects/myproject/src/file2.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/module2.ts'.
|
||||
Info 45 [00:01:26.000] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Version: 2 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms
|
||||
Info 46 [00:01:27.000] Different program with same set of files
|
||||
Info 47 [00:01:28.000] Running: *ensureProjectForOpenFiles*
|
||||
Info 48 [00:01:29.000] Before ensureProjectForOpenFiles:
|
||||
Info 49 [00:01:30.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 49 [00:01:31.000] Files (5)
|
||||
|
||||
Info 45 [00:01:28.000] -----------------------------------------------
|
||||
Info 45 [00:01:29.000] Open files:
|
||||
Info 45 [00:01:30.000] FileName: /user/username/projects/myproject/src/file1.ts ProjectRootPath: undefined
|
||||
Info 45 [00:01:31.000] Projects: /user/username/projects/myproject/tsconfig.json
|
||||
Info 45 [00:01:32.000] After ensureProjectForOpenFiles:
|
||||
Info 46 [00:01:33.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 46 [00:01:34.000] Files (5)
|
||||
Info 49 [00:01:32.000] -----------------------------------------------
|
||||
Info 49 [00:01:33.000] Open files:
|
||||
Info 49 [00:01:34.000] FileName: /user/username/projects/myproject/src/file1.ts ProjectRootPath: undefined
|
||||
Info 49 [00:01:35.000] Projects: /user/username/projects/myproject/tsconfig.json
|
||||
Info 49 [00:01:36.000] After ensureProjectForOpenFiles:
|
||||
Info 50 [00:01:37.000] Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
Info 50 [00:01:38.000] Files (5)
|
||||
|
||||
Info 46 [00:01:35.000] -----------------------------------------------
|
||||
Info 46 [00:01:36.000] Open files:
|
||||
Info 46 [00:01:37.000] FileName: /user/username/projects/myproject/src/file1.ts ProjectRootPath: undefined
|
||||
Info 46 [00:01:38.000] Projects: /user/username/projects/myproject/tsconfig.json
|
||||
Info 50 [00:01:39.000] -----------------------------------------------
|
||||
Info 50 [00:01:40.000] Open files:
|
||||
Info 50 [00:01:41.000] FileName: /user/username/projects/myproject/src/file1.ts ProjectRootPath: undefined
|
||||
Info 50 [00:01:42.000] Projects: /user/username/projects/myproject/tsconfig.json
|
||||
After running timeout callbacks
|
||||
|
||||
PolledWatches::
|
||||
|
||||
@@ -0,0 +1,178 @@
|
||||
Info 0 [00:00:29.000] Provided types map file "/a/lib/typesMap.json" doesn't exist
|
||||
Info 1 [00:00:30.000] request:
|
||||
{
|
||||
"command": "open",
|
||||
"arguments": {
|
||||
"file": "/src/projects/app/appB.ts"
|
||||
},
|
||||
"seq": 1,
|
||||
"type": "request"
|
||||
}
|
||||
Before request
|
||||
//// [/src/projects/node_modules/moduleX/index.d.ts]
|
||||
export const x = 10;
|
||||
|
||||
//// [/src/projects/common/tsconfig.json]
|
||||
{"compilerOptions":{"composite":true,"traceResolution":true}}
|
||||
|
||||
//// [/src/projects/common/moduleA.ts]
|
||||
export const a = 10;
|
||||
|
||||
//// [/src/projects/common/moduleB.ts]
|
||||
import { x } from "moduleX";
|
||||
export const b = x;
|
||||
|
||||
|
||||
//// [/src/projects/app/tsconfig.json]
|
||||
{"compilerOptions":{"composite":true,"traceResolution":true},"references":[{"path":"../common"}]}
|
||||
|
||||
//// [/src/projects/app/appA.ts]
|
||||
import { x } from "moduleX";
|
||||
export const y = x;
|
||||
|
||||
|
||||
//// [/src/projects/app/appB.ts]
|
||||
import { x } from "../common/moduleB";
|
||||
export const y = x;
|
||||
|
||||
|
||||
|
||||
PolledWatches::
|
||||
|
||||
FsWatches::
|
||||
|
||||
FsWatchesRecursive::
|
||||
|
||||
Info 2 [00:00:31.000] Search path: /src/projects/app
|
||||
Info 3 [00:00:32.000] For info: /src/projects/app/appB.ts :: Config file name: /src/projects/app/tsconfig.json
|
||||
Info 4 [00:00:33.000] Creating configuration project /src/projects/app/tsconfig.json
|
||||
Info 5 [00:00:34.000] FileWatcher:: Added:: WatchInfo: /src/projects/app/tsconfig.json 2000 undefined Project: /src/projects/app/tsconfig.json WatchType: Config file
|
||||
Info 6 [00:00:35.000] Config: /src/projects/app/tsconfig.json : {
|
||||
"rootNames": [
|
||||
"/src/projects/app/appA.ts",
|
||||
"/src/projects/app/appB.ts"
|
||||
],
|
||||
"options": {
|
||||
"composite": true,
|
||||
"traceResolution": true,
|
||||
"configFilePath": "/src/projects/app/tsconfig.json"
|
||||
},
|
||||
"projectReferences": [
|
||||
{
|
||||
"path": "/src/projects/common",
|
||||
"originalPath": "../common"
|
||||
}
|
||||
]
|
||||
}
|
||||
Info 7 [00:00:36.000] DirectoryWatcher:: Added:: WatchInfo: /src/projects/app 1 undefined Config: /src/projects/app/tsconfig.json WatchType: Wild card directory
|
||||
Info 8 [00:00:37.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /src/projects/app 1 undefined Config: /src/projects/app/tsconfig.json WatchType: Wild card directory
|
||||
Info 9 [00:00:38.000] FileWatcher:: Added:: WatchInfo: /src/projects/app/appA.ts 500 undefined WatchType: Closed Script info
|
||||
Info 10 [00:00:39.000] Starting updateGraphWorker: Project: /src/projects/app/tsconfig.json
|
||||
Info 11 [00:00:40.000] Config: /src/projects/common/tsconfig.json : {
|
||||
"rootNames": [
|
||||
"/src/projects/common/moduleA.ts",
|
||||
"/src/projects/common/moduleB.ts"
|
||||
],
|
||||
"options": {
|
||||
"composite": true,
|
||||
"traceResolution": true,
|
||||
"configFilePath": "/src/projects/common/tsconfig.json"
|
||||
}
|
||||
}
|
||||
Info 12 [00:00:41.000] FileWatcher:: Added:: WatchInfo: /src/projects/common/tsconfig.json 2000 undefined Project: /src/projects/app/tsconfig.json WatchType: Config file
|
||||
Info 13 [00:00:42.000] DirectoryWatcher:: Added:: WatchInfo: /src/projects/common 1 undefined Config: /src/projects/common/tsconfig.json WatchType: Wild card directory
|
||||
Info 14 [00:00:43.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /src/projects/common 1 undefined Config: /src/projects/common/tsconfig.json WatchType: Wild card directory
|
||||
Info 15 [00:00:44.000] ======== Resolving module 'moduleX' from '/src/projects/app/appA.ts'. ========
|
||||
Info 16 [00:00:45.000] Module resolution kind is not specified, using 'NodeJs'.
|
||||
Info 17 [00:00:46.000] Loading module 'moduleX' from 'node_modules' folder, target file types: TypeScript, Declaration.
|
||||
Info 18 [00:00:47.000] Directory '/src/projects/app/node_modules' does not exist, skipping all lookups in it.
|
||||
Info 19 [00:00:48.000] File '/src/projects/node_modules/moduleX/package.json' does not exist.
|
||||
Info 20 [00:00:49.000] File '/src/projects/node_modules/moduleX.ts' does not exist.
|
||||
Info 21 [00:00:50.000] File '/src/projects/node_modules/moduleX.tsx' does not exist.
|
||||
Info 22 [00:00:51.000] File '/src/projects/node_modules/moduleX.d.ts' does not exist.
|
||||
Info 23 [00:00:52.000] File '/src/projects/node_modules/moduleX/index.ts' does not exist.
|
||||
Info 24 [00:00:53.000] File '/src/projects/node_modules/moduleX/index.tsx' does not exist.
|
||||
Info 25 [00:00:54.000] File '/src/projects/node_modules/moduleX/index.d.ts' exist - use it as a name resolution result.
|
||||
Info 26 [00:00:55.000] Resolving real path for '/src/projects/node_modules/moduleX/index.d.ts', result '/src/projects/node_modules/moduleX/index.d.ts'.
|
||||
Info 27 [00:00:56.000] ======== Module name 'moduleX' was successfully resolved to '/src/projects/node_modules/moduleX/index.d.ts'. ========
|
||||
Info 28 [00:00:57.000] DirectoryWatcher:: Added:: WatchInfo: /src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache
|
||||
Info 29 [00:00:58.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache
|
||||
Info 30 [00:00:59.000] ======== Resolving module '../common/moduleB' from '/src/projects/app/appB.ts'. ========
|
||||
Info 31 [00:01:00.000] Module resolution kind is not specified, using 'NodeJs'.
|
||||
Info 32 [00:01:01.000] Loading module as file / folder, candidate module location '/src/projects/common/moduleB', target file types: TypeScript, Declaration.
|
||||
Info 33 [00:01:02.000] File '/src/projects/common/moduleB.ts' exist - use it as a name resolution result.
|
||||
Info 34 [00:01:03.000] ======== Module name '../common/moduleB' was successfully resolved to '/src/projects/common/moduleB.ts'. ========
|
||||
Info 35 [00:01:04.000] FileWatcher:: Added:: WatchInfo: /src/projects/common/moduleB.ts 500 undefined WatchType: Closed Script info
|
||||
Info 36 [00:01:05.000] ======== Resolving module 'moduleX' from '/src/projects/common/moduleB.ts'. ========
|
||||
Info 37 [00:01:06.000] Using compiler options of project reference redirect '/src/projects/common/tsconfig.json'.
|
||||
Info 38 [00:01:07.000] Module resolution kind is not specified, using 'NodeJs'.
|
||||
Info 39 [00:01:08.000] Loading module 'moduleX' from 'node_modules' folder, target file types: TypeScript, Declaration.
|
||||
Info 40 [00:01:09.000] Directory '/src/projects/common/node_modules' does not exist, skipping all lookups in it.
|
||||
Info 41 [00:01:10.000] Resolution for module 'moduleX' was found in cache from location '/src/projects'.
|
||||
Info 42 [00:01:11.000] ======== Module name 'moduleX' was successfully resolved to '/src/projects/node_modules/moduleX/index.d.ts'. ========
|
||||
Info 43 [00:01:12.000] DirectoryWatcher:: Added:: WatchInfo: /src/projects/app/node_modules 1 undefined Project: /src/projects/app/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Info 44 [00:01:13.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /src/projects/app/node_modules 1 undefined Project: /src/projects/app/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Info 45 [00:01:14.000] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /src/projects/app/tsconfig.json WatchType: Missing file
|
||||
Info 46 [00:01:15.000] DirectoryWatcher:: Added:: WatchInfo: /src/projects/app/node_modules/@types 1 undefined Project: /src/projects/app/tsconfig.json WatchType: Type roots
|
||||
Info 47 [00:01:16.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /src/projects/app/node_modules/@types 1 undefined Project: /src/projects/app/tsconfig.json WatchType: Type roots
|
||||
Info 48 [00:01:17.000] Finishing updateGraphWorker: Project: /src/projects/app/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
|
||||
Info 49 [00:01:18.000] Project '/src/projects/app/tsconfig.json' (Configured)
|
||||
Info 50 [00:01:19.000] Files (4)
|
||||
/src/projects/node_modules/moduleX/index.d.ts
|
||||
/src/projects/app/appA.ts
|
||||
/src/projects/common/moduleB.ts
|
||||
/src/projects/app/appB.ts
|
||||
|
||||
|
||||
../node_modules/moduleX/index.d.ts
|
||||
Imported via "moduleX" from file 'appA.ts'
|
||||
Imported via "moduleX" from file '../common/moduleB.ts'
|
||||
appA.ts
|
||||
Matched by default include pattern '**/*'
|
||||
../common/moduleB.ts
|
||||
Imported via "../common/moduleB" from file 'appB.ts'
|
||||
appB.ts
|
||||
Matched by default include pattern '**/*'
|
||||
|
||||
Info 51 [00:01:20.000] -----------------------------------------------
|
||||
Info 52 [00:01:21.000] Search path: /src/projects/app
|
||||
Info 53 [00:01:22.000] For info: /src/projects/app/tsconfig.json :: No config files found.
|
||||
Info 54 [00:01:23.000] Project '/src/projects/app/tsconfig.json' (Configured)
|
||||
Info 54 [00:01:24.000] Files (4)
|
||||
|
||||
Info 54 [00:01:25.000] -----------------------------------------------
|
||||
Info 54 [00:01:26.000] Open files:
|
||||
Info 54 [00:01:27.000] FileName: /src/projects/app/appB.ts ProjectRootPath: undefined
|
||||
Info 54 [00:01:28.000] Projects: /src/projects/app/tsconfig.json
|
||||
After request
|
||||
|
||||
PolledWatches::
|
||||
/src/projects/app/node_modules:
|
||||
{"pollingInterval":500}
|
||||
/a/lib/lib.d.ts:
|
||||
{"pollingInterval":500}
|
||||
/src/projects/app/node_modules/@types:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
/src/projects/app/tsconfig.json:
|
||||
{}
|
||||
/src/projects/app/appa.ts:
|
||||
{}
|
||||
/src/projects/common/tsconfig.json:
|
||||
{}
|
||||
/src/projects/common/moduleb.ts:
|
||||
{}
|
||||
|
||||
FsWatchesRecursive::
|
||||
/src/projects/app:
|
||||
{}
|
||||
/src/projects/common:
|
||||
{}
|
||||
/src/projects/node_modules:
|
||||
{}
|
||||
|
||||
Info 54 [00:01:29.000] response:
|
||||
{
|
||||
"responseRequired": false
|
||||
}
|
||||
Reference in New Issue
Block a user