@typespec/http-client-csharp 0.1.9-alpha.20250121.1 → 0.1.9-alpha.20250121.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.
@@ -4,4 +4,5 @@ export declare const projectedNameClientKey = "client";
4
4
  export declare const mockApiVersion = "0000-00-00";
5
5
  export declare const tspOutputFileName = "tspCodeModel.json";
6
6
  export declare const configurationFileName = "Configuration.json";
7
+ export declare const minSupportedDotNetSdkVersion = 8;
7
8
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../emitter/src/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAC3C,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAC/C,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAC/C,eAAO,MAAM,cAAc,eAAe,CAAC;AAC3C,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,qBAAqB,uBAAuB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../emitter/src/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAC3C,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAC/C,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAC/C,eAAO,MAAM,cAAc,eAAe,CAAC;AAC3C,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,4BAA4B,IAAI,CAAC"}
@@ -6,4 +6,5 @@ export const projectedNameClientKey = "client";
6
6
  export const mockApiVersion = "0000-00-00";
7
7
  export const tspOutputFileName = "tspCodeModel.json";
8
8
  export const configurationFileName = "Configuration.json";
9
+ export const minSupportedDotNetSdkVersion = 8;
9
10
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../emitter/src/constants.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAE/F,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAC/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../emitter/src/constants.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAE/F,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAC/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAC1D,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC"}
@@ -1,4 +1,10 @@
1
- import { EmitContext } from "@typespec/compiler";
1
+ import { EmitContext, Program } from "@typespec/compiler";
2
2
  import { NetEmitterOptions } from "./options.js";
3
3
  export declare function $onEmit(context: EmitContext<NetEmitterOptions>): Promise<void>;
4
+ /** check the dotnet sdk installation.
5
+ * Report diagnostic if dotnet sdk is not installed or its version does not meet prerequisite
6
+ * @param program The typespec compiler program
7
+ * @param minVersionRequisite The minimum required major version
8
+ */
9
+ export declare function validateDotNetSdk(program: Program, minMajorVersion: number): Promise<boolean>;
4
10
  //# sourceMappingURL=emitter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../emitter/src/emitter.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EAMZ,MAAM,oBAAoB,CAAC;AAW5B,OAAO,EAAE,iBAAiB,EAAuC,MAAM,cAAc,CAAC;AAwBtF,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,iBAAiB,CAAC,iBAsIpE"}
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../emitter/src/emitter.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EAKX,OAAO,EAER,MAAM,oBAAoB,CAAC;AAgB5B,OAAO,EAAE,iBAAiB,EAAuC,MAAM,cAAc,CAAC;AAwBtF,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,iBAAiB,CAAC,iBAmJpE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
@@ -1,16 +1,17 @@
1
1
  // Copyright (c) Microsoft Corporation. All rights reserved.
2
2
  // Licensed under the MIT License. See License.txt in the project root for license information.
3
3
  import { createSdkContext, UsageFlags } from "@azure-tools/typespec-client-generator-core";
4
- import { getDirectoryPath, joinPaths, logDiagnostics, resolvePath, } from "@typespec/compiler";
5
- import { spawn } from "child_process";
4
+ import { getDirectoryPath, joinPaths, logDiagnostics, NoTarget, resolvePath, } from "@typespec/compiler";
6
5
  import fs, { statSync } from "fs";
7
6
  import { PreserveType, stringifyRefs } from "json-serialize-refs";
8
7
  import { dirname } from "path";
9
8
  import { fileURLToPath } from "url";
10
- import { configurationFileName, tspOutputFileName } from "./constants.js";
9
+ import { configurationFileName, minSupportedDotNetSdkVersion, tspOutputFileName, } from "./constants.js";
11
10
  import { createModel } from "./lib/client-model-builder.js";
11
+ import { reportDiagnostic } from "./lib/lib.js";
12
12
  import { LoggerLevel } from "./lib/log-level.js";
13
13
  import { Logger } from "./lib/logger.js";
14
+ import { execAsync } from "./lib/utils.js";
14
15
  import { resolveOptions, resolveOutputFolder } from "./options.js";
15
16
  import { defaultSDKContextOptions } from "./sdk-context-options.js";
16
17
  /**
@@ -95,23 +96,35 @@ export async function $onEmit(context) {
95
96
  const generatorPath = resolvePath(projectRoot + "/dist/generator/Microsoft.Generator.CSharp.dll");
96
97
  const command = `dotnet --roll-forward Major ${generatorPath} ${outputFolder} -p ${options["plugin-name"]}${constructCommandArg(newProjectOption)}${constructCommandArg(existingProjectOption)}${constructCommandArg(debugFlag)}`;
97
98
  Logger.getInstance().info(command);
98
- const result = await execAsync("dotnet", [
99
- "--roll-forward",
100
- "Major",
101
- generatorPath,
102
- outputFolder,
103
- "-p",
104
- options["plugin-name"],
105
- newProjectOption,
106
- existingProjectOption,
107
- debugFlag,
108
- ], { stdio: "inherit" });
109
- if (result.exitCode !== 0) {
110
- if (result.stderr)
111
- Logger.getInstance().error(result.stderr);
112
- if (result.stdout)
113
- Logger.getInstance().verbose(result.stdout);
114
- throw new Error(`Failed to generate SDK. Exit code: ${result.exitCode}`);
99
+ try {
100
+ const result = await execAsync("dotnet", [
101
+ "--roll-forward",
102
+ "Major",
103
+ generatorPath,
104
+ outputFolder,
105
+ "-p",
106
+ options["plugin-name"],
107
+ newProjectOption,
108
+ existingProjectOption,
109
+ debugFlag,
110
+ ], { stdio: "inherit" });
111
+ if (result.exitCode !== 0) {
112
+ const isValid = await validateDotNetSdk(sdkContext.program, minSupportedDotNetSdkVersion);
113
+ // if the dotnet sdk is valid, the error is not dependency issue, log it as normal
114
+ if (isValid) {
115
+ if (result.stderr)
116
+ Logger.getInstance().error(result.stderr);
117
+ if (result.stdout)
118
+ Logger.getInstance().verbose(result.stdout);
119
+ throw new Error(`Failed to generate the library. Exit code: ${result.exitCode}`);
120
+ }
121
+ }
122
+ }
123
+ catch (error) {
124
+ const isValid = await validateDotNetSdk(sdkContext.program, minSupportedDotNetSdkVersion);
125
+ // if the dotnet sdk is valid, the error is not dependency issue, log it as normal
126
+ if (isValid)
127
+ throw new Error(error);
115
128
  }
116
129
  if (!options["save-inputs"]) {
117
130
  // delete
@@ -122,36 +135,62 @@ export async function $onEmit(context) {
122
135
  }
123
136
  }
124
137
  }
125
- function constructCommandArg(arg) {
126
- return arg !== "" ? ` ${arg}` : "";
138
+ /** check the dotnet sdk installation.
139
+ * Report diagnostic if dotnet sdk is not installed or its version does not meet prerequisite
140
+ * @param program The typespec compiler program
141
+ * @param minVersionRequisite The minimum required major version
142
+ */
143
+ export async function validateDotNetSdk(program, minMajorVersion) {
144
+ try {
145
+ const result = await execAsync("dotnet", ["--version"], { stdio: "pipe" });
146
+ return validateDotNetSdkVersion(program, result.stdout, minMajorVersion);
147
+ }
148
+ catch (error) {
149
+ if (error && "code" in error && error["code"] === "ENOENT") {
150
+ reportDiagnostic(program, {
151
+ code: "invalid-dotnet-sdk-dependency",
152
+ messageId: "missing",
153
+ format: {
154
+ dotnetMajorVersion: `${minMajorVersion}`,
155
+ downloadUrl: "https://dotnet.microsoft.com/",
156
+ },
157
+ target: NoTarget,
158
+ });
159
+ }
160
+ return false;
161
+ }
127
162
  }
128
- async function execAsync(command, args = [], options = {}) {
129
- const child = spawn(command, args, options);
130
- return new Promise((resolve, reject) => {
131
- child.on("error", (error) => {
132
- reject(error);
133
- });
134
- const stdio = [];
135
- const stdout = [];
136
- const stderr = [];
137
- child.stdout?.on("data", (data) => {
138
- stdout.push(data);
139
- stdio.push(data);
140
- });
141
- child.stderr?.on("data", (data) => {
142
- stderr.push(data);
143
- stdio.push(data);
144
- });
145
- child.on("exit", (exitCode) => {
146
- resolve({
147
- exitCode: exitCode ?? -1,
148
- stdio: Buffer.concat(stdio).toString(),
149
- stdout: Buffer.concat(stdout).toString(),
150
- stderr: Buffer.concat(stderr).toString(),
151
- proc: child,
163
+ function validateDotNetSdkVersion(program, version, minMajorVersion) {
164
+ if (version) {
165
+ const dotIndex = version.indexOf(".");
166
+ const firstPart = dotIndex === -1 ? version : version.substring(0, dotIndex);
167
+ const major = Number(firstPart);
168
+ if (isNaN(major)) {
169
+ Logger.getInstance().error("Invalid .NET SDK version.");
170
+ return false;
171
+ }
172
+ if (major < minMajorVersion) {
173
+ reportDiagnostic(program, {
174
+ code: "invalid-dotnet-sdk-dependency",
175
+ messageId: "invalidVersion",
176
+ format: {
177
+ installedVersion: version,
178
+ dotnetMajorVersion: `${minMajorVersion}`,
179
+ downloadUrl: "https://dotnet.microsoft.com/",
180
+ },
181
+ target: NoTarget,
152
182
  });
153
- });
154
- });
183
+ return false;
184
+ }
185
+ return true;
186
+ }
187
+ else {
188
+ Logger.getInstance().error("Cannot get the installed .NET SDK version.");
189
+ return false;
190
+ }
191
+ }
192
+ function constructCommandArg(arg) {
193
+ return arg !== "" ? ` ${arg}` : "";
155
194
  }
156
195
  function transformJSONProperties(key, value) {
157
196
  // convertUsageNumbersToStrings
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../emitter/src/emitter.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAE/F,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAEL,gBAAgB,EAChB,SAAS,EACT,cAAc,EAEd,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAqB,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGpE;;;GAGG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;YACpB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAuC;IACnE,MAAM,OAAO,GAAY,OAAO,CAAC,OAAO,CAAC;IACzC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAElD,uBAAuB;IACvB,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAEjE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC3D,gDAAgD;QAChD,MAAM,UAAU,GAAG,MAAM,gBAAgB,CACvC,OAAO,EACP,8BAA8B,EAC9B,wBAAwB,CACzB,CAAC;QACF,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QACrC,IACE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACtC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAClF,CAAC;YACD,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,iIAAiI;QACjK,wFAAwF;QACxF,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,eAAe,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YAEtE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACpC,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAC1B,WAAW,CAAC,YAAY,EAAE,iBAAiB,CAAC,EAC5C,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,uBAAuB,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CACtF,CAAC;YAEF,yBAAyB;YACzB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC;YACpD,MAAM,cAAc,GAAkB;gBACpC,eAAe,EAAE,GAAG;gBACpB,SAAS,EAAE,SAAS;gBACpB,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,SAAS;gBACpD,yBAAyB,EAAE,OAAO,CAAC,yBAAyB,CAAC;gBAC7D,6BAA6B,EAAE,OAAO,CAAC,6BAA6B,CAAC;gBACrE,0CAA0C,EACxC,OAAO,CAAC,0CAA0C,CAAC;gBACrD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;gBAC7C,sCAAsC,EAAE,OAAO,CAAC,sCAAsC,CAAC;gBACvF,+CAA+C,EAAE,OAAO,CACtD,sCAAsC,CACvC;oBACC,CAAC,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC,MAAM,CACxE,CAAC,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,CAAC,MAAM,CAC5D,CAAC,IAAI,EAAE,EAAE,CACP,OAAO,CAAC,0DAA0D,CAAC,CAAC,OAAO,CACzE,IAAI,CACL,GAAG,CAAC,CACR,CACF;oBACH,CAAC,CAAC,SAAS;gBACb,sCAAsC,EAAE,OAAO,CAAC,sCAAsC,CAAC;gBACvF,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;gBAC7C,2CAA2C,EACzC,OAAO,CAAC,2CAA2C,CAAC;gBACtD,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;gBACzB,oDAAoD;gBACpD,yBAAyB,EACvB,OAAO,CAAC,yBAAyB,CAAC,KAAK,IAAI;oBACzC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBACxC,uBAAuB,EACrB,OAAO,CAAC,uBAAuB,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC;gBAC3F,yBAAyB,EAAE,OAAO,CAAC,yBAAyB,CAAC,IAAI,IAAI;gBACrE,kBAAkB,EAChB,OAAO,CAAC,kBAAkB,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;aAClF,CAAC;YAEF,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAC1B,WAAW,CAAC,YAAY,EAAE,qBAAqB,CAAC,EAChD,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CACxD,CAAC;YAEF,IAAI,OAAO,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBACvC,MAAM,UAAU,GAAG,WAAW,CAC5B,YAAY,EACZ,KAAK,EACL,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAC3C,CAAC;gBACF,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,eAAe,UAAU,SAAS,CAAC,CAAC;gBAC9D,MAAM,gBAAgB,GACpB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,MAAM,qBAAqB,GAAG,OAAO,CAAC,yBAAyB,CAAC;oBAC9D,CAAC,CAAC,6BAA6B,OAAO,CAAC,yBAAyB,CAAC,EAAE;oBACnE,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE5D,MAAM,WAAW,GAAG,OAAO,CAAC,wBAAwB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;gBACzE,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACzE,MAAM,aAAa,GAAG,WAAW,CAC/B,WAAW,GAAG,gDAAgD,CAC/D,CAAC;gBAEF,MAAM,OAAO,GAAG,+BAA+B,aAAa,IAAI,YAAY,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,GAAG,mBAAmB,CAAC,qBAAqB,CAAC,GAAG,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClO,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAC5B,QAAQ,EACR;oBACE,gBAAgB;oBAChB,OAAO;oBACP,aAAa;oBACb,YAAY;oBACZ,IAAI;oBACJ,OAAO,CAAC,aAAa,CAAC;oBACtB,gBAAgB;oBAChB,qBAAqB;oBACrB,SAAS;iBACV,EACD,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;gBACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAI,MAAM,CAAC,MAAM;wBAAE,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC7D,IAAI,MAAM,CAAC,MAAM;wBAAE,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC/D,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC3E,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC5B,SAAS;oBACT,UAAU,CAAC,WAAW,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC;oBACzD,UAAU,CAAC,WAAW,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,OAAe,EACf,OAAiB,EAAE,EACnB,UAAwB,EAAE;IAE1B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;YAC5B,OAAO,CAAC;gBACN,QAAQ,EAAE,QAAQ,IAAI,CAAC,CAAC;gBACxB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;gBACtC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;gBACxC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;gBACxC,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAY,GAAW,EAAE,KAAU;IACjE,+BAA+B;IAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;QACxD,IAAI,GAAG,KAAK,OAAO,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;wBACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB;IAClC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QAC1B,IAAI,GAAG,EAAE,CAAC;YACR,iCAAiC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,QAAQ,cAAc,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,OAAO,MAAM,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../emitter/src/emitter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const reportDiagnostic: <C extends "no-apiVersion" | "no-route" | "invalid-name" | "general-warning" | "general-error" | "no-root-client" | "unsupported-auth", M extends keyof {
1
+ export declare const reportDiagnostic: <C extends "no-apiVersion" | "no-route" | "invalid-name" | "general-warning" | "general-error" | "invalid-dotnet-sdk-dependency" | "no-root-client" | "unsupported-auth", M extends keyof {
2
2
  "no-apiVersion": {
3
3
  readonly default: import("@typespec/compiler").CallableMessage<["service"]>;
4
4
  };
@@ -14,6 +14,11 @@ export declare const reportDiagnostic: <C extends "no-apiVersion" | "no-route" |
14
14
  "general-error": {
15
15
  readonly default: import("@typespec/compiler").CallableMessage<["message"]>;
16
16
  };
17
+ "invalid-dotnet-sdk-dependency": {
18
+ readonly default: import("@typespec/compiler").CallableMessage<[]>;
19
+ readonly missing: import("@typespec/compiler").CallableMessage<["dotnetMajorVersion", "downloadUrl"]>;
20
+ readonly invalidVersion: import("@typespec/compiler").CallableMessage<["installedVersion", "dotnetMajorVersion", "downloadUrl"]>;
21
+ };
17
22
  "no-root-client": {
18
23
  readonly default: "Cannot generate CSharp SDK since no public root client is defined in typespec file.";
19
24
  };
@@ -36,13 +41,18 @@ export declare const reportDiagnostic: <C extends "no-apiVersion" | "no-route" |
36
41
  "general-error": {
37
42
  readonly default: import("@typespec/compiler").CallableMessage<["message"]>;
38
43
  };
44
+ "invalid-dotnet-sdk-dependency": {
45
+ readonly default: import("@typespec/compiler").CallableMessage<[]>;
46
+ readonly missing: import("@typespec/compiler").CallableMessage<["dotnetMajorVersion", "downloadUrl"]>;
47
+ readonly invalidVersion: import("@typespec/compiler").CallableMessage<["installedVersion", "dotnetMajorVersion", "downloadUrl"]>;
48
+ };
39
49
  "no-root-client": {
40
50
  readonly default: "Cannot generate CSharp SDK since no public root client is defined in typespec file.";
41
51
  };
42
52
  "unsupported-auth": {
43
53
  readonly default: import("@typespec/compiler").CallableMessage<["message"]>;
44
54
  };
45
- }, C, M>) => void, createDiagnostic: <C extends "no-apiVersion" | "no-route" | "invalid-name" | "general-warning" | "general-error" | "no-root-client" | "unsupported-auth", M extends keyof {
55
+ }, C, M>) => void, createDiagnostic: <C extends "no-apiVersion" | "no-route" | "invalid-name" | "general-warning" | "general-error" | "invalid-dotnet-sdk-dependency" | "no-root-client" | "unsupported-auth", M extends keyof {
46
56
  "no-apiVersion": {
47
57
  readonly default: import("@typespec/compiler").CallableMessage<["service"]>;
48
58
  };
@@ -58,6 +68,11 @@ export declare const reportDiagnostic: <C extends "no-apiVersion" | "no-route" |
58
68
  "general-error": {
59
69
  readonly default: import("@typespec/compiler").CallableMessage<["message"]>;
60
70
  };
71
+ "invalid-dotnet-sdk-dependency": {
72
+ readonly default: import("@typespec/compiler").CallableMessage<[]>;
73
+ readonly missing: import("@typespec/compiler").CallableMessage<["dotnetMajorVersion", "downloadUrl"]>;
74
+ readonly invalidVersion: import("@typespec/compiler").CallableMessage<["installedVersion", "dotnetMajorVersion", "downloadUrl"]>;
75
+ };
61
76
  "no-root-client": {
62
77
  readonly default: "Cannot generate CSharp SDK since no public root client is defined in typespec file.";
63
78
  };
@@ -80,6 +95,11 @@ export declare const reportDiagnostic: <C extends "no-apiVersion" | "no-route" |
80
95
  "general-error": {
81
96
  readonly default: import("@typespec/compiler").CallableMessage<["message"]>;
82
97
  };
98
+ "invalid-dotnet-sdk-dependency": {
99
+ readonly default: import("@typespec/compiler").CallableMessage<[]>;
100
+ readonly missing: import("@typespec/compiler").CallableMessage<["dotnetMajorVersion", "downloadUrl"]>;
101
+ readonly invalidVersion: import("@typespec/compiler").CallableMessage<["installedVersion", "dotnetMajorVersion", "downloadUrl"]>;
102
+ };
83
103
  "no-root-client": {
84
104
  readonly default: "Cannot generate CSharp SDK since no public root client is defined in typespec file.";
85
105
  };
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../emitter/src/lib/lib.ts"],"names":[],"mappings":"AA0DA,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAE,SAAS,wFAAS,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../emitter/src/lib/lib.ts"],"names":[],"mappings":"AAkEA,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAE,SAAS,wFAAS,CAAC"}
@@ -35,6 +35,14 @@ const $lib = createTypeSpecLibrary({
35
35
  default: paramMessage `${"message"}`,
36
36
  },
37
37
  },
38
+ "invalid-dotnet-sdk-dependency": {
39
+ severity: "error",
40
+ messages: {
41
+ default: paramMessage `Invalid .NET SDK installed.`,
42
+ missing: paramMessage `The dotnet command was not found in the PATH. Please install the .NET SDK version ${"dotnetMajorVersion"} or above. Guidance for installing the .NET SDK can be found at ${"downloadUrl"}.`,
43
+ invalidVersion: paramMessage `The .NET SDK found is version ${"installedVersion"}. Please install the .NET SDK ${"dotnetMajorVersion"} or above and ensure there is no global.json in the file system requesting a lower version. Guidance for installing the .NET SDK can be found at ${"downloadUrl"}.`,
44
+ },
45
+ },
38
46
  "no-root-client": {
39
47
  severity: "error",
40
48
  messages: {
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../emitter/src/lib/lib.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAE/F,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACjC,IAAI,EAAE,8BAA8B;IACpC,WAAW,EAAE;QACX,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,sCAAsC,SAAS,EAAE;aACvE;SACF;QACD,UAAU,EAAE;YACV,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,oCAAoC,SAAS,EAAE;aACrE;SACF;QACD,cAAc,EAAE;YACd,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,6CAA6C,MAAM,6CAA6C;aACtH;SACF;QACD,iBAAiB,EAAE;YACjB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,GAAG,SAAS,EAAE;aACpC;SACF;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,GAAG,SAAS,EAAE;aACpC;SACF;QACD,gBAAgB,EAAE;YAChB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,qFAAqF;aACxF;SACF;QACD,kBAAkB,EAAE;YAClB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,GAAG,SAAS,EAAE;aACpC;SACF;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,uBAAuB;KACjC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../emitter/src/lib/lib.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAE/F,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACjC,IAAI,EAAE,8BAA8B;IACpC,WAAW,EAAE;QACX,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,sCAAsC,SAAS,EAAE;aACvE;SACF;QACD,UAAU,EAAE;YACV,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,oCAAoC,SAAS,EAAE;aACrE;SACF;QACD,cAAc,EAAE;YACd,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,6CAA6C,MAAM,6CAA6C;aACtH;SACF;QACD,iBAAiB,EAAE;YACjB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,GAAG,SAAS,EAAE;aACpC;SACF;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,GAAG,SAAS,EAAE;aACpC;SACF;QACD,+BAA+B,EAAE;YAC/B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,6BAA6B;gBAClD,OAAO,EAAE,YAAY,CAAA,qFAAqF,oBAAoB,mEAAmE,aAAa,GAAG;gBACjN,cAAc,EAAE,YAAY,CAAA,iCAAiC,kBAAkB,iCAAiC,oBAAoB,oJAAoJ,aAAa,GAAG;aACzS;SACF;QACD,gBAAgB,EAAE;YAChB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,qFAAqF;aACxF;SACF;QACD,kBAAkB,EAAE;YAClB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,GAAG,SAAS,EAAE;aACpC;SACF;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,uBAAuB;KACjC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC"}
@@ -1,9 +1,17 @@
1
1
  import { SdkContext, SdkModelPropertyTypeBase, SdkPathParameter } from "@azure-tools/typespec-client-generator-core";
2
2
  import { Enum, EnumMember, Model, ModelProperty, Operation, Scalar } from "@typespec/compiler";
3
+ import { SpawnOptions } from "child_process";
3
4
  import { InputParameter } from "../type/input-parameter.js";
4
5
  export declare function capitalize(str: string): string;
5
6
  export declare function getNameForTemplate(model: Model): string;
6
7
  export declare function getTypeName(context: SdkContext, type: Model | Enum | EnumMember | ModelProperty | Scalar | Operation): string;
7
8
  export declare function createContentTypeOrAcceptParameter(mediaTypes: string[], name: string, nameInRequest: string): InputParameter;
8
9
  export declare function isSdkPathParameter(parameter: SdkModelPropertyTypeBase): parameter is SdkPathParameter;
10
+ export declare function execAsync(command: string, args?: string[], options?: SpawnOptions): Promise<{
11
+ exitCode: number;
12
+ stdio: string;
13
+ stdout: string;
14
+ stderr: string;
15
+ proc: any;
16
+ }>;
9
17
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../emitter/src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,wBAAwB,EACxB,gBAAgB,EAGjB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG/F,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAI5D,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAMvD;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,GACnE,MAAM,CAYR;AAED,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,cAAc,CA4BhB;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,wBAAwB,GAClC,SAAS,IAAI,gBAAgB,CAE/B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../emitter/src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACV,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAS,YAAY,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAI5D,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAMvD;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,GACnE,MAAM,CAYR;AAED,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,cAAc,CA4BhB;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,wBAAwB,GAClC,SAAS,IAAI,gBAAgB,CAE/B;AAED,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAAC,CA6BzF"}
@@ -1,4 +1,5 @@
1
1
  import { getLibraryName, getSdkModel, } from "@azure-tools/typespec-client-generator-core";
2
+ import { spawn } from "child_process";
2
3
  import { InputOperationParameterKind } from "../type/input-operation-parameter-kind.js";
3
4
  import { RequestLocation } from "../type/request-location.js";
4
5
  export function capitalize(str) {
@@ -55,4 +56,32 @@ export function createContentTypeOrAcceptParameter(mediaTypes, name, nameInReque
55
56
  export function isSdkPathParameter(parameter) {
56
57
  return parameter.kind === "path";
57
58
  }
59
+ export async function execAsync(command, args = [], options = {}) {
60
+ const child = spawn(command, args, options);
61
+ return new Promise((resolve, reject) => {
62
+ child.on("error", (error) => {
63
+ reject(error);
64
+ });
65
+ const stdio = [];
66
+ const stdout = [];
67
+ const stderr = [];
68
+ child.stdout?.on("data", (data) => {
69
+ stdout.push(data);
70
+ stdio.push(data);
71
+ });
72
+ child.stderr?.on("data", (data) => {
73
+ stderr.push(data);
74
+ stdio.push(data);
75
+ });
76
+ child.on("exit", (exitCode) => {
77
+ resolve({
78
+ exitCode: exitCode ?? -1,
79
+ stdio: Buffer.concat(stdio).toString(),
80
+ stdout: Buffer.concat(stdout).toString(),
81
+ stderr: Buffer.concat(stderr).toString(),
82
+ proc: child,
83
+ });
84
+ });
85
+ });
86
+ }
58
87
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../emitter/src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EACd,WAAW,GACZ,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAGxF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAY;IAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAE,EAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,OAAmB,EACnB,IAAoE;IAEpE,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,IAAa,CAAC,CAAC;YACrD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,UAAoB,EACpB,IAAY,EACZ,aAAqB;IAErB,MAAM,aAAa,GAAY,aAAa,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC;IAC9E,MAAM,SAAS,GAAuB;QACpC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,yBAAyB,EAAE,iBAAiB;KAC7C,CAAC;IACF,OAAO;QACL,IAAI,EAAE,IAAI;QACV,aAAa,EAAE,aAAa;QAC5B,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,eAAe,CAAC,MAAM;QAChC,YAAY,EAAE,KAAK;QACnB,mBAAmB,EAAE,KAAK;QAC1B,aAAa,EAAE,aAAa;QAC5B,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,2BAA2B,CAAC,QAAQ;QAC1C,YAAY,EACV,UAAU,CAAC,MAAM,KAAK,CAAC;YACrB,CAAC,CAAE;gBACC,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;aACH;YACrB,CAAC,CAAC,SAAS;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,SAAmC;IAEnC,OAAQ,SAA8B,CAAC,IAAI,KAAK,MAAM,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../emitter/src/lib/utils.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export declare function $onEmit(context: EmitContext<NetEmitterOptions>): Promis
12
12
 
13
13
  export declare const configurationFileName = "Configuration.json";
14
14
 
15
- export declare const createDiagnostic: <C extends "no-apiVersion" | "no-route" | "invalid-name" | "general-warning" | "general-error" | "no-root-client" | "unsupported-auth", M extends keyof {
15
+ export declare const createDiagnostic: <C extends "no-apiVersion" | "no-route" | "invalid-name" | "general-warning" | "general-error" | "invalid-dotnet-sdk-dependency" | "no-root-client" | "unsupported-auth", M extends keyof {
16
16
  "no-apiVersion": {
17
17
  readonly default: CallableMessage<["service"]>;
18
18
  };
@@ -28,6 +28,11 @@ export declare const createDiagnostic: <C extends "no-apiVersion" | "no-route" |
28
28
  "general-error": {
29
29
  readonly default: CallableMessage<["message"]>;
30
30
  };
31
+ "invalid-dotnet-sdk-dependency": {
32
+ readonly default: CallableMessage<[]>;
33
+ readonly missing: CallableMessage<["dotnetMajorVersion", "downloadUrl"]>;
34
+ readonly invalidVersion: CallableMessage<["installedVersion", "dotnetMajorVersion", "downloadUrl"]>;
35
+ };
31
36
  "no-root-client": {
32
37
  readonly default: "Cannot generate CSharp SDK since no public root client is defined in typespec file.";
33
38
  };
@@ -50,6 +55,11 @@ readonly default: CallableMessage<["message"]>;
50
55
  "general-error": {
51
56
  readonly default: CallableMessage<["message"]>;
52
57
  };
58
+ "invalid-dotnet-sdk-dependency": {
59
+ readonly default: CallableMessage<[]>;
60
+ readonly missing: CallableMessage<["dotnetMajorVersion", "downloadUrl"]>;
61
+ readonly invalidVersion: CallableMessage<["installedVersion", "dotnetMajorVersion", "downloadUrl"]>;
62
+ };
53
63
  "no-root-client": {
54
64
  readonly default: "Cannot generate CSharp SDK since no public root client is defined in typespec file.";
55
65
  };
@@ -139,7 +149,7 @@ export declare interface NetEmitterOptions extends SdkEmitterOptions {
139
149
 
140
150
  export declare const NetEmitterOptionsSchema: JSONSchemaType<NetEmitterOptions>;
141
151
 
142
- export declare const reportDiagnostic: <C extends "no-apiVersion" | "no-route" | "invalid-name" | "general-warning" | "general-error" | "no-root-client" | "unsupported-auth", M extends keyof {
152
+ export declare const reportDiagnostic: <C extends "no-apiVersion" | "no-route" | "invalid-name" | "general-warning" | "general-error" | "invalid-dotnet-sdk-dependency" | "no-root-client" | "unsupported-auth", M extends keyof {
143
153
  "no-apiVersion": {
144
154
  readonly default: CallableMessage<["service"]>;
145
155
  };
@@ -155,6 +165,11 @@ export declare const reportDiagnostic: <C extends "no-apiVersion" | "no-route" |
155
165
  "general-error": {
156
166
  readonly default: CallableMessage<["message"]>;
157
167
  };
168
+ "invalid-dotnet-sdk-dependency": {
169
+ readonly default: CallableMessage<[]>;
170
+ readonly missing: CallableMessage<["dotnetMajorVersion", "downloadUrl"]>;
171
+ readonly invalidVersion: CallableMessage<["installedVersion", "dotnetMajorVersion", "downloadUrl"]>;
172
+ };
158
173
  "no-root-client": {
159
174
  readonly default: "Cannot generate CSharp SDK since no public root client is defined in typespec file.";
160
175
  };
@@ -177,6 +192,11 @@ readonly default: CallableMessage<["message"]>;
177
192
  "general-error": {
178
193
  readonly default: CallableMessage<["message"]>;
179
194
  };
195
+ "invalid-dotnet-sdk-dependency": {
196
+ readonly default: CallableMessage<[]>;
197
+ readonly missing: CallableMessage<["dotnetMajorVersion", "downloadUrl"]>;
198
+ readonly invalidVersion: CallableMessage<["installedVersion", "dotnetMajorVersion", "downloadUrl"]>;
199
+ };
180
200
  "no-root-client": {
181
201
  readonly default: "Cannot generate CSharp SDK since no public root client is defined in typespec file.";
182
202
  };
@@ -230,4 +250,11 @@ export declare function setSDKContextOptions(options: CreateSdkContextOptions):
230
250
 
231
251
  export declare const tspOutputFileName = "tspCodeModel.json";
232
252
 
253
+ /** check the dotnet sdk installation.
254
+ * Report diagnostic if dotnet sdk is not installed or its version does not meet prerequisite
255
+ * @param program The typespec compiler program
256
+ * @param minVersionRequisite The minimum required major version
257
+ */
258
+ export declare function validateDotNetSdk(program: Program, minMajorVersion: number): Promise<boolean>;
259
+
233
260
  export { }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/http-client-csharp",
3
- "version": "0.1.9-alpha.20250121.1",
3
+ "version": "0.1.9-alpha.20250121.3",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "The typespec library that can be used to generate C# models from a TypeSpec REST protocol binding",
6
6
  "homepage": "https://github.com/Microsoft/typespec",