@typespec/compiler 1.13.0-dev.1 → 1.13.0-dev.3

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.
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export default {
2
- "version": "1.13.0-dev.1",
3
- "commit": "d16ac80bed03f3b133b88e656929e8ec0ff48384"
2
+ "version": "1.13.0-dev.3",
3
+ "commit": "e99bdfb44fef2e5b92946175880995ac0268974e"
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/config/config-loader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAwB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAOhF,OAAO,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AAEvD,eAAO,MAAM,aAAa;;iBAEL,UAAU,EAAE;CAC/B,CAAC;AAEH;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,OAAc,GACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA4C7B;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,EACZ,eAAe,GAAE,OAAe,EAChC,MAAM,GAAE,OAAc,GACrB,OAAO,CAAC,cAAc,CAAC,CAqBzB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAuBzB;AAiED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,CAqBzF"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/config/config-loader.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAwB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAOhF,OAAO,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AAEvD,eAAO,MAAM,aAAa;;iBAEL,UAAU,EAAE;CAC/B,CAAC;AAEH;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,OAAc,GACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA4C7B;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,EACZ,eAAe,GAAE,OAAe,EAChC,MAAM,GAAE,OAAc,GACrB,OAAO,CAAC,cAAc,CAAC,CAqBzB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAuBzB;AAwFD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,CAqBzF"}
@@ -1,5 +1,5 @@
1
1
  import { createDiagnostic } from "../core/messages.js";
2
- import { getDirectoryPath, isPathAbsolute, joinPaths, resolvePath } from "../core/path-utils.js";
2
+ import { getBaseFileName, getDirectoryPath, isPathAbsolute, joinPaths, resolvePath, } from "../core/path-utils.js";
3
3
  import { createJSONSchemaValidator } from "../core/schema-validator.js";
4
4
  import { createSourceFile } from "../core/source-file.js";
5
5
  import { NoTarget } from "../core/types.js";
@@ -122,6 +122,21 @@ async function loadConfigFile(host, filename, loadData) {
122
122
  // TypeSpecConfig's typing.
123
123
  data = deepClone(defaultConfig);
124
124
  }
125
+ // Validate project-specific constraints
126
+ if (data.kind === "project" && getBaseFileName(filename) !== TypeSpecConfigFilename) {
127
+ diagnostics.push(createDiagnostic({
128
+ code: "config-project-kind-filename",
129
+ format: { filename: getBaseFileName(filename) },
130
+ target: NoTarget,
131
+ }));
132
+ }
133
+ if (data.entrypoint !== undefined && data.kind !== "project") {
134
+ diagnostics.push(createDiagnostic({
135
+ code: "config-project-only-option",
136
+ format: { option: "entrypoint" },
137
+ target: NoTarget,
138
+ }));
139
+ }
125
140
  const emit = data.emit;
126
141
  const options = data.options;
