@typespec/compiler 1.17.0-dev.6 → 1.17.0-dev.8

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 (28) hide show
  1. package/dist/manifest.js +2 -2
  2. package/dist/src/core/binder.d.ts +1 -1
  3. package/dist/src/core/binder.d.ts.map +1 -1
  4. package/dist/src/core/checker.d.ts.map +1 -1
  5. package/dist/src/core/checker.js +13 -3
  6. package/dist/src/core/checker.js.map +1 -1
  7. package/dist/src/core/name-resolver.d.ts.map +1 -1
  8. package/dist/src/core/name-resolver.js +8 -1
  9. package/dist/src/core/name-resolver.js.map +1 -1
  10. package/dist/src/core/types.d.ts +2 -1
  11. package/dist/src/core/types.d.ts.map +1 -1
  12. package/dist/src/core/types.js.map +1 -1
  13. package/dist/src/init/scaffold.d.ts.map +1 -1
  14. package/dist/src/init/scaffold.js +31 -3
  15. package/dist/src/init/scaffold.js.map +1 -1
  16. package/dist/src/init/template-source/in-memory-template-source.d.ts +1 -1
  17. package/dist/src/init/template-source/in-memory-template-source.d.ts.map +1 -1
  18. package/dist/src/init/template-source/in-memory-template-source.js +2 -1
  19. package/dist/src/init/template-source/in-memory-template-source.js.map +1 -1
  20. package/dist/src/init/template-source/types.d.ts +1 -0
  21. package/dist/src/init/template-source/types.d.ts.map +1 -1
  22. package/dist/src/init/template-source/types.js +10 -1
  23. package/dist/src/init/template-source/types.js.map +1 -1
  24. package/dist/src/init/template-source/uri-template-source.d.ts +1 -1
  25. package/dist/src/init/template-source/uri-template-source.d.ts.map +1 -1
  26. package/dist/src/init/template-source/uri-template-source.js +23 -2
  27. package/dist/src/init/template-source/uri-template-source.js.map +1 -1
  28. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-template-source.d.ts","sourceRoot":"","sources":["../../../../src/init/template-source/in-memory-template-source.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMtE;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,cAAc;;IAI3D;;;OAGG;gBACS,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAE,MAA6B;IAKlF,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAMzC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAgB1D"}
1
+ {"version":3,"file":"in-memory-template-source.d.ts","sourceRoot":"","sources":["../../../../src/init/template-source/in-memory-template-source.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,cAAc,EAEpB,MAAM,YAAY,CAAC;AAMpB;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,cAAc;;IAI3D;;;OAGG;gBACS,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAE,MAA6B;IAKlF,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAMzC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAgB1D"}
@@ -1,5 +1,6 @@
1
1
  import { normalizePath } from "../../core/path-utils.js";
2
2
  import { createSourceFile } from "../../core/source-file.js";
3
+ import { validateTemplateRelativePath, } from "./types.js";
3
4
  import { SCAFFOLDING_FILENAME } from "./uri-template-source.js";
4
5
  /** Prefix used to label the virtual files this source serves in diagnostics. */
5
6
  const INTERNAL_URI_PREFIX = "internal:";
@@ -29,7 +30,7 @@ export class InMemoryTemplateSource {
29
30
  return this.#read(relativePath);
30
31
  }
31
32
  #read(relativePath) {
32
- const key = normalizeKey(relativePath);
33
+ const key = normalizeKey(validateTemplateRelativePath(relativePath, "path"));
33
34
  const content = this.#files.get(key);
34
35
  if (content === undefined) {
35
36
  const error = new Error(`ENOENT: bundled template file not found, '${relativePath}'`);
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-template-source.js","sourceRoot":"","sources":["../../../../src/init/template-source/in-memory-template-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,gFAAgF;AAChF,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAExC;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IACjC,MAAM,CAA8B;IACpC,UAAU,CAAS;IAEnB;;;OAGG;IACH,YAAY,KAAkC,EAAE,YAAoB,oBAAoB;QACtF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,YAAoB;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,YAAoB;QACxB,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,GAA0B,IAAI,KAAK,CAC5C,6CAA6C,YAAY,GAAG,CAC7D,CAAC;YACF,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;YACtB,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,gBAAgB,CAAC,OAAO,EAAE,GAAG,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC;IACnE,CAAC;CACF;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"in-memory-template-source.js","sourceRoot":"","sources":["../../../../src/init/template-source/in-memory-template-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAGL,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,gFAAgF;AAChF,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAExC;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IACjC,MAAM,CAA8B;IACpC,UAAU,CAAS;IAEnB;;;OAGG;IACH,YAAY,KAAkC,EAAE,YAAoB,oBAAoB;QACtF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,YAAoB;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,YAAoB;QACxB,MAAM,GAAG,GAAG,YAAY,CAAC,4BAA4B,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,GAA0B,IAAI,KAAK,CAC5C,6CAA6C,YAAY,GAAG,CAC7D,CAAC;YACF,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;YACtB,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,gBAAgB,CAAC,OAAO,EAAE,GAAG,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC;IACnE,CAAC;CACF;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC"}
@@ -18,4 +18,5 @@ export interface TemplateSource {
18
18
  loadIndex(): Promise<LoadedTemplateIndex>;
19
19
  readFile(relativePath: string): Promise<SourceFile>;
20
20
  }
21
+ export declare function validateTemplateRelativePath(path: string, kind: "path" | "destination"): string;
21
22
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/init/template-source/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,qGAAqG;AACrG,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,sFAAsF;IACtF,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACrD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/init/template-source/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,qGAAqG;AACrG,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,sFAAsF;IACtF,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACrD;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,CAU/F"}
@@ -1,2 +1,11 @@
1
- export {};
1
+ import { isPathAbsolute, normalizePath } from "../../core/path-utils.js";
2
+ export function validateTemplateRelativePath(path, kind) {
3
+ const normalizedPath = normalizePath(path);
4
+ if (isPathAbsolute(normalizedPath) ||
5
+ normalizedPath === ".." ||
6
+ normalizedPath.startsWith("../")) {
7
+ throw new Error(`Template file ${kind} must be a relative path: "${path}"`);
8
+ }
9
+ return normalizedPath;
10
+ }
2
11
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/init/template-source/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/init/template-source/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAwBzE,MAAM,UAAU,4BAA4B,CAAC,IAAY,EAAE,IAA4B;IACrF,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C,IACE,cAAc,CAAC,cAAc,CAAC;QAC9B,cAAc,KAAK,IAAI;QACvB,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAChC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,8BAA8B,IAAI,GAAG,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { SourceFile, SystemHost } from "../../core/types.js";
2
- import type { LoadedTemplateIndex, TemplateSource } from "./types.js";
2
+ import { type LoadedTemplateIndex, type TemplateSource } from "./types.js";
3
3
  /** File name of the template index within a template source directory. */
4
4
  export declare const SCAFFOLDING_FILENAME = "scaffolding.json";
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"uri-template-source.d.ts","sourceRoot":"","sources":["../../../../src/init/template-source/uri-template-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEtE,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,YAAW,cAAc;;IAMtD;;;;OAIG;gBACS,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM;IAMnD;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB;IAOtE,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAMzC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAG1D"}
1
+ {"version":3,"file":"uri-template-source.d.ts","sourceRoot":"","sources":["../../../../src/init/template-source/uri-template-source.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,cAAc,EAEpB,MAAM,YAAY,CAAC;AAEpB,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,YAAW,cAAc;;IAMtD;;;;OAIG;gBACS,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM;IAMnD;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB;IAOtE,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAMzC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CA0B1D"}
@@ -1,5 +1,6 @@
1
- import { getDirectoryPath } from "../../core/path-utils.js";
1
+ import { getDirectoryPath, getRelativePathFromDirectory, isPathAbsolute, isUrl, normalizePath, } from "../../core/path-utils.js";
2
2
  import { readUrlOrPath, resolveRelativeUrlOrPath } from "../../utils/misc.js";
3
+ import { validateTemplateRelativePath, } from "./types.js";
3
4
  /** File name of the template index within a template source directory. */
4
5
  export const SCAFFOLDING_FILENAME = "scaffolding.json";
5
6
  /**
@@ -39,7 +40,27 @@ export class UriTemplateSource {
39
40
  return { templates, indexFile, baseUri: this.#baseUri };
40
41
  }
41
42
  async readFile(relativePath) {
42
- return readUrlOrPath(this.#host, resolveRelativeUrlOrPath(this.#baseUri + "/", relativePath));
43
+ const path = validateTemplateRelativePath(relativePath, "path");
44
+ const resolvedPath = resolveRelativeUrlOrPath(this.#baseUri + "/", path);
45
+ if (isUrl(this.#baseUri)) {
46
+ const baseUrl = new URL(this.#baseUri + "/");
47
+ const resolvedUrl = new URL(resolvedPath);
48
+ if (resolvedUrl.origin !== baseUrl.origin ||
49
+ !resolvedUrl.pathname.startsWith(baseUrl.pathname)) {
50
+ throw new Error(`Template file path must be a relative path: "${relativePath}"`);
51
+ }
52
+ }
53
+ else {
54
+ const realBasePath = normalizePath(await this.#host.realpath(this.#baseUri));
55
+ const realFilePath = normalizePath(await this.#host.realpath(resolvedPath));
56
+ const relativeRealPath = getRelativePathFromDirectory(realBasePath, realFilePath, false);
57
+ if (isPathAbsolute(relativeRealPath) ||
58
+ relativeRealPath === ".." ||
59
+ relativeRealPath.startsWith("../")) {
60
+ throw new Error(`Template file path must be a relative path: "${relativePath}"`);
61
+ }
62
+ }
63
+ return readUrlOrPath(this.#host, resolvedPath);
43
64
  }
44
65
  }
45
66
  //# sourceMappingURL=uri-template-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uri-template-source.js","sourceRoot":"","sources":["../../../../src/init/template-source/uri-template-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG9E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEvD;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAa;IAClB,cAAc,CAAS;IACvB,6EAA6E;IAC7E,QAAQ,CAAS;IAEjB;;;;OAIG;IACH,YAAY,IAAgB,EAAE,aAAqB;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,IAAgB,EAAE,SAAiB;QACtD,OAAO,IAAI,iBAAiB,CAC1B,IAAI,EACJ,wBAAwB,CAAC,SAAS,GAAG,GAAG,EAAE,oBAAoB,CAAC,CAChE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,YAAoB;QACjC,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;IAChG,CAAC;CACF"}
1
+ {"version":3,"file":"uri-template-source.js","sourceRoot":"","sources":["../../../../src/init/template-source/uri-template-source.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,cAAc,EACd,KAAK,EACL,aAAa,GACd,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAGL,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,0EAA0E;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEvD;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAa;IAClB,cAAc,CAAS;IACvB,6EAA6E;IAC7E,QAAQ,CAAS;IAEjB;;;;OAIG;IACH,YAAY,IAAgB,EAAE,aAAqB;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,IAAgB,EAAE,SAAiB;QACtD,OAAO,IAAI,iBAAiB,CAC1B,IAAI,EACJ,wBAAwB,CAAC,SAAS,GAAG,GAAG,EAAE,oBAAoB,CAAC,CAChE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,YAAoB;QACjC,MAAM,IAAI,GAAG,4BAA4B,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;QACzE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1C,IACE,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;gBACrC,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAClD,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,YAAY,GAAG,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7E,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YAC5E,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YACzF,IACE,cAAc,CAAC,gBAAgB,CAAC;gBAChC,gBAAgB,KAAK,IAAI;gBACzB,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,EAClC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,YAAY,GAAG,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/compiler",
3
- "version": "1.17.0-dev.6",
3
+ "version": "1.17.0-dev.8",
4
4
  "description": "TypeSpec compiler and standard library",
5
5
  "author": "Microsoft Corporation",
6
6
  "license": "MIT",
@@ -114,13 +114,13 @@
114
114
  "@types/semver": "^7.8.0",
115
115
  "@types/yargs": "^17.0.35",
116
116
  "@typespec/internal-build-utils": "^0.86.0 || >= 0.87.0-dev.0",
117
- "@vitest/coverage-v8": "^4.1.11",
118
- "@vitest/ui": "^4.1.11",
117
+ "@vitest/coverage-v8": "^5.0.0",
118
+ "@vitest/ui": "^5.0.0",
119
119
  "pathe": "^2.0.3",
120
120
  "rimraf": "^6.1.3",
121
121
  "tmlanguage-generator": "^0.6.8 || >= 0.6.9-dev.8",
122
122
  "typescript": "~6.0.2",
123
- "vitest": "^4.1.11",
123
+ "vitest": "^5.0.0",
124
124
  "vscode-oniguruma": "^2.0.1",
125
125
  "vscode-textmate": "^9.3.2"
126
126
  },