@typespec/compiler 1.9.0-dev.1 → 1.9.0-dev.11

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 (61) hide show
  1. package/dist/manifest.js +2 -2
  2. package/dist/src/core/checker.d.ts.map +1 -1
  3. package/dist/src/core/checker.js +516 -378
  4. package/dist/src/core/checker.js.map +1 -1
  5. package/dist/src/core/cli/actions/compile/compile.js +3 -1
  6. package/dist/src/core/cli/actions/compile/compile.js.map +1 -1
  7. package/dist/src/core/emitter-utils.d.ts +1 -1
  8. package/dist/src/core/emitter-utils.d.ts.map +1 -1
  9. package/dist/src/core/emitter-utils.js +12 -4
  10. package/dist/src/core/emitter-utils.js.map +1 -1
  11. package/dist/src/core/linter.d.ts.map +1 -1
  12. package/dist/src/core/linter.js +4 -4
  13. package/dist/src/core/linter.js.map +1 -1
  14. package/dist/src/core/name-resolver.d.ts.map +1 -1
  15. package/dist/src/core/name-resolver.js +8 -4
  16. package/dist/src/core/name-resolver.js.map +1 -1
  17. package/dist/src/core/perf.d.ts +12 -0
  18. package/dist/src/core/perf.d.ts.map +1 -0
  19. package/dist/src/core/perf.js +57 -0
  20. package/dist/src/core/perf.js.map +1 -0
  21. package/dist/src/core/program.d.ts.map +1 -1
  22. package/dist/src/core/program.js +20 -17
  23. package/dist/src/core/program.js.map +1 -1
  24. package/dist/src/core/stats.d.ts +6 -7
  25. package/dist/src/core/stats.d.ts.map +1 -1
  26. package/dist/src/core/stats.js +1 -18
  27. package/dist/src/core/stats.js.map +1 -1
  28. package/dist/src/core/type-relation-checker.d.ts.map +1 -1
  29. package/dist/src/core/type-relation-checker.js +3 -7
  30. package/dist/src/core/type-relation-checker.js.map +1 -1
  31. package/dist/src/core/type-utils.d.ts +17 -2
  32. package/dist/src/core/type-utils.d.ts.map +1 -1
  33. package/dist/src/core/type-utils.js +4 -9
  34. package/dist/src/core/type-utils.js.map +1 -1
  35. package/dist/src/core/types.d.ts +42 -0
  36. package/dist/src/core/types.d.ts.map +1 -1
  37. package/dist/src/index.d.ts.map +1 -1
  38. package/dist/src/index.js +2 -0
  39. package/dist/src/index.js.map +1 -1
  40. package/dist/src/lib/decorators.d.ts.map +1 -1
  41. package/dist/src/lib/decorators.js +1 -1
  42. package/dist/src/lib/decorators.js.map +1 -1
  43. package/dist/src/lib/examples.d.ts +21 -2
  44. package/dist/src/lib/examples.d.ts.map +1 -1
  45. package/dist/src/lib/examples.js +43 -10
  46. package/dist/src/lib/examples.js.map +1 -1
  47. package/dist/src/lib/paging.d.ts.map +1 -1
  48. package/dist/src/lib/paging.js +3 -14
  49. package/dist/src/lib/paging.js.map +1 -1
  50. package/dist/src/server/serverlib.d.ts.map +1 -1
  51. package/dist/src/server/serverlib.js +1 -1
  52. package/dist/src/server/serverlib.js.map +1 -1
  53. package/dist/src/typekit/kits/array.js +1 -1
  54. package/dist/src/typekit/kits/array.js.map +1 -1
  55. package/dist/src/typekit/kits/record.js +1 -1
  56. package/dist/src/typekit/kits/record.js.map +1 -1
  57. package/dist/src/utils/index.d.ts +1 -0
  58. package/dist/src/utils/index.d.ts.map +1 -1
  59. package/dist/src/utils/index.js +1 -0
  60. package/dist/src/utils/index.js.map +1 -1
  61. package/package.json +7 -7
@@ -146,7 +146,9 @@ function printStats(stats) {
146
146
  printRuntime(stats, "checker", Performance.stage, 4);
147
147
  printGroup(stats, "validation", "validators", Performance.validator, 4);
148
148
  printGroup(stats, "linter", "rules", Performance.lintingRule, 4);
149
- printGroup(stats, "emit", "emitters", Performance.stage, 4);
149
+ for (const emitter of Object.keys(stats.emit.emitters).sort()) {
150
+ printGroup(stats.emit.emitters, emitter, "steps", Performance.stage, 6);
151
+ }
150
152
  }
151
153
  function printGroup(base, groupName, itemsKey, perf, indent = 0) {
152
154
  const group = base[groupName];
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../../../../src/core/cli/actions/compile/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../../../../src/core/cli/actions/compile/compile.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export interface EmitFileOptions {
5
5
  content: string;
6
6
  newLine?: NewLine;
7
7
  }
8
- export declare function flushEmittedFilesPaths(): string[];
8
+ export declare function getEmittedFilesForProgram(program: Program): string[];
9
9
  /**
10
10
  * Helper to emit a file.
11
11
  * @param program TypeSpec Program
@@ -1 +1 @@
1
- {"version":3,"file":"emitter-utils.d.ts","sourceRoot":"","sources":["../../../src/core/emitter-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AACpC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAGD,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AACD;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAYxF"}
1
+ {"version":3,"file":"emitter-utils.d.ts","sourceRoot":"","sources":["../../../src/core/emitter-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AACpC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAMpE;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxF"}
@@ -1,7 +1,15 @@
1
1
  import { getDirectoryPath } from "./path-utils.js";
2
- const emittedFilesPaths = [];
3
- export function flushEmittedFilesPaths() {
4
- return emittedFilesPaths.splice(0, emittedFilesPaths.length);
2
+ const emittedFilesPerProgramKey = Symbol.for("TYPESPEC_EMITTED_FILES_PATHS");
3
+ if (globalThis[emittedFilesPerProgramKey] === undefined) {
4
+ globalThis[emittedFilesPerProgramKey] = new WeakMap();
5
+ }
6
+ export function getEmittedFilesForProgram(program) {
7
+ const existing = globalThis[emittedFilesPerProgramKey].get(program);
8
+ if (existing)
9
+ return existing;
10
+ const val = [];
11
+ globalThis[emittedFilesPerProgramKey].set(program, val);
12
+ return val;
5
13
  }
6
14
  /**
7
15
  * Helper to emit a file.
@@ -15,7 +23,7 @@ export async function emitFile(program, options) {
15
23
  const content = options.newLine && options.newLine === "crlf"
16
24
  ? options.content.replace(/(\r\n|\n|\r)/gm, "\r\n")
17
25
  : options.content;
18
- emittedFilesPaths.push(options.path);
26
+ getEmittedFilesForProgram(program).push(options.path);
19
27
  return await program.host.writeFile(options.path, content);
20
28
  }
21
29
  //# sourceMappingURL=emitter-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitter-utils.js","sourceRoot":"","sources":["../../../src/core/emitter-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAUnD,MAAM,iBAAiB,GAAa,EAAE,CAAC;AACvC,MAAM,UAAU,sBAAsB;IACpC,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AACD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAgB,EAAE,OAAwB;IACvE,qBAAqB;IACrB,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,OAAO,GACX,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM;QAC3C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC;QACnD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAEtB,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"emitter-utils.js","sourceRoot":"","sources":["../../../src/core/emitter-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAUnD,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC7E,IAAK,UAAkB,CAAC,yBAAyB,CAAC,KAAK,SAAS,EAAE,CAAC;IAChE,UAAkB,CAAC,yBAAyB,CAAC,GAAG,IAAI,OAAO,EAAqB,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,QAAQ,GAAI,UAAkB,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,GAAG,GAAa,EAAE,CAAC;IACxB,UAAkB,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAgB,EAAE,OAAwB;IACvE,qBAAqB;IACrB,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,OAAO,GACX,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM;QAC3C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC;QACnD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACtB,yBAAyB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../../src/core/linter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAA6C,MAAM,kBAAkB,CAAC;AAMlG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,UAAU,EACV,iBAAiB,EAEjB,aAAa,EAId,MAAM,YAAY,CAAC;AAEpB,KAAK,qBAAqB,GAAG;IAAE,MAAM,EAAE,wBAAwB,CAAA;CAAE,CAAC;AAElE,MAAM,WAAW,MAAM;IACrB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IACtE,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvE,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B,CAAC;CACH;AACD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,GACvB,wBAAwB,CAoB1B;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,GACxE,MAAM,CA4NR;AAED,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,kBAAkB,EACrF,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,EACvB,mBAAmB,EAAE,mBAAmB,GACvC,iBAAiB,CAAC,EAAE,CAAC,CA2CvB;AAED,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAC7D,wBAAgB,0BAA0B,IAAI,qBAAqB,CAMlE"}
1
+ {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../../src/core/linter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAA6C,MAAM,kBAAkB,CAAC;AAOlG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,UAAU,EACV,iBAAiB,EAEjB,aAAa,EAId,MAAM,YAAY,CAAC;AAEpB,KAAK,qBAAqB,GAAG;IAAE,MAAM,EAAE,wBAAwB,CAAA;CAAE,CAAC;AAElE,MAAM,WAAW,MAAM;IACrB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IACtE,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvE,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B,CAAC;CACH;AACD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,GACvB,wBAAwB,CAoB1B;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,GACxE,MAAM,CA4NR;AAED,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,kBAAkB,EACrF,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,EACvB,mBAAmB,EAAE,mBAAmB,GACvC,iBAAiB,CAAC,EAAE,CAAC,CA2CvB;AAED,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAC7D,wBAAgB,0BAA0B,IAAI,qBAAqB,CAMlE"}
@@ -5,8 +5,8 @@ import { defineLinter } from "./library.js";
5
5
  import { createUnusedTemplateParameterLinterRule } from "./linter-rules/unused-template-parameter.rule.js";
6
6
  import { createUnusedUsingLinterRule } from "./linter-rules/unused-using.rule.js";
7
7
  import { createDiagnostic } from "./messages.js";
8
+ import { perf } from "./perf.js";
8
9
  import { EventEmitter, mapEventEmitterToNodeListener, navigateProgram } from "./semantic-walker.js";
9
- import { startTimer } from "./stats.js";
10
10
  import { NoTarget, } from "./types.js";
11
11
  /**
12
12
  * Resolve the linter definition
@@ -138,17 +138,17 @@ export function createLinter(program, loadLibrary) {
138
138
  }
139
139
  tracer.trace("lint", `Running ${asyncRules ? "async" : "sync"} linter with following rules:\n` +
140
140
  [...filteredRules.keys()].map((x) => ` - ${x}`).join("\n"));
141
- const timer = startTimer();
141
+ const timer = perf.startTimer();
142
142
  const exitCallbacks = [];
143
143
  const EXIT_EVENT_NAME = "exit";
144
144
  const allPromises = [];
145
145
  for (const rule of filteredRules.values()) {
146
- const createTiming = startTimer();
146
+ const createTiming = perf.startTimer();
147
147
  const listener = rule.create(createLinterRuleContext(program, rule, diagnostics));
148
148
  stats.runtime.rules[rule.id] = createTiming.end();
149
149
  for (const [name, cb] of Object.entries(listener)) {
150
150
  const timedCb = (...args) => {
151
- const timer = startTimer();
151
+ const timer = perf.startTimer();
152
152
  const result = cb(...args);
153
153
  if (name === EXIT_EVENT_NAME && isPromise(result)) {
154
154
  compilerAssert(rule.async, `Linter rule "${rule.id}" is not marked as async but returned a promise from the "${name}" callback.`);
@@ -1 +1 @@
1
- {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../../src/core/linter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../../src/core/linter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"name-resolver.d.ts","sourceRoot":"","sources":["../../../src/core/name-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyDI;AAEJ,OAAO,EAAE,OAAO,EAAU,MAAM,kBAAkB,CAAC;AAInD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAEL,6BAA6B,EAI7B,cAAc,EAGd,oBAAoB,EAKpB,IAAI,EAEJ,SAAS,EAET,gBAAgB,EAGhB,GAAG,EAEH,WAAW,EACX,WAAW,EAGX,iBAAiB,EAGjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,cAAc,IAAI,IAAI,CAAC;IAEvB;;;OAGG;IACH,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC;IAE/B;;OAEG;IACH,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClE;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IAEpC,4CAA4C;IAC5C,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,WAAW,CAAC;IAEzC,mEAAmE;IACnE,0BAA0B,CAAC,MAAM,EAAE,GAAG,GAAG,6BAA6B,EAAE,CAAC;IAEzE;;;OAGG;IACH,6BAA6B,CAC3B,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,oBAAoB,EAC1B,OAAO,CAAC,EAAE,0BAA0B,GACnC,gBAAgB,CAAC;IAEpB,kCAAkC;IAClC,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAElE,yJAAyJ;IACzJ,oBAAoB,CAClB,IAAI,EAAE,iBAAiB,GAAG,cAAc,GAAG,oBAAoB,GAC9D,gBAAgB,CAAC;IAEpB,uEAAuE;IACvE,eAAe,IAAI,kBAAkB,EAAE,CAAC;IAExC,wBAAwB;IACxB,QAAQ,CAAC,OAAO,EAAE;QAChB,sCAAsC;QACtC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;QAErB,+BAA+B;QAC/B,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;KACpB,CAAC;CACH;AAED,UAAU,0BAA0B;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAMD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAqoC7D"}
1
+ {"version":3,"file":"name-resolver.d.ts","sourceRoot":"","sources":["../../../src/core/name-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyDI;AAEJ,OAAO,EAAE,OAAO,EAAU,MAAM,kBAAkB,CAAC;AAInD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAEL,6BAA6B,EAI7B,cAAc,EAGd,oBAAoB,EAKpB,IAAI,EAEJ,SAAS,EAET,gBAAgB,EAGhB,GAAG,EAEH,WAAW,EACX,WAAW,EAGX,iBAAiB,EAGjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,cAAc,IAAI,IAAI,CAAC;IAEvB;;;OAGG;IACH,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC;IAE/B;;OAEG;IACH,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClE;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IAEpC,4CAA4C;IAC5C,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,WAAW,CAAC;IAEzC,mEAAmE;IACnE,0BAA0B,CAAC,MAAM,EAAE,GAAG,GAAG,6BAA6B,EAAE,CAAC;IAEzE;;;OAGG;IACH,6BAA6B,CAC3B,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,oBAAoB,EAC1B,OAAO,CAAC,EAAE,0BAA0B,GACnC,gBAAgB,CAAC;IAEpB,kCAAkC;IAClC,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAElE,yJAAyJ;IACzJ,oBAAoB,CAClB,IAAI,EAAE,iBAAiB,GAAG,cAAc,GAAG,oBAAoB,GAC9D,gBAAgB,CAAC;IAEpB,uEAAuE;IACvE,eAAe,IAAI,kBAAkB,EAAE,CAAC;IAExC,wBAAwB;IACxB,QAAQ,CAAC,OAAO,EAAE;QAChB,sCAAsC;QACtC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;QAErB,+BAA+B;QAC/B,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;KACpB,CAAC;CACH;AAED,UAAU,0BAA0B;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAMD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CA0oC7D"}
@@ -69,6 +69,7 @@ export function createResolver(program) {
69
69
  const augmentedSymbolTables = new Map();
70
70
  const nodeLinks = new Map();
71
71
  const symbolLinks = new Map();
72
+ const visitedNode = new Set();
72
73
  const globalNamespaceNode = createGlobalNamespaceNode();
73
74
  const globalNamespaceSym = createSymbol(globalNamespaceNode, "global", 256 /* SymbolFlags.Namespace */ | 1048576 /* SymbolFlags.Declaration */);
74
75
  mutate(globalNamespaceNode).symbol = globalNamespaceSym;
@@ -926,6 +927,13 @@ export function createResolver(program) {
926
927
  return nsNode;
927
928
  }
928
929
  function bindAndResolveNode(node) {
930
+ if (visitedNode.has(node)) {
931
+ return;
932
+ }
933
+ visitedNode.add(node);
934
+ if ("id" in node && node.kind !== SyntaxKind.MemberExpression && node.id) {
935
+ bindDeclarationIdentifier(node);
936
+ }
929
937
  switch (node.kind) {
930
938
  case SyntaxKind.TypeReference:
931
939
  resolveTypeReference(node);
@@ -957,10 +965,6 @@ export function createResolver(program) {
957
965
  case SyntaxKind.CallExpression:
958
966
  resolveTypeReference(node.target);
959
967
  break;
960
- break;
961
- }
962
- if ("id" in node && node.kind !== SyntaxKind.MemberExpression && node.id) {
963
- bindDeclarationIdentifier(node);
964
968
  }
965
969
  visitChildren(node, bindAndResolveNode);
966
970
  }
@@ -1 +1 @@
1
- {"version":3,"file":"name-resolver.js","sourceRoot":"","sources":["../../../src/core/name-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"name-resolver.js","sourceRoot":"","sources":["../../../src/core/name-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { PerfReporter, Timer } from "./types.js";
2
+ export declare function startTimer(): Timer;
3
+ export declare function time(fn: () => void): number;
4
+ export declare function timeAsync(fn: () => Promise<void>): Promise<number>;
5
+ /** Perf utils */
6
+ export declare const perf: {
7
+ startTimer: typeof startTimer;
8
+ time: typeof time;
9
+ timeAsync: typeof timeAsync;
10
+ };
11
+ export declare function createPerfReporter(): PerfReporter;
12
+ //# sourceMappingURL=perf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perf.d.ts","sourceRoot":"","sources":["../../../src/core/perf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,UAAU,IAAI,KAAK,CAOlC;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,CAI3C;AAED,wBAAsB,SAAS,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAIxE;AAED,kBAAkB;AAClB,eAAO,MAAM,IAAI;;;;CAIhB,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,YAAY,CAgCjD"}
@@ -0,0 +1,57 @@
1
+ export function startTimer() {
2
+ const start = performance.now();
3
+ return {
4
+ end: () => {
5
+ return performance.now() - start;
6
+ },
7
+ };
8
+ }
9
+ export function time(fn) {
10
+ const timer = startTimer();
11
+ fn();
12
+ return timer.end();
13
+ }
14
+ export async function timeAsync(fn) {
15
+ const timer = startTimer();
16
+ await fn();
17
+ return timer.end();
18
+ }
19
+ /** Perf utils */
20
+ export const perf = {
21
+ startTimer,
22
+ time,
23
+ timeAsync,
24
+ };
25
+ export function createPerfReporter() {
26
+ const measures = {};
27
+ function startReportingTimer(label) {
28
+ const timer = startTimer();
29
+ return {
30
+ end: () => {
31
+ const time = timer.end();
32
+ measures[label] = time;
33
+ return time;
34
+ },
35
+ };
36
+ }
37
+ return {
38
+ startTimer: startReportingTimer,
39
+ time: (label, fn) => {
40
+ const timer = startReportingTimer(label);
41
+ const result = fn();
42
+ timer.end();
43
+ return result;
44
+ },
45
+ timeAsync: async (label, fn) => {
46
+ const timer = startReportingTimer(label);
47
+ const result = await fn();
48
+ timer.end();
49
+ return result;
50
+ },
51
+ report: (label, duration) => {
52
+ measures[label] = duration;
53
+ },
54
+ measures,
55
+ };
56
+ }
57
+ //# sourceMappingURL=perf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perf.js","sourceRoot":"","sources":["../../../src/core/perf.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU;IACxB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,OAAO;QACL,GAAG,EAAE,GAAG,EAAE;YACR,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EAAc;IACjC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,EAAE,EAAE,CAAC;IACL,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAAuB;IACrD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,EAAE,CAAC;IACX,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,kBAAkB;AAClB,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,UAAU;IACV,IAAI;IACJ,SAAS;CACV,CAAC;AAEF,MAAM,UAAU,kBAAkB;IAChC,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,SAAS,mBAAmB,CAAC,KAAa;QACxC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,OAAO;YACL,GAAG,EAAE,GAAG,EAAE;gBACR,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBACzB,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU,EAAE,mBAAmB;QAC/B,IAAI,EAAE,CAAI,KAAa,EAAE,EAAW,EAAK,EAAE;YACzC,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC;YACpB,KAAK,CAAC,GAAG,EAAE,CAAC;YACZ,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,SAAS,EAAE,KAAK,EAAK,KAAa,EAAE,EAAoB,EAAc,EAAE;YACtE,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,KAAK,CAAC,GAAG,EAAE,CAAC;YACZ,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,EAAE,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAE;YAC1C,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;QAC7B,CAAC;QACD,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/core/program.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAiB,MAAM,cAAc,CAAC;AAkBtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAY/C,OAAO,EACL,YAAY,EACZ,UAAU,EAIV,WAAW,EAEX,gBAAgB,EAChB,eAAe,EACf,eAAe,EAEf,eAAe,EAGf,SAAS,EAGT,UAAU,EAMV,MAAM,EACN,IAAI,EAEJ,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,OAAO;IACtB,eAAe,EAAE,eAAe,CAAC;IAGjC,iEAAiE;IACjE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7C,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAI7C,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAIjB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAU5C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IAGjC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAKtC,QAAQ,IAAI,OAAO,CAAC;IACpB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/C,iBAAiB,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IAK5D,sBAAsB,IAAI,SAAS,CAAC;IAEpC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;IAKnF,wDAAwD;IACxD,4BAA4B,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe,CAAC;IAEtE;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,UAAU,UAAU;IAClB,YAAY,EAAE,WAAW,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC;AAcD,wBAAsB,OAAO,CAC3B,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,EAC7B,UAAU,CAAC,EAAE,OAAO,oBAyCrB"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/core/program.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAiB,MAAM,cAAc,CAAC;AAkBtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAa/C,OAAO,EACL,YAAY,EACZ,UAAU,EAIV,WAAW,EAEX,gBAAgB,EAChB,eAAe,EACf,eAAe,EAEf,eAAe,EAGf,SAAS,EAIT,UAAU,EAMV,MAAM,EACN,IAAI,EAEJ,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,OAAO;IACtB,eAAe,EAAE,eAAe,CAAC;IAGjC,iEAAiE;IACjE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7C,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAI7C,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAIjB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAU5C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IAGjC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAKtC,QAAQ,IAAI,OAAO,CAAC;IACpB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/C,iBAAiB,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IAK5D,sBAAsB,IAAI,SAAS,CAAC;IAEpC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;IAKnF,wDAAwD;IACxD,4BAA4B,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe,CAAC;IAEtE;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,UAAU,UAAU;IAClB,YAAY,EAAE,WAAW,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC;AAcD,wBAAsB,OAAO,CAC3B,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,EAC7B,UAAU,CAAC,EAAE,OAAO,oBAyCrB"}
@@ -9,7 +9,7 @@ import { createBinder } from "./binder.js";
9
9
  import { createChecker } from "./checker.js";
10
10
  import { createSuppressCodeFix } from "./compiler-code-fixes/suppress.codefix.js";
11
11
  import { compilerAssert } from "./diagnostics.js";
12
- import { flushEmittedFilesPaths } from "./emitter-utils.js";
12
+ import { getEmittedFilesForProgram } from "./emitter-utils.js";
13
13
  import { resolveTypeSpecEntrypoint } from "./entrypoint-resolution.js";
14
14
  import { ExternalError } from "./external-error.js";
15
15
  import { getLibraryUrlsLoaded } from "./library.js";
@@ -20,9 +20,9 @@ import { createDiagnostic } from "./messages.js";
20
20
  import { createResolver } from "./name-resolver.js";
21
21
  import { parse, parseStandaloneTypeReference } from "./parser.js";
22
22
  import { getDirectoryPath, joinPaths, resolvePath } from "./path-utils.js";
23
+ import { createPerfReporter, perf } from "./perf.js";
23
24
  import { createSourceLoader, loadJsFile, moduleResolutionErrorToDiagnostic, } from "./source-loader.js";
24
25
  import { createStateAccessors } from "./state-accessors.js";
25
- import { startTimer, time, timeAsync } from "./stats.js";
26
26
  import { NoTarget, SyntaxKind, } from "./types.js";
27
27
  export async function compile(host, mainFile, options = {}, oldProgram) {
28
28
  const logger = createLogger({ sink: host.logSink });
@@ -43,17 +43,17 @@ export async function compile(host, mainFile, options = {}, oldProgram) {
43
43
  total: 0,
44
44
  emitters: {},
45
45
  };
46
- const timer = startTimer();
46
+ const timer = perf.startTimer();
47
47
  // Emitter stage
48
48
  for (const emitter of program.emitters) {
49
49
  // If in dry mode run and an emitter doesn't support it we have to skip it.
50
50
  if (program.compilerOptions.dryRun && !emitter.library.definition?.capabilities?.dryRun) {
51
51
  continue;
52
52
  }
53
- const { duration } = await emit(emitter, program);
54
- emitStats.emitters[emitter.metadata.name ?? "<unnamed>"] = duration;
53
+ const emitterStats = await emit(emitter, program);
54
+ emitStats.emitters[emitter.metadata.name ?? "<unnamed>"] = emitterStats;
55
55
  if (options.listFiles) {
56
- logEmittedFilesPath(host.logSink);
56
+ logEmittedFilesPath(program);
57
57
  }
58
58
  }
59
59
  emitStats.total = timer.end();
@@ -123,7 +123,7 @@ async function createProgram(host, mainFile, options = {}, oldProgram) {
123
123
  }
124
124
  const basedir = getDirectoryPath(resolvedMain) || "/";
125
125
  await checkForCompilerVersionMismatch(basedir);
126
- runtimeStats.loader = await timeAsync(() => loadSources(resolvedMain));
126
+ runtimeStats.loader = await perf.timeAsync(() => loadSources(resolvedMain));
127
127
  const emit = options.noEmit ? [] : (options.emit ?? []);
128
128
  const emitterOptions = options.options;
129
129
  await loadEmitters(basedir, emit, emitterOptions ?? {});
@@ -135,14 +135,14 @@ async function createProgram(host, mainFile, options = {}, oldProgram) {
135
135
  // let GC reclaim old program, we do not reuse it beyond this point.
136
136
  oldProgram = undefined;
137
137
  const resolver = (program.resolver = createResolver(program));
138
- runtimeStats.resolver = time(() => resolver.resolveProgram());
138
+ runtimeStats.resolver = perf.time(() => resolver.resolveProgram());
139
139
  const linter = createLinter(program, (name) => loadLibrary(basedir, name));
140
140
  linter.registerLinterLibrary(builtInLinterLibraryName, createBuiltInLinterLibrary());
141
141
  if (options.linterRuleSet) {
142
142
  program.reportDiagnostics(await linter.extendRuleSet(options.linterRuleSet));
143
143
  }
144
144
  program.checker = createChecker(program, resolver);
145
- runtimeStats.checker = time(() => program.checker.checkProgram());
145
+ runtimeStats.checker = perf.time(() => program.checker.checkProgram());
146
146
  complexityStats.createdTypes = program.checker.stats.createdTypes;
147
147
  complexityStats.finishedTypes = program.checker.stats.finishedTypes;
148
148
  if (!continueToNextStage) {
@@ -389,12 +389,12 @@ async function createProgram(host, mainFile, options = {}, oldProgram) {
389
389
  return metadata;
390
390
  }
391
391
  async function runValidators() {
392
- const start = startTimer();
392
+ const start = perf.startTimer();
393
393
  runtimeStats.validation = { total: 0, validators: {} };
394
394
  runCompilerValidators();
395
395
  runtimeStats.validation.validators.compiler = start.end();
396
396
  for (const validator of validateCbs) {
397
- const start = startTimer();
397
+ const start = perf.startTimer();
398
398
  const diagnostics = await runValidator(validator);
399
399
  if (diagnostics && Array.isArray(diagnostics)) {
400
400
  program.reportDiagnostics(diagnostics);
@@ -684,8 +684,8 @@ async function emit(emitter, program) {
684
684
  const warnCount = program.diagnostics.filter((x) => x.severity === "warning").length;
685
685
  const logger = createLogger({ sink: program.host.logSink });
686
686
  return await logger.trackAction(`Running ${emitterName}...`, "", async (task) => {
687
- const start = startTimer();
688
- await runEmitter(emitter, program);
687
+ const start = perf.startTimer();
688
+ const emitterPerfReporter = await runEmitter(emitter, program);
689
689
  const duration = start.end();
690
690
  const message = `${emitterName} ${pc.green(`${Math.round(duration)}ms`)} ${pc.dim(relativePathForEmittedFiles)}`;
691
691
  const newErrorCount = program.diagnostics.filter((x) => x.severity === "error").length;
@@ -699,29 +699,32 @@ async function emit(emitter, program) {
699
699
  else {
700
700
  task.succeed(message);
701
701
  }
702
- return { duration };
702
+ return { total: duration, steps: emitterPerfReporter.measures };
703
703
  });
704
704
  }
705
705
  /**
706
706
  * @param emitter Emitter ref to run
707
707
  */
708
708
  async function runEmitter(emitter, program) {
709
+ const perfReporter = createPerfReporter();
709
710
  const context = {
710
711
  program,
711
712
  emitterOutputDir: emitter.emitterOutputDir,
712
713
  options: emitter.options,
714
+ perf: perfReporter,
713
715
  };
714
716
  try {
715
717
  await emitter.emitFunction(context);
718
+ return perfReporter;
716
719
  }
717
720
  catch (error) {
718
721
  throw new ExternalError({ kind: "emitter", metadata: emitter.metadata, error });
719
722
  }
720
723
  }
721
- function logEmittedFilesPath(logSink) {
722
- flushEmittedFilesPaths().forEach((filePath) => {
724
+ function logEmittedFilesPath(program) {
725
+ getEmittedFilesForProgram(program).forEach((filePath) => {
723
726
  // eslint-disable-next-line no-console
724
- console.log(` ${pc.dim(transformPathForSink(logSink, filePath))}`);
727
+ console.log(` ${pc.dim(transformPathForSink(program.host.logSink, filePath))}`);
725
728
  });
726
729
  }
727
730
  function transformPathForSink(logSink, path) {