127
142
  return omitUndefined({
@@ -130,6 +145,8 @@ async function loadConfigFile(host, filename, loadData) {
130
145
  filename,
131
146
  diagnostics,
132
147
  extends: data.extends,
148
+ kind: data.kind,
149
+ entrypoint: data.entrypoint,
133
150
  environmentVariables: data["environment-variables"],
134
151
  parameters: data.parameters,
135
152
  outputDir: data["output-dir"] ?? "{cwd}/tsp-output",
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../src/config/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../src/config/config-loader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../../src/config/config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,cAAc,CAO/D,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,cAAc,CAAC,iBAAiB,CAgGtE,CAAC"}
1
+ {"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../../src/config/config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,cAAc,CAO/D,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,cAAc,CAAC,iBAAiB,CAyGtE,CAAC"}
@@ -14,6 +14,15 @@ export const TypeSpecConfigJsonSchema = {
14
14
  type: "string",
15
15
  nullable: true,
16
16
  },
17
+ kind: {
18
+ type: "string",
19
+ enum: ["project"],
20
+ nullable: true,
21
+ },
22
+ entrypoint: {
23
+ type: "string",
24
+ nullable: true,
25
+ },
17
26
  "environment-variables": {
18
27
  type: "object",
19
28
  nullable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../../src/config/config-schema.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,oBAAoB,GAAmC;IAClE,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,IAAI;IAC1B,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE;QACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAS;KAChE;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAsC;IACzE,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,uBAAuB,EAAE;YACvB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE;gBACpB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC5B;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE;gBACpB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC5B;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,oBAAoB,EAAE,KAAK;aAC5B;SACF;QAED,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,eAAe,EAAE;YACf,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;SACf;QACD,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClB;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF;SACK,EAAE,2FAA2F;QACrG,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,oBAAoB;SAC3C;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,IAAI;oBACd,oBAAoB,EAAE;wBACpB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;qBACjD;iBACF;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,IAAI;oBACd,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzC;aACF;SACK,EAAE,oDAAoD;KAC/D;CACF,CAAC"}
1
+ {"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../../src/config/config-schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-to-options.d.ts","sourceRoot":"","sources":["../../../src/config/config-to-options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAY,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKpE,OAAO,EAAkB,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB;IAC3E,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IAEnB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAEzC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,CAAC,eAAe,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC,CAsBnD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,gEAgC/F;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,CA0BjF"}
1
+ {"version":3,"file":"config-to-options.d.ts","sourceRoot":"","sources":["../../../src/config/config-to-options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAY,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKpE,OAAO,EAAkB,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB;IAC3E,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IAEnB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAEzC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,CAAC,eAAe,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC,CA4CnD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,gEAgC/F;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,CA0BjF"}
@@ -18,6 +18,24 @@ export async function resolveCompilerOptions(host, options) {
18
18
  (entrypointStat?.isDirectory() ? options.entrypoint : getDirectoryPath(options.entrypoint));
19
19
  const config = await loadTypeSpecConfigForPath(host, configPath, options.configPath !== undefined, options.configPath === undefined);
20
20
  config.diagnostics.forEach((x) => diagnostics.add(x));
21
+ // Validate that --config does not point to a project config
22
+ if (options.configPath !== undefined && config.kind === "project") {
23
+ diagnostics.add(createDiagnostic({
24
+ code: "config-project-not-as-cli-config",
25
+ target: NoTarget,
26
+ }));
27
+ }
28
+ // When using --config with a non-project config, auto-inherit project settings
29
+ // from the project tspconfig.yaml of the entrypoint (not the config file location)
30
+ if (options.configPath !== undefined && config.kind !== "project") {
31
+ const entrypointDir = entrypointStat?.isDirectory()
32
+ ? options.entrypoint
33
+ : getDirectoryPath(options.entrypoint);
34
+ const projectConfig = await findProjectConfig(host, entrypointDir);
35
+ if (projectConfig?.kind === "project") {
36
+ config.entrypoint ??= projectConfig.entrypoint;
37
+ }
38
+ }
21
39
  const compilerOptions = diagnostics.pipe(resolveOptionsFromConfig(config, options));
22
40
  return diagnostics.wrap(compilerOptions);
23
41
  }
@@ -107,4 +125,21 @@ function mergeOptions(base, overrides) {
107
125
  function hasNestedObjects(value) {
108
126
  return value && typeof value === "object" && !Array.isArray(value);
109
127
  }
128
+ /**
129
+ * Walk up directories from `startDir` to find the nearest project tspconfig.yaml (one with `kind: "project"`).
130
+ */
131
+ async function findProjectConfig(host, startDir) {
132
+ let dir = startDir;
133
+ while (true) {
134
+ const config = await loadTypeSpecConfigForPath(host, dir, false, false);
135
+ if (config.kind === "project" && config.diagnostics.length === 0) {
136
+ return config;
137
+ }
138
+ const parentDir = getDirectoryPath(dir);
139
+ if (parentDir === dir) {
140
+ return undefined;
141
+ }
142
+ dir = parentDir;
143
+ }
144
+ }
110
145
  //# sourceMappingURL=config-to-options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-to-options.js","sourceRoot":"","sources":["../../../src/config/config-to-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-to-options.js","sourceRoot":"","sources":["../../../src/config/config-to-options.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,15 @@ export interface TypeSpecConfig {
8
8
  * Project root.
9
9
  */
10
10
  projectRoot: string;
11
+ /**
12
+ * Kind of the config. When set to "project", this config marks a project boundary.
13
+ */
14
+ kind?: "project";
15
+ /**
16
+ * Main TypeSpec file for this project, relative to the config directory.
17
+ * Only meaningful when `kind` is `"project"`. Defaults to `"main.tsp"`.
18
+ */
19
+ entrypoint?: string;
11
20
  /** Yaml file used in this configuration. */
12
21
  file?: YamlScript;
13
22
  /**
@@ -61,6 +70,15 @@ export interface TypeSpecConfig {
61
70
  */
62
71
  export interface TypeSpecRawConfig {
63
72
  extends?: string;
73
+ /**
74
+ * Kind of the config. When set to "project", this config marks a project boundary.
75
+ */
76
+ kind?: "project";
77
+ /**
78
+ * Main TypeSpec file for this project, relative to the config directory.
79
+ * Only meaningful when `kind` is `"project"`. Defaults to `"main.tsp"`.
80
+ */
81
+ entrypoint?: string;
64
82
  "environment-variables"?: Record<string, ConfigEnvironmentVariable>;
65
83
  parameters?: Record<string, ConfigParameter>;
66
84
  "warn-as-error"?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAEjE;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE7C;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEzC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE7C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEzC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACrD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CACnC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAEjE;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE7C;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEzC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE7C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEzC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACrD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CACnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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"}
@@ -4816,25 +4816,27 @@ export function createChecker(program, resolver) {
4816
4816
  type: undefined,
4817
4817
  decorators: [],
4818
4818
  });
4819
- if (pendingResolutions.has(sym, ResolutionKind.Type) && ctx.mapper === undefined) {
4820
- reportCheckerDiagnostic(createDiagnostic({
4821
- code: "circular-prop",
4822
- format: { propName: name },
4823
- target: prop,
4824
- }));
4825
- type.type = errorType;
4819
+ // Link the property early so that re-entrant access (e.g., A.a from another model)
4820
+ // finds this property via checkMemberSym without re-entering checkModelProperty.
4821
+ if (links) {
4822
+ linkType(ctx, links, type);
4826
4823
  }
4827
- else {
4828
- pendingResolutions.start(sym, ResolutionKind.Type);
4829
- type.type = getTypeForNode(prop.value, ctx);
4830
- if (prop.default) {
4831
- const defaultValue = checkDefaultValue(ctx, prop.default, type.type);
4832
- if (defaultValue !== null) {
4833
- type.defaultValue = defaultValue;
4834
- }
4824
+ type.type = getTypeForNode(prop.value, ctx);
4825
+ // Detect property-to-property cycles (e.g., A.a -> B.a -> A.a)
4826
+ if (hasPropertyTypeCycle(type)) {
4827
+ if (ctx.mapper === undefined) {
4828
+ reportCheckerDiagnostic(createDiagnostic({
4829
+ code: "circular-prop",
4830
+ format: { propName: name },
4831
+ target: prop,
4832
+ }));
4835
4833
  }
4836
- if (links) {
4837
- linkType(ctx, links, type);
4834
+ type.type = errorType;
4835
+ }
4836
+ if (prop.default) {
4837
+ const defaultValue = checkDefaultValue(ctx, prop.default, type.type);
4838
+ if (defaultValue !== null) {
4839
+ type.defaultValue = defaultValue;
4838
4840
  }
4839
4841
  }
4840
4842
  type.decorators = checkDecorators(ctx, type, prop);
@@ -4847,9 +4849,22 @@ export function createChecker(program, resolver) {
4847
4849
  type.decorators.unshift(createDocFromCommentDecorator("self", docComment));
4848
4850
  }
4849
4851
  }
4850
- pendingResolutions.finish(sym, ResolutionKind.Type);
4851
4852
  return finishType(type, { skipDecorators: !shouldRunDecorators });
4852
4853
  }
4854
+ /**
4855
+ * Detect cycles in the property type chain. Follows `.type` links as long as
4856
+ * they point to other ModelProperty types and checks whether we loop back to
4857
+ * the starting property.
4858
+ */
4859
+ function hasPropertyTypeCycle(prop) {
4860
+ let current = prop.type;
4861
+ while (current !== undefined && current.kind === "ModelProperty") {
4862
+ if (current === prop)
4863
+ return true;
4864
+ current = current.type;
4865
+ }
4866
+ return false;
4867
+ }
4853
4868
  function getOperationParameterDocComment(prop) {
4854
4869
  if (prop.parent?.kind !== SyntaxKind.ModelExpression) {
4855
4870
  return undefined;
@@ -5368,6 +5383,20 @@ export function createChecker(program, resolver) {
5368
5383
  checkTemplateDeclaration(ctx, node);
5369
5384
  const aliasSymId = getNodeSym(node);
5370
5385
  if (pendingResolutions.has(aliasSymId, ResolutionKind.Type)) {
5386
+ // Re-entrant resolution detected. Check if the alias value node has already produced
5387
+ // a type (e.g., a model expression that creates and links its type before resolving
5388
+ // properties). In that case, the circular reference is safe.
5389
+ const valueSym = node.value.symbol;
5390
+ if (valueSym) {
5391
+ const valueLinks = getSymbolLinks(valueSym);
5392
+ const inProgressType = ctx.mapper === undefined
5393
+ ? valueLinks.declaredType
5394
+ : valueLinks.instantiations?.get(ctx.mapper.args);
5395
+ if (inProgressType) {
5396
+ linkType(ctx, links, inProgressType);
5397
+ return inProgressType;
5398
+ }
5399
+ }
5371
5400
  if (ctx.mapper === undefined) {
5372
5401
  reportCheckerDiagnostic(createDiagnostic({
5373
5402
  code: "circular-alias-type",