mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Clean up FAR aggregation (#48619)
* Clean up FAR and RenameLocations This change had two goals: 1. Make the code easier to understand, primarily by simplifying the callback structure and minimizing side-effects 2. Improve performance by reducing repeated work, both FAR searches of individual projects and default tsconfig searches This implementation attempts to preserve the merging order found in the original code (someone less relevant in the present state of using syntactic isDefinition). * Stop enforcing search and aggregation order ...in preparation for implementing isDefinition explicitly. Also restore convention of referring to `DocumentPosition`s as "locations". * Introduce LanguageService.updateIsDefinitionOfReferencedSymbols ...to allow use of the checker when computing isDefinition across projects. * Update baselines * Tidy diff * De-dup simplified results * Baseline cross-project isDefinition results * Move de-duping upstream to fix Full output * Add server baseline test to confirm searches are not repeated * Manually merge #48758 * Update baseline for newer fix to #48963
This commit is contained in:
@@ -880,6 +880,10 @@ namespace ts.server {
|
||||
throw new Error("Program objects are not serializable through the server protocol.");
|
||||
}
|
||||
|
||||
updateIsDefinitionOfReferencedSymbols(_referencedSymbols: readonly ReferencedSymbol[], _knownSymbolSpans: Set<DocumentSpan>): boolean {
|
||||
return notImplemented();
|
||||
}
|
||||
|
||||
getNonBoundSourceFile(_fileName: string): SourceFile {
|
||||
throw new Error("SourceFile objects are not serializable through the server protocol.");
|
||||
}
|
||||
|
||||
@@ -630,6 +630,9 @@ namespace Harness.LanguageService {
|
||||
getAutoImportProvider(): ts.Program | undefined {
|
||||
throw new Error("Program can not be marshaled across the shim layer.");
|
||||
}
|
||||
updateIsDefinitionOfReferencedSymbols(_referencedSymbols: readonly ts.ReferencedSymbol[], _knownSymbolSpans: ts.Set<ts.DocumentSpan>): boolean {
|
||||
return ts.notImplemented();
|
||||
}
|
||||
getNonBoundSourceFile(): ts.SourceFile {
|
||||
throw new Error("SourceFile can not be marshaled across the shim layer.");
|
||||
}
|
||||
|
||||
+262
-169
@@ -303,7 +303,7 @@ namespace ts.server {
|
||||
return createSet(({textSpan}) => textSpan.start + 100003 * textSpan.length, documentSpansEqual);
|
||||
}
|
||||
|
||||
function combineProjectOutputForRenameLocations(
|
||||
function getRenameLocationsWorker(
|
||||
projects: Projects,
|
||||
defaultProject: Project,
|
||||
initialLocation: DocumentPosition,
|
||||
@@ -311,89 +311,164 @@ namespace ts.server {
|
||||
findInComments: boolean,
|
||||
{ providePrefixAndSuffixTextForRename }: UserPreferences
|
||||
): readonly RenameLocation[] {
|
||||
const outputs: RenameLocation[] = [];
|
||||
const seen = createDocumentSpanSet();
|
||||
combineProjectOutputWorker(
|
||||
const perProjectResults = getPerProjectReferences(
|
||||
projects,
|
||||
defaultProject,
|
||||
initialLocation,
|
||||
/*isForRename*/ true,
|
||||
(project, location, tryAddToTodo) => {
|
||||
const projectOutputs = project.getLanguageService().findRenameLocations(location.fileName, location.pos, findInStrings, findInComments, providePrefixAndSuffixTextForRename);
|
||||
if (projectOutputs) {
|
||||
for (const output of projectOutputs) {
|
||||
if (!seen.has(output) && !tryAddToTodo(project, documentSpanLocation(output))) {
|
||||
seen.add(output);
|
||||
outputs.push(output);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
(project, position) => project.getLanguageService().findRenameLocations(position.fileName, position.pos, findInStrings, findInComments, providePrefixAndSuffixTextForRename),
|
||||
(renameLocation, cb) => cb(documentSpanLocation(renameLocation)),
|
||||
);
|
||||
return outputs;
|
||||
|
||||
// No filtering or dedup'ing is required if there's exactly one project
|
||||
if (isArray(perProjectResults)) {
|
||||
return perProjectResults;
|
||||
}
|
||||
|
||||
const results: RenameLocation[] = [];
|
||||
const seen = createDocumentSpanSet();
|
||||
|
||||
perProjectResults.forEach((projectResults, project) => {
|
||||
for (const result of projectResults) {
|
||||
// If there's a mapped location, it'll appear in the results for another project
|
||||
if (!seen.has(result) && !getMappedLocationForProject(documentSpanLocation(result), project)) {
|
||||
results.push(result);
|
||||
seen.add(result);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
function getDefinitionLocation(defaultProject: Project, initialLocation: DocumentPosition, isForRename: boolean): DocumentPosition | undefined {
|
||||
const infos = defaultProject.getLanguageService().getDefinitionAtPosition(initialLocation.fileName, initialLocation.pos, /*searchOtherFilesOnly*/ false, isForRename);
|
||||
const infos = defaultProject.getLanguageService().getDefinitionAtPosition(initialLocation.fileName, initialLocation.pos, /*searchOtherFilesOnly*/ false, /*stopAtAlias*/ isForRename);
|
||||
const info = infos && firstOrUndefined(infos);
|
||||
return info && !info.isLocal ? { fileName: info.fileName, pos: info.textSpan.start } : undefined;
|
||||
}
|
||||
|
||||
function combineProjectOutputForReferences(
|
||||
function getReferencesWorker(
|
||||
projects: Projects,
|
||||
defaultProject: Project,
|
||||
initialLocation: DocumentPosition,
|
||||
logger: Logger,
|
||||
): readonly ReferencedSymbol[] {
|
||||
const outputs: ReferencedSymbol[] = [];
|
||||
|
||||
combineProjectOutputWorker(
|
||||
const perProjectResults = getPerProjectReferences(
|
||||
projects,
|
||||
defaultProject,
|
||||
initialLocation,
|
||||
/*isForRename*/ false,
|
||||
(project, location, getMappedLocation) => {
|
||||
logger.info(`Finding references to ${location.fileName} position ${location.pos} in project ${project.getProjectName()}`);
|
||||
const projectOutputs = project.getLanguageService().findReferences(location.fileName, location.pos);
|
||||
if (projectOutputs) {
|
||||
const clearIsDefinition = projectOutputs[0]?.references[0]?.isDefinition === undefined;
|
||||
for (const referencedSymbol of projectOutputs) {
|
||||
const mappedDefinitionFile = getMappedLocation(project, documentSpanLocation(referencedSymbol.definition));
|
||||
const definition: ReferencedSymbolDefinitionInfo = mappedDefinitionFile === undefined ?
|
||||
referencedSymbol.definition :
|
||||
{
|
||||
...referencedSymbol.definition,
|
||||
textSpan: createTextSpan(mappedDefinitionFile.pos, referencedSymbol.definition.textSpan.length),
|
||||
fileName: mappedDefinitionFile.fileName,
|
||||
contextSpan: getMappedContextSpan(referencedSymbol.definition, project)
|
||||
};
|
||||
|
||||
let symbolToAddTo = find(outputs, o => documentSpansEqual(o.definition, definition));
|
||||
if (!symbolToAddTo) {
|
||||
symbolToAddTo = { definition, references: [] };
|
||||
outputs.push(symbolToAddTo);
|
||||
}
|
||||
|
||||
for (const ref of referencedSymbol.references) {
|
||||
// If it's in a mapped file, that is added to the todo list by `getMappedLocation`.
|
||||
if (!contains(symbolToAddTo.references, ref, documentSpansEqual) && !getMappedLocation(project, documentSpanLocation(ref))) {
|
||||
if (clearIsDefinition) {
|
||||
delete ref.isDefinition;
|
||||
}
|
||||
symbolToAddTo.references.push(ref);
|
||||
}
|
||||
}
|
||||
}
|
||||
(project, position) => {
|
||||
logger.info(`Finding references to ${position.fileName} position ${position.pos} in project ${project.getProjectName()}`);
|
||||
return project.getLanguageService().findReferences(position.fileName, position.pos);
|
||||
},
|
||||
(referencedSymbol, cb) => {
|
||||
cb(documentSpanLocation(referencedSymbol.definition));
|
||||
for (const ref of referencedSymbol.references) {
|
||||
cb(documentSpanLocation(ref));
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
return outputs.filter(o => o.references.length !== 0);
|
||||
// No re-mapping or isDefinition updatses are required if there's exactly one project
|
||||
if (isArray(perProjectResults)) {
|
||||
return perProjectResults;
|
||||
}
|
||||
|
||||
// `isDefinition` is only (definitely) correct in `defaultProject` because we might
|
||||
// have started the other project searches from related symbols. Propagate the
|
||||
// correct results to all other projects.
|
||||
|
||||
const defaultProjectResults = perProjectResults.get(defaultProject)!;
|
||||
if (defaultProjectResults[0].references[0].isDefinition === undefined) {
|
||||
// Clear all isDefinition properties
|
||||
perProjectResults.forEach(projectResults => {
|
||||
for (const referencedSymbol of projectResults) {
|
||||
for (const ref of referencedSymbol.references) {
|
||||
delete ref.isDefinition;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
// Correct isDefinition properties from projects other than defaultProject
|
||||
const knownSymbolSpans = createDocumentSpanSet();
|
||||
for (const referencedSymbol of defaultProjectResults) {
|
||||
for (const ref of referencedSymbol.references) {
|
||||
if (ref.isDefinition) {
|
||||
knownSymbolSpans.add(ref);
|
||||
// One is enough - updateIsDefinitionOfReferencedSymbols will fill out the set based on symbols
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const updatedProjects = new Set<Project>();
|
||||
while (true) {
|
||||
let progress = false;
|
||||
perProjectResults.forEach((referencedSymbols, project) => {
|
||||
if (updatedProjects.has(project)) return;
|
||||
const updated = project.getLanguageService().updateIsDefinitionOfReferencedSymbols(referencedSymbols, knownSymbolSpans);
|
||||
if (updated) {
|
||||
updatedProjects.add(project);
|
||||
progress = true;
|
||||
}
|
||||
});
|
||||
if (!progress) break;
|
||||
}
|
||||
|
||||
perProjectResults.forEach((referencedSymbols, project) => {
|
||||
if (updatedProjects.has(project)) return;
|
||||
for (const referencedSymbol of referencedSymbols) {
|
||||
for (const ref of referencedSymbol.references) {
|
||||
ref.isDefinition = false;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// We need to de-duplicate and aggregate the results by choosing an authoritative version
|
||||
// of each definition and merging references from all the projects where they appear.
|
||||
|
||||
const results: ReferencedSymbol[] = [];
|
||||
const seenRefs = createDocumentSpanSet(); // It doesn't make sense to have a reference in two definition lists, so we de-dup globally
|
||||
|
||||
// TODO: We might end up with a more logical allocation of refs to defs if we pre-sorted the defs by descending ref-count.
|
||||
// Otherwise, it just ends up attached to the first corresponding def we happen to process. The others may or may not be
|
||||
// dropped later when we check for defs with ref-count 0.
|
||||
perProjectResults.forEach((projectResults, project) => {
|
||||
for (const referencedSymbol of projectResults) {
|
||||
const mappedDefinitionFile = getMappedLocationForProject(documentSpanLocation(referencedSymbol.definition), project);
|
||||
const definition: ReferencedSymbolDefinitionInfo = mappedDefinitionFile === undefined ?
|
||||
referencedSymbol.definition :
|
||||
{
|
||||
...referencedSymbol.definition,
|
||||
textSpan: createTextSpan(mappedDefinitionFile.pos, referencedSymbol.definition.textSpan.length), // Why would the length be the same in the original?
|
||||
fileName: mappedDefinitionFile.fileName,
|
||||
contextSpan: getMappedContextSpanForProject(referencedSymbol.definition, project)
|
||||
};
|
||||
|
||||
let symbolToAddTo = find(results, o => documentSpansEqual(o.definition, definition));
|
||||
if (!symbolToAddTo) {
|
||||
symbolToAddTo = { definition, references: [] };
|
||||
results.push(symbolToAddTo);
|
||||
}
|
||||
|
||||
for (const ref of referencedSymbol.references) {
|
||||
if (!seenRefs.has(ref) && !getMappedLocationForProject(documentSpanLocation(ref), project)) {
|
||||
seenRefs.add(ref);
|
||||
symbolToAddTo.references.push(ref);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return results.filter(o => o.references.length !== 0);
|
||||
}
|
||||
|
||||
interface ProjectAndLocation<TLocation extends DocumentPosition | undefined> {
|
||||
interface ProjectAndLocation {
|
||||
readonly project: Project;
|
||||
readonly location: TLocation;
|
||||
readonly location: DocumentPosition;
|
||||
}
|
||||
|
||||
function forEachProjectInProjects(projects: Projects, path: string | undefined, cb: (project: Project, path: string | undefined) => void): void {
|
||||
@@ -409,53 +484,136 @@ namespace ts.server {
|
||||
}
|
||||
}
|
||||
|
||||
type CombineProjectOutputCallback<TLocation extends DocumentPosition | undefined> = (
|
||||
project: Project,
|
||||
location: TLocation,
|
||||
getMappedLocation: (project: Project, location: DocumentPosition) => DocumentPosition | undefined,
|
||||
) => void;
|
||||
|
||||
function combineProjectOutputWorker<TLocation extends DocumentPosition | undefined>(
|
||||
/**
|
||||
* @param projects Projects initially known to contain {@link initialLocation}
|
||||
* @param defaultProject The default project containing {@link initialLocation}
|
||||
* @param initialLocation Where the search operation was triggered
|
||||
* @param getResultsForPosition This is where you plug in `findReferences`, `renameLocation`, etc
|
||||
* @param forPositionInResult Given an item returned by {@link getResultsForPosition} enumerate the positions referred to by that result
|
||||
* @returns In the common case where there's only one project, returns an array of results from {@link getResultsForPosition}.
|
||||
* If multiple projects were searched - even if they didn't return results - the result will be a map from project to per-project results.
|
||||
*/
|
||||
function getPerProjectReferences<TResult>(
|
||||
projects: Projects,
|
||||
defaultProject: Project,
|
||||
initialLocation: TLocation,
|
||||
initialLocation: DocumentPosition,
|
||||
isForRename: boolean,
|
||||
cb: CombineProjectOutputCallback<TLocation>,
|
||||
): void {
|
||||
const projectService = defaultProject.projectService;
|
||||
let toDo: ProjectAndLocation<TLocation>[] | undefined;
|
||||
const seenProjects = new Set<string>();
|
||||
forEachProjectInProjects(projects, initialLocation && initialLocation.fileName, (project, path) => {
|
||||
// TLocation should be either `DocumentPosition` or `undefined`. Since `initialLocation` is `TLocation` this cast should be valid.
|
||||
const location = (initialLocation ? { fileName: path, pos: initialLocation.pos } : undefined) as TLocation;
|
||||
toDo = callbackProjectAndLocation(project, location, projectService, toDo, seenProjects, cb);
|
||||
getResultsForPosition: (project: Project, location: DocumentPosition) => readonly TResult[] | undefined,
|
||||
forPositionInResult: (result: TResult, cb: (location: DocumentPosition) => void) => void,
|
||||
): readonly TResult[] | ESMap<Project, readonly TResult[]> {
|
||||
// If `getResultsForPosition` returns results for a project, they go in here
|
||||
const resultsMap = new Map<Project, readonly TResult[]>();
|
||||
|
||||
const queue: ProjectAndLocation[] = [];
|
||||
|
||||
// In order to get accurate isDefinition values for `defaultProject`,
|
||||
// we need to ensure that it is searched from `initialLocation`.
|
||||
// The easiest way to do this is to search it first.
|
||||
queue.push({ project: defaultProject, location: initialLocation });
|
||||
|
||||
// This will queue `defaultProject` a second time, but it will be dropped
|
||||
// as a dup when it is dequeued.
|
||||
forEachProjectInProjects(projects, initialLocation.fileName, (project, path) => {
|
||||
const location = { fileName: path!, pos: initialLocation.pos };
|
||||
queue.push({ project, location });
|
||||
});
|
||||
|
||||
// After initial references are collected, go over every other project and see if it has a reference for the symbol definition.
|
||||
if (initialLocation) {
|
||||
const defaultDefinition = getDefinitionLocation(defaultProject, initialLocation, isForRename);
|
||||
const projectService = defaultProject.projectService;
|
||||
const cancellationToken = defaultProject.getCancellationToken();
|
||||
|
||||
const defaultDefinition = getDefinitionLocation(defaultProject, initialLocation, isForRename);
|
||||
|
||||
// Don't call these unless !!defaultDefinition
|
||||
const getGeneratedDefinition = memoize(() => defaultProject.isSourceOfProjectReferenceRedirect(defaultDefinition!.fileName) ?
|
||||
defaultDefinition :
|
||||
defaultProject.getLanguageService().getSourceMapper().tryGetGeneratedPosition(defaultDefinition!));
|
||||
const getSourceDefinition = memoize(() => defaultProject.isSourceOfProjectReferenceRedirect(defaultDefinition!.fileName) ?
|
||||
defaultDefinition :
|
||||
defaultProject.getLanguageService().getSourceMapper().tryGetSourcePosition(defaultDefinition!));
|
||||
|
||||
// Track which projects we have already searched so that we don't repeat searches.
|
||||
// We store the project key, rather than the project, because that's what `loadAncestorProjectTree` wants.
|
||||
// (For that same reason, we don't use `resultsMap` for this check.)
|
||||
const searchedProjects = new Set<string>();
|
||||
|
||||
onCancellation:
|
||||
while (queue.length) {
|
||||
while (queue.length) {
|
||||
if (cancellationToken.isCancellationRequested()) break onCancellation;
|
||||
|
||||
const { project, location } = queue.shift()!;
|
||||
|
||||
if (isLocationProjectReferenceRedirect(project, location)) continue;
|
||||
|
||||
if (!tryAddToSet(searchedProjects, getProjectKey(project))) continue;
|
||||
|
||||
const projectResults = searchPosition(project, location);
|
||||
if (projectResults) {
|
||||
resultsMap.set(project, projectResults);
|
||||
}
|
||||
}
|
||||
|
||||
// At this point, we know about all projects passed in as arguments and any projects in which
|
||||
// `getResultsForPosition` has returned results. We expand that set to include any projects
|
||||
// downstream from any of these and then queue new initial-position searches for any new project
|
||||
// containing `initialLocation`.
|
||||
if (defaultDefinition) {
|
||||
const getGeneratedDefinition = memoize(() => defaultProject.isSourceOfProjectReferenceRedirect(defaultDefinition.fileName) ?
|
||||
defaultDefinition :
|
||||
defaultProject.getLanguageService().getSourceMapper().tryGetGeneratedPosition(defaultDefinition));
|
||||
const getSourceDefinition = memoize(() => defaultProject.isSourceOfProjectReferenceRedirect(defaultDefinition.fileName) ?
|
||||
defaultDefinition :
|
||||
defaultProject.getLanguageService().getSourceMapper().tryGetSourcePosition(defaultDefinition));
|
||||
projectService.loadAncestorProjectTree(seenProjects);
|
||||
// This seems to mean "load all projects downstream from any member of `seenProjects`".
|
||||
projectService.loadAncestorProjectTree(searchedProjects);
|
||||
projectService.forEachEnabledProject(project => {
|
||||
if (!addToSeen(seenProjects, project)) return;
|
||||
const definition = mapDefinitionInProject(defaultDefinition, project, getGeneratedDefinition, getSourceDefinition);
|
||||
if (definition) {
|
||||
toDo = callbackProjectAndLocation<TLocation>(project, definition as TLocation, projectService, toDo, seenProjects, cb);
|
||||
if (cancellationToken.isCancellationRequested()) return; // There's no mechanism for skipping the remaining projects
|
||||
if (searchedProjects.has(getProjectKey(project))) return; // Can loop forever without this (enqueue here, dequeue above, repeat)
|
||||
const location = mapDefinitionInProject(defaultDefinition, project, getGeneratedDefinition, getSourceDefinition);
|
||||
if (location) {
|
||||
queue.push({ project, location });
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
while (toDo && toDo.length) {
|
||||
const next = toDo.pop();
|
||||
Debug.assertIsDefined(next);
|
||||
toDo = callbackProjectAndLocation(next.project, next.location, projectService, toDo, seenProjects, cb);
|
||||
// In the common case where there's only one project, return a simpler result to make
|
||||
// it easier for the caller to skip post-processing.
|
||||
if (searchedProjects.size === 1) {
|
||||
const it = resultsMap.values().next();
|
||||
Debug.assert(!it.done);
|
||||
return it.value;
|
||||
}
|
||||
|
||||
return resultsMap;
|
||||
|
||||
// May enqueue to otherPositionQueue
|
||||
function searchPosition(project: Project, location: DocumentPosition): readonly TResult[] | undefined {
|
||||
const projectResults = getResultsForPosition(project, location);
|
||||
if (!projectResults) return undefined;
|
||||
|
||||
for (const result of projectResults) {
|
||||
forPositionInResult(result, position => {
|
||||
// This may trigger a search for a tsconfig, but there are several layers of caching that make it inexpensive
|
||||
const originalLocation = projectService.getOriginalLocationEnsuringConfiguredProject(project, position);
|
||||
if (!originalLocation) return;
|
||||
|
||||
const originalScriptInfo = projectService.getScriptInfo(originalLocation.fileName)!;
|
||||
|
||||
for (const project of originalScriptInfo.containingProjects) {
|
||||
if (!project.isOrphan()) {
|
||||
queue.push({ project, location: originalLocation });
|
||||
}
|
||||
}
|
||||
|
||||
const symlinkedProjectsMap = projectService.getSymlinkedProjects(originalScriptInfo);
|
||||
if (symlinkedProjectsMap) {
|
||||
symlinkedProjectsMap.forEach((symlinkedProjects, symlinkedPath) => {
|
||||
for (const symlinkedProject of symlinkedProjects) {
|
||||
if (!symlinkedProject.isOrphan()) {
|
||||
queue.push({ project: symlinkedProject, location: { fileName: symlinkedPath as string, pos: originalLocation.pos } });
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return projectResults;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -492,49 +650,6 @@ namespace ts.server {
|
||||
sourceFile.resolvedPath !== project.toPath(location.fileName);
|
||||
}
|
||||
|
||||
function callbackProjectAndLocation<TLocation extends DocumentPosition | undefined>(
|
||||
project: Project,
|
||||
location: TLocation,
|
||||
projectService: ProjectService,
|
||||
toDo: ProjectAndLocation<TLocation>[] | undefined,
|
||||
seenProjects: Set<string>,
|
||||
cb: CombineProjectOutputCallback<TLocation>,
|
||||
): ProjectAndLocation<TLocation>[] | undefined {
|
||||
if (project.getCancellationToken().isCancellationRequested()) return undefined; // Skip rest of toDo if cancelled
|
||||
// If this is not the file we were actually looking, return rest of the toDo
|
||||
if (isLocationProjectReferenceRedirect(project, location)) return toDo;
|
||||
cb(project, location, (innerProject, location) => {
|
||||
addToSeen(seenProjects, project);
|
||||
const originalLocation = projectService.getOriginalLocationEnsuringConfiguredProject(innerProject, location);
|
||||
if (!originalLocation) return undefined;
|
||||
|
||||
const originalScriptInfo = projectService.getScriptInfo(originalLocation.fileName)!;
|
||||
toDo = toDo || [];
|
||||
|
||||
for (const project of originalScriptInfo.containingProjects) {
|
||||
addToTodo(project, originalLocation as TLocation, toDo, seenProjects);
|
||||
}
|
||||
const symlinkedProjectsMap = projectService.getSymlinkedProjects(originalScriptInfo);
|
||||
if (symlinkedProjectsMap) {
|
||||
symlinkedProjectsMap.forEach((symlinkedProjects, symlinkedPath) => {
|
||||
for (const symlinkedProject of symlinkedProjects) {
|
||||
addToTodo(symlinkedProject, { fileName: symlinkedPath as string, pos: originalLocation.pos } as TLocation, toDo!, seenProjects);
|
||||
}
|
||||
});
|
||||
}
|
||||
return originalLocation === location ? undefined : originalLocation;
|
||||
});
|
||||
return toDo;
|
||||
}
|
||||
|
||||
function addToTodo<TLocation extends DocumentPosition | undefined>(project: Project, location: TLocation, toDo: Push<ProjectAndLocation<TLocation>>, seenProjects: Set<string>): void {
|
||||
if (!project.isOrphan() && addToSeen(seenProjects, project)) toDo.push({ project, location });
|
||||
}
|
||||
|
||||
function addToSeen(seenProjects: Set<string>, project: Project) {
|
||||
return tryAddToSet(seenProjects, getProjectKey(project));
|
||||
}
|
||||
|
||||
function getProjectKey(project: Project) {
|
||||
return isConfiguredProject(project) ? project.canonicalConfigFilePath : project.getProjectName();
|
||||
}
|
||||
@@ -543,39 +658,16 @@ namespace ts.server {
|
||||
return { fileName, pos: textSpan.start };
|
||||
}
|
||||
|
||||
function getMappedLocation(location: DocumentPosition, project: Project): DocumentPosition | undefined {
|
||||
const mapsTo = project.getSourceMapper().tryGetSourcePosition(location);
|
||||
return mapsTo && project.projectService.fileExists(toNormalizedPath(mapsTo.fileName)) ? mapsTo : undefined;
|
||||
function getMappedLocationForProject(location: DocumentPosition, project: Project): DocumentPosition | undefined {
|
||||
return getMappedLocation(location, project.getSourceMapper(), p => project.projectService.fileExists(p as NormalizedPath));
|
||||
}
|
||||
|
||||
function getMappedDocumentSpan(documentSpan: DocumentSpan, project: Project): DocumentSpan | undefined {
|
||||
const newPosition = getMappedLocation(documentSpanLocation(documentSpan), project);
|
||||
if (!newPosition) return undefined;
|
||||
return {
|
||||
fileName: newPosition.fileName,
|
||||
textSpan: {
|
||||
start: newPosition.pos,
|
||||
length: documentSpan.textSpan.length
|
||||
},
|
||||
originalFileName: documentSpan.fileName,
|
||||
originalTextSpan: documentSpan.textSpan,
|
||||
contextSpan: getMappedContextSpan(documentSpan, project),
|
||||
originalContextSpan: documentSpan.contextSpan
|
||||
};
|
||||
function getMappedDocumentSpanForProject(documentSpan: DocumentSpan, project: Project): DocumentSpan | undefined {
|
||||
return getMappedDocumentSpan(documentSpan, project.getSourceMapper(), p => project.projectService.fileExists(p as NormalizedPath));
|
||||
}
|
||||
|
||||
function getMappedContextSpan(documentSpan: DocumentSpan, project: Project): TextSpan | undefined {
|
||||
const contextSpanStart = documentSpan.contextSpan && getMappedLocation(
|
||||
{ fileName: documentSpan.fileName, pos: documentSpan.contextSpan.start },
|
||||
project
|
||||
);
|
||||
const contextSpanEnd = documentSpan.contextSpan && getMappedLocation(
|
||||
{ fileName: documentSpan.fileName, pos: documentSpan.contextSpan.start + documentSpan.contextSpan.length },
|
||||
project
|
||||
);
|
||||
return contextSpanStart && contextSpanEnd ?
|
||||
{ start: contextSpanStart.pos, length: contextSpanEnd.pos - contextSpanStart.pos } :
|
||||
undefined;
|
||||
function getMappedContextSpanForProject(documentSpan: DocumentSpan, project: Project): TextSpan | undefined {
|
||||
return getMappedContextSpan(documentSpan, project.getSourceMapper(), p => project.projectService.fileExists(p as NormalizedPath));
|
||||
}
|
||||
|
||||
const invalidPartialSemanticModeCommands: readonly CommandNames[] = [
|
||||
@@ -1189,7 +1281,7 @@ namespace ts.server {
|
||||
|
||||
private mapDefinitionInfoLocations(definitions: readonly DefinitionInfo[], project: Project): readonly DefinitionInfo[] {
|
||||
return definitions.map((info): DefinitionInfo => {
|
||||
const newDocumentSpan = getMappedDocumentSpan(info, project);
|
||||
const newDocumentSpan = getMappedDocumentSpanForProject(info, project);
|
||||
return !newDocumentSpan ? info : {
|
||||
...newDocumentSpan,
|
||||
containerKind: info.containerKind,
|
||||
@@ -1484,7 +1576,7 @@ namespace ts.server {
|
||||
|
||||
private mapImplementationLocations(implementations: readonly ImplementationLocation[], project: Project): readonly ImplementationLocation[] {
|
||||
return implementations.map((info): ImplementationLocation => {
|
||||
const newDocumentSpan = getMappedDocumentSpan(info, project);
|
||||
const newDocumentSpan = getMappedDocumentSpanForProject(info, project);
|
||||
return !newDocumentSpan ? info : {
|
||||
...newDocumentSpan,
|
||||
kind: info.kind,
|
||||
@@ -1665,7 +1757,7 @@ namespace ts.server {
|
||||
|
||||
if (!renameInfo.canRename) return simplifiedResult ? { info: renameInfo, locs: [] } : [];
|
||||
|
||||
const locations = combineProjectOutputForRenameLocations(
|
||||
const locations = getRenameLocationsWorker(
|
||||
projects,
|
||||
defaultProject,
|
||||
{ fileName: args.file, pos: position },
|
||||
@@ -1703,7 +1795,7 @@ namespace ts.server {
|
||||
const file = toNormalizedPath(args.file);
|
||||
const projects = this.getProjects(args);
|
||||
const position = this.getPositionInFile(args, file);
|
||||
const references = combineProjectOutputForReferences(
|
||||
const references = getReferencesWorker(
|
||||
projects,
|
||||
this.getDefaultProject(args),
|
||||
{ fileName: args.file, pos: position },
|
||||
@@ -2298,7 +2390,8 @@ namespace ts.server {
|
||||
const seenItems = new Map<string, NavigateToItem[]>(); // name to items with that name
|
||||
|
||||
if (!args.file && !projectFileName) {
|
||||
// VS Code's `Go to symbol in workspaces` sends request like this
|
||||
// VS Code's `Go to symbol in workspaces` sends request like this by default.
|
||||
// There's a setting to have it send a file name (reverting to older behavior).
|
||||
|
||||
// TODO (https://github.com/microsoft/TypeScript/issues/47839)
|
||||
// This appears to have been intended to search all projects but, in practice, it seems to only search
|
||||
@@ -2323,7 +2416,7 @@ namespace ts.server {
|
||||
// Mutates `outputs`
|
||||
function addItemsForProject(project: Project) {
|
||||
const projectItems = project.getLanguageService().getNavigateToItems(searchValue, maxResultCount, /*filename*/ undefined, /*excludeDts*/ project.isNonTsProject());
|
||||
const unseenItems = filter(projectItems, item => tryAddSeenItem(item) && !getMappedLocation(documentSpanLocation(item), project));
|
||||
const unseenItems = filter(projectItems, item => tryAddSeenItem(item) && !getMappedLocationForProject(documentSpanLocation(item), project));
|
||||
if (unseenItems.length) {
|
||||
outputs.push({ project, navigateToItems: unseenItems });
|
||||
}
|
||||
|
||||
@@ -564,7 +564,7 @@ namespace ts.FindAllReferences {
|
||||
}
|
||||
|
||||
/** Whether a reference, `node`, is a definition of the `target` symbol */
|
||||
function isDeclarationOfSymbol(node: Node, target: Symbol | undefined): boolean {
|
||||
export function isDeclarationOfSymbol(node: Node, target: Symbol | undefined): boolean {
|
||||
if (!target) return false;
|
||||
const source = getDeclarationFromName(node) ||
|
||||
(node.kind === SyntaxKind.DefaultKeyword ? node.parent
|
||||
|
||||
@@ -1601,6 +1601,62 @@ namespace ts {
|
||||
return host.getPackageJsonAutoImportProvider?.();
|
||||
}
|
||||
|
||||
function updateIsDefinitionOfReferencedSymbols(referencedSymbols: readonly ReferencedSymbol[], knownSymbolSpans: Set<DocumentSpan>): boolean {
|
||||
const checker = program.getTypeChecker();
|
||||
const symbol = getSymbolForProgram();
|
||||
|
||||
if (!symbol) return false;
|
||||
|
||||
for (const referencedSymbol of referencedSymbols) {
|
||||
for (const ref of referencedSymbol.references) {
|
||||
const refNode = getNodeForSpan(ref);
|
||||
Debug.assertIsDefined(refNode);
|
||||
if (knownSymbolSpans.has(ref) || FindAllReferences.isDeclarationOfSymbol(refNode, symbol)) {
|
||||
knownSymbolSpans.add(ref);
|
||||
ref.isDefinition = true;
|
||||
const mappedSpan = getMappedDocumentSpan(ref, sourceMapper, maybeBind(host, host.fileExists));
|
||||
if (mappedSpan) {
|
||||
knownSymbolSpans.add(mappedSpan);
|
||||
}
|
||||
}
|
||||
else {
|
||||
ref.isDefinition = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
function getSymbolForProgram(): Symbol | undefined {
|
||||
for (const referencedSymbol of referencedSymbols) {
|
||||
for (const ref of referencedSymbol.references) {
|
||||
if (knownSymbolSpans.has(ref)) {
|
||||
const refNode = getNodeForSpan(ref);
|
||||
Debug.assertIsDefined(refNode);
|
||||
return checker.getSymbolAtLocation(refNode);
|
||||
}
|
||||
const mappedSpan = getMappedDocumentSpan(ref, sourceMapper, maybeBind(host, host.fileExists));
|
||||
if (mappedSpan && knownSymbolSpans.has(mappedSpan)) {
|
||||
const refNode = getNodeForSpan(mappedSpan);
|
||||
if (refNode) {
|
||||
return checker.getSymbolAtLocation(refNode);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
function getNodeForSpan(docSpan: DocumentSpan): Node | undefined {
|
||||
const sourceFile = program.getSourceFile(docSpan.fileName);
|
||||
if (!sourceFile) return undefined;
|
||||
const rawNode = getTouchingPropertyName(sourceFile, docSpan.textSpan.start);
|
||||
const adjustedNode = FindAllReferences.Core.getAdjustedNode(rawNode, { use: FindAllReferences.FindReferencesUse.References });
|
||||
return adjustedNode;
|
||||
}
|
||||
}
|
||||
|
||||
function cleanupSemanticCache(): void {
|
||||
program = undefined!; // TODO: GH#18217
|
||||
}
|
||||
@@ -2716,6 +2772,7 @@ namespace ts {
|
||||
getNonBoundSourceFile,
|
||||
getProgram,
|
||||
getAutoImportProvider,
|
||||
updateIsDefinitionOfReferencedSymbols,
|
||||
getApplicableRefactors,
|
||||
getEditsForRefactor,
|
||||
toLineColumnOffset,
|
||||
|
||||
@@ -552,6 +552,11 @@ namespace ts {
|
||||
/* @internal */ getNonBoundSourceFile(fileName: string): SourceFile;
|
||||
/* @internal */ getAutoImportProvider(): Program | undefined;
|
||||
|
||||
/// Returns true if a suitable symbol was found in the project.
|
||||
/// May set isDefinition properties in `referencedSymbols` to false.
|
||||
/// May add elements to `knownSymbolSpans`.
|
||||
/* @internal */ updateIsDefinitionOfReferencedSymbols(referencedSymbols: readonly ReferencedSymbol[], knownSymbolSpans: Set<DocumentSpan>): boolean;
|
||||
|
||||
toggleLineComment(fileName: string, textRange: TextRange): TextChange[];
|
||||
toggleMultilineComment(fileName: string, textRange: TextRange): TextChange[];
|
||||
commentSelection(fileName: string, textRange: TextRange): TextChange[];
|
||||
|
||||
@@ -2117,6 +2117,48 @@ namespace ts {
|
||||
return true;
|
||||
}
|
||||
|
||||
export function getMappedLocation(location: DocumentPosition, sourceMapper: SourceMapper, fileExists: ((path: string) => boolean) | undefined): DocumentPosition | undefined {
|
||||
const mapsTo = sourceMapper.tryGetSourcePosition(location);
|
||||
return mapsTo && (!fileExists || fileExists(normalizePath(mapsTo.fileName)) ? mapsTo : undefined);
|
||||
}
|
||||
|
||||
export function getMappedDocumentSpan(documentSpan: DocumentSpan, sourceMapper: SourceMapper, fileExists?: (path: string) => boolean): DocumentSpan | undefined {
|
||||
const { fileName, textSpan } = documentSpan;
|
||||
const newPosition = getMappedLocation({ fileName, pos: textSpan.start }, sourceMapper, fileExists);
|
||||
if (!newPosition) return undefined;
|
||||
const newEndPosition = getMappedLocation({ fileName, pos: textSpan.start + textSpan.length }, sourceMapper, fileExists);
|
||||
const newLength = newEndPosition
|
||||
? newEndPosition.pos - newPosition.pos
|
||||
: textSpan.length; // This shouldn't happen
|
||||
return {
|
||||
fileName: newPosition.fileName,
|
||||
textSpan: {
|
||||
start: newPosition.pos,
|
||||
length: newLength,
|
||||
},
|
||||
originalFileName: documentSpan.fileName,
|
||||
originalTextSpan: documentSpan.textSpan,
|
||||
contextSpan: getMappedContextSpan(documentSpan, sourceMapper, fileExists),
|
||||
originalContextSpan: documentSpan.contextSpan
|
||||
};
|
||||
}
|
||||
|
||||
export function getMappedContextSpan(documentSpan: DocumentSpan, sourceMapper: SourceMapper, fileExists?: (path: string) => boolean): TextSpan | undefined {
|
||||
const contextSpanStart = documentSpan.contextSpan && getMappedLocation(
|
||||
{ fileName: documentSpan.fileName, pos: documentSpan.contextSpan.start },
|
||||
sourceMapper,
|
||||
fileExists
|
||||
);
|
||||
const contextSpanEnd = documentSpan.contextSpan && getMappedLocation(
|
||||
{ fileName: documentSpan.fileName, pos: documentSpan.contextSpan.start + documentSpan.contextSpan.length },
|
||||
sourceMapper,
|
||||
fileExists
|
||||
);
|
||||
return contextSpanStart && contextSpanEnd ?
|
||||
{ start: contextSpanStart.pos, length: contextSpanEnd.pos - contextSpanStart.pos } :
|
||||
undefined;
|
||||
}
|
||||
|
||||
// #endregion
|
||||
|
||||
// Display-part writer helpers
|
||||
|
||||
@@ -400,7 +400,7 @@ namespace ts.projectSystem {
|
||||
|
||||
const response = executeSessionRequest<protocol.ReferencesRequest, protocol.ReferencesResponse>(session, protocol.CommandTypes.References, protocolFileLocationFromSubstring(userTs, "fnA()"));
|
||||
assert.deepEqual<protocol.ReferencesResponseBody | undefined>(response, {
|
||||
refs: [...referencesUserTs(userTs, /*isDefinition*/ undefined), referenceATs(aTs, /*isDefinition*/ true)], // Presently inconsistent across projects
|
||||
refs: [...referencesUserTs(userTs, /*isDefinition*/ undefined), referenceATs(aTs, /*isDefinition*/ undefined)],
|
||||
symbolName: "fnA",
|
||||
symbolStartOffset: protocolLocationFromSubstring(userTs.content, "fnA()").offset,
|
||||
symbolDisplayString: "function fnA(): void",
|
||||
@@ -455,7 +455,7 @@ namespace ts.projectSystem {
|
||||
},
|
||||
references: [
|
||||
makeReferencedSymbolEntry({ file: userTs, text: "fnA" }),
|
||||
makeReferencedSymbolEntry({ file: aTs, text: "fnA", isDefinition: true, isWriteAccess: true, contextText: "export function fnA() {}" }),
|
||||
makeReferencedSymbolEntry({ file: aTs, text: "fnA", isWriteAccess: true, contextText: "export function fnA() {}" }),
|
||||
],
|
||||
},
|
||||
]);
|
||||
|
||||
@@ -581,6 +581,126 @@ testCompositeFunction('why hello there', 42);`
|
||||
baselineTsserverLogs("projectReferences", `finding local reference doesnt load ancestor/sibling projects`, session);
|
||||
});
|
||||
|
||||
it("when finding references in overlapping projects", () => {
|
||||
const solutionLocation = "/user/username/projects/solution";
|
||||
const solutionConfig: File = {
|
||||
path: `${solutionLocation}/tsconfig.json`,
|
||||
content: JSON.stringify({
|
||||
files: [],
|
||||
include: [],
|
||||
references: [
|
||||
{ path: "./a" },
|
||||
{ path: "./b" },
|
||||
{ path: "./c" },
|
||||
{ path: "./d" },
|
||||
]
|
||||
})
|
||||
};
|
||||
const aConfig: File = {
|
||||
path: `${solutionLocation}/a/tsconfig.json`,
|
||||
content: JSON.stringify({
|
||||
compilerOptions: {
|
||||
composite: true,
|
||||
module: "none"
|
||||
},
|
||||
files: ["./index.ts"]
|
||||
})
|
||||
};
|
||||
const aFile: File = {
|
||||
path: `${solutionLocation}/a/index.ts`,
|
||||
content: `
|
||||
export interface I {
|
||||
M(): void;
|
||||
}`
|
||||
};
|
||||
|
||||
const bConfig: File = {
|
||||
path: `${solutionLocation}/b/tsconfig.json`,
|
||||
content: JSON.stringify({
|
||||
compilerOptions: {
|
||||
composite: true
|
||||
},
|
||||
files: ["./index.ts"],
|
||||
references: [
|
||||
{ path: "../a" }
|
||||
]
|
||||
})
|
||||
};
|
||||
const bFile: File = {
|
||||
path: `${solutionLocation}/b/index.ts`,
|
||||
content: `
|
||||
import { I } from "../a";
|
||||
|
||||
export class B implements I {
|
||||
M() {}
|
||||
}`
|
||||
};
|
||||
|
||||
const cConfig: File = {
|
||||
path: `${solutionLocation}/c/tsconfig.json`,
|
||||
content: JSON.stringify({
|
||||
compilerOptions: {
|
||||
composite: true
|
||||
},
|
||||
files: ["./index.ts"],
|
||||
references: [
|
||||
{ path: "../b" }
|
||||
]
|
||||
})
|
||||
};
|
||||
const cFile: File = {
|
||||
path: `${solutionLocation}/c/index.ts`,
|
||||
content: `
|
||||
import { I } from "../a";
|
||||
import { B } from "../b";
|
||||
|
||||
export const C: I = new B();
|
||||
`
|
||||
};
|
||||
|
||||
const dConfig: File = {
|
||||
path: `${solutionLocation}/d/tsconfig.json`,
|
||||
content: JSON.stringify({
|
||||
compilerOptions: {
|
||||
composite: true
|
||||
},
|
||||
files: ["./index.ts"],
|
||||
references: [
|
||||
{ path: "../c" }
|
||||
]
|
||||
})
|
||||
};
|
||||
const dFile: File = {
|
||||
path: `${solutionLocation}/d/index.ts`,
|
||||
content: `
|
||||
import { I } from "../a";
|
||||
import { C } from "../c";
|
||||
|
||||
export const D: I = C;
|
||||
`
|
||||
};
|
||||
|
||||
const files = [libFile, solutionConfig, aConfig, aFile, bConfig, bFile, cConfig, cFile, dConfig, dFile, libFile];
|
||||
const host = createServerHost(files);
|
||||
const session = createSession(host, { logger: createLoggerWithInMemoryLogs() });
|
||||
openFilesForSession([bFile], session);
|
||||
|
||||
// The first search will trigger project loads
|
||||
session.executeCommandSeq<protocol.ReferencesRequest>({
|
||||
command: protocol.CommandTypes.References,
|
||||
arguments: protocolFileLocationFromSubstring(bFile, "I", { index: 1 })
|
||||
});
|
||||
|
||||
// The second search starts with the projects already loaded
|
||||
// Formerly, this would search some projects multiple times
|
||||
session.executeCommandSeq<protocol.ReferencesRequest>({
|
||||
command: protocol.CommandTypes.References,
|
||||
arguments: protocolFileLocationFromSubstring(bFile, "I", { index: 1 })
|
||||
});
|
||||
|
||||
baselineTsserverLogs("projectReferences", `finding references in overlapping projects`, session);
|
||||
});
|
||||
|
||||
describe("special handling of localness of the definitions for findAllRefs", () => {
|
||||
function verify(scenario: string, definition: string, usage: string, referenceTerm: string) {
|
||||
it(scenario, () => {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1 +1,22 @@
|
||||
[]
|
||||
[
|
||||
{
|
||||
"definition": {
|
||||
"containerKind": "",
|
||||
"containerName": "",
|
||||
"fileName": "/tests/cases/fourslash/server/referencesToNonPropertyNameStringLiteral.ts",
|
||||
"kind": "var",
|
||||
"name": "hello",
|
||||
"textSpan": {
|
||||
"start": 21,
|
||||
"length": 5
|
||||
},
|
||||
"displayParts": [
|
||||
{
|
||||
"text": "\"hello\"",
|
||||
"kind": "stringLiteral"
|
||||
}
|
||||
]
|
||||
},
|
||||
"references": []
|
||||
}
|
||||
]
|
||||
+2
@@ -203,6 +203,8 @@ Project '/user/username/projects/container/exec/tsconfig.json' (Configured)
|
||||
Part of 'files' list in tsconfig.json
|
||||
|
||||
-----------------------------------------------
|
||||
Search path: /user/username/projects/container/lib
|
||||
For info: /user/username/projects/container/lib/index.ts :: Config file name: /user/username/projects/container/lib/tsconfig.json
|
||||
response:{"response":{"info":{"canRename":true,"displayName":"myConst","fullDisplayName":"container.myConst","kind":"const","kindModifiers":"export","triggerSpan":{"start":{"line":3,"offset":16},"end":{"line":3,"offset":23}}},"locs":[{"file":"/user/username/projects/container/lib/index.ts","locs":[{"start":{"line":2,"offset":18},"end":{"line":2,"offset":25},"contextStart":{"line":2,"offset":5},"contextEnd":{"line":2,"offset":31}}]},{"file":"/user/username/projects/container/compositeExec/index.ts","locs":[{"start":{"line":3,"offset":16},"end":{"line":3,"offset":23}}]},{"file":"/user/username/projects/container/exec/index.ts","locs":[{"start":{"line":3,"offset":16},"end":{"line":3,"offset":23}}]}]},"responseRequired":true}
|
||||
FileWatcher:: Close:: WatchInfo: /user/username/projects/temp/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root
|
||||
FileWatcher:: Close:: WatchInfo: /user/username/projects/temp/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root
|
||||
|
||||
+2
@@ -163,4 +163,6 @@ Project '/user/username/projects/container/exec/tsconfig.json' (Configured)
|
||||
Part of 'files' list in tsconfig.json
|
||||
|
||||
-----------------------------------------------
|
||||
Search path: /user/username/projects/container/lib
|
||||
For info: /user/username/projects/container/lib/index.ts :: Config file name: /user/username/projects/container/lib/tsconfig.json
|
||||
response:{"response":{"info":{"canRename":true,"displayName":"myConst","fullDisplayName":"container.myConst","kind":"const","kindModifiers":"export","triggerSpan":{"start":{"line":3,"offset":16},"end":{"line":3,"offset":23}}},"locs":[{"file":"/user/username/projects/container/lib/index.ts","locs":[{"start":{"line":2,"offset":18},"end":{"line":2,"offset":25},"contextStart":{"line":2,"offset":5},"contextEnd":{"line":2,"offset":31}}]},{"file":"/user/username/projects/container/compositeExec/index.ts","locs":[{"start":{"line":3,"offset":16},"end":{"line":3,"offset":23}}]},{"file":"/user/username/projects/container/exec/index.ts","locs":[{"start":{"line":3,"offset":16},"end":{"line":3,"offset":23}}]}]},"responseRequired":true}
|
||||
+1
-1
@@ -123,4 +123,4 @@ For info: /user/username/projects/myproject/b/index.ts :: Config file name: /use
|
||||
Search path: /user/username/projects/myproject/b
|
||||
For info: /user/username/projects/myproject/b/index.ts :: Config file name: /user/username/projects/myproject/b/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/b/index.ts position 13 in project /user/username/projects/myproject/b/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
+1
-1
@@ -121,4 +121,4 @@ For info: /user/username/projects/myproject/b/index.ts :: Config file name: /use
|
||||
Search path: /user/username/projects/myproject/b
|
||||
For info: /user/username/projects/myproject/b/index.ts :: Config file name: /user/username/projects/myproject/b/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/b/index.ts position 13 in project /user/username/projects/myproject/b/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
+1
-1
@@ -121,4 +121,4 @@ For info: /user/username/projects/myproject/b/index.ts :: Config file name: /use
|
||||
Search path: /user/username/projects/myproject/b
|
||||
For info: /user/username/projects/myproject/b/index.ts :: Config file name: /user/username/projects/myproject/b/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/b/index.ts position 13 in project /user/username/projects/myproject/b/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
+1
-1
@@ -123,4 +123,4 @@ For info: /user/username/projects/myproject/b/index.ts :: Config file name: /use
|
||||
Search path: /user/username/projects/myproject/b
|
||||
For info: /user/username/projects/myproject/b/index.ts :: Config file name: /user/username/projects/myproject/b/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/b/index.ts position 13 in project /user/username/projects/myproject/b/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
+1
-1
@@ -121,4 +121,4 @@ For info: /user/username/projects/myproject/b/index.ts :: Config file name: /use
|
||||
Search path: /user/username/projects/myproject/b
|
||||
For info: /user/username/projects/myproject/b/index.ts :: Config file name: /user/username/projects/myproject/b/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/b/index.ts position 13 in project /user/username/projects/myproject/b/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
+1
-1
@@ -121,4 +121,4 @@ For info: /user/username/projects/myproject/b/index.ts :: Config file name: /use
|
||||
Search path: /user/username/projects/myproject/b
|
||||
For info: /user/username/projects/myproject/b/index.ts :: Config file name: /user/username/projects/myproject/b/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/b/index.ts position 13 in project /user/username/projects/myproject/b/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
+1
-1
@@ -105,4 +105,4 @@ Project '/user/username/projects/myproject/b/tsconfig.json' (Configured)
|
||||
Search path: /user/username/projects/myproject/b
|
||||
For info: /user/username/projects/myproject/b/index.ts :: Config file name: /user/username/projects/myproject/b/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/b/index.ts position 13 in project /user/username/projects/myproject/b/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
+1
-1
@@ -103,4 +103,4 @@ Project '/user/username/projects/myproject/b/tsconfig.json' (Configured)
|
||||
Search path: /user/username/projects/myproject/b
|
||||
For info: /user/username/projects/myproject/b/index.ts :: Config file name: /user/username/projects/myproject/b/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/b/index.ts position 13 in project /user/username/projects/myproject/b/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
+1
-1
@@ -103,4 +103,4 @@ Project '/user/username/projects/myproject/b/tsconfig.json' (Configured)
|
||||
Search path: /user/username/projects/myproject/b
|
||||
For info: /user/username/projects/myproject/b/index.ts :: Config file name: /user/username/projects/myproject/b/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/b/index.ts position 13 in project /user/username/projects/myproject/b/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false,"isDefinition":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"import { B } from \"../b/lib\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/a/index.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":15},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":3,"offset":2},"lineText":"export class B {","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":11},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":23},"lineText":"import { B } from \".\";","isWriteAccess":true},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":11},"lineText":"const b: B = new B();","isWriteAccess":false},{"file":"/user/username/projects/myproject/b/helper.ts","start":{"line":3,"offset":18},"end":{"line":3,"offset":19},"lineText":"const b: B = new B();","isWriteAccess":false}],"symbolName":"B","symbolStartOffset":10,"symbolDisplayString":"(alias) class B\nimport B"},"responseRequired":true}
|
||||
+4
@@ -132,4 +132,8 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/solution/compiler/types
|
||||
Finding references to /user/username/projects/solution/compiler/types.ts position 103 in project /user/username/projects/solution/services/tsconfig.json
|
||||
Search path: /user/username/projects/solution/compiler
|
||||
For info: /user/username/projects/solution/compiler/types.ts :: Config file name: /user/username/projects/solution/compiler/tsconfig.json
|
||||
Search path: /user/username/projects/solution/compiler
|
||||
For info: /user/username/projects/solution/compiler/types.ts :: Config file name: /user/username/projects/solution/compiler/tsconfig.json
|
||||
Search path: /user/username/projects/solution/compiler
|
||||
For info: /user/username/projects/solution/compiler/program.ts :: Config file name: /user/username/projects/solution/compiler/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/solution/compiler/types.ts","start":{"line":4,"offset":25},"end":{"line":4,"offset":39},"contextStart":{"line":4,"offset":25},"contextEnd":{"line":4,"offset":52},"lineText":" getSourceFiles(): string[];","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/solution/compiler/program.ts","start":{"line":4,"offset":25},"end":{"line":4,"offset":39},"contextStart":{"line":4,"offset":25},"contextEnd":{"line":4,"offset":64},"lineText":" getSourceFiles: () => [getSourceFile()]","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/solution/services/services.ts","start":{"line":3,"offset":44},"end":{"line":3,"offset":58},"lineText":" const result = program.getSourceFiles();","isWriteAccess":false,"isDefinition":false}],"symbolName":"getSourceFiles","symbolStartOffset":25,"symbolDisplayString":"(method) ts.Program.getSourceFiles(): string[]"},"responseRequired":true}
|
||||
+308
@@ -0,0 +1,308 @@
|
||||
Provided types map file "/a/lib/typesMap.json" doesn't exist
|
||||
request:{"seq":0,"type":"request","command":"open","arguments":{"file":"/user/username/projects/solution/b/index.ts"}}
|
||||
Search path: /user/username/projects/solution/b
|
||||
For info: /user/username/projects/solution/b/index.ts :: Config file name: /user/username/projects/solution/b/tsconfig.json
|
||||
Creating configuration project /user/username/projects/solution/b/tsconfig.json
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/solution/b/tsconfig.json 2000 undefined Project: /user/username/projects/solution/b/tsconfig.json WatchType: Config file
|
||||
Config: /user/username/projects/solution/b/tsconfig.json : {
|
||||
"rootNames": [
|
||||
"/user/username/projects/solution/b/index.ts"
|
||||
],
|
||||
"options": {
|
||||
"composite": true,
|
||||
"configFilePath": "/user/username/projects/solution/b/tsconfig.json"
|
||||
},
|
||||
"projectReferences": [
|
||||
{
|
||||
"path": "/user/username/projects/solution/a",
|
||||
"originalPath": "../a"
|
||||
}
|
||||
]
|
||||
}
|
||||
Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded
|
||||
Starting updateGraphWorker: Project: /user/username/projects/solution/b/tsconfig.json
|
||||
Config: /user/username/projects/solution/a/tsconfig.json : {
|
||||
"rootNames": [
|
||||
"/user/username/projects/solution/a/index.ts"
|
||||
],
|
||||
"options": {
|
||||
"composite": true,
|
||||
"module": 0,
|
||||
"configFilePath": "/user/username/projects/solution/a/tsconfig.json"
|
||||
}
|
||||
}
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/solution/a/tsconfig.json 2000 undefined Project: /user/username/projects/solution/b/tsconfig.json WatchType: Config file
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/solution/a/index.ts 500 undefined WatchType: Closed Script info
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution 0 undefined Project: /user/username/projects/solution/b/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution 0 undefined Project: /user/username/projects/solution/b/tsconfig.json WatchType: Failed Lookup Locations
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/a 1 undefined Project: /user/username/projects/solution/b/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/a 1 undefined Project: /user/username/projects/solution/b/tsconfig.json WatchType: Failed Lookup Locations
|
||||
FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/b/node_modules/@types 1 undefined Project: /user/username/projects/solution/b/tsconfig.json WatchType: Type roots
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/b/node_modules/@types 1 undefined Project: /user/username/projects/solution/b/tsconfig.json WatchType: Type roots
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/node_modules/@types 1 undefined Project: /user/username/projects/solution/b/tsconfig.json WatchType: Type roots
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/node_modules/@types 1 undefined Project: /user/username/projects/solution/b/tsconfig.json WatchType: Type roots
|
||||
Finishing updateGraphWorker: Project: /user/username/projects/solution/b/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
|
||||
Project '/user/username/projects/solution/b/tsconfig.json' (Configured)
|
||||
Files (3)
|
||||
/a/lib/lib.d.ts
|
||||
/user/username/projects/solution/a/index.ts
|
||||
/user/username/projects/solution/b/index.ts
|
||||
|
||||
|
||||
../../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
../a/index.ts
|
||||
Source from referenced project '../a/tsconfig.json' included because '--module' is specified as 'none'
|
||||
Imported via "../a" from file 'index.ts'
|
||||
index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
|
||||
-----------------------------------------------
|
||||
Search path: /user/username/projects/solution/b
|
||||
For info: /user/username/projects/solution/b/tsconfig.json :: Config file name: /user/username/projects/solution/tsconfig.json
|
||||
Creating configuration project /user/username/projects/solution/tsconfig.json
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/solution/tsconfig.json 2000 undefined Project: /user/username/projects/solution/tsconfig.json WatchType: Config file
|
||||
Search path: /user/username/projects/solution
|
||||
For info: /user/username/projects/solution/tsconfig.json :: No config files found.
|
||||
Project '/user/username/projects/solution/b/tsconfig.json' (Configured)
|
||||
Files (3)
|
||||
|
||||
-----------------------------------------------
|
||||
Project '/user/username/projects/solution/tsconfig.json' (Configured)
|
||||
Files (0) InitialLoadPending
|
||||
|
||||
-----------------------------------------------
|
||||
Open files:
|
||||
FileName: /user/username/projects/solution/b/index.ts ProjectRootPath: undefined
|
||||
Projects: /user/username/projects/solution/b/tsconfig.json
|
||||
response:{"responseRequired":false}
|
||||
request:{"command":"references","arguments":{"file":"/user/username/projects/solution/b/index.ts","line":4,"offset":43},"seq":1,"type":"request"}
|
||||
Finding references to /user/username/projects/solution/b/index.ts position 86 in project /user/username/projects/solution/b/tsconfig.json
|
||||
Search path: /user/username/projects/solution/a
|
||||
For info: /user/username/projects/solution/a/index.ts :: Config file name: /user/username/projects/solution/a/tsconfig.json
|
||||
Creating configuration project /user/username/projects/solution/a/tsconfig.json
|
||||
Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded
|
||||
Starting updateGraphWorker: Project: /user/username/projects/solution/a/tsconfig.json
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/a/node_modules/@types 1 undefined Project: /user/username/projects/solution/a/tsconfig.json WatchType: Type roots
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/a/node_modules/@types 1 undefined Project: /user/username/projects/solution/a/tsconfig.json WatchType: Type roots
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/node_modules/@types 1 undefined Project: /user/username/projects/solution/a/tsconfig.json WatchType: Type roots
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/node_modules/@types 1 undefined Project: /user/username/projects/solution/a/tsconfig.json WatchType: Type roots
|
||||
Finishing updateGraphWorker: Project: /user/username/projects/solution/a/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
|
||||
Project '/user/username/projects/solution/a/tsconfig.json' (Configured)
|
||||
Files (2)
|
||||
/a/lib/lib.d.ts
|
||||
/user/username/projects/solution/a/index.ts
|
||||
|
||||
|
||||
../../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
|
||||
-----------------------------------------------
|
||||
Search path: /user/username/projects/solution/a
|
||||
For info: /user/username/projects/solution/a/index.ts :: Config file name: /user/username/projects/solution/a/tsconfig.json
|
||||
Finding references to /user/username/projects/solution/a/index.ts position 34 in project /user/username/projects/solution/a/tsconfig.json
|
||||
Loading configured project /user/username/projects/solution/tsconfig.json
|
||||
Config: /user/username/projects/solution/tsconfig.json : {
|
||||
"rootNames": [],
|
||||
"options": {
|
||||
"configFilePath": "/user/username/projects/solution/tsconfig.json"
|
||||
},
|
||||
"projectReferences": [
|
||||
{
|
||||
"path": "/user/username/projects/solution/a",
|
||||
"originalPath": "./a"
|
||||
},
|
||||
{
|
||||
"path": "/user/username/projects/solution/b",
|
||||
"originalPath": "./b"
|
||||
},
|
||||
{
|
||||
"path": "/user/username/projects/solution/c",
|
||||
"originalPath": "./c"
|
||||
},
|
||||
{
|
||||
"path": "/user/username/projects/solution/d",
|
||||
"originalPath": "./d"
|
||||
}
|
||||
]
|
||||
}
|
||||
Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded
|
||||
Starting updateGraphWorker: Project: /user/username/projects/solution/tsconfig.json
|
||||
Config: /user/username/projects/solution/c/tsconfig.json : {
|
||||
"rootNames": [
|
||||
"/user/username/projects/solution/c/index.ts"
|
||||
],
|
||||
"options": {
|
||||
"composite": true,
|
||||
"configFilePath": "/user/username/projects/solution/c/tsconfig.json"
|
||||
},
|
||||
"projectReferences": [
|
||||
{
|
||||
"path": "/user/username/projects/solution/b",
|
||||
"originalPath": "../b"
|
||||
}
|
||||
]
|
||||
}
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/solution/c/tsconfig.json 2000 undefined Project: /user/username/projects/solution/tsconfig.json WatchType: Config file
|
||||
Config: /user/username/projects/solution/d/tsconfig.json : {
|
||||
"rootNames": [
|
||||
"/user/username/projects/solution/d/index.ts"
|
||||
],
|
||||
"options": {
|
||||
"composite": true,
|
||||
"configFilePath": "/user/username/projects/solution/d/tsconfig.json"
|
||||
},
|
||||
"projectReferences": [
|
||||
{
|
||||
"path": "/user/username/projects/solution/c",
|
||||
"originalPath": "../c"
|
||||
}
|
||||
]
|
||||
}
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/solution/d/tsconfig.json 2000 undefined Project: /user/username/projects/solution/tsconfig.json WatchType: Config file
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/node_modules/@types 1 undefined Project: /user/username/projects/solution/tsconfig.json WatchType: Type roots
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/node_modules/@types 1 undefined Project: /user/username/projects/solution/tsconfig.json WatchType: Type roots
|
||||
Finishing updateGraphWorker: Project: /user/username/projects/solution/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
|
||||
Different program with same set of files
|
||||
Creating configuration project /user/username/projects/solution/c/tsconfig.json
|
||||
Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/solution/c/index.ts 500 undefined WatchType: Closed Script info
|
||||
Starting updateGraphWorker: Project: /user/username/projects/solution/c/tsconfig.json
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution 0 undefined Project: /user/username/projects/solution/c/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution 0 undefined Project: /user/username/projects/solution/c/tsconfig.json WatchType: Failed Lookup Locations
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/a 1 undefined Project: /user/username/projects/solution/c/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/a 1 undefined Project: /user/username/projects/solution/c/tsconfig.json WatchType: Failed Lookup Locations
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/b 1 undefined Project: /user/username/projects/solution/c/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/b 1 undefined Project: /user/username/projects/solution/c/tsconfig.json WatchType: Failed Lookup Locations
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/c/node_modules/@types 1 undefined Project: /user/username/projects/solution/c/tsconfig.json WatchType: Type roots
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/c/node_modules/@types 1 undefined Project: /user/username/projects/solution/c/tsconfig.json WatchType: Type roots
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/node_modules/@types 1 undefined Project: /user/username/projects/solution/c/tsconfig.json WatchType: Type roots
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/node_modules/@types 1 undefined Project: /user/username/projects/solution/c/tsconfig.json WatchType: Type roots
|
||||
Finishing updateGraphWorker: Project: /user/username/projects/solution/c/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
|
||||
Project '/user/username/projects/solution/c/tsconfig.json' (Configured)
|
||||
Files (4)
|
||||
/a/lib/lib.d.ts
|
||||
/user/username/projects/solution/a/index.ts
|
||||
/user/username/projects/solution/b/index.ts
|
||||
/user/username/projects/solution/c/index.ts
|
||||
|
||||
|
||||
../../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
../a/index.ts
|
||||
Imported via "../a" from file 'index.ts'
|
||||
Imported via "../a" from file '../b/index.ts'
|
||||
../b/index.ts
|
||||
Imported via "../b" from file 'index.ts'
|
||||
index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
|
||||
-----------------------------------------------
|
||||
Creating configuration project /user/username/projects/solution/d/tsconfig.json
|
||||
Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/solution/d/index.ts 500 undefined WatchType: Closed Script info
|
||||
Starting updateGraphWorker: Project: /user/username/projects/solution/d/tsconfig.json
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution 0 undefined Project: /user/username/projects/solution/d/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution 0 undefined Project: /user/username/projects/solution/d/tsconfig.json WatchType: Failed Lookup Locations
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/a 1 undefined Project: /user/username/projects/solution/d/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/a 1 undefined Project: /user/username/projects/solution/d/tsconfig.json WatchType: Failed Lookup Locations
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/c 1 undefined Project: /user/username/projects/solution/d/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/c 1 undefined Project: /user/username/projects/solution/d/tsconfig.json WatchType: Failed Lookup Locations
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/b 1 undefined Project: /user/username/projects/solution/d/tsconfig.json WatchType: Failed Lookup Locations
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/b 1 undefined Project: /user/username/projects/solution/d/tsconfig.json WatchType: Failed Lookup Locations
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/d/node_modules/@types 1 undefined Project: /user/username/projects/solution/d/tsconfig.json WatchType: Type roots
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/d/node_modules/@types 1 undefined Project: /user/username/projects/solution/d/tsconfig.json WatchType: Type roots
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/node_modules/@types 1 undefined Project: /user/username/projects/solution/d/tsconfig.json WatchType: Type roots
|
||||
Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/solution/node_modules/@types 1 undefined Project: /user/username/projects/solution/d/tsconfig.json WatchType: Type roots
|
||||
Finishing updateGraphWorker: Project: /user/username/projects/solution/d/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
|
||||
Project '/user/username/projects/solution/d/tsconfig.json' (Configured)
|
||||
Files (5)
|
||||
/a/lib/lib.d.ts
|
||||
/user/username/projects/solution/a/index.ts
|
||||
/user/username/projects/solution/b/index.ts
|
||||
/user/username/projects/solution/c/index.ts
|
||||
/user/username/projects/solution/d/index.ts
|
||||
|
||||
|
||||
../../../../../a/lib/lib.d.ts
|
||||
Default library for target 'es3'
|
||||
../a/index.ts
|
||||
Imported via "../a" from file 'index.ts'
|
||||
Imported via "../a" from file '../c/index.ts'
|
||||
Imported via "../a" from file '../b/index.ts'
|
||||
../b/index.ts
|
||||
Imported via "../b" from file '../c/index.ts'
|
||||
../c/index.ts
|
||||
Imported via "../c" from file 'index.ts'
|
||||
index.ts
|
||||
Part of 'files' list in tsconfig.json
|
||||
|
||||
-----------------------------------------------
|
||||
Finding references to /user/username/projects/solution/a/index.ts position 34 in project /user/username/projects/solution/c/tsconfig.json
|
||||
Search path: /user/username/projects/solution/a
|
||||
For info: /user/username/projects/solution/a/index.ts :: Config file name: /user/username/projects/solution/a/tsconfig.json
|
||||
Search path: /user/username/projects/solution/a
|
||||
For info: /user/username/projects/solution/a/index.ts :: Config file name: /user/username/projects/solution/a/tsconfig.json
|
||||
Search path: /user/username/projects/solution/b
|
||||
For info: /user/username/projects/solution/b/index.ts :: Config file name: /user/username/projects/solution/b/tsconfig.json
|
||||
Search path: /user/username/projects/solution/b
|
||||
For info: /user/username/projects/solution/b/index.ts :: Config file name: /user/username/projects/solution/b/tsconfig.json
|
||||
Search path: /user/username/projects/solution/b
|
||||
For info: /user/username/projects/solution/b/index.ts :: Config file name: /user/username/projects/solution/b/tsconfig.json
|
||||
Finding references to /user/username/projects/solution/a/index.ts position 34 in project /user/username/projects/solution/d/tsconfig.json
|
||||
Search path: /user/username/projects/solution/a
|
||||
For info: /user/username/projects/solution/a/index.ts :: Config file name: /user/username/projects/solution/a/tsconfig.json
|
||||
Search path: /user/username/projects/solution/a
|
||||
For info: /user/username/projects/solution/a/index.ts :: Config file name: /user/username/projects/solution/a/tsconfig.json
|
||||
Search path: /user/username/projects/solution/b
|
||||
For info: /user/username/projects/solution/b/index.ts :: Config file name: /user/username/projects/solution/b/tsconfig.json
|
||||
Search path: /user/username/projects/solution/b
|
||||
For info: /user/username/projects/solution/b/index.ts :: Config file name: /user/username/projects/solution/b/tsconfig.json
|
||||
Search path: /user/username/projects/solution/b
|
||||
For info: /user/username/projects/solution/b/index.ts :: Config file name: /user/username/projects/solution/b/tsconfig.json
|
||||
Search path: /user/username/projects/solution/c
|
||||
For info: /user/username/projects/solution/c/index.ts :: Config file name: /user/username/projects/solution/c/tsconfig.json
|
||||
Search path: /user/username/projects/solution/c
|
||||
For info: /user/username/projects/solution/c/index.ts :: Config file name: /user/username/projects/solution/c/tsconfig.json
|
||||
Search path: /user/username/projects/solution/c
|
||||
For info: /user/username/projects/solution/c/index.ts :: Config file name: /user/username/projects/solution/c/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/solution/b/index.ts","start":{"line":2,"offset":26},"end":{"line":2,"offset":27},"contextStart":{"line":2,"offset":17},"contextEnd":{"line":2,"offset":42},"lineText":" import { I } from \"../a\";","isWriteAccess":true},{"file":"/user/username/projects/solution/b/index.ts","start":{"line":4,"offset":43},"end":{"line":4,"offset":44},"lineText":" export class B implements I {","isWriteAccess":false},{"file":"/user/username/projects/solution/a/index.ts","start":{"line":2,"offset":34},"end":{"line":2,"offset":35},"contextStart":{"line":2,"offset":17},"contextEnd":{"line":4,"offset":18},"lineText":" export interface I {","isWriteAccess":true},{"file":"/user/username/projects/solution/c/index.ts","start":{"line":2,"offset":26},"end":{"line":2,"offset":27},"contextStart":{"line":2,"offset":17},"contextEnd":{"line":2,"offset":42},"lineText":" import { I } from \"../a\";","isWriteAccess":true},{"file":"/user/username/projects/solution/c/index.ts","start":{"line":5,"offset":33},"end":{"line":5,"offset":34},"lineText":" export const C: I = new B();","isWriteAccess":false},{"file":"/user/username/projects/solution/d/index.ts","start":{"line":2,"offset":26},"end":{"line":2,"offset":27},"contextStart":{"line":2,"offset":17},"contextEnd":{"line":2,"offset":42},"lineText":" import { I } from \"../a\";","isWriteAccess":true},{"file":"/user/username/projects/solution/d/index.ts","start":{"line":5,"offset":33},"end":{"line":5,"offset":34},"lineText":" export const D: I = C;","isWriteAccess":false}],"symbolName":"I","symbolStartOffset":43,"symbolDisplayString":"(alias) interface I\nimport I"},"responseRequired":true}
|
||||
request:{"command":"references","arguments":{"file":"/user/username/projects/solution/b/index.ts","line":4,"offset":43},"seq":2,"type":"request"}
|
||||
Finding references to /user/username/projects/solution/b/index.ts position 86 in project /user/username/projects/solution/b/tsconfig.json
|
||||
Search path: /user/username/projects/solution/a
|
||||
For info: /user/username/projects/solution/a/index.ts :: Config file name: /user/username/projects/solution/a/tsconfig.json
|
||||
Search path: /user/username/projects/solution/a
|
||||
For info: /user/username/projects/solution/a/index.ts :: Config file name: /user/username/projects/solution/a/tsconfig.json
|
||||
Finding references to /user/username/projects/solution/b/index.ts position 86 in project /user/username/projects/solution/c/tsconfig.json
|
||||
Search path: /user/username/projects/solution/b
|
||||
For info: /user/username/projects/solution/b/index.ts :: Config file name: /user/username/projects/solution/b/tsconfig.json
|
||||
Search path: /user/username/projects/solution/b
|
||||
For info: /user/username/projects/solution/b/index.ts :: Config file name: /user/username/projects/solution/b/tsconfig.json
|
||||
Search path: /user/username/projects/solution/b
|
||||
For info: /user/username/projects/solution/b/index.ts :: Config file name: /user/username/projects/solution/b/tsconfig.json
|
||||
Search path: /user/username/projects/solution/a
|
||||
For info: /user/username/projects/solution/a/index.ts :: Config file name: /user/username/projects/solution/a/tsconfig.json
|
||||
Search path: /user/username/projects/solution/a
|
||||
For info: /user/username/projects/solution/a/index.ts :: Config file name: /user/username/projects/solution/a/tsconfig.json
|
||||
Finding references to /user/username/projects/solution/b/index.ts position 86 in project /user/username/projects/solution/d/tsconfig.json
|
||||
Search path: /user/username/projects/solution/b
|
||||
For info: /user/username/projects/solution/b/index.ts :: Config file name: /user/username/projects/solution/b/tsconfig.json
|
||||
Search path: /user/username/projects/solution/b
|
||||
For info: /user/username/projects/solution/b/index.ts :: Config file name: /user/username/projects/solution/b/tsconfig.json
|
||||
Search path: /user/username/projects/solution/b
|
||||
For info: /user/username/projects/solution/b/index.ts :: Config file name: /user/username/projects/solution/b/tsconfig.json
|
||||
Search path: /user/username/projects/solution/a
|
||||
For info: /user/username/projects/solution/a/index.ts :: Config file name: /user/username/projects/solution/a/tsconfig.json
|
||||
Search path: /user/username/projects/solution/a
|
||||
For info: /user/username/projects/solution/a/index.ts :: Config file name: /user/username/projects/solution/a/tsconfig.json
|
||||
Search path: /user/username/projects/solution/c
|
||||
For info: /user/username/projects/solution/c/index.ts :: Config file name: /user/username/projects/solution/c/tsconfig.json
|
||||
Search path: /user/username/projects/solution/c
|
||||
For info: /user/username/projects/solution/c/index.ts :: Config file name: /user/username/projects/solution/c/tsconfig.json
|
||||
Search path: /user/username/projects/solution/c
|
||||
For info: /user/username/projects/solution/c/index.ts :: Config file name: /user/username/projects/solution/c/tsconfig.json
|
||||
Finding references to /user/username/projects/solution/a/index.ts position 34 in project /user/username/projects/solution/a/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/solution/b/index.ts","start":{"line":2,"offset":26},"end":{"line":2,"offset":27},"contextStart":{"line":2,"offset":17},"contextEnd":{"line":2,"offset":42},"lineText":" import { I } from \"../a\";","isWriteAccess":true},{"file":"/user/username/projects/solution/b/index.ts","start":{"line":4,"offset":43},"end":{"line":4,"offset":44},"lineText":" export class B implements I {","isWriteAccess":false},{"file":"/user/username/projects/solution/a/index.ts","start":{"line":2,"offset":34},"end":{"line":2,"offset":35},"contextStart":{"line":2,"offset":17},"contextEnd":{"line":4,"offset":18},"lineText":" export interface I {","isWriteAccess":true},{"file":"/user/username/projects/solution/c/index.ts","start":{"line":2,"offset":26},"end":{"line":2,"offset":27},"contextStart":{"line":2,"offset":17},"contextEnd":{"line":2,"offset":42},"lineText":" import { I } from \"../a\";","isWriteAccess":true},{"file":"/user/username/projects/solution/c/index.ts","start":{"line":5,"offset":33},"end":{"line":5,"offset":34},"lineText":" export const C: I = new B();","isWriteAccess":false},{"file":"/user/username/projects/solution/d/index.ts","start":{"line":2,"offset":26},"end":{"line":2,"offset":27},"contextStart":{"line":2,"offset":17},"contextEnd":{"line":2,"offset":42},"lineText":" import { I } from \"../a\";","isWriteAccess":true},{"file":"/user/username/projects/solution/d/index.ts","start":{"line":5,"offset":33},"end":{"line":5,"offset":34},"lineText":" export const D: I = C;","isWriteAccess":false}],"symbolName":"I","symbolStartOffset":43,"symbolDisplayString":"(alias) interface I\nimport I"},"responseRequired":true}
|
||||
+1
-1
@@ -689,4 +689,4 @@ For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config f
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 9 in project /user/username/projects/myproject/tsconfig-src.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":41},"lineText":"import { foo } from 'helpers/functions';","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":2,"offset":10},"end":{"line":2,"offset":13},"contextStart":{"line":2,"offset":1},"contextEnd":{"line":2,"offset":16},"lineText":"export { foo };","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/helpers/functions.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":17},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":22},"lineText":"export const foo = 1;","isWriteAccess":true,"isDefinition":false}],"symbolName":"foo","symbolStartOffset":10,"symbolDisplayString":"(alias) const foo: 1\nimport foo"},"responseRequired":true}
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":41},"lineText":"import { foo } from 'helpers/functions';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":2,"offset":10},"end":{"line":2,"offset":13},"contextStart":{"line":2,"offset":1},"contextEnd":{"line":2,"offset":16},"lineText":"export { foo };","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/helpers/functions.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":17},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":22},"lineText":"export const foo = 1;","isWriteAccess":true,"isDefinition":false}],"symbolName":"foo","symbolStartOffset":10,"symbolDisplayString":"(alias) const foo: 1\nimport foo"},"responseRequired":true}
|
||||
+20
-2
@@ -656,11 +656,23 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/target/src/he
|
||||
Finding references to /user/username/projects/myproject/src/helpers/functions.ts position 13 in project /user/username/projects/myproject/tsconfig-indirect1.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/src/helpers/functions.ts position 13 in project /user/username/projects/myproject/tsconfig-indirect2.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":41},"lineText":"import { foo } from 'helpers/functions';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":2,"offset":10},"end":{"line":2,"offset":13},"contextStart":{"line":2,"offset":1},"contextEnd":{"line":2,"offset":16},"lineText":"export { foo };","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/src/helpers/functions.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":17},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":22},"lineText":"export const foo = 1;","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect1/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect1/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect2/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect2/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false}],"symbolName":"foo","symbolStartOffset":10,"symbolDisplayString":"(alias) const foo: 1\nexport foo"},"responseRequired":true}
|
||||
@@ -982,6 +994,7 @@ Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 9 in project /user/username/projects/myproject/tsconfig-src.json
|
||||
Creating configuration project /user/username/projects/myproject/tsconfig-indirect1.json
|
||||
event:
|
||||
{"seq":0,"type":"event","event":"projectLoadingStart","body":{"projectName":"/user/username/projects/myproject/tsconfig-indirect1.json","reason":"Creating project referenced by : /user/username/projects/myproject/tsconfig.json as it references project /user/username/projects/myproject/tsconfig-src.json"}}
|
||||
@@ -1054,7 +1067,12 @@ For info: /user/username/projects/myproject/src/main.ts :: Config file name: /us
|
||||
Finding references to /user/username/projects/myproject/src/helpers/functions.ts position 13 in project /user/username/projects/myproject/tsconfig-indirect2.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 9 in project /user/username/projects/myproject/tsconfig-src.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":41},"lineText":"import { foo } from 'helpers/functions';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":2,"offset":10},"end":{"line":2,"offset":13},"contextStart":{"line":2,"offset":1},"contextEnd":{"line":2,"offset":16},"lineText":"export { foo };","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/helpers/functions.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":17},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":22},"lineText":"export const foo = 1;","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/indirect1/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect1/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect2/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect2/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false}],"symbolName":"foo","symbolStartOffset":10,"symbolDisplayString":"(alias) const foo: 1\nimport foo"},"responseRequired":true}
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":41},"lineText":"import { foo } from 'helpers/functions';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":2,"offset":10},"end":{"line":2,"offset":13},"contextStart":{"line":2,"offset":1},"contextEnd":{"line":2,"offset":16},"lineText":"export { foo };","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/helpers/functions.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":17},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":22},"lineText":"export const foo = 1;","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect1/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect1/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect2/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect2/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false}],"symbolName":"foo","symbolStartOffset":10,"symbolDisplayString":"(alias) const foo: 1\nimport foo"},"responseRequired":true}
|
||||
+6
@@ -148,5 +148,11 @@ Finding references to /user/username/projects/project/src/common/input/keyboard.
|
||||
Search path: /user/username/projects/project/src/common/input
|
||||
For info: /user/username/projects/project/src/common/input/keyboard.ts :: Config file name: /user/username/projects/project/src/common/tsconfig.json
|
||||
Search path: /user/username/projects/project/src/common/input
|
||||
For info: /user/username/projects/project/src/common/input/keyboard.ts :: Config file name: /user/username/projects/project/src/common/tsconfig.json
|
||||
Search path: /user/username/projects/project/src/common/input
|
||||
For info: /user/username/projects/project/src/common/input/keyboard.test.ts :: Config file name: /user/username/projects/project/src/common/tsconfig.json
|
||||
Search path: /user/username/projects/project/src/common/input
|
||||
For info: /user/username/projects/project/src/common/input/keyboard.test.ts :: Config file name: /user/username/projects/project/src/common/tsconfig.json
|
||||
Search path: /user/username/projects/project/src/common/input
|
||||
For info: /user/username/projects/project/src/common/input/keyboard.test.ts :: Config file name: /user/username/projects/project/src/common/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/project/src/common/input/keyboard.ts","start":{"line":2,"offset":17},"end":{"line":2,"offset":38},"contextStart":{"line":2,"offset":1},"contextEnd":{"line":2,"offset":44},"lineText":"export function evaluateKeyboardEvent() { }","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/project/src/common/input/keyboard.test.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":31},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":63},"lineText":"import { evaluateKeyboardEvent } from 'common/input/keyboard';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/project/src/common/input/keyboard.test.ts","start":{"line":3,"offset":12},"end":{"line":3,"offset":33},"lineText":" return evaluateKeyboardEvent();","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/project/src/terminal.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":31},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":63},"lineText":"import { evaluateKeyboardEvent } from 'common/input/keyboard';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/project/src/terminal.ts","start":{"line":3,"offset":12},"end":{"line":3,"offset":33},"lineText":" return evaluateKeyboardEvent();","isWriteAccess":false,"isDefinition":false}],"symbolName":"evaluateKeyboardEvent","symbolStartOffset":17,"symbolDisplayString":"function evaluateKeyboardEvent(): void"},"responseRequired":true}
|
||||
+9
-4
@@ -533,6 +533,7 @@ Open files:
|
||||
FileName: /dummy/dummy.ts ProjectRootPath: undefined
|
||||
Projects: /dev/null/inferredProject1*
|
||||
request:{"command":"references","arguments":{"file":"/user/username/projects/myproject/src/main.ts","line":2,"offset":10},"seq":2,"type":"request"}
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 50 in project /user/username/projects/myproject/tsconfig-src.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 50 in project /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
@@ -544,10 +545,8 @@ Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 50 in project /user/username/projects/myproject/tsconfig-src.json
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/target/src/helpers/functions.d.ts 500 undefined WatchType: Closed Script info
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/target/src/helpers/functions.d.ts.map 500 undefined WatchType: Closed Script info
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 9 in project /user/username/projects/myproject/tsconfig-src.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":41},"lineText":"import { foo } from 'helpers/functions';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":2,"offset":10},"end":{"line":2,"offset":13},"contextStart":{"line":2,"offset":1},"contextEnd":{"line":2,"offset":16},"lineText":"export { foo };","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/src/helpers/functions.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":17},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":22},"lineText":"export const foo = 1;","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/own/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/own/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false}],"symbolName":"foo","symbolStartOffset":10,"symbolDisplayString":"(alias) const foo: 1\nexport foo"},"responseRequired":true}
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/main.ts 500 undefined WatchType: Closed Script info
|
||||
Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
@@ -800,10 +799,16 @@ Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 9 in project /user/username/projects/myproject/tsconfig-src.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 9 in project /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":41},"lineText":"import { foo } from 'helpers/functions';","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":2,"offset":10},"end":{"line":2,"offset":13},"contextStart":{"line":2,"offset":1},"contextEnd":{"line":2,"offset":16},"lineText":"export { foo };","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/helpers/functions.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":17},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":22},"lineText":"export const foo = 1;","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/own/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/own/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false}],"symbolName":"foo","symbolStartOffset":10,"symbolDisplayString":"(alias) const foo: 1\nimport foo"},"responseRequired":true}
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 9 in project /user/username/projects/myproject/tsconfig-src.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":41},"lineText":"import { foo } from 'helpers/functions';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":2,"offset":10},"end":{"line":2,"offset":13},"contextStart":{"line":2,"offset":1},"contextEnd":{"line":2,"offset":16},"lineText":"export { foo };","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/helpers/functions.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":17},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":22},"lineText":"export const foo = 1;","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/own/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/own/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false}],"symbolName":"foo","symbolStartOffset":10,"symbolDisplayString":"(alias) const foo: 1\nimport foo"},"responseRequired":true}
|
||||
+53
-31
@@ -667,6 +667,7 @@ Open files:
|
||||
FileName: /dummy/dummy.ts ProjectRootPath: undefined
|
||||
Projects: /dev/null/inferredProject1*
|
||||
request:{"command":"references","arguments":{"file":"/user/username/projects/myproject/src/main.ts","line":2,"offset":10},"seq":2,"type":"request"}
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 50 in project /user/username/projects/myproject/tsconfig-src.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 50 in project /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
@@ -714,10 +715,15 @@ Search path: /user/username/projects/myproject/indirect1
|
||||
For info: /user/username/projects/myproject/indirect1/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/indirect1
|
||||
For info: /user/username/projects/myproject/indirect1/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 50 in project /user/username/projects/myproject/tsconfig-src.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 50 in project /user/username/projects/myproject/tsconfig-indirect1.json
|
||||
Finding references to /user/username/projects/myproject/indirect1/main.ts position 9 in project /user/username/projects/myproject/tsconfig-indirect1.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Creating configuration project /user/username/projects/myproject/tsconfig-indirect2.json
|
||||
@@ -751,19 +757,19 @@ event:
|
||||
{"seq":0,"type":"event","event":"projectLoadingFinish","body":{"projectName":"/user/username/projects/myproject/tsconfig-indirect2.json"}}
|
||||
event:
|
||||
{"seq":0,"type":"event","event":"telemetry","body":{"telemetryEventName":"projectInfo","payload":{"projectId":"d9a040bddd6b85b85abd507a988a4b809b1515b5e61257ea3f8263da59589565","fileStats":{"js":0,"jsSize":0,"jsx":0,"jsxSize":0,"ts":3,"tsSize":134,"tsx":0,"tsxSize":0,"dts":1,"dtsSize":334,"deferred":0,"deferredSize":0},"compilerOptions":{"composite":true,"outDir":"","baseUrl":""},"typeAcquisition":{"enable":false,"include":false,"exclude":false},"extends":false,"files":true,"include":false,"exclude":false,"compileOnSave":false,"configFileName":"other","projectType":"configured","languageServiceEnabled":true,"version":"FakeVersion"}}}
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/target/src/helpers/functions.d.ts 500 undefined WatchType: Closed Script info
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/target/src/helpers/functions.d.ts.map 500 undefined WatchType: Closed Script info
|
||||
Finding references to /user/username/projects/myproject/src/helpers/functions.ts position 13 in project /user/username/projects/myproject/tsconfig-indirect2.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/target/src/helpers/functions.d.ts 500 undefined WatchType: Closed Script info
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/target/src/helpers/functions.d.ts.map 500 undefined WatchType: Closed Script info
|
||||
Finding references to /user/username/projects/myproject/indirect1/main.ts position 9 in project /user/username/projects/myproject/tsconfig-indirect1.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 9 in project /user/username/projects/myproject/tsconfig-src.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":41},"lineText":"import { foo } from 'helpers/functions';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":2,"offset":10},"end":{"line":2,"offset":13},"contextStart":{"line":2,"offset":1},"contextEnd":{"line":2,"offset":16},"lineText":"export { foo };","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/src/helpers/functions.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":17},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":22},"lineText":"export const foo = 1;","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect1/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect1/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect2/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect2/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false}],"symbolName":"foo","symbolStartOffset":10,"symbolDisplayString":"(alias) const foo: 1\nexport foo"},"responseRequired":true}
|
||||
FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/main.ts 500 undefined WatchType: Closed Script info
|
||||
Project '/user/username/projects/myproject/tsconfig.json' (Configured)
|
||||
@@ -1125,9 +1131,22 @@ Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 9 in project /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/indirect1
|
||||
For info: /user/username/projects/myproject/indirect1/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Creating configuration project /user/username/projects/myproject/tsconfig-indirect1.json
|
||||
event:
|
||||
{"seq":0,"type":"event","event":"projectLoadingStart","body":{"projectName":"/user/username/projects/myproject/tsconfig-indirect1.json","reason":"Creating project referenced by : /user/username/projects/myproject/tsconfig.json as it references project /user/username/projects/myproject/tsconfig-src.json"}}
|
||||
{"seq":0,"type":"event","event":"projectLoadingStart","body":{"projectName":"/user/username/projects/myproject/tsconfig-indirect1.json","reason":"Creating project referenced in solution /user/username/projects/myproject/tsconfig.json to find possible configured project for original file: /user/username/projects/myproject/indirect1/main.ts"}}
|
||||
Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded
|
||||
Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig-indirect1.json
|
||||
DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-indirect1.json WatchType: Type roots
|
||||
@@ -1153,6 +1172,22 @@ Project '/user/username/projects/myproject/tsconfig-indirect1.json' (Configured)
|
||||
-----------------------------------------------
|
||||
event:
|
||||
{"seq":0,"type":"event","event":"projectLoadingFinish","body":{"projectName":"/user/username/projects/myproject/tsconfig-indirect1.json"}}
|
||||
Search path: /user/username/projects/myproject/indirect1
|
||||
For info: /user/username/projects/myproject/indirect1/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/indirect1
|
||||
For info: /user/username/projects/myproject/indirect1/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 9 in project /user/username/projects/myproject/tsconfig-src.json
|
||||
Finding references to /user/username/projects/myproject/indirect1/main.ts position 9 in project /user/username/projects/myproject/tsconfig-indirect1.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Creating configuration project /user/username/projects/myproject/tsconfig-indirect2.json
|
||||
event:
|
||||
{"seq":0,"type":"event","event":"projectLoadingStart","body":{"projectName":"/user/username/projects/myproject/tsconfig-indirect2.json","reason":"Creating project referenced by : /user/username/projects/myproject/tsconfig.json as it references project /user/username/projects/myproject/tsconfig-src.json"}}
|
||||
@@ -1182,28 +1217,15 @@ Project '/user/username/projects/myproject/tsconfig-indirect2.json' (Configured)
|
||||
-----------------------------------------------
|
||||
event:
|
||||
{"seq":0,"type":"event","event":"projectLoadingFinish","body":{"projectName":"/user/username/projects/myproject/tsconfig-indirect2.json"}}
|
||||
Finding references to /user/username/projects/myproject/src/helpers/functions.ts position 13 in project /user/username/projects/myproject/tsconfig-indirect1.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/src/helpers/functions.ts position 13 in project /user/username/projects/myproject/tsconfig-indirect2.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 9 in project /user/username/projects/myproject/tsconfig-src.json
|
||||
Finding references to /user/username/projects/myproject/src/main.ts position 9 in project /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src/helpers
|
||||
For info: /user/username/projects/myproject/src/helpers/functions.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/indirect1
|
||||
For info: /user/username/projects/myproject/indirect1/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":41},"lineText":"import { foo } from 'helpers/functions';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":2,"offset":10},"end":{"line":2,"offset":13},"contextStart":{"line":2,"offset":1},"contextEnd":{"line":2,"offset":16},"lineText":"export { foo };","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/helpers/functions.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":17},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":22},"lineText":"export const foo = 1;","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/indirect1/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect1/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect2/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect2/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false}],"symbolName":"foo","symbolStartOffset":10,"symbolDisplayString":"(alias) const foo: 1\nimport foo"},"responseRequired":true}
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
Search path: /user/username/projects/myproject/src
|
||||
For info: /user/username/projects/myproject/src/main.ts :: Config file name: /user/username/projects/myproject/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":true},{"file":"/user/username/projects/myproject/indirect3/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":41},"lineText":"import { foo } from 'helpers/functions';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/main.ts","start":{"line":2,"offset":10},"end":{"line":2,"offset":13},"contextStart":{"line":2,"offset":1},"contextEnd":{"line":2,"offset":16},"lineText":"export { foo };","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/src/helpers/functions.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":17},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":22},"lineText":"export const foo = 1;","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect1/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect1/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect2/main.ts","start":{"line":1,"offset":10},"end":{"line":1,"offset":13},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":28},"lineText":"import { foo } from 'main';","isWriteAccess":true,"isDefinition":false},{"file":"/user/username/projects/myproject/indirect2/main.ts","start":{"line":2,"offset":1},"end":{"line":2,"offset":4},"lineText":"foo;","isWriteAccess":false,"isDefinition":false}],"symbolName":"foo","symbolStartOffset":10,"symbolDisplayString":"(alias) const foo: 1\nimport foo"},"responseRequired":true}
|
||||
+4
-2
@@ -107,6 +107,7 @@ Project '/user/username/projects/solution/shared/tsconfig.json' (Configured)
|
||||
-----------------------------------------------
|
||||
Search path: /user/username/projects/solution/shared/src
|
||||
For info: /user/username/projects/solution/shared/src/index.ts :: Config file name: /user/username/projects/solution/shared/tsconfig.json
|
||||
Finding references to /user/username/projects/solution/shared/src/index.ts position 21 in project /user/username/projects/solution/shared/tsconfig.json
|
||||
Loading configured project /user/username/projects/solution/tsconfig.json
|
||||
Config: /user/username/projects/solution/tsconfig.json : {
|
||||
"rootNames": [],
|
||||
@@ -179,5 +180,6 @@ Project '/user/username/projects/solution/app/tsconfig.json' (Configured)
|
||||
Finding references to /user/username/projects/solution/shared/src/index.ts position 21 in project /user/username/projects/solution/app/tsconfig.json
|
||||
Search path: /user/username/projects/solution/shared/src
|
||||
For info: /user/username/projects/solution/shared/src/index.ts :: Config file name: /user/username/projects/solution/shared/tsconfig.json
|
||||
Finding references to /user/username/projects/solution/shared/src/index.ts position 21 in project /user/username/projects/solution/shared/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/solution/shared/src/index.ts","start":{"line":1,"offset":22},"end":{"line":1,"offset":25},"contextStart":{"line":1,"offset":22},"contextEnd":{"line":1,"offset":36},"lineText":"export const foo = { bar: () => { } };","isWriteAccess":true},{"file":"/user/username/projects/solution/api/src/server.ts","start":{"line":2,"offset":12},"end":{"line":2,"offset":15},"lineText":"shared.foo.bar();","isWriteAccess":false},{"file":"/user/username/projects/solution/app/src/app.ts","start":{"line":2,"offset":12},"end":{"line":2,"offset":15},"lineText":"shared.foo.bar();","isWriteAccess":false,"isDefinition":false}],"symbolName":"bar","symbolStartOffset":12,"symbolDisplayString":"(property) bar: () => void"},"responseRequired":true}
|
||||
Search path: /user/username/projects/solution/shared/src
|
||||
For info: /user/username/projects/solution/shared/src/index.ts :: Config file name: /user/username/projects/solution/shared/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/solution/shared/src/index.ts","start":{"line":1,"offset":22},"end":{"line":1,"offset":25},"contextStart":{"line":1,"offset":22},"contextEnd":{"line":1,"offset":36},"lineText":"export const foo = { bar: () => { } };","isWriteAccess":true},{"file":"/user/username/projects/solution/api/src/server.ts","start":{"line":2,"offset":12},"end":{"line":2,"offset":15},"lineText":"shared.foo.bar();","isWriteAccess":false},{"file":"/user/username/projects/solution/app/src/app.ts","start":{"line":2,"offset":12},"end":{"line":2,"offset":15},"lineText":"shared.foo.bar();","isWriteAccess":false}],"symbolName":"bar","symbolStartOffset":12,"symbolDisplayString":"(property) bar: () => void"},"responseRequired":true}
|
||||
+4
-2
@@ -107,6 +107,7 @@ Project '/user/username/projects/solution/shared/tsconfig.json' (Configured)
|
||||
-----------------------------------------------
|
||||
Search path: /user/username/projects/solution/shared/src
|
||||
For info: /user/username/projects/solution/shared/src/index.ts :: Config file name: /user/username/projects/solution/shared/tsconfig.json
|
||||
Finding references to /user/username/projects/solution/shared/src/index.ts position 13 in project /user/username/projects/solution/shared/tsconfig.json
|
||||
Loading configured project /user/username/projects/solution/tsconfig.json
|
||||
Config: /user/username/projects/solution/tsconfig.json : {
|
||||
"rootNames": [],
|
||||
@@ -179,5 +180,6 @@ Project '/user/username/projects/solution/app/tsconfig.json' (Configured)
|
||||
Finding references to /user/username/projects/solution/shared/src/index.ts position 13 in project /user/username/projects/solution/app/tsconfig.json
|
||||
Search path: /user/username/projects/solution/shared/src
|
||||
For info: /user/username/projects/solution/shared/src/index.ts :: Config file name: /user/username/projects/solution/shared/tsconfig.json
|
||||
Finding references to /user/username/projects/solution/shared/src/index.ts position 13 in project /user/username/projects/solution/shared/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/solution/shared/src/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":17},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"export const dog = () => { };","isWriteAccess":true},{"file":"/user/username/projects/solution/api/src/server.ts","start":{"line":2,"offset":8},"end":{"line":2,"offset":11},"lineText":"shared.dog();","isWriteAccess":false},{"file":"/user/username/projects/solution/app/src/app.ts","start":{"line":2,"offset":8},"end":{"line":2,"offset":11},"lineText":"shared.dog();","isWriteAccess":false,"isDefinition":false}],"symbolName":"dog","symbolStartOffset":8,"symbolDisplayString":"const dog: () => void"},"responseRequired":true}
|
||||
Search path: /user/username/projects/solution/shared/src
|
||||
For info: /user/username/projects/solution/shared/src/index.ts :: Config file name: /user/username/projects/solution/shared/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/solution/shared/src/index.ts","start":{"line":1,"offset":14},"end":{"line":1,"offset":17},"contextStart":{"line":1,"offset":1},"contextEnd":{"line":1,"offset":30},"lineText":"export const dog = () => { };","isWriteAccess":true},{"file":"/user/username/projects/solution/api/src/server.ts","start":{"line":2,"offset":8},"end":{"line":2,"offset":11},"lineText":"shared.dog();","isWriteAccess":false},{"file":"/user/username/projects/solution/app/src/app.ts","start":{"line":2,"offset":8},"end":{"line":2,"offset":11},"lineText":"shared.dog();","isWriteAccess":false}],"symbolName":"dog","symbolStartOffset":8,"symbolDisplayString":"const dog: () => void"},"responseRequired":true}
|
||||
+4
-2
@@ -107,6 +107,7 @@ Project '/user/username/projects/solution/shared/tsconfig.json' (Configured)
|
||||
-----------------------------------------------
|
||||
Search path: /user/username/projects/solution/shared/src
|
||||
For info: /user/username/projects/solution/shared/src/index.ts :: Config file name: /user/username/projects/solution/shared/tsconfig.json
|
||||
Finding references to /user/username/projects/solution/shared/src/index.ts position 27 in project /user/username/projects/solution/shared/tsconfig.json
|
||||
Loading configured project /user/username/projects/solution/tsconfig.json
|
||||
Config: /user/username/projects/solution/tsconfig.json : {
|
||||
"rootNames": [],
|
||||
@@ -179,5 +180,6 @@ Project '/user/username/projects/solution/app/tsconfig.json' (Configured)
|
||||
Finding references to /user/username/projects/solution/shared/src/index.ts position 27 in project /user/username/projects/solution/app/tsconfig.json
|
||||
Search path: /user/username/projects/solution/shared/src
|
||||
For info: /user/username/projects/solution/shared/src/index.ts :: Config file name: /user/username/projects/solution/shared/tsconfig.json
|
||||
Finding references to /user/username/projects/solution/shared/src/index.ts position 27 in project /user/username/projects/solution/shared/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/solution/shared/src/index.ts","start":{"line":1,"offset":28},"end":{"line":1,"offset":31},"contextStart":{"line":1,"offset":28},"contextEnd":{"line":1,"offset":36},"lineText":"export const foo = class { fly() {} };","isWriteAccess":true},{"file":"/user/username/projects/solution/api/src/server.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":13},"lineText":"instance.fly();","isWriteAccess":false},{"file":"/user/username/projects/solution/app/src/app.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":13},"lineText":"instance.fly();","isWriteAccess":false,"isDefinition":false}],"symbolName":"fly","symbolStartOffset":10,"symbolDisplayString":"(method) foo.fly(): void"},"responseRequired":true}
|
||||
Search path: /user/username/projects/solution/shared/src
|
||||
For info: /user/username/projects/solution/shared/src/index.ts :: Config file name: /user/username/projects/solution/shared/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/solution/shared/src/index.ts","start":{"line":1,"offset":28},"end":{"line":1,"offset":31},"contextStart":{"line":1,"offset":28},"contextEnd":{"line":1,"offset":36},"lineText":"export const foo = class { fly() {} };","isWriteAccess":true},{"file":"/user/username/projects/solution/api/src/server.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":13},"lineText":"instance.fly();","isWriteAccess":false},{"file":"/user/username/projects/solution/app/src/app.ts","start":{"line":3,"offset":10},"end":{"line":3,"offset":13},"lineText":"instance.fly();","isWriteAccess":false}],"symbolName":"fly","symbolStartOffset":10,"symbolDisplayString":"(method) foo.fly(): void"},"responseRequired":true}
|
||||
+4
-2
@@ -107,6 +107,7 @@ Project '/user/username/projects/solution/shared/tsconfig.json' (Configured)
|
||||
-----------------------------------------------
|
||||
Search path: /user/username/projects/solution/shared/src
|
||||
For info: /user/username/projects/solution/shared/src/index.ts :: Config file name: /user/username/projects/solution/shared/tsconfig.json
|
||||
Finding references to /user/username/projects/solution/shared/src/index.ts position 22 in project /user/username/projects/solution/shared/tsconfig.json
|
||||
Loading configured project /user/username/projects/solution/tsconfig.json
|
||||
Config: /user/username/projects/solution/tsconfig.json : {
|
||||
"rootNames": [],
|
||||
@@ -179,5 +180,6 @@ Project '/user/username/projects/solution/app/tsconfig.json' (Configured)
|
||||
Finding references to /user/username/projects/solution/shared/src/index.ts position 22 in project /user/username/projects/solution/app/tsconfig.json
|
||||
Search path: /user/username/projects/solution/shared/src
|
||||
For info: /user/username/projects/solution/shared/src/index.ts :: Config file name: /user/username/projects/solution/shared/tsconfig.json
|
||||
Finding references to /user/username/projects/solution/shared/src/index.ts position 22 in project /user/username/projects/solution/shared/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/solution/shared/src/index.ts","start":{"line":1,"offset":23},"end":{"line":1,"offset":26},"contextStart":{"line":1,"offset":23},"contextEnd":{"line":1,"offset":33},"lineText":"export const foo = { baz: \"BAZ\" };","isWriteAccess":true},{"file":"/user/username/projects/solution/api/src/server.ts","start":{"line":2,"offset":12},"end":{"line":2,"offset":15},"lineText":"shared.foo.baz;","isWriteAccess":false},{"file":"/user/username/projects/solution/app/src/app.ts","start":{"line":2,"offset":12},"end":{"line":2,"offset":15},"lineText":"shared.foo.baz;","isWriteAccess":false,"isDefinition":false}],"symbolName":"baz","symbolStartOffset":12,"symbolDisplayString":"(property) baz: string"},"responseRequired":true}
|
||||
Search path: /user/username/projects/solution/shared/src
|
||||
For info: /user/username/projects/solution/shared/src/index.ts :: Config file name: /user/username/projects/solution/shared/tsconfig.json
|
||||
response:{"response":{"refs":[{"file":"/user/username/projects/solution/shared/src/index.ts","start":{"line":1,"offset":23},"end":{"line":1,"offset":26},"contextStart":{"line":1,"offset":23},"contextEnd":{"line":1,"offset":33},"lineText":"export const foo = { baz: \"BAZ\" };","isWriteAccess":true},{"file":"/user/username/projects/solution/api/src/server.ts","start":{"line":2,"offset":12},"end":{"line":2,"offset":15},"lineText":"shared.foo.baz;","isWriteAccess":false},{"file":"/user/username/projects/solution/app/src/app.ts","start":{"line":2,"offset":12},"end":{"line":2,"offset":15},"lineText":"shared.foo.baz;","isWriteAccess":false}],"symbolName":"baz","symbolStartOffset":12,"symbolDisplayString":"(property) baz: string"},"responseRequired":true}
|
||||
@@ -0,0 +1,92 @@
|
||||
/// <reference path="../fourslash.ts"/>
|
||||
|
||||
// @Filename: /a/index.ts
|
||||
////namespace NS {
|
||||
//// export function /*1*/FA() {
|
||||
//// FB();
|
||||
//// }
|
||||
////}
|
||||
////
|
||||
////interface /*2*/I {
|
||||
//// /*3*/FA();
|
||||
////}
|
||||
////
|
||||
////const ia: I = {
|
||||
//// FA() { },
|
||||
//// FB() { },
|
||||
//// FC() { },
|
||||
//// };
|
||||
|
||||
// @Filename: /a/tsconfig.json
|
||||
////{
|
||||
//// "extends": "../tsconfig.settings.json",
|
||||
//// "references": [
|
||||
//// { "path": "../b" },
|
||||
//// { "path": "../c" },
|
||||
//// ],
|
||||
//// "files": [
|
||||
//// "index.ts",
|
||||
//// ],
|
||||
////}
|
||||
|
||||
// @Filename: /b/index.ts
|
||||
////namespace NS {
|
||||
//// export function /*4*/FB() {}
|
||||
////}
|
||||
////
|
||||
////interface /*5*/I {
|
||||
//// /*6*/FB();
|
||||
////}
|
||||
////
|
||||
////const ib: I = { FB() {} };
|
||||
|
||||
// @Filename: /b/tsconfig.json
|
||||
////{
|
||||
//// "extends": "../tsconfig.settings.json",
|
||||
//// "files": [
|
||||
//// "index.ts",
|
||||
//// ],
|
||||
////}
|
||||
|
||||
// @Filename: /c/index.ts
|
||||
////namespace NS {
|
||||
//// export function /*7*/FC() {}
|
||||
////}
|
||||
////
|
||||
////interface /*8*/I {
|
||||
//// /*9*/FC();
|
||||
////}
|
||||
////
|
||||
////const ic: I = { FC() {} };
|
||||
|
||||
// @Filename: /c/tsconfig.json
|
||||
////{
|
||||
//// "extends": "../tsconfig.settings.json",
|
||||
//// "files": [
|
||||
//// "index.ts",
|
||||
//// ],
|
||||
////}
|
||||
|
||||
// @Filename: /tsconfig.json
|
||||
////{
|
||||
//// "compilerOptions": {
|
||||
//// "composite": true,
|
||||
//// },
|
||||
//// "references": [
|
||||
//// { "path": "a" },
|
||||
//// ],
|
||||
//// "files": []
|
||||
////}
|
||||
|
||||
// @Filename: /tsconfig.settings.json
|
||||
////{
|
||||
//// "compilerOptions": {
|
||||
//// "composite": true,
|
||||
//// "skipLibCheck": true,
|
||||
//// "declarationMap": true,
|
||||
//// "module": "none",
|
||||
//// "emitDeclarationOnly": true,
|
||||
//// }
|
||||
////}
|
||||
|
||||
verify.baselineFindAllReferences('1', '2', '3', '4', '5', '6', '7', '8', '9');
|
||||
@@ -0,0 +1,134 @@
|
||||
/// <reference path="../fourslash.ts"/>
|
||||
|
||||
// @Filename: /a/index.ts
|
||||
////import { NS } from "../b";
|
||||
////import { I } from "../c";
|
||||
////
|
||||
////declare module "../b" {
|
||||
//// export namespace NS {
|
||||
//// export function /*1*/FA();
|
||||
//// }
|
||||
////}
|
||||
////
|
||||
////declare module "../c" {
|
||||
//// export interface /*2*/I {
|
||||
//// /*3*/FA();
|
||||
//// }
|
||||
////}
|
||||
////
|
||||
////const ia: I = {
|
||||
//// FA: NS.FA,
|
||||
//// FC() { },
|
||||
////};
|
||||
|
||||
// @Filename: /a/tsconfig.json
|
||||
////{
|
||||
//// "extends": "../tsconfig.settings.json",
|
||||
//// "references": [
|
||||
//// { "path": "../b" },
|
||||
//// { "path": "../c" },
|
||||
//// ],
|
||||
//// "files": [
|
||||
//// "index.ts",
|
||||
//// ],
|
||||
////}
|
||||
|
||||
// @Filename: /a2/index.ts
|
||||
////import { NS } from "../b";
|
||||
////import { I } from "../c";
|
||||
////
|
||||
////declare module "../b" {
|
||||
//// export namespace NS {
|
||||
//// export function /*4*/FA();
|
||||
//// }
|
||||
////}
|
||||
////
|
||||
////declare module "../c" {
|
||||
//// export interface /*5*/I {
|
||||
//// /*6*/FA();
|
||||
//// }
|
||||
////}
|
||||
////
|
||||
////const ia: I = {
|
||||
//// FA: NS.FA,
|
||||
//// FC() { },
|
||||
////};
|
||||
|
||||
// @Filename: /a2/tsconfig.json
|
||||
////{
|
||||
//// "extends": "../tsconfig.settings.json",
|
||||
//// "references": [
|
||||
//// { "path": "../b" },
|
||||
//// { "path": "../c" },
|
||||
//// ],
|
||||
//// "files": [
|
||||
//// "index.ts",
|
||||
//// ],
|
||||
////}
|
||||
|
||||
// @Filename: /b/index.ts
|
||||
////export namespace NS {
|
||||
//// export function /*7*/FB() {}
|
||||
////}
|
||||
////
|
||||
////export interface /*8*/I {
|
||||
//// /*9*/FB();
|
||||
////}
|
||||
////
|
||||
////const ib: I = { FB() {} };
|
||||
|
||||
// @Filename: /b/other.ts
|
||||
////export const Other = 1;
|
||||
|
||||
// @Filename: /b/tsconfig.json
|
||||
////{
|
||||
//// "extends": "../tsconfig.settings.json",
|
||||
//// "files": [
|
||||
//// "index.ts",
|
||||
//// "other.ts",
|
||||
//// ],
|
||||
////}
|
||||
|
||||
// @Filename: /c/index.ts
|
||||
////export namespace NS {
|
||||
//// export function /*10*/FC() {}
|
||||
////}
|
||||
////
|
||||
////export interface /*11*/I {
|
||||
//// /*12*/FC();
|
||||
////}
|
||||
////
|
||||
////const ic: I = { FC() {} };
|
||||
|
||||
// @Filename: /c/tsconfig.json
|
||||
////{
|
||||
//// "extends": "../tsconfig.settings.json",
|
||||
//// "files": [
|
||||
//// "index.ts",
|
||||
//// ],
|
||||
////}
|
||||
|
||||
// @Filename: /tsconfig.json
|
||||
////{
|
||||
//// "compilerOptions": {
|
||||
//// "composite": true,
|
||||
//// },
|
||||
//// "references": [
|
||||
//// { "path": "a" },
|
||||
//// { "path": "a2" },
|
||||
//// ],
|
||||
//// "files": []
|
||||
////}
|
||||
|
||||
// @Filename: /tsconfig.settings.json
|
||||
////{
|
||||
//// "compilerOptions": {
|
||||
//// "composite": true,
|
||||
//// "skipLibCheck": true,
|
||||
//// "declarationMap": true,
|
||||
//// "module": "CommonJS",
|
||||
//// "emitDeclarationOnly": true,
|
||||
//// }
|
||||
////}
|
||||
|
||||
verify.baselineFindAllReferences('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12');
|
||||
Reference in New Issue
Block a user