carrick 0.3.97 → 0.3.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/bin/carrick.mjs +19 -14
  2. package/dist/auth/run.d.ts +1 -1
  3. package/dist/auth/run.js +1 -1
  4. package/dist/contract.d.ts +15 -0
  5. package/dist/contract.js.map +1 -1
  6. package/dist/global-install.js +6 -5
  7. package/dist/global-install.js.map +1 -1
  8. package/dist/hook/reuse.d.ts +8 -3
  9. package/dist/hook/reuse.js +15 -3
  10. package/dist/hook/reuse.js.map +1 -1
  11. package/dist/init/connect.js +1 -1
  12. package/dist/init/connect.js.map +1 -1
  13. package/dist/init/doctor.js +5 -2
  14. package/dist/init/doctor.js.map +1 -1
  15. package/dist/init/hosted.d.ts +18 -1
  16. package/dist/init/hosted.js +84 -16
  17. package/dist/init/hosted.js.map +1 -1
  18. package/dist/init/install-id.d.ts +2 -2
  19. package/dist/init/install-id.js +3 -3
  20. package/dist/init/install-id.js.map +1 -1
  21. package/dist/init/mcp.d.ts +2 -2
  22. package/dist/init/mcp.js +2 -2
  23. package/dist/init/mcp.js.map +1 -1
  24. package/dist/init/outdated.d.ts +1 -1
  25. package/dist/init/outdated.js +1 -1
  26. package/dist/init/outdated.js.map +1 -1
  27. package/dist/init/output.d.ts +18 -1
  28. package/dist/init/output.js +40 -1
  29. package/dist/init/output.js.map +1 -1
  30. package/dist/init/remove.d.ts +71 -2
  31. package/dist/init/remove.js +474 -145
  32. package/dist/init/remove.js.map +1 -1
  33. package/dist/init/repo-copies.d.ts +16 -4
  34. package/dist/init/repo-copies.js +20 -6
  35. package/dist/init/repo-copies.js.map +1 -1
  36. package/dist/init/run.d.ts +12 -16
  37. package/dist/init/run.js +25 -42
  38. package/dist/init/run.js.map +1 -1
  39. package/dist/update.js +1 -0
  40. package/dist/update.js.map +1 -1
  41. package/package.json +6 -6
  42. package/plugin/.claude-plugin/plugin.json +1 -1
  43. package/sidecar/dist/src/bundler.d.ts +2 -0
  44. package/sidecar/dist/src/bundler.js +115 -39
  45. package/sidecar/dist/src/capture/index.d.ts +1 -0
  46. package/sidecar/dist/src/capture/index.js +91 -10
  47. package/sidecar/dist/src/capture/project-references.d.ts +67 -0
  48. package/sidecar/dist/src/capture/project-references.js +157 -0
  49. package/sidecar/dist/src/client-semantics.d.ts +36 -0
  50. package/sidecar/dist/src/client-semantics.js +1008 -0
  51. package/sidecar/dist/src/index.js +110 -10
  52. package/sidecar/dist/src/module-format.d.ts +32 -0
  53. package/sidecar/dist/src/module-format.js +102 -0
  54. package/sidecar/dist/src/project-loader.d.ts +24 -0
  55. package/sidecar/dist/src/project-loader.js +53 -5
  56. package/sidecar/dist/src/types.d.ts +86 -4
  57. package/sidecar/dist/src/validators.d.ts +463 -0
  58. package/sidecar/dist/src/validators.js +50 -0
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carrick",
3
- "version": "0.3.97",
3
+ "version": "0.3.99",
4
4
  "description": "Maps your entire TypeScript codebase across services and repositories, giving AI agents full context on existing types, routes, and function behaviours over MCP before they write duplicate or breaking code.",
5
5
  "keywords": [
6
6
  "typescript",
@@ -58,11 +58,11 @@
58
58
  "zod": "^3.23.0"
59
59
  },
60
60
  "optionalDependencies": {
61
- "@carrick-tools/cli-darwin-arm64": "0.3.97",
62
- "@carrick-tools/cli-darwin-x64": "0.3.97",
63
- "@carrick-tools/cli-linux-arm64": "0.3.97",
64
- "@carrick-tools/cli-linux-x64": "0.3.97",
65
- "@carrick-tools/cli-win32-x64": "0.3.97"
61
+ "@carrick-tools/cli-darwin-arm64": "0.3.99",
62
+ "@carrick-tools/cli-darwin-x64": "0.3.99",
63
+ "@carrick-tools/cli-linux-arm64": "0.3.99",
64
+ "@carrick-tools/cli-linux-x64": "0.3.99",
65
+ "@carrick-tools/cli-win32-x64": "0.3.99"
66
66
  },
67
67
  "devDependencies": {
68
68
  "@types/node": "^24.13.3",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "carrick",
3
3
  "description": "Claude Code plugin for Carrick, which indexes TypeScript codebases across service and repository boundaries. After each edit it adds the file's routes, calls, and cross-service type mismatches to the session, and it registers Carrick's language server. It pairs with the Carrick MCP server, which lets agents search functions by intent rather than name.",
4
- "version": "0.3.97",
4
+ "version": "0.3.99",
5
5
  "author": {
6
6
  "name": "Carrick",
7
7
  "email": "hello@carrick.tools"
@@ -122,6 +122,8 @@ export declare class TypeBundler {
122
122
  private dedupeSymbols;
123
123
  private validateSymbols;
124
124
  private validateSymbol;
125
+ /** Where a requested symbol is declared, or undefined when it cannot be found. */
126
+ private siteOf;
125
127
  /**
126
128
  * Structural body (`{ ... }`) for an interface/object type, with every nested
127
129
  * named member inlined recursively. Returns null when the expansion is not a
@@ -11,7 +11,7 @@
11
11
  * - Supports scoped packages and subpaths
12
12
  * - Includes a safety pass for any compiler-introduced raw specifiers
13
13
  */
14
- import { Node, } from 'ts-morph';
14
+ import { Node, ts, } from 'ts-morph';
15
15
  import * as path from 'node:path';
16
16
  import * as fs from 'node:fs';
17
17
  import { expandTypeStructural, } from './type-structural-expander.js';
@@ -25,6 +25,97 @@ import { expandTypeStructural, } from './type-structural-expander.js';
25
25
  * as any other symbol the bundler can't extract a type for.
26
26
  */
27
27
  const MAX_ARRAY_DEPTH = 10;
28
+ /** Whether `sourceFile` itself declares `name` in a form the bundle reads. */
29
+ function declaresName(sourceFile, name) {
30
+ return Boolean(sourceFile.getInterface(name) ??
31
+ sourceFile.getTypeAlias(name) ??
32
+ sourceFile.getClass(name) ??
33
+ sourceFile.getEnum(name) ??
34
+ sourceFile.getVariableDeclaration(name) ??
35
+ sourceFile.getFunction(name));
36
+ }
37
+ /**
38
+ * The declarations `name` resolves to when imported from `sourceFile`
39
+ * (carrick#1605), or `ambiguous`.
40
+ *
41
+ * A name the module exports itself (declared there, `export { X }`, `export {
42
+ * X } from`, `export { X as Y } from`) wins over `export *`, and the checker
43
+ * follows it. Otherwise each `export *` is followed, at any depth. Two of them
44
+ * providing different declarations make the name ambiguous: TypeScript
45
+ * reports TS2308 and an ES module exports neither, while the checker's export
46
+ * table silently keeps the first, so the stars are walked here rather than
47
+ * read from it.
48
+ */
49
+ function exportedDeclarations(sourceFile, name, seen) {
50
+ const key = sourceFile.getFilePath();
51
+ if (seen.has(key))
52
+ return [];
53
+ seen.add(key);
54
+ const ownExports = sourceFile.getSymbol()?.compilerSymbol.exports;
55
+ if (ownExports?.has(ts.escapeLeadingUnderscores(name))) {
56
+ return sourceFile.getExportedDeclarations().get(name) ?? [];
57
+ }
58
+ const found = [];
59
+ for (const declaration of sourceFile.getExportDeclarations()) {
60
+ // Only `export * from`: named and namespace re-exports are own exports.
61
+ if (declaration.hasNamedExports() || declaration.getNamespaceExport())
62
+ continue;
63
+ const target = declaration.getModuleSpecifierSourceFile();
64
+ if (!target)
65
+ continue;
66
+ const declarations = exportedDeclarations(target, name, seen);
67
+ if (declarations === 'ambiguous')
68
+ return declarations;
69
+ if (declarations.length > 0)
70
+ found.push(declarations);
71
+ }
72
+ const distinct = new Set(found.map(([first]) => `${first.getSourceFile().getFilePath()}:${first.getStart()}`));
73
+ if (distinct.size > 1)
74
+ return 'ambiguous';
75
+ return found[0] ?? [];
76
+ }
77
+ /** The name a re-exported declaration carries where it is declared. */
78
+ function declaredName(declaration) {
79
+ if (Node.isInterfaceDeclaration(declaration) ||
80
+ Node.isTypeAliasDeclaration(declaration) ||
81
+ Node.isClassDeclaration(declaration) ||
82
+ Node.isEnumDeclaration(declaration) ||
83
+ Node.isVariableDeclaration(declaration) ||
84
+ Node.isFunctionDeclaration(declaration)) {
85
+ return declaration.getName();
86
+ }
87
+ return undefined;
88
+ }
89
+ /**
90
+ * Where `name`, as `sourceFile` exports it, is declared (carrick#1605). A name
91
+ * the file declares is its own. Otherwise it is followed the way an import of
92
+ * it is: a model names a type where the consumer imports it from, usually a
93
+ * barrel that only has `export *`.
94
+ */
95
+ function declarationSite(sourceFile, name, label) {
96
+ if (declaresName(sourceFile, name))
97
+ return { sourceFile, name };
98
+ const declarations = exportedDeclarations(sourceFile, name, new Set());
99
+ if (declarations === 'ambiguous') {
100
+ return {
101
+ reason: `Symbol '${name}' is exported by more than one \`export *\` in ${label}`,
102
+ };
103
+ }
104
+ for (const declaration of declarations) {
105
+ const file = declaration.getSourceFile();
106
+ // An installed package's declaration names types from the package's own
107
+ // files, which the bundle does not carry, so its text would dangle. The
108
+ // failure is what it was before the walk, and inference keeps the row.
109
+ if (file.isInNodeModules() || file.isFromExternalLibrary()) {
110
+ return { reason: `Symbol '${name}' is re-exported from an installed package in ${label}` };
111
+ }
112
+ const declared = declaredName(declaration);
113
+ if (declared && declaresName(declaration.getSourceFile(), declared)) {
114
+ return { sourceFile: declaration.getSourceFile(), name: declared };
115
+ }
116
+ }
117
+ return { reason: `Symbol '${name}' not found in ${label}` };
118
+ }
28
119
  /**
29
120
  * SurfaceEmitter - Generates .d.ts surface files with rewritten imports
30
121
  *
@@ -428,31 +519,19 @@ export class TypeBundler {
428
519
  reason: `Failed to load source file: ${err instanceof Error ? err.message : String(err)}`,
429
520
  };
430
521
  }
431
- // Look for the symbol in the file
432
- const symbolName = symbol.symbol_name;
433
- // Check interfaces
434
- if (sourceFile.getInterface(symbolName))
435
- return { valid: true };
436
- // Check type aliases
437
- if (sourceFile.getTypeAlias(symbolName))
438
- return { valid: true };
439
- // Check classes
440
- if (sourceFile.getClass(symbolName))
441
- return { valid: true };
442
- // Check enums
443
- if (sourceFile.getEnum(symbolName))
444
- return { valid: true };
445
- // Check exported variables
446
- if (sourceFile.getVariableDeclaration(symbolName))
447
- return { valid: true };
448
- // Check functions
449
- if (sourceFile.getFunction(symbolName))
450
- return { valid: true };
451
- // Symbol not found
452
- return {
453
- valid: false,
454
- reason: `Symbol '${symbolName}' not found in ${symbol.source_file}`,
455
- };
522
+ const site = declarationSite(sourceFile, symbol.symbol_name, symbol.source_file);
523
+ return 'reason' in site ? { valid: false, reason: site.reason } : { valid: true };
524
+ }
525
+ /** Where a requested symbol is declared, or undefined when it cannot be found. */
526
+ siteOf(symbol) {
527
+ const absolutePath = path.isAbsolute(symbol.source_file)
528
+ ? symbol.source_file
529
+ : path.resolve(this.repoRoot, symbol.source_file);
530
+ const sourceFile = this.project.getSourceFile(absolutePath);
531
+ if (!sourceFile)
532
+ return undefined;
533
+ const site = declarationSite(sourceFile, symbol.symbol_name, symbol.source_file);
534
+ return 'reason' in site ? undefined : site;
456
535
  }
457
536
  /**
458
537
  * Structural body (`{ ... }`) for an interface/object type, with every nested
@@ -525,13 +604,10 @@ export class TypeBundler {
525
604
  /// union/intersection/function that would misparse; those are re-resolved
526
605
  /// from the source Type here (this runs only on the rare array_depth path).
527
606
  elementNeedsArrayParens(symbol) {
528
- const absolutePath = path.isAbsolute(symbol.source_file)
529
- ? symbol.source_file
530
- : path.resolve(this.repoRoot, symbol.source_file);
531
- const sourceFile = this.project.getSourceFile(absolutePath);
532
- if (!sourceFile)
607
+ const site = this.siteOf(symbol);
608
+ if (!site)
533
609
  return false;
534
- const name = symbol.symbol_name;
610
+ const { sourceFile, name } = site;
535
611
  const decl = sourceFile.getTypeAlias(name) ?? sourceFile.getVariableDeclaration(name);
536
612
  if (!decl)
537
613
  return false;
@@ -546,15 +622,15 @@ export class TypeBundler {
546
622
  // verbatim declaration text from a fallback branch. Only expressions can be
547
623
  // array-wrapped by `extractTypeDefinition`.
548
624
  extractTypeDefinitionBase(symbol) {
549
- const absolutePath = path.isAbsolute(symbol.source_file)
550
- ? symbol.source_file
551
- : path.resolve(this.repoRoot, symbol.source_file);
552
- const sourceFile = this.project.getSourceFile(absolutePath);
553
- if (!sourceFile) {
625
+ const site = this.siteOf(symbol);
626
+ if (!site) {
554
627
  return null;
555
628
  }
556
- const symbolName = symbol.symbol_name;
557
- const alias = symbol.alias || symbolName;
629
+ // `symbolName` is the declaration's own name, which a renamed re-export
630
+ // (`export { Account as AccountView }`) does not share with the request;
631
+ // the bundle declares the name the symbol was requested under.
632
+ const { sourceFile, name: symbolName } = site;
633
+ const alias = symbol.alias || symbol.symbol_name;
558
634
  // Try interface
559
635
  const iface = sourceFile.getInterface(symbolName);
560
636
  if (iface) {
@@ -30,6 +30,7 @@
30
30
  import type { CaptureStubOptions, CaptureStubResult } from './api.js';
31
31
  export type { CaptureStubOptions, CaptureStubResult } from './api.js';
32
32
  export { DenoProject, findDenoConfig } from './deno-project.js';
33
+ export { serviceConfigPath } from './project-references.js';
33
34
  export { runCheck } from './check.js';
34
35
  export type { CheckProgress } from './check.js';
35
36
  export { jsonWireDeclarations } from './check-probe.js';
@@ -39,7 +39,9 @@ import { typesPackageOf, withInstalledPackages } from './installed-package.js';
39
39
  import { selfCheckStub } from './self-check.js';
40
40
  import { collectSpecifiers, isRelative, packageNameOf } from './specifiers.js';
41
41
  import { DenoProject, findDenoConfig } from './deno-project.js';
42
+ import { emitsAlike, ProjectGraph } from './project-references.js';
42
43
  export { DenoProject, findDenoConfig } from './deno-project.js';
44
+ export { serviceConfigPath } from './project-references.js';
43
45
  // v2 check core ("tsc as the judge"). Same bundle, same seam: the sidecar
44
46
  // reaches it only through this door (index.js).
45
47
  export { runCheck } from './check.js';
@@ -128,6 +130,13 @@ export function captureStub(opts) {
128
130
  ? path.resolve(repoRoot, opts.tsconfigPath)
129
131
  : path.join(repoRoot, 'tsconfig.json');
130
132
  let parsed;
133
+ // The config the emit's options came from: the named one, or the project
134
+ // that owns the most anchors' files (carrick#1604).
135
+ let projectConfigPath = configPath;
136
+ // Anchor indexes by the project that owns their file, when the named config
137
+ // references others and the anchors' files do not all belong to one project.
138
+ let ownerGroups;
139
+ let emitProject;
131
140
  let deno;
132
141
  try {
133
142
  const config = findDenoConfig(repoRoot, opts.tsconfigPath);
@@ -164,18 +173,44 @@ export function captureStub(opts) {
164
173
  }, ts.sys, repoRoot);
165
174
  }
166
175
  else {
167
- const configHost = {
168
- ...ts.sys,
169
- onUnRecoverableConfigFileDiagnostic: (d) => {
170
- throw new Error(ts.flattenDiagnosticMessageText(d.messageText, '\n'));
171
- },
172
- };
176
+ // Each anchor is typed under the project that owns its file: the named
177
+ // config when it lists the file, else the first project it references
178
+ // (depth-first, in declared order) that does, else the named config.
179
+ let graph;
173
180
  try {
174
- parsed = ts.getParsedCommandLineOfConfigFile(configPath, {}, configHost) ?? undefined;
181
+ graph = new ProjectGraph(configPath);
175
182
  }
176
183
  catch (err) {
177
184
  return fail(stubDir, packageName, [err instanceof Error ? err.message : String(err)]);
178
185
  }
186
+ const groups = new Map();
187
+ const unfiled = [];
188
+ opts.anchors.forEach((anchor, index) => {
189
+ const file = anchor.source_file ? path.resolve(repoRoot, anchor.source_file) : undefined;
190
+ if (!file || !fs.existsSync(file)) {
191
+ unfiled.push(index);
192
+ return;
193
+ }
194
+ const owner = graph.ownerOf(file);
195
+ groups.set(owner, [...(groups.get(owner) ?? []), index]);
196
+ });
197
+ // One emit: under the owner of the most anchors, ties to search order.
198
+ let emit = graph.named;
199
+ let most = 0;
200
+ for (const [owner, indexes] of groups) {
201
+ if (indexes.length > most || (indexes.length === most && graph.rank(owner) < graph.rank(emit))) {
202
+ emit = owner;
203
+ most = indexes.length;
204
+ }
205
+ }
206
+ if (unfiled.length > 0)
207
+ groups.set(emit, [...(groups.get(emit) ?? []), ...unfiled]);
208
+ errors.push(...graph.diagnostics);
209
+ parsed = emit.parsed;
210
+ projectConfigPath = emit.configPath;
211
+ emitProject = emit;
212
+ if (groups.size > 1)
213
+ ownerGroups = groups;
179
214
  }
180
215
  if (!parsed) {
181
216
  return fail(stubDir, packageName, [`failed to parse ${configPath}`]);
@@ -183,7 +218,7 @@ export function captureStub(opts) {
183
218
  // The surface entry must live inside the effective rootDir (design doc
184
219
  // Capture step 1: an entry at repo root with rootDir "src" fails TS6059).
185
220
  const entryDir = parsed.options.rootDir
186
- ? path.resolve(path.dirname(configPath), parsed.options.rootDir)
221
+ ? path.resolve(path.dirname(projectConfigPath), parsed.options.rootDir)
187
222
  : repoRoot;
188
223
  const surfaceEntry = surfaceEntryFileName();
189
224
  const surfaceDeclaration = `${surfaceEntry}.d.ts`;
@@ -193,8 +228,11 @@ export function captureStub(opts) {
193
228
  fs.mkdirSync(path.dirname(entryPath), { recursive: true });
194
229
  // ---- Phase A: analysis program over placeholder entry + anchor sources ----
195
230
  let resolved;
231
+ const analysisCtx = { repoRoot, entryDir: path.dirname(entryPath), entryPath };
196
232
  try {
197
- resolved = resolveAnchors(opts, parsed, { repoRoot, entryDir: path.dirname(entryPath), entryPath }, deno);
233
+ resolved = ownerGroups && emitProject
234
+ ? resolveAnchorsByOwner(opts, ownerGroups, emitProject, analysisCtx, errors)
235
+ : resolveAnchors(opts, parsed, analysisCtx, deno);
198
236
  }
199
237
  catch (err) {
200
238
  return fail(stubDir, packageName, [err instanceof Error ? err.message : String(err)]);
@@ -343,7 +381,7 @@ export function captureStub(opts) {
343
381
  typesDir,
344
382
  files: emittedFiles,
345
383
  options: parsed.options,
346
- configPath,
384
+ configPath: projectConfigPath,
347
385
  entryDir,
348
386
  });
349
387
  const specifierRewrites = denoRewrites + rewritten.rewrites;
@@ -513,6 +551,49 @@ function rewriteSurfaceAliasesToUnknown(text, demoted) {
513
551
  }
514
552
  return out;
515
553
  }
554
+ /**
555
+ * Phase A when the anchors' files belong to different projects (carrick#1604):
556
+ * each owner's anchors are resolved in a program built from that owner's
557
+ * options, so a file is never typed under a project that does not own it.
558
+ *
559
+ * The surface is emitted once, under `emit`'s options. An anchor from another
560
+ * project keeps its text when the text stands alone, or when the two projects
561
+ * would emit a declaration the same way. Otherwise its text names a module the
562
+ * emit would declare under the wrong options (a symbol or handler anchor, or
563
+ * a print that imports a module), so it is demoted with the reason, and cannot
564
+ * self-check clean.
565
+ */
566
+ function resolveAnchorsByOwner(opts, groups, emit, ctx, errors) {
567
+ const resolved = new Array(opts.anchors.length);
568
+ for (const [owner, indexes] of groups) {
569
+ const anchors = indexes.map((index) => opts.anchors[index]);
570
+ const group = resolveAnchors({ ...opts, anchors }, owner.parsed, ctx);
571
+ let demoted = 0;
572
+ group.forEach((anchor, position) => {
573
+ const index = indexes[position];
574
+ const namesModule = anchor.request.kind === 'symbol' ||
575
+ anchor.request.kind === 'handler_return' ||
576
+ collectSpecifiers(anchor.aliasText).size > 0;
577
+ if (owner === emit || anchor.failureReason !== undefined || !namesModule || emitsAlike(owner, emit)) {
578
+ resolved[index] = anchor;
579
+ return;
580
+ }
581
+ demoted += 1;
582
+ resolved[index] = {
583
+ request: anchor.request,
584
+ aliasText: 'unknown',
585
+ serialization: 'structural_fallback',
586
+ failureReason: `typed under ${owner.configPath}, the project that owns its file, whose options differ ` +
587
+ `from ${emit.configPath}, which emits the surface; the module it names would be declared under the wrong options`,
588
+ };
589
+ });
590
+ if (owner !== emit) {
591
+ errors.push(`${indexes.length} anchor(s) typed under ${owner.configPath}, the project that owns their files` +
592
+ (demoted > 0 ? `; ${demoted} demoted because the surface is emitted under ${emit.configPath}` : ''));
593
+ }
594
+ }
595
+ return resolved;
596
+ }
516
597
  /** Phase A: build the placeholder entry, then resolve every anchor. */
517
598
  function resolveAnchors(opts, parsed, ctx, deno) {
518
599
  const placeholderLines = ['// Carrick capture v2 analysis placeholder.'];
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Which project types a file of a service whose tsconfig references others
3
+ * (carrick#1604).
4
+ *
5
+ * A "solution" tsconfig (`"files": []` plus `references`) carries no compiler
6
+ * options: they live in the projects it references. Parsing the named file
7
+ * alone typed every file with none, so `customConditions`, `paths` and the
8
+ * module resolution mode never applied and workspace imports fell through to
9
+ * unbuilt output.
10
+ *
11
+ * TypeScript's editor answers "which project types this file" by searching
12
+ * the named config, then its references depth-first in declared order, for
13
+ * the first project whose file list includes the file. That project is the
14
+ * file's owner here too, and a file is only ever typed under its owner's
15
+ * options: the loader builds one program per owner it is asked about, and
16
+ * the capture types each anchor in its owner's program. A file no reachable
17
+ * project includes is owned by the named config, which is how it was typed
18
+ * before references were read.
19
+ */
20
+ import ts from 'typescript';
21
+ /** One parsed tsconfig. */
22
+ export interface ServiceProject {
23
+ /** Absolute path of the config file the options came from. */
24
+ configPath: string;
25
+ parsed: ts.ParsedCommandLine;
26
+ }
27
+ /**
28
+ * The projects a named config reaches and the owner of each file among them.
29
+ * References are read only when a file the named config does not include is
30
+ * asked about, so a service whose files the named config includes costs one
31
+ * parse, as before.
32
+ */
33
+ export declare class ProjectGraph {
34
+ readonly named: ServiceProject;
35
+ /** References that could not be read, one line each. */
36
+ readonly diagnostics: string[];
37
+ private readonly extendedConfigCache;
38
+ private walked;
39
+ private readonly namedFiles;
40
+ /** Throws when the named config cannot be read, as a bare parse would. */
41
+ constructor(configPath: string);
42
+ /** Whether the named config references other projects at all. */
43
+ get hasReferences(): boolean;
44
+ /**
45
+ * The project that owns `file`: the first in search order whose file list
46
+ * includes it (the named config, then its references depth-first in
47
+ * declared order; a config reached twice is visited once). The named config
48
+ * when none does.
49
+ */
50
+ ownerOf(file: string): ServiceProject;
51
+ /** Position in search order, 0 for the named config. */
52
+ rank(project: ServiceProject): number;
53
+ private projects;
54
+ }
55
+ /**
56
+ * For the loader: the config each file of the service is typed under. The
57
+ * returned function gives the owner's config path for a file, and the named
58
+ * config for no file; a reference that cannot be read goes to `report`. A named config that references nothing is not parsed
59
+ * here (`references` is never inherited through `extends`), so the function
60
+ * answers the named path for every file and the common case costs nothing.
61
+ */
62
+ export declare function serviceConfigPath(configPath: string, report?: (diagnostic: string) => void): (file?: string) => string;
63
+ /**
64
+ * Whether two projects' options would emit a declaration the same way, so a
65
+ * type one of them names can be emitted by the other.
66
+ */
67
+ export declare function emitsAlike(a: ServiceProject, b: ServiceProject): boolean;