@azure-tools/typespec-python 0.28.0 → 0.29.0

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 (50) hide show
  1. package/dist/scripts/regenerate.js +8 -9
  2. package/dist/scripts/regenerate.js.map +1 -1
  3. package/dist/scripts/run-python3.d.ts +2 -0
  4. package/dist/scripts/run-python3.d.ts.map +1 -0
  5. package/dist/scripts/run-python3.js +23 -0
  6. package/dist/scripts/run-python3.js.map +1 -0
  7. package/dist/scripts/run-tests.d.ts +2 -0
  8. package/dist/scripts/run-tests.d.ts.map +1 -0
  9. package/dist/scripts/run-tests.js +50 -0
  10. package/dist/scripts/run-tests.js.map +1 -0
  11. package/dist/scripts/system-requirements.d.ts +17 -0
  12. package/dist/scripts/system-requirements.d.ts.map +1 -0
  13. package/{scripts/system-requirements.cjs → dist/scripts/system-requirements.js} +80 -97
  14. package/dist/scripts/system-requirements.js.map +1 -0
  15. package/dist/src/code-model.d.ts.map +1 -1
  16. package/dist/src/code-model.js +19 -16
  17. package/dist/src/code-model.js.map +1 -1
  18. package/dist/src/emitter.js +1 -1
  19. package/dist/src/emitter.js.map +1 -1
  20. package/dist/src/external-process.js +1 -1
  21. package/dist/src/external-process.js.map +1 -1
  22. package/dist/src/http.js +23 -18
  23. package/dist/src/http.js.map +1 -1
  24. package/dist/src/types.d.ts +7 -1
  25. package/dist/src/types.d.ts.map +1 -1
  26. package/dist/src/types.js +37 -2
  27. package/dist/src/types.js.map +1 -1
  28. package/dist/src/utils.d.ts +1 -1
  29. package/dist/src/utils.d.ts.map +1 -1
  30. package/dist/src/utils.js +6 -8
  31. package/dist/src/utils.js.map +1 -1
  32. package/generator/pygen/codegen/models/__init__.py +2 -0
  33. package/generator/pygen/codegen/models/code_model.py +2 -4
  34. package/generator/pygen/codegen/models/model_type.py +1 -2
  35. package/generator/pygen/codegen/models/operation.py +13 -16
  36. package/generator/pygen/codegen/models/primitive_types.py +26 -0
  37. package/generator/pygen/codegen/models/property.py +1 -9
  38. package/generator/pygen/codegen/serializers/builder_serializer.py +2 -2
  39. package/generator/pygen/codegen/serializers/general_serializer.py +0 -1
  40. package/generator/pygen/codegen/serializers/model_serializer.py +2 -0
  41. package/generator/pygen/codegen/serializers/sample_serializer.py +19 -12
  42. package/generator/pygen/codegen/templates/model_base.py.jinja2 +24 -18
  43. package/generator/pygen/codegen/templates/vendor.py.jinja2 +0 -2
  44. package/package.json +12 -21
  45. package/scripts/__pycache__/venvtools.cpython-310.pyc +0 -0
  46. package/scripts/regenerate.ts +7 -8
  47. package/scripts/run-python3.ts +25 -0
  48. package/scripts/run-tests.ts +57 -0
  49. package/scripts/system-requirements.ts +253 -0
  50. package/scripts/run-python3.cjs +0 -22
@@ -9,7 +9,7 @@ import { fileURLToPath } from "url";
9
9
  // Promisify the exec function
10
10
  const exec = promisify(execCallback);
11
11
  // Get the directory of the current file
12
- const PLUGIN_DIR = resolve(fileURLToPath(import.meta.url), "../../../");
12
+ const PLUGIN_DIR = resolve(fileURLToPath(import.meta.url), "../../");
13
13
  const CADL_RANCH_DIR = resolve(PLUGIN_DIR, "node_modules/@azure-tools/cadl-ranch-specs/http");
14
14
  const EMITTER_OPTIONS = {
15
15
  "resiliency/srv-driven/old.tsp": {
@@ -142,6 +142,12 @@ async function getSubdirectories(baseDir, flags) {
142
142
  const mainTspRelativePath = toPosix(relative(baseDir, mainTspPath));
143
143
  if (flags.flavor === "unbranded" && mainTspRelativePath.includes("azure"))
144
144
  return;
145
+ // after xml support, remove this check
146
+ if (mainTspRelativePath.includes("xml"))
147
+ return;
148
+ // after fix test generation for nested operation group, remove this check
149
+ if (mainTspRelativePath.includes("client-operation-group"))
150
+ return;
145
151
  const hasMainTsp = await promises
146
152
  .access(mainTspPath)
147
153
  .then(() => true)
@@ -176,12 +182,11 @@ function defaultPackageName(spec) {
176
182
  .toLowerCase();
177
183
  }
178
184
  function addOptions(spec, generatedFolder, flags) {
179
- var _a;
180
185
  const emitterConfigs = [];
181
186
  for (const config of getEmitterOption(spec)) {
182
187
  const options = { ...config };
183
188
  options["flavor"] = flags.flavor;
184
- for (const [k, v] of Object.entries((_a = SpecialFlags[flags.flavor]) !== null && _a !== void 0 ? _a : {})) {
189
+ for (const [k, v] of Object.entries(SpecialFlags[flags.flavor] ?? {})) {
185
190
  options[k] = v;
186
191
  }
187
192
  if (options["emitter-output-dir"] === undefined) {
@@ -230,12 +235,6 @@ async function regenerate(flags) {
230
235
  return true;
231
236
  }
232
237
  }
233
- // try {
234
- // const output = await executeCommand('tsp compile');
235
- // console.log(`Command output: ${output}`);
236
- // } catch (error) {
237
- // console.error(`Command failed: ${error}`);
238
- // }
239
238
  // PARSE INPUT ARGUMENTS
240
239
  const argv = yargs(hideBin(process.argv))
241
240
  .option("flavor", {
@@ -1 +1 @@
1
- {"version":3,"file":"regenerate.js","sourceRoot":"","sources":["../../scripts/regenerate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"regenerate.js","sourceRoot":"","sources":["../../scripts/regenerate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=run-python3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-python3.d.ts","sourceRoot":"","sources":["../../scripts/run-python3.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ // This script wraps logic in @azure-tools/extension to resolve
2
+ // the path to Python 3 so that a Python script file can be run
3
+ // from an npm script in package.json. It uses the same Python 3
4
+ // path resolution algorithm as AutoRest so that the behavior
5
+ // is fully consistent (and also supports AUTOREST_PYTHON_EXE).
6
+ //
7
+ // Invoke it like so: "tsx run-python3.ts script.py"
8
+ import cp from "child_process";
9
+ import { patchPythonPath } from "./system-requirements.js";
10
+ async function runPython3(...args) {
11
+ const command = await patchPythonPath(["python", ...args], {
12
+ version: ">=3.8",
13
+ environmentVariable: "AUTOREST_PYTHON_EXE",
14
+ });
15
+ cp.execSync(command.join(" "), {
16
+ stdio: [0, 1, 2],
17
+ });
18
+ }
19
+ runPython3(...process.argv.slice(2)).catch((err) => {
20
+ console.error(err.toString()); // eslint-disable-line no-console
21
+ process.exit(1);
22
+ });
23
+ //# sourceMappingURL=run-python3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-python3.js","sourceRoot":"","sources":["../../scripts/run-python3.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAC/D,iEAAiE;AACjE,6DAA6D;AAC7D,+DAA+D;AAC/D,EAAE;AACF,oDAAoD;AAEpD,OAAO,EAAE,MAAM,eAAe,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,KAAK,UAAU,UAAU,CAAC,GAAG,IAAc;IACvC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE;QACvD,OAAO,EAAE,OAAO;QAChB,mBAAmB,EAAE,qBAAqB;KAC7C,CAAC,CAAC;IACH,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC3B,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACnB,CAAC,CAAC;AACP,CAAC;AAED,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC/C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,iCAAiC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=run-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-tests.d.ts","sourceRoot":"","sources":["../../scripts/run-tests.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ /* eslint-disable no-console */
2
+ import { execSync } from "child_process";
3
+ import yargs from "yargs";
4
+ import { hideBin } from "yargs/helpers";
5
+ const validFolders = ["azure", "unbranded"];
6
+ const validCommands = ["ci", "lint", "mypy", "pyright", "apiview"];
7
+ // Parse command-line arguments using yargs
8
+ const argv = yargs(hideBin(process.argv))
9
+ .option("folder", {
10
+ alias: "f",
11
+ describe: "Specify the folder to use",
12
+ choices: validFolders,
13
+ type: "string",
14
+ })
15
+ .option("command", {
16
+ alias: "c",
17
+ describe: "Specify the command to run",
18
+ choices: validCommands,
19
+ type: "string",
20
+ }).argv;
21
+ const foldersToProcess = argv.folder ? [argv.folder] : validFolders;
22
+ const commandToRun = argv.command || "all";
23
+ function getCommand(command, folder) {
24
+ if (!validCommands.includes(command))
25
+ throw new Error(`Unknown command '${command}'.`);
26
+ return `FOLDER=${folder} tox -c ./test/${folder}/tox.ini -e ${command}`;
27
+ }
28
+ foldersToProcess.forEach((folder) => {
29
+ try {
30
+ if (commandToRun === "all") {
31
+ for (const key of validCommands) {
32
+ console.log(`Running ${key} for folder ${folder}...`);
33
+ execSync(getCommand(key, folder), { stdio: "inherit" });
34
+ }
35
+ }
36
+ else if (getCommand(commandToRun, folder)) {
37
+ console.log(`Running ${commandToRun} for folder ${folder}...`);
38
+ execSync(getCommand(commandToRun, folder), { stdio: "inherit" });
39
+ }
40
+ else {
41
+ console.error(`Error: Unknown command '${commandToRun}'.`);
42
+ process.exit(1);
43
+ }
44
+ }
45
+ catch (error) {
46
+ console.error(`Error executing command for folder ${folder}: ${error.message}`);
47
+ process.exit(1);
48
+ }
49
+ });
50
+ //# sourceMappingURL=run-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-tests.js","sourceRoot":"","sources":["../../scripts/run-tests.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAOxC,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAE5C,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAEnE,2CAA2C;AAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACpC,MAAM,CAAC,QAAQ,EAAE;IACd,KAAK,EAAE,GAAG;IACV,QAAQ,EAAE,2BAA2B;IACrC,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,QAAQ;CACjB,CAAC;KACD,MAAM,CAAC,SAAS,EAAE;IACf,KAAK,EAAE,GAAG;IACV,QAAQ,EAAE,4BAA4B;IACtC,OAAO,EAAE,aAAa;IACtB,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC,IAAiB,CAAC;AAEzB,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAEpE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;AAE3C,SAAS,UAAU,CAAC,OAAe,EAAE,MAAc;IAC/C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,IAAI,CAAC,CAAC;IACvF,OAAO,UAAU,MAAM,kBAAkB,MAAM,eAAe,OAAO,EAAE,CAAC;AAC5E,CAAC;AAED,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;IAChC,IAAI;QACA,IAAI,YAAY,KAAK,KAAK,EAAE;YACxB,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;gBAC7B,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,eAAe,MAAM,KAAK,CAAC,CAAC;gBACtD,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;aAC3D;SACJ;aAAM,IAAI,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE;YACzC,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,eAAe,MAAM,KAAK,CAAC,CAAC;YAC/D,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;SACpE;aAAM;YACH,OAAO,CAAC,KAAK,CAAC,2BAA2B,YAAY,IAAI,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACnB;KACJ;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,sCAAsC,MAAM,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @param command list of the command and arguments. First item in array must be a python exe @see KnownPythonExe. (e.g. ["python", "mypythonfile.py"]
3
+ * @param requirement
4
+ */
5
+ export declare const patchPythonPath: (command: PythonCommandLine, requirement: SystemRequirement) => Promise<string[]>;
6
+ type KnownPythonExe = "python.exe" | "python3.exe" | "python" | "python3";
7
+ type PythonCommandLine = [KnownPythonExe, ...string[]];
8
+ interface SystemRequirement {
9
+ version?: string;
10
+ /**
11
+ * Name of an environment variable where the user could provide the path to the exe.
12
+ * @example "AUTOREST_PYTHON_PATH"
13
+ */
14
+ environmentVariable?: string;
15
+ }
16
+ export {};
17
+ //# sourceMappingURL=system-requirements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-requirements.d.ts","sourceRoot":"","sources":["../../scripts/system-requirements.ts"],"names":[],"mappings":"AAgLA;;;GAGG;AACH,eAAO,MAAM,eAAe,4CAEX,iBAAiB,KAC/B,QAAQ,MAAM,EAAE,CAOlB,CAAC;AAOF,KAAK,cAAc,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC1E,KAAK,iBAAiB,GAAG,CAAC,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAQvD,UAAU,iBAAiB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC"}
@@ -1,59 +1,46 @@
1
- const semver = require("semver");
2
- const child_process = require("child_process");
3
-
1
+ import { spawn } from "child_process";
2
+ import { coerce, satisfies } from "semver";
4
3
  /*
5
4
  * Copied from @autorest/system-requirements
6
5
  */
7
-
8
- const PythonRequirement = "python";
9
- const PRINT_PYTHON_VERSION_SCRIPT = "import sys; print('.'.join(map(str, sys.version_info[:3])))";
10
-
11
-
12
- function execute(command, cmdlineargs, options = {}) {
6
+ const execute = (command, cmdlineargs, options = {}) => {
13
7
  return new Promise((resolve, reject) => {
14
- const cp = child_process.spawn(command, cmdlineargs, { ...options, stdio: "pipe", shell: true });
15
- if (options.onCreate) {
16
- options.onCreate(cp);
17
- }
18
-
19
- options.onStdOutData ? cp.stdout.on("data", options.onStdOutData) : cp;
20
- options.onStdErrData ? cp.stderr.on("data", options.onStdErrData) : cp;
21
-
22
- let err = "";
23
- let out = "";
24
- let all = "";
25
- cp.stderr.on("data", (chunk) => {
26
- err += chunk;
27
- all += chunk;
28
- });
29
- cp.stdout.on("data", (chunk) => {
30
- out += chunk;
31
- all += chunk;
32
- });
33
-
34
- cp.on("error", (err) => {
35
- reject(err);
36
- });
37
- cp.on("close", (code, signal) =>
38
- resolve({
39
- stdout: out,
40
- stderr: err,
41
- log: all,
42
- error: code ? new Error("Process Failed.") : null,
43
- code,
44
- }),
45
- );
8
+ const cp = spawn(command, cmdlineargs, { ...options, stdio: "pipe", shell: true });
9
+ if (options.onCreate) {
10
+ options.onCreate(cp);
11
+ }
12
+ options.onStdOutData ? cp.stdout.on("data", options.onStdOutData) : cp;
13
+ options.onStdErrData ? cp.stderr.on("data", options.onStdErrData) : cp;
14
+ let err = "";
15
+ let out = "";
16
+ let all = "";
17
+ cp.stderr.on("data", (chunk) => {
18
+ err += chunk;
19
+ all += chunk;
20
+ });
21
+ cp.stdout.on("data", (chunk) => {
22
+ out += chunk;
23
+ all += chunk;
24
+ });
25
+ cp.on("error", (err) => {
26
+ reject(err);
27
+ });
28
+ cp.on("close", (code, signal) => resolve({
29
+ stdout: out,
30
+ stderr: err,
31
+ log: all,
32
+ error: code ? new Error("Process Failed.") : null,
33
+ code,
34
+ }));
46
35
  });
47
36
  };
48
-
49
- function versionIsSatisfied(version, requirement) {
50
- const cleanedVersion = semver.coerce(version);
51
- if (!cleanedVersion) {
52
- throw new Error(`Invalid version ${version}.`);
53
- }
54
- return semver.satisfies(cleanedVersion, requirement, true);
37
+ const versionIsSatisfied = (version, requirement) => {
38
+ const cleanedVersion = coerce(version);
39
+ if (!cleanedVersion) {
40
+ throw new Error(`Invalid version ${version}.`);
41
+ }
42
+ return satisfies(cleanedVersion, requirement, true);
55
43
  };
56
-
57
44
  /**
58
45
  * Validate the provided system requirement resolution is satisfying the version requirement if applicable.
59
46
  * @param resolution Command resolution.
@@ -61,68 +48,62 @@ function versionIsSatisfied(version, requirement) {
61
48
  * @param requirement Requirement.
62
49
  * @returns the resolution if it is valid or an @see SystemRequirementError if not.
63
50
  */
64
- function validateVersionRequirement(resolution, actualVersion, requirement) {
51
+ const validateVersionRequirement = (resolution, actualVersion, requirement) => {
65
52
  if (!requirement.version) {
66
53
  return resolution; // No version requirement.
67
- }
68
-
69
- try {
54
+ }
55
+ try {
70
56
  if (versionIsSatisfied(actualVersion, requirement.version)) {
71
- return resolution;
57
+ return resolution;
72
58
  }
73
59
  return {
74
- ...resolution,
75
- error: true,
76
- message: `'${resolution.command}' version is '${actualVersion}' but doesn't satisfy requirement '${requirement.version}'. Please update.`,
77
- actualVersion: actualVersion,
78
- neededVersion: requirement.version,
60
+ ...resolution,
61
+ error: true,
62
+ message: `'${resolution.command}' version is '${actualVersion}' but doesn't satisfy requirement '${requirement.version}'. Please update.`,
63
+ actualVersion: actualVersion,
64
+ neededVersion: requirement.version,
79
65
  };
80
- } catch {
66
+ }
67
+ catch {
81
68
  return {
82
- ...resolution,
83
- error: true,
84
- message: `Couldn't parse the version ${actualVersion}. This is not a valid semver version.`,
85
- actualVersion: actualVersion,
86
- neededVersion: requirement.version,
69
+ ...resolution,
70
+ error: true,
71
+ message: `Couldn't parse the version ${actualVersion}. This is not a valid semver version.`,
72
+ actualVersion: actualVersion,
73
+ neededVersion: requirement.version,
87
74
  };
88
- }
75
+ }
89
76
  };
90
-
91
- async function tryPython(requirement, command, additionalArgs = []) {
77
+ const tryPython = async (requirement, command, additionalArgs = []) => {
92
78
  const resolution = {
93
79
  name: PythonRequirement,
94
80
  command,
95
81
  additionalArgs: additionalArgs.length > 0 ? additionalArgs : undefined,
96
- };
97
-
98
- try {
82
+ };
83
+ try {
99
84
  const result = await execute(command, [...additionalArgs, "-c", `"${PRINT_PYTHON_VERSION_SCRIPT}"`]);
100
85
  return validateVersionRequirement(resolution, result.stdout.trim(), requirement);
101
- } catch (e) {
86
+ }
87
+ catch (e) {
102
88
  return {
103
- error: true,
104
- ...resolution,
105
- message: `'${command}' command line is not found in the path. Make sure to have it installed.`,
89
+ error: true,
90
+ ...resolution,
91
+ message: `'${command}' command line is not found in the path. Make sure to have it installed.`,
106
92
  };
107
- }
93
+ }
108
94
  };
109
-
110
95
  /**
111
96
  * Returns the path to the executable as asked in the requirement.
112
97
  * @param requirement System requirement definition.
113
98
  * @returns If the requirement provide an environment variable for the path returns the value of that environment variable. undefined otherwise.
114
99
  */
115
- function getExecutablePath(requirement) {
116
- return requirement.environmentVariable && process.env[requirement.environmentVariable];
117
- }
118
-
119
- function createPythonErrorMessage(requirement, errors) {
100
+ const getExecutablePath = (requirement) => requirement.environmentVariable && process.env[requirement.environmentVariable];
101
+ const createPythonErrorMessage = (requirement, errors) => {
120
102
  const versionReq = requirement.version ?? "*";
121
103
  const lines = [
122
104
  `Couldn't find a valid python interpreter satisfying the requirement (version: ${versionReq}). Tried:`,
123
105
  ...errors.map((x) => ` - ${x.command} (${x.message})`),
124
106
  ];
125
-
126
107
  return {
127
108
  error: true,
128
109
  name: "python",
@@ -130,46 +111,44 @@ function createPythonErrorMessage(requirement, errors) {
130
111
  message: lines.join("\n"),
131
112
  };
132
113
  };
133
-
134
- async function resolvePythonRequirement(requirement) {
114
+ const resolvePythonRequirement = async (requirement) => {
115
+ // Hardcoding AUTOREST_PYTHON_EXE is for backward compatibility
135
116
  const path = getExecutablePath(requirement) ?? process.env["AUTOREST_PYTHON_EXE"];
136
117
  if (path) {
137
118
  return await tryPython(requirement, path);
138
119
  }
139
-
140
120
  const errors = [];
141
121
  // On windows try `py` executable with `-3` flag.
142
122
  if (process.platform === "win32") {
143
123
  const pyResult = await tryPython(requirement, "py", ["-3"]);
144
124
  if ("error" in pyResult) {
145
- errors.push(pyResult);
146
- } else {
147
- return pyResult;
125
+ errors.push(pyResult);
126
+ }
127
+ else {
128
+ return pyResult;
148
129
  }
149
130
  }
150
-
151
131
  const python3Result = await tryPython(requirement, "python3");
152
132
  if ("error" in python3Result) {
153
133
  errors.push(python3Result);
154
- } else {
134
+ }
135
+ else {
155
136
  return python3Result;
156
137
  }
157
-
158
138
  const pythonResult = await tryPython(requirement, "python");
159
139
  if ("error" in pythonResult) {
160
140
  errors.push(pythonResult);
161
- } else {
141
+ }
142
+ else {
162
143
  return pythonResult;
163
144
  }
164
-
165
145
  return createPythonErrorMessage(requirement, errors);
166
146
  };
167
-
168
147
  /**
169
148
  * @param command list of the command and arguments. First item in array must be a python exe @see KnownPythonExe. (e.g. ["python", "mypythonfile.py"]
170
149
  * @param requirement
171
150
  */
172
- async function patchPythonPath(command, requirement) {
151
+ export const patchPythonPath = async (command, requirement) => {
173
152
  const [_, ...args] = command;
174
153
  const resolution = await resolvePythonRequirement(requirement);
175
154
  if ("error" in resolution) {
@@ -177,4 +156,8 @@ async function patchPythonPath(command, requirement) {
177
156
  }
178
157
  return [resolution.command, ...(resolution.additionalArgs ?? []), ...args];
179
158
  };
180
- module.exports.patchPythonPath = patchPythonPath;
159
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
160
+ // TYPES
161
+ const PythonRequirement = "python";
162
+ const PRINT_PYTHON_VERSION_SCRIPT = "import sys; print('.'.join(map(str, sys.version_info[:3])))";
163
+ //# sourceMappingURL=system-requirements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-requirements.js","sourceRoot":"","sources":["../../scripts/system-requirements.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"code-model.d.ts","sourceRoot":"","sources":["../../src/code-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAWH,mBAAmB,EAGtB,MAAM,6CAA6C,CAAC;AAIrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAgM5C,wBAAgB,aAAa,CAAC,iBAAiB,SAAS,mBAAmB,EACvE,UAAU,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,uBA+BlD"}
1
+ {"version":3,"file":"code-model.d.ts","sourceRoot":"","sources":["../../src/code-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAWH,mBAAmB,EAGtB,MAAM,6CAA6C,CAAC;AAIrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAgM5C,wBAAgB,aAAa,CAAC,iBAAiB,SAAS,mBAAmB,EACvE,UAAU,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,uBAkClD"}
@@ -1,5 +1,5 @@
1
1
  import { UsageFlags, getCrossLanguagePackageId, } from "@azure-tools/typespec-client-generator-core";
2
- import { KnownTypes, emitEndpointType, getType, simpleTypesMap, typesMap } from "./types.js";
2
+ import { KnownTypes, disableGenerationMap, emitEndpointType, getType, simpleTypesMap, typesMap } from "./types.js";
3
3
  import { emitParamBase, getImplementation, removeUnderscoresFromNamespace } from "./utils.js";
4
4
  import { emitBasicHttpMethod, emitLroHttpMethod, emitLroPagingHttpMethod, emitPagingHttpMethod } from "./http.js";
5
5
  import { ignoreDiagnostics } from "@typespec/compiler";
@@ -125,23 +125,23 @@ function emitOperationGroups(context, client, rootClient, prefix) {
125
125
  return operationGroups.length > 0 ? operationGroups : undefined;
126
126
  }
127
127
  function emitClient(context, client) {
128
- var _a, _b, _c, _d;
129
128
  if (client.initialization) {
130
129
  context.__endpointPathParameters = [];
131
130
  }
132
- const parameters = (_b = (_a = client.initialization) === null || _a === void 0 ? void 0 : _a.properties.map((x) => emitMethodParameter(context, x)).reduce((a, b) => [...a, ...b])) !== null && _b !== void 0 ? _b : [];
133
- const endpointParameter = (_c = client.initialization) === null || _c === void 0 ? void 0 : _c.properties.find((x) => x.kind === "endpoint");
131
+ const parameters = client.initialization?.properties.map((x) => emitMethodParameter(context, x)).reduce((a, b) => [...a, ...b]) ??
132
+ [];
133
+ const endpointParameter = client.initialization?.properties.find((x) => x.kind === "endpoint");
134
134
  const operationGroups = emitOperationGroups(context, client, client, "");
135
135
  let url;
136
- if ((endpointParameter === null || endpointParameter === void 0 ? void 0 : endpointParameter.type.kind) === "union") {
136
+ if (endpointParameter?.type.kind === "union") {
137
137
  url = endpointParameter.type.values[0].serverUrl;
138
138
  }
139
139
  else {
140
- url = endpointParameter === null || endpointParameter === void 0 ? void 0 : endpointParameter.type.serverUrl;
140
+ url = endpointParameter?.type.serverUrl;
141
141
  }
142
142
  return {
143
143
  name: client.name,
144
- description: (_d = client.description) !== null && _d !== void 0 ? _d : "",
144
+ description: client.description ?? "",
145
145
  parameters,
146
146
  operationGroups,
147
147
  url,
@@ -157,11 +157,22 @@ export function emitCodeModel(sdkContext) {
157
157
  clients: [],
158
158
  subnamespaceToClients: {},
159
159
  };
160
+ for (const client of sdkPackage.clients) {
161
+ codeModel["clients"].push(emitClient(sdkContext, client));
162
+ if (client.nameSpace === sdkPackage.rootNamespace) {
163
+ }
164
+ else {
165
+ codeModel["subnamespaceToClients"][client.nameSpace] = emitClient(sdkContext, client);
166
+ }
167
+ }
168
+ // loop through models and enums since there may be some orphaned models needs to be generated
160
169
  for (const model of sdkPackage.models) {
161
170
  if (model.name === "" || (model.usage & UsageFlags.Spread) > 0) {
162
171
  continue;
163
172
  }
164
- getType(sdkContext, model);
173
+ if (!disableGenerationMap.has(model)) {
174
+ getType(sdkContext, model);
175
+ }
165
176
  }
166
177
  for (const sdkEnum of sdkPackage.enums) {
167
178
  if (sdkEnum.usage === UsageFlags.ApiVersionEnum) {
@@ -169,14 +180,6 @@ export function emitCodeModel(sdkContext) {
169
180
  }
170
181
  getType(sdkContext, sdkEnum);
171
182
  }
172
- for (const client of sdkPackage.clients) {
173
- codeModel["clients"].push(emitClient(sdkContext, client));
174
- if (client.nameSpace === sdkPackage.rootNamespace) {
175
- }
176
- else {
177
- codeModel["subnamespaceToClients"][client.nameSpace] = emitClient(sdkContext, client);
178
- }
179
- }
180
183
  codeModel["types"] = [...typesMap.values(), ...Object.values(KnownTypes), ...simpleTypesMap.values()];
181
184
  codeModel["crossLanguagePackageId"] = ignoreDiagnostics(getCrossLanguagePackageId(sdkContext));
182
185
  return codeModel;
@@ -1 +1 @@
1
- {"version":3,"file":"code-model.js","sourceRoot":"","sources":["../../src/code-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAYH,UAAU,EACV,yBAAyB,GAC5B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAElH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,SAAS,eAAe,CACpB,OAA4C,EAC5C,UAA4C,EAC5C,MAAgD,EAChD,kBAA0B;IAE1B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACnG,QAAQ,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3B,KAAK,MAAM;YACP,OAAO,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAChF;YACI,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KACpE;AACL,CAAC;AAED,SAAS,aAAa,CAClB,OAA4C,EAC5C,UAA4C,EAC5C,MAA8C,EAC9C,kBAA0B;IAE1B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACnG,QAAQ,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3B,KAAK,MAAM;YACP,OAAO,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC9E;YACI,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KACpE;AACL,CAAC;AAED,SAAS,gBAAgB,CACrB,OAA4C,EAC5C,UAA4C,EAC5C,MAAiD,EACjD,kBAA0B;IAE1B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACnG,QAAQ,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3B,KAAK,MAAM;YACP,OAAO,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACjF;YACI,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KACpE;AACL,CAAC;AAED,SAAS,mBAAmB,CACxB,OAA4C,EAC5C,UAA4C,EAC5C,MAAoD,EACpD,kBAA0B;IAE1B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACnG,QAAQ,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3B,KAAK,MAAM;YACP,OAAO,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACpF;YACI,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KACpE;AACL,CAAC;AAED,SAAS,mBAAmB,CACxB,OAA4C,EAC5C,SAA6E;IAE7E,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE;QAC/B,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACjC,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC7C,OAAO,gBAAgB,CAAC,OAAO,EAAE,WAA8B,CAAC,CAAC;aACpE;SACJ;aAAM;YACH,OAAO,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;SACpD;KACJ;IACD,MAAM,IAAI,GAAG;QACT,GAAG,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC;QACpC,cAAc,EAAE,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC;QACrD,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;QAChD,QAAQ,EAAE,SAAS,CAAC,IAAI;KAC3B,CAAC;IACF,IAAI,SAAS,CAAC,iBAAiB,EAAE;QAC7B,OAAO;YACH;gBACI,GAAG,IAAI;gBACP,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,aAAa;gBACvB,YAAY,EAAE,KAAK;aACtB;SACJ,CAAC;KACL;IACD,OAAO,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CACf,OAA4C,EAC5C,UAA4C,EAC5C,MAA2C,EAC3C,kBAA0B;IAE1B,QAAQ,MAAM,CAAC,IAAI,EAAE;QACjB,KAAK,OAAO;YACR,OAAO,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC5E,KAAK,KAAK;YACN,OAAO,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC1E,KAAK,QAAQ;YACT,OAAO,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC7E;YACI,OAAO,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;KACnF;AACL,CAAC;AAED,SAAS,mBAAmB,CACxB,OAA4C,EAC5C,MAAwC,EACxC,UAA4C,EAC5C,MAAc;IAEd,MAAM,eAAe,GAA0B,EAAE,CAAC;IAElD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;QACjC,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE;YAClC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;YACvC,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,UAAU,GAA0B,EAAE,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE;gBACzC,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB;oBAAE,SAAS;gBAC/C,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;aACjF;YACD,eAAe,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,cAAc,CAAC,IAAI;gBACjC,UAAU,EAAE,UAAU;gBACtB,eAAe,EAAE,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC;aAClF,CAAC,CAAC;SACN;KACJ;IAED,qDAAqD;IACrD,IAAI,MAAM,KAAK,EAAE,EAAE;QACf,IAAI,UAAU,GAA0B,EAAE,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;YACjC,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB;gBAAE,SAAS;YAC/C,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;SAC/E;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,eAAe,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,EAAE;gBACb,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,UAAU;aACzB,CAAC,CAAC;SACN;KACJ;IAED,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CACf,OAA4C,EAC5C,MAAwC;;IAExC,IAAI,MAAM,CAAC,cAAc,EAAE;QACvB,OAAO,CAAC,wBAAwB,GAAG,EAAE,CAAC;KACzC;IACD,MAAM,UAAU,GACZ,MAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,mCAC5G,EAAE,CAAC;IAEP,MAAM,iBAAiB,GAAG,MAAA,MAAM,CAAC,cAAc,0CAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAE9E,CAAC;IAChB,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACzE,IAAI,GAAuB,CAAC;IAC5B,IAAI,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,CAAC,IAAI,MAAK,OAAO,EAAE;QAC1C,GAAG,GAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAqB,CAAC,SAAS,CAAC;KACzE;SAAM;QACH,GAAG,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,CAAC,SAAS,CAAC;KAC3C;IACD,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAA,MAAM,CAAC,WAAW,mCAAI,EAAE;QACrC,UAAU;QACV,eAAe;QACf,GAAG;QACH,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;KACnB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,aAAa,CACzB,UAA+C;IAE/C,YAAY;IACZ,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IACzC,MAAM,SAAS,GAAwB;QACnC,SAAS,EAAE,8BAA8B,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;QACjF,OAAO,EAAE,EAAE;QACX,qBAAqB,EAAE,EAAE;KAC5B,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE;QACnC,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAC5D,SAAS;SACZ;QACD,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;KAC9B;IACD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE;QACpC,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC,cAAc,EAAE;YAC7C,SAAS;SACZ;QACD,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;KAChC;IACD,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE;QACrC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,aAAa,EAAE;SAClD;aAAM;YACH,SAAS,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;SACzF;KACJ;IACD,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IACtG,SAAS,CAAC,wBAAwB,CAAC,GAAG,iBAAiB,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/F,OAAO,SAAS,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"code-model.js","sourceRoot":"","sources":["../../src/code-model.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,7 @@ export async function $onEmit(context) {
58
58
  addDefaultOptions(sdkContext);
59
59
  const yamlPath = await saveCodeModelAsYaml("typespec-python-yaml-map", yamlMap);
60
60
  const commandArgs = [
61
- `${root}/scripts/run-python3.cjs`,
61
+ `${root}/dist/scripts/run-python3.js`,
62
62
  `${root}/scripts/run_tsp.py`,
63
63
  `--output-folder=${outputDir}`,
64
64
  `--cadl-file=${yamlPath}`,
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"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"}