@typespec/compiler 1.16.0-dev.1 → 1.16.0-dev.4

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 (48) hide show
  1. package/dist/manifest.js +2 -2
  2. package/dist/src/core/binder.d.ts.map +1 -1
  3. package/dist/src/core/binder.js +14 -0
  4. package/dist/src/core/binder.js.map +1 -1
  5. package/dist/src/core/external-error.d.ts +1 -1
  6. package/dist/src/core/external-error.d.ts.map +1 -1
  7. package/dist/src/core/external-error.js +3 -1
  8. package/dist/src/core/external-error.js.map +1 -1
  9. package/dist/src/core/features.d.ts +3 -0
  10. package/dist/src/core/features.d.ts.map +1 -1
  11. package/dist/src/core/features.js +3 -0
  12. package/dist/src/core/features.js.map +1 -1
  13. package/dist/src/core/helpers/index.d.ts +1 -1
  14. package/dist/src/core/helpers/index.d.ts.map +1 -1
  15. package/dist/src/core/helpers/index.js +1 -1
  16. package/dist/src/core/helpers/index.js.map +1 -1
  17. package/dist/src/core/helpers/path-interpolation.d.ts +15 -0
  18. package/dist/src/core/helpers/path-interpolation.d.ts.map +1 -1
  19. package/dist/src/core/helpers/path-interpolation.js +20 -0
  20. package/dist/src/core/helpers/path-interpolation.js.map +1 -1
  21. package/dist/src/core/library.d.ts +15 -1
  22. package/dist/src/core/library.d.ts.map +1 -1
  23. package/dist/src/core/library.js +16 -0
  24. package/dist/src/core/library.js.map +1 -1
  25. package/dist/src/core/program.d.ts +11 -1
  26. package/dist/src/core/program.d.ts.map +1 -1
  27. package/dist/src/core/program.js +33 -0
  28. package/dist/src/core/program.js.map +1 -1
  29. package/dist/src/core/types.d.ts +30 -0
  30. package/dist/src/core/types.d.ts.map +1 -1
  31. package/dist/src/index.d.ts +3 -3
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/index.js +2 -2
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/install/install.d.ts.map +1 -1
  36. package/dist/src/install/install.js +26 -5
  37. package/dist/src/install/install.js.map +1 -1
  38. package/dist/src/package-manger/npm-package-download.d.ts +2 -2
  39. package/dist/src/package-manger/npm-package-download.d.ts.map +1 -1
  40. package/dist/src/package-manger/npm-package-download.js +22 -3
  41. package/dist/src/package-manger/npm-package-download.js.map +1 -1
  42. package/dist/src/package-manger/npm-registry.d.ts +30 -31
  43. package/dist/src/package-manger/npm-registry.d.ts.map +1 -1
  44. package/dist/src/package-manger/npm-registry.js +58 -4
  45. package/dist/src/package-manger/npm-registry.js.map +1 -1
  46. package/dist/src/server/type-details.js +28 -12
  47. package/dist/src/server/type-details.js.map +1 -1
  48. package/package.json +1 -1
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export default {
2
- "version": "1.16.0-dev.1",
3
- "commit": "10b1126bd475d9c32ab859ddd27a911f61ccd69b"
2
+ "version": "1.16.0-dev.4",
3
+ "commit": "0efba519e6d077f40d27576ff0b6b927df88457e"
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../../src/core/binder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAeV,gBAAgB,EAMhB,IAAI,EAKJ,GAAG,EACH,WAAW,EAEX,kBAAkB,EAInB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA4B,WAAW,EAAc,MAAM,YAAY,CAAC;AAK/E,QAAA,MAAM,WAAW;kBAGM,WAAW;;QAOhC,wCAAwC;wBACxB,WAAW,cAAc,GAAG;iBAUnC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;CAkB5B,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjD,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAKtD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CAEnE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAqiBrD;AAsBD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,GAAG,EACZ,KAAK,CAAC,EAAE,GAAG,GACV,GAAG,CA0BL;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAEzC"}
1
+ {"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../../src/core/binder.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAeV,gBAAgB,EAMhB,IAAI,EAKJ,GAAG,EACH,WAAW,EAEX,kBAAkB,EAInB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA4B,WAAW,EAAc,MAAM,YAAY,CAAC;AAK/E,QAAA,MAAM,WAAW;kBAGM,WAAW;;QAOhC,wCAAwC;wBACxB,WAAW,cAAc,GAAG;iBAUnC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;CAkB5B,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjD,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAKtD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CAEnE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAkjBrD;AAsBD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,GAAG,EACZ,KAAK,CAAC,EAAE,GAAG,GACV,GAAG,CA0BL;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAEzC"}
@@ -1,5 +1,6 @@
1
1
  import { mutate } from "../utils/misc.js";
2
2
  import { compilerAssert } from "./diagnostics.js";
3
+ import { isCompilerFeatureEnabled } from "./features.js";
3
4
  import { getLocationContext } from "./helpers/location-context.js";
4
5
  import { visitChildren } from "./parser.js";
5
6
  import { ModifierFlags, NodeFlags, SymbolFlags, SyntaxKind } from "./types.js";
@@ -108,6 +109,19 @@ export function createBinder(program) {
108
109
  program.onValidate(member, metadata);
109
110
  continue;
110
111
  }
112
+ else if (name === "provideTypeInfo") {
113
+ // `$provideTypeInfo` is experimental: only respect it when the library (or
114
+ // project) declaring the provider opted into the `type-info-provider` feature in
115
+ // its own `tspconfig.yaml`. Consumers do not need to enable anything.
116
+ if (isCompilerFeatureEnabled(program, "type-info-provider", sourceFile)) {
117
+ const context = getLocationContext(program, sourceFile);
118
+ const metadata = context.type === "library"
119
+ ? context.metadata
120
+ : { type: "file" };
121
+ program.registerTypeInfoProvider(member, metadata);
122
+ }
123
+ continue;
124
+ }
111
125
  else if (name === "onEmit") {
112
126
  // nothing to do here this is loaded as emitter.
113
127
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"binder.js","sourceRoot":"","sources":["../../../src/core/binder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binder.js","sourceRoot":"","sources":["../../../src/core/binder.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { LibraryMetadata } from "./types.js";
2
2
  export type Colors = "reset" | "bold" | "dim" | "italic" | "underline" | "inverse" | "hidden" | "strikethrough" | "black" | "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "bgBlack" | "bgRed" | "bgGreen" | "bgYellow" | "bgBlue" | "bgMagenta" | "bgCyan" | "bgWhite";
3
3
  export interface ExternalErrorInfo {
4
- kind: "emitter" | "validator";
4
+ kind: "emitter" | "validator" | "info";
5
5
  error: unknown;
6
6
  metadata: LibraryMetadata;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"external-error.d.ts","sourceRoot":"","sources":["../../../src/core/external-error.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,MAAM,MAAM,GACd,OAAO,GACP,MAAM,GACN,KAAK,GACL,QAAQ,GACR,WAAW,GACX,SAAS,GACT,QAAQ,GACR,eAAe,GACf,OAAO,GACP,KAAK,GACL,OAAO,GACP,QAAQ,GACR,MAAM,GACN,SAAS,GACT,MAAM,GACN,OAAO,GACP,MAAM,GACN,SAAS,GACT,OAAO,GACP,SAAS,GACT,UAAU,GACV,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AACpE,qBAAa,aAAc,SAAQ,KAAK;IACnB,IAAI,EAAE,iBAAiB;gBAAvB,IAAI,EAAE,iBAAiB;IAK1C,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;CAGrC"}
1
+ {"version":3,"file":"external-error.d.ts","sourceRoot":"","sources":["../../../src/core/external-error.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,MAAM,MAAM,GACd,OAAO,GACP,MAAM,GACN,KAAK,GACL,QAAQ,GACR,WAAW,GACX,SAAS,GACT,QAAQ,GACR,eAAe,GACf,OAAO,GACP,KAAK,GACL,OAAO,GACP,QAAQ,GACR,MAAM,GACN,SAAS,GACT,MAAM,GACN,OAAO,GACP,MAAM,GACN,SAAS,GACT,OAAO,GACP,SAAS,GACT,UAAU,GACV,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AACpE,qBAAa,aAAc,SAAQ,KAAK;IACnB,IAAI,EAAE,iBAAiB;gBAAvB,IAAI,EAAE,iBAAiB;IAK1C,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;CAGrC"}
@@ -15,7 +15,9 @@ function renderExternalErrorInfo(info, color = (x) => x) {
15
15
  const msg = [
16
16
  color(kind === "emitter"
17
17
  ? `Emitter "${metadata.name}" crashed! This is a bug.`
18
- : `Library "${metadata.name}" $onValidate crashed! This is a bug.`, "red"),
18
+ : kind === "info"
19
+ ? `Library "${metadata.name}" $provideTypeInfo crashed! This is a bug.`
20
+ : `Library "${metadata.name}" $onValidate crashed! This is a bug.`, "red"),
19
21
  ];
20
22
  if (metadata.bugs?.url) {
21
23
  msg.push(`Please file an issue at ${color(metadata.bugs?.url, "cyan")}`);
@@ -1 +1 @@
1
- {"version":3,"file":"external-error.js","sourceRoot":"","sources":["../../../src/core/external-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAsC1C,MAAM,OAAO,aAAc,SAAQ,KAAK;IACnB;IAAnB,YAAmB,IAAuB;QACxC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QADpB,SAAI,GAAJ,IAAI,CAAmB;QAExC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAoB;QACzB,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;CACF;AAED,SAAS,uBAAuB,CAC9B,IAAuB,EACvB,QAAiD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAChC,MAAM,GAAG,GAAG;QACV,KAAK,CACH,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,YAAY,QAAQ,CAAC,IAAI,2BAA2B;YACtD,CAAC,CAAC,YAAY,QAAQ,CAAC,IAAI,uCAAuC,EACpE,KAAK,CACN;KACF,CAAC;IACF,IAAI,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAClE,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAE7C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEb,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACzC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,aAAa,CAAC,EAAE,KAAK,EAAqB;IACjD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAO,IAAI,KAAK;QAChB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAC/B,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAyB,EAAE,KAAoB;IACpE,MAAM,OAAO,GAAG;QACd,iBAAiB,EAAE,QAAQ,CAAC,OAAO,IAAI,GAAG;QAC1C,2BAA2B,EAAE,QAAQ,CAAC,OAAO;KAC9C,CAAC;IACF,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACd,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnF,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;KACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"external-error.js","sourceRoot":"","sources":["../../../src/core/external-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAsC1C,MAAM,OAAO,aAAc,SAAQ,KAAK;IACnB;IAAnB,YAAmB,IAAuB;QACxC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QADpB,SAAI,GAAJ,IAAI,CAAmB;QAExC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAoB;QACzB,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;CACF;AAED,SAAS,uBAAuB,CAC9B,IAAuB,EACvB,QAAiD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAChC,MAAM,GAAG,GAAG;QACV,KAAK,CACH,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,YAAY,QAAQ,CAAC,IAAI,2BAA2B;YACtD,CAAC,CAAC,IAAI,KAAK,MAAM;gBACf,CAAC,CAAC,YAAY,QAAQ,CAAC,IAAI,4CAA4C;gBACvE,CAAC,CAAC,YAAY,QAAQ,CAAC,IAAI,uCAAuC,EACtE,KAAK,CACN;KACF,CAAC;IACF,IAAI,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAClE,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAE7C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEb,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACzC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,aAAa,CAAC,EAAE,KAAK,EAAqB;IACjD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAO,IAAI,KAAK;QAChB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAC/B,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAyB,EAAE,KAAoB;IACpE,MAAM,OAAO,GAAG;QACd,iBAAiB,EAAE,QAAQ,CAAC,OAAO,IAAI,GAAG;QAC1C,2BAA2B,EAAE,QAAQ,CAAC,OAAO;KAC9C,CAAC;IACF,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACd,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnF,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;KACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -10,6 +10,9 @@ export declare const compilerFeatures: {
10
10
  readonly "auto-decorators": {
11
11
  readonly description: "Allows use of auto decorator declarations without experimental warnings in project code.";
12
12
  };
13
+ readonly "type-info-provider": {
14
+ readonly description: "Enables the experimental `$provideTypeInfo` provider allowing libraries to contribute extra information about types to IDE hover and tooling (queried via `program.getTypeInfo`).";
15
+ };
13
16
  };
14
17
  export type CompilerFeatureName = keyof typeof compilerFeatures;
15
18
  export declare const compilerFeatureNames: CompilerFeatureName[];
@@ -1 +1 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../../src/core/features.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,gBAAgB;;;;;;;CASiC,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAEhE,eAAO,MAAM,oBAAoB,EAAoC,mBAAmB,EAAE,CAAC;AAI3F,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,mBAAmB,CAErF;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAmBT"}
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../../src/core/features.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;CAaiC,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAEhE,eAAO,MAAM,oBAAoB,EAAoC,mBAAmB,EAAE,CAAC;AAI3F,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,mBAAmB,CAErF;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAmBT"}
@@ -6,6 +6,9 @@ export const compilerFeatures = {
6
6
  "auto-decorators": {
7
7
  description: "Allows use of auto decorator declarations without experimental warnings in project code.",
8
8
  },
9
+ "type-info-provider": {
10
+ description: "Enables the experimental `$provideTypeInfo` provider allowing libraries to contribute extra information about types to IDE hover and tooling (queried via `program.getTypeInfo`).",
11
+ },
9
12
  };
10
13
  export const compilerFeatureNames = Object.keys(compilerFeatures);
11
14
  const compilerFeatureNameSet = new Set(compilerFeatureNames);
@@ -1 +1 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/core/features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAQnE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,uBAAuB,EAAE;QACvB,WAAW,EACT,oFAAoF;KACvF;IACD,iBAAiB,EAAE;QACjB,WAAW,EACT,0FAA0F;KAC7F;CAC2D,CAAC;AAI/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAA0B,CAAC;AAE3F,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAS,oBAAoB,CAAC,CAAC;AAErE,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAgB,EAChB,OAA4B,EAC5B,MAAyB;IAEzB,uFAAuF;IACvF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;IAClF,CAAC;IAED,uFAAuF;IACvF,uFAAuF;IACvF,kCAAkC;IAClC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;QAClF,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;QACtD;YACE,kEAAkE;YAClE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/core/features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAQnE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,uBAAuB,EAAE;QACvB,WAAW,EACT,oFAAoF;KACvF;IACD,iBAAiB,EAAE;QACjB,WAAW,EACT,0FAA0F;KAC7F;IACD,oBAAoB,EAAE;QACpB,WAAW,EACT,mLAAmL;KACtL;CAC2D,CAAC;AAI/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAA0B,CAAC;AAE3F,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAS,oBAAoB,CAAC,CAAC;AAErE,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAgB,EAChB,OAA4B,EAC5B,MAAyB;IAEzB,uFAAuF;IACvF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;IAClF,CAAC;IAED,uFAAuF;IACvF,uFAAuF;IACvF,kCAAkC;IAClC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;QAClF,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;QACtD;YACE,kEAAkE;YAClE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -2,7 +2,7 @@ export { getDiscriminatedUnion, getDiscriminatedUnionFromInheritance, } from "./
2
2
  export type { DiscriminatedUnion, DiscriminatedUnionLegacy } from "./discriminator-utils.js";
3
3
  export { getLocationContext } from "./location-context.js";
4
4
  export { listOperationsIn, type ListOperationOptions } from "./operation-utils.js";
5
- export { interpolatePath } from "./path-interpolation.js";
5
+ export { interpolatePath, sanitizePathSegment } from "./path-interpolation.js";
6
6
  export { cacheRawText, getCachedRawText, getRawTextWithCache } from "./raw-text-cache.js";
7
7
  export { explainStringTemplateNotSerializable } from "./string-template-utils.js";
8
8
  export { printIdentifier as formatIdentifier, printIdentifier } from "./syntax-utils.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oCAAoC,GACrC,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,oCAAoC,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,UAAU,EACV,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oCAAoC,GACrC,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,oCAAoC,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,UAAU,EACV,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export { getDiscriminatedUnion, getDiscriminatedUnionFromInheritance, } from "./discriminator-utils.js";
2
2
  export { getLocationContext } from "./location-context.js";
3
3
  export { listOperationsIn } from "./operation-utils.js";
4
- export { interpolatePath } from "./path-interpolation.js";
4
+ export { interpolatePath, sanitizePathSegment } from "./path-interpolation.js";
5
5
  export { cacheRawText, getCachedRawText, getRawTextWithCache } from "./raw-text-cache.js";
6
6
  export { explainStringTemplateNotSerializable } from "./string-template-utils.js";
7
7
  export { printIdentifier as formatIdentifier, printIdentifier } from "./syntax-utils.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oCAAoC,GACrC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAA6B,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,oCAAoC,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,UAAU,EACV,aAAa,GAId,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oCAAoC,GACrC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAA6B,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,oCAAoC,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,UAAU,EACV,aAAa,GAId,MAAM,qBAAqB,CAAC"}
@@ -1,3 +1,18 @@
1
+ /**
2
+ * Sanitize a value so it is safe to use as a single segment of a path.
3
+ *
4
+ * Path separators, drive letter separators and NUL are replaced with `_` and values only made of `.`(e.g. `.` or `..`) are replaced with `_`.
5
+ * This prevents values coming from a TypeSpec spec(e.g. a version or a service name) from escaping the directory the file was meant to be written to.
6
+ *
7
+ * @param value Value to sanitize.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * sanitizePathSegment("2021-10-01-preview"); // "2021-10-01-preview"
12
+ * sanitizePathSegment("../../etc/passwd"); // ".._.._etc_passwd"
13
+ * ```
14
+ */
15
+ export declare function sanitizePathSegment(value: string): string;
1
16
  /**
2
17
  * Interpolate a path template
3
18
  * @param pathTemplate Path template
@@ -1 +1 @@
1
- {"version":3,"file":"path-interpolation.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/path-interpolation.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtD,MAAM,CASR"}
1
+ {"version":3,"file":"path-interpolation.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/path-interpolation.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtD,MAAM,CASR"}
@@ -1,4 +1,24 @@
1
1
  const VariableInterpolationRegex = /{([a-zA-Z-_.]+)}(\/|\.?)/g;
2
+ const UnsafePathSegmentCharsRegex = /[/\\:\0]/g;
3
+ const OnlyDotsRegex = /^\.+$/;
4
+ /**
5
+ * Sanitize a value so it is safe to use as a single segment of a path.
6
+ *
7
+ * Path separators, drive letter separators and NUL are replaced with `_` and values only made of `.`(e.g. `.` or `..`) are replaced with `_`.
8
+ * This prevents values coming from a TypeSpec spec(e.g. a version or a service name) from escaping the directory the file was meant to be written to.
9
+ *
10
+ * @param value Value to sanitize.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * sanitizePathSegment("2021-10-01-preview"); // "2021-10-01-preview"
15
+ * sanitizePathSegment("../../etc/passwd"); // ".._.._etc_passwd"
16
+ * ```
17
+ */
18
+ export function sanitizePathSegment(value) {
19
+ const sanitized = value.replace(UnsafePathSegmentCharsRegex, "_");
20
+ return OnlyDotsRegex.test(sanitized) ? "_" : sanitized;
21
+ }
2
22
  /**
3
23
  * Interpolate a path template
4
24
  * @param pathTemplate Path template
@@ -1 +1 @@
1
- {"version":3,"file":"path-interpolation.js","sourceRoot":"","sources":["../../../../src/core/helpers/path-interpolation.ts"],"names":[],"mappings":"AAAA,MAAM,0BAA0B,GAAG,2BAA2B,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,YAAoB,EACpB,mBAAuD;IAEvD,OAAO,YAAY,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;QACpF,MAAM,aAAa,GAAG,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;QACvD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3D,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,mBAAuD,EACvD,UAAkB;IAElB,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,QAAQ,GAAQ,mBAAmB,CAAC;IACxC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"path-interpolation.js","sourceRoot":"","sources":["../../../../src/core/helpers/path-interpolation.ts"],"names":[],"mappings":"AAAA,MAAM,0BAA0B,GAAG,2BAA2B,CAAC;AAE/D,MAAM,2BAA2B,GAAG,WAAW,CAAC;AAChD,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;IAClE,OAAO,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,YAAoB,EACpB,mBAAuD;IAEvD,OAAO,YAAY,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;QACpF,MAAM,aAAa,GAAG,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;QACvD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3D,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,mBAAuD,EACvD,UAAkB;IAElB,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,QAAQ,GAAQ,mBAAmB,CAAC;IACxC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { DiagnosticMessages, LinterDefinition, LinterRuleDefinition, PackageFlags, TypeSpecLibrary, TypeSpecLibraryDef } from "./types.js";
1
+ import type { DiagnosticMessages, LinterDefinition, LinterRuleDefinition, PackageFlags, TypeInfoProvider, TypeSpecLibrary, TypeSpecLibraryDef } from "./types.js";
2
2
  export { paramMessage } from "./param-message.js";
3
3
  /**
4
4
  * Create a new TypeSpec library definition.
@@ -23,6 +23,20 @@ export declare function createTypeSpecLibrary<const T extends {
23
23
  }, const E extends Record<string, any>, const State extends string = never>(lib: Readonly<TypeSpecLibraryDef<T, E, State>>): TypeSpecLibrary<T, E, State>;
24
24
  export declare function definePackageFlags(flags: PackageFlags): PackageFlags;
25
25
  export declare function defineLinter(def: LinterDefinition): LinterDefinition;
26
+ /**
27
+ * Define a `$provideTypeInfo` provider that contributes extra information about types to IDE hover
28
+ * documentation and tooling. This helper only provides typing; export the result as `$provideTypeInfo`
29
+ * from your library's entry point.
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * export const $provideTypeInfo = defineTypeInfoProvider(({ target }) => {
34
+ * if (target.kind !== "Operation") return undefined;
35
+ * return { content: `Operation ${target.name}` };
36
+ * });
37
+ * ```
38
+ */
39
+ export declare function defineTypeInfoProvider(provider: TypeInfoProvider): TypeInfoProvider;
26
40
  /** Create a new linter rule. */
27
41
  export declare function createLinterRule<const N extends string, const T extends DiagnosticMessages, const Options extends Record<string, unknown> = Record<string, never>>(definition: LinterRuleDefinition<N, T, Options>): LinterRuleDefinition<N, T, Options>;
28
42
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../src/core/library.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAElB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EAEZ,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA4BlD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,CAAC,CAAC,SAAS;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAAE,EACtD,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,KAAK,CAAC,KAAK,SAAS,MAAM,GAAG,KAAK,EAClC,GAAG,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAwC9E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAEpE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAEpE;AAED,gCAAgC;AAChC,wBAAgB,gBAAgB,CAC9B,KAAK,CAAC,CAAC,SAAS,MAAM,EACtB,KAAK,CAAC,CAAC,SAAS,kBAAkB,EAClC,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrE,UAAU,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,uCAGhD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAC3C,IAAI,CAEN"}
1
+ {"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../src/core/library.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAElB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EAEZ,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA4BlD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,CAAC,CAAC,SAAS;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAAE,EACtD,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,KAAK,CAAC,KAAK,SAAS,MAAM,GAAG,KAAK,EAClC,GAAG,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAwC9E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAEpE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAEpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,CAEnF;AAED,gCAAgC;AAChC,wBAAgB,gBAAgB,CAC9B,KAAK,CAAC,CAAC,SAAS,MAAM,EACtB,KAAK,CAAC,CAAC,SAAS,kBAAkB,EAClC,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrE,UAAU,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,uCAGhD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAC3C,IAAI,CAEN"}
@@ -77,6 +77,22 @@ export function definePackageFlags(flags) {
77
77
  export function defineLinter(def) {
78
78
  return def;
79
79
  }
80
+ /**
81
+ * Define a `$provideTypeInfo` provider that contributes extra information about types to IDE hover
82
+ * documentation and tooling. This helper only provides typing; export the result as `$provideTypeInfo`
83
+ * from your library's entry point.
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * export const $provideTypeInfo = defineTypeInfoProvider(({ target }) => {
88
+ * if (target.kind !== "Operation") return undefined;
89
+ * return { content: `Operation ${target.name}` };
90
+ * });
91
+ * ```
92
+ */
93
+ export function defineTypeInfoProvider(provider) {
94
+ return provider;
95
+ }
80
96
  /** Create a new linter rule. */
81
97
  export function createLinterRule(definition) {
82
98
  compilerAssert(!definition.name.includes("/"), "Rule name cannot contain a '/'.");
@@ -1 +1 @@
1
- {"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/core/library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/core/library.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Checker } from "./checker.js";
2
2
  import type { CompilerOptions } from "./options.js";
3
- import type { CompilerHost, Diagnostic, EmitterFunc, JsSourceFileNode, LibraryInstance, LibraryMetadata, LocationContext, Namespace, SourceFile, Tracer, Type, TypeSpecScriptNode } from "./types.js";
3
+ import type { CompilerHost, Diagnostic, EmitterFunc, JsSourceFileNode, LibraryInstance, LibraryMetadata, LocationContext, Namespace, SourceFile, Tracer, Type, TypeInfo, TypeSpecScriptNode } from "./types.js";
4
4
  /**
5
5
  * The current stage of the compilation pipeline.
6
6
  * Stages progress in order: parsing → checking → validating → linting → emitting.
@@ -21,6 +21,16 @@ export interface Program {
21
21
  checker: Checker;
22
22
  emitters: EmitterRef[];
23
23
  readonly diagnostics: readonly Diagnostic[];
24
+ /**
25
+ * Query the registered `$provideTypeInfo` providers for extra information about the given type. Returns
26
+ * the merged information contributed by every library, or `undefined` when none contributed.
27
+ * Providers are run lazily and never mutate the type graph. Used by the language server for
28
+ * hover docs and by tooling.
29
+ *
30
+ * Only libraries that opted into the experimental `type-info-provider` feature in their own
31
+ * `tspconfig.yaml` contribute; consumers do not need to enable anything.
32
+ */
33
+ getTypeInfo(target: Type): TypeInfo | undefined;
24
34
  stateSet(key: symbol): Set<Type>;
25
35
  stateMap(key: symbol): Map<Type, any>;
26
36
  hasError(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/core/program.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAuB5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAmBpD,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EAEV,WAAW,EAEX,gBAAgB,EAChB,eAAe,EACf,eAAe,EAEf,eAAe,EAGf,SAAS,EAGT,UAAU,EAIV,MAAM,EACN,IAAI,EAEJ,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAGpB;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC;AAE9F,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;IAU5D,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;CAM9B;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,oBA0CrB"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/core/program.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAuB5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAmBpD,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EAEV,WAAW,EAEX,gBAAgB,EAChB,eAAe,EACf,eAAe,EAEf,eAAe,EAGf,SAAS,EAGT,UAAU,EAIV,MAAM,EACN,IAAI,EACJ,QAAQ,EAIR,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAGpB;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC;AAE9F,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;IAc5C;;;;;;;;OAQG;IACH,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC;IAGhD,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;IAU5D,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;CAM9B;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;AAmBD,wBAAsB,OAAO,CAC3B,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,EAC7B,UAAU,CAAC,EAAE,OAAO,oBA0CrB"}
@@ -67,6 +67,7 @@ export async function compile(host, mainFile, options = {}, oldProgram) {
67
67
  async function createProgram(host, mainFile, options = {}, oldProgram) {
68
68
  const runtimeStats = {};
69
69
  const validateCbs = [];
70
+ const typeInfoProviders = [];
70
71
  const stateMaps = new Map();
71
72
  const stateSets = new Map();
72
73
  const diagnostics = [];
@@ -127,6 +128,38 @@ async function createProgram(host, mainFile, options = {}, oldProgram) {
127
128
  onValidate(cb, metadata) {
128
129
  validateCbs.push({ callback: cb, metadata });
129
130
  },
131
+ registerTypeInfoProvider(provider, metadata) {
132
+ typeInfoProviders.push({ callback: provider, metadata });
133
+ },
134
+ getTypeInfo(target) {
135
+ if (typeInfoProviders.length === 0) {
136
+ return undefined;
137
+ }
138
+ const contents = [];
139
+ const context = { program, target };
140
+ for (const provider of typeInfoProviders) {
141
+ let result;
142
+ try {
143
+ result = provider.callback(context);
144
+ }
145
+ catch (error) {
146
+ // This runs lazily, long after compilation finished, so a crashing provider must not
147
+ // mutate the program's diagnostics. In a design time build (language server) trace it
148
+ // and carry on so a broken library cannot take down hover or completion.
149
+ if (options.designTimeBuild) {
150
+ trace("info-provider.crash", `Library "${provider.metadata.name ?? "<unnamed>"}" $provideTypeInfo crashed: ${error.stack}`);
151
+ continue;
152
+ }
153
+ else {
154
+ throw new ExternalError({ kind: "info", metadata: provider.metadata, error });
155
+ }
156
+ }
157
+ if (result) {
158
+ contents.push(result.content);
159
+ }
160
+ }
161
+ return contents.length > 0 ? { content: contents.join("\n\n") } : undefined;
162
+ },
130
163
  getGlobalNamespaceType,
131
164
  resolveTypeReference,
132
165
  /** @internal */