@typespec/http-client-python 0.34.0 → 0.34.2
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/README.md +25 -3
- package/dist/emitter/emitter.d.ts.map +1 -1
- package/dist/emitter/emitter.js +2 -11
- package/dist/emitter/emitter.js.map +1 -1
- package/dist/emitter/external-process.d.ts +14 -0
- package/dist/emitter/external-process.d.ts.map +1 -1
- package/dist/emitter/external-process.js +17 -1
- package/dist/emitter/external-process.js.map +1 -1
- package/dist/emitter/lib.js +1 -1
- package/dist/emitter/lib.js.map +1 -1
- package/dist/emitter/node-runner.d.ts.map +1 -1
- package/dist/emitter/node-runner.js +2 -1
- package/dist/emitter/node-runner.js.map +1 -1
- package/dist/emitter/utils.d.ts +10 -0
- package/dist/emitter/utils.d.ts.map +1 -1
- package/dist/emitter/utils.js +12 -0
- package/dist/emitter/utils.js.map +1 -1
- package/emitter/src/emitter.ts +2 -14
- package/emitter/src/external-process.ts +18 -1
- package/emitter/src/lib.ts +1 -1
- package/emitter/src/node-runner.ts +2 -1
- package/emitter/src/utils.ts +13 -0
- package/emitter/temp/tsconfig.tsbuildinfo +1 -1
- package/emitter/test/external-process.test.ts +28 -0
- package/emitter/test/utils.test.ts +12 -1
- package/eng/scripts/setup/__pycache__/package_manager.cpython-311.pyc +0 -0
- package/eng/scripts/setup/__pycache__/venvtools.cpython-311.pyc +0 -0
- package/generator/build/lib/pygen/__init__.py +2 -0
- package/generator/build/lib/pygen/codegen/models/enum_type.py +7 -0
- package/generator/build/lib/pygen/codegen/models/model_type.py +4 -0
- package/generator/build/lib/pygen/codegen/serializers/types_serializer.py +105 -12
- package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +10 -9
- package/generator/build/lib/pygen/preprocess/__init__.py +55 -17
- package/generator/component-detection-pip-report.json +9 -9
- package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
- package/generator/pygen/__init__.py +2 -0
- package/generator/pygen/codegen/models/enum_type.py +7 -0
- package/generator/pygen/codegen/models/model_type.py +4 -0
- package/generator/pygen/codegen/serializers/types_serializer.py +105 -12
- package/generator/pygen/codegen/templates/model_base.py.jinja2 +10 -9
- package/generator/pygen/preprocess/__init__.py +55 -17
- package/package.json +33 -33
package/README.md
CHANGED
|
@@ -44,9 +44,9 @@ See [Configuring output directory for more info](https://typespec.io/docs/handbo
|
|
|
44
44
|
|
|
45
45
|
### `api-version`
|
|
46
46
|
|
|
47
|
-
**Type:** `
|
|
47
|
+
**Type:** `undefined`
|
|
48
48
|
|
|
49
|
-
Use this flag if you would like to generate the sdk only for a specific version. Default value is the latest version. Also accepts values `latest` and `all`.
|
|
49
|
+
Use this flag if you would like to generate the sdk only for a specific version. Default value is the latest version. Also accepts values `latest` and `all`. For multi-service packages, provide a map from each service namespace's full name to its desired version; services not listed default to their latest version.
|
|
50
50
|
|
|
51
51
|
### `license`
|
|
52
52
|
|
|
@@ -112,7 +112,17 @@ Whether to validate the versioning of the package. Defaults to `true`. If set to
|
|
|
112
112
|
|
|
113
113
|
**Type:** `string`
|
|
114
114
|
|
|
115
|
-
The subdirectory to generate the code in. If not specified, the code
|
|
115
|
+
The subdirectory (relative to the package namespace folder) to generate the code in. Use this to keep emitter-generated code separate from hand-written/customized code, so regeneration only overwrites the subdirectory and leaves your customizations untouched. If not specified, the code is generated directly in the package namespace folder. Note: if you're using this flag, you will need to add and maintain the versioning file (`_version.py`) yourself.
|
|
116
|
+
|
|
117
|
+
Example: for `namespace: azure.storage.blob` with `generation-subdir: _generated`, generated code lands in `azure/storage/blob/_generated/` while your customized code lives in `azure/storage/blob/`. A typical `tspconfig.yaml` looks like:
|
|
118
|
+
|
|
119
|
+
```yaml
|
|
120
|
+
options:
|
|
121
|
+
"@azure-tools/typespec-python":
|
|
122
|
+
emitter-output-dir: "{output-dir}/{service-dir}/azure-storage-blob"
|
|
123
|
+
namespace: "azure.storage.blob"
|
|
124
|
+
generation-subdir: "_generated"
|
|
125
|
+
```
|
|
116
126
|
|
|
117
127
|
### `keep-setup-py`
|
|
118
128
|
|
|
@@ -120,8 +130,20 @@ The subdirectory to generate the code in. If not specified, the code will be gen
|
|
|
120
130
|
|
|
121
131
|
Whether to keep the existing `setup.py` when `generate-packaging-files` is `true`. If set to `false` and by default, `pyproject.toml` will be generated instead. To generate `setup.py`, use `basic-setup-py`.
|
|
122
132
|
|
|
133
|
+
### `keep-pyproject-fields`
|
|
134
|
+
|
|
135
|
+
**Type:** `object`
|
|
136
|
+
|
|
137
|
+
Which manually customized `[project]` fields to preserve in an existing `pyproject.toml` instead of overwriting them on regeneration. Set a field to `true` to keep it. By default no fields are preserved.
|
|
138
|
+
|
|
123
139
|
### `clear-output-folder`
|
|
124
140
|
|
|
125
141
|
**Type:** `boolean`
|
|
126
142
|
|
|
127
143
|
Whether to clear the output folder before generating the code. Defaults to `false`.
|
|
144
|
+
|
|
145
|
+
### `emit-yaml-only`
|
|
146
|
+
|
|
147
|
+
**Type:** `boolean`
|
|
148
|
+
|
|
149
|
+
Emit YAML code model only, without running Python generator. For batch processing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../emitter/src/emitter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAiC,MAAM,oBAAoB,CAAC;AAUhF,OAAO,EAAE,oBAAoB,EAAsC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../emitter/src/emitter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAiC,MAAM,oBAAoB,CAAC;AAUhF,OAAO,EAAE,oBAAoB,EAAsC,MAAM,UAAU,CAAC;AAgJpF,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,oBAAoB,CAAC,iBAevE"}
|
package/dist/emitter/emitter.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createSdkContext } from "@azure-tools/typespec-client-generator-core";
|
|
2
2
|
import { emitFile, joinPaths, NoTarget } from "@typespec/compiler";
|
|
3
|
-
import jsyaml from "js-yaml";
|
|
4
3
|
import pkgJson from "../../package.json" with { type: "json" };
|
|
5
4
|
import { emitCodeModel } from "./code-model.js";
|
|
6
5
|
import { BLOB_STORAGE_BASE_URL, PACKAGE_NAME, PYGEN_WHEEL_FILENAME, PYODIDE_VERSION, } from "./constants.js";
|
|
6
|
+
import { dumpCodeModelToYaml } from "./external-process.js";
|
|
7
7
|
import { reportDiagnostic } from "./lib.js";
|
|
8
8
|
import { runNodeEmit } from "./node-runner.js";
|
|
9
9
|
import { loadPyodide } from "./pyodide-loader.js";
|
|
@@ -36,15 +36,6 @@ function addDefaultOptions(sdkContext) {
|
|
|
36
36
|
// Explicitly set unbranded flavor when not azure
|
|
37
37
|
options.flavor = "unbranded";
|
|
38
38
|
}
|
|
39
|
-
if (options["package-pprint-name"] !== undefined &&
|
|
40
|
-
!options["package-pprint-name"].startsWith('"')) {
|
|
41
|
-
// Only add quotes for shell compatibility when NOT using emit-yaml-only mode
|
|
42
|
-
// (emit-yaml-only passes options via JSON config files, not shell)
|
|
43
|
-
const needsShellQuoting = !options["use-pyodide"] && !options["emit-yaml-only"];
|
|
44
|
-
options["package-pprint-name"] = needsShellQuoting
|
|
45
|
-
? `"${options["package-pprint-name"]}"`
|
|
46
|
-
: `${options["package-pprint-name"]}`;
|
|
47
|
-
}
|
|
48
39
|
}
|
|
49
40
|
async function createPythonSdkContext(context) {
|
|
50
41
|
const sdkContext = await createSdkContext(context, "@azure-tools/typespec-python");
|
|
@@ -203,7 +194,7 @@ async function onEmitMain(context) {
|
|
|
203
194
|
pyodide.FS.mkdirTree("/yaml");
|
|
204
195
|
pyodide.FS.mkdirTree("/output");
|
|
205
196
|
clearMemfsDirectory(pyodide, "/output");
|
|
206
|
-
pyodide.FS.writeFile(yamlFilePath,
|
|
197
|
+
pyodide.FS.writeFile(yamlFilePath, dumpCodeModelToYaml(parsedYamlMap));
|
|
207
198
|
await runPyodideGeneration(pyodide, "/output", yamlFilePath, commandArgs);
|
|
208
199
|
await copyPyodideOutputToHost(context, pyodide, "/output");
|
|
209
200
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../emitter/src/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAe,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,
|
|
1
|
+
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../emitter/src/emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
import { ChildProcess, SpawnOptions } from "child_process";
|
|
2
2
|
export declare function createTempPath(extension: string, prefix?: string): string;
|
|
3
|
+
/**
|
|
4
|
+
* Serialize the given codemodel to a YAML string.
|
|
5
|
+
*
|
|
6
|
+
* The generated YAML is consumed by the Python generator, which parses it with
|
|
7
|
+
* PyYAML (YAML 1.1). js-yaml, on the other hand, dumps using YAML 1.2 rules, so
|
|
8
|
+
* plain scalars such as `2020_01_01` (a snake-cased enum member name) are left
|
|
9
|
+
* unquoted because YAML 1.2 does not treat underscores as integer separators.
|
|
10
|
+
* PyYAML would then read `2020_01_01` back as the integer `20200101`, corrupting
|
|
11
|
+
* string values (e.g. enum member names, descriptions). Forcing every string
|
|
12
|
+
* scalar to be quoted guarantees that PyYAML round-trips them as strings.
|
|
13
|
+
* @param codemodel Codemodel to serialize
|
|
14
|
+
* @return the YAML representation of the codemodel.
|
|
15
|
+
*/
|
|
16
|
+
export declare function dumpCodeModelToYaml(codemodel: unknown): string;
|
|
3
17
|
/**
|
|
4
18
|
* Save the given codemodel in a yaml file.
|
|
5
19
|
* @param name Name of the codemodel. To give a guide to the temp file name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-process.d.ts","sourceRoot":"","sources":["../../emitter/src/external-process.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAS,YAAY,EAAE,MAAM,eAAe,CAAC;AAQlE,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,MAAW,UAEpE;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAM3F;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,CAcnD"}
|
|
1
|
+
{"version":3,"file":"external-process.d.ts","sourceRoot":"","sources":["../../emitter/src/external-process.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAS,YAAY,EAAE,MAAM,eAAe,CAAC;AAQlE,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,MAAW,UAEpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAE9D;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAM3F;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,CAcnD"}
|
|
@@ -8,6 +8,22 @@ const tspCodeGenTempDir = joinPaths(os.tmpdir(), "tsp-codegen");
|
|
|
8
8
|
export function createTempPath(extension, prefix = "") {
|
|
9
9
|
return joinPaths(tspCodeGenTempDir, prefix + randomUUID() + extension);
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Serialize the given codemodel to a YAML string.
|
|
13
|
+
*
|
|
14
|
+
* The generated YAML is consumed by the Python generator, which parses it with
|
|
15
|
+
* PyYAML (YAML 1.1). js-yaml, on the other hand, dumps using YAML 1.2 rules, so
|
|
16
|
+
* plain scalars such as `2020_01_01` (a snake-cased enum member name) are left
|
|
17
|
+
* unquoted because YAML 1.2 does not treat underscores as integer separators.
|
|
18
|
+
* PyYAML would then read `2020_01_01` back as the integer `20200101`, corrupting
|
|
19
|
+
* string values (e.g. enum member names, descriptions). Forcing every string
|
|
20
|
+
* scalar to be quoted guarantees that PyYAML round-trips them as strings.
|
|
21
|
+
* @param codemodel Codemodel to serialize
|
|
22
|
+
* @return the YAML representation of the codemodel.
|
|
23
|
+
*/
|
|
24
|
+
export function dumpCodeModelToYaml(codemodel) {
|
|
25
|
+
return jsyaml.dump(codemodel, { forceQuotes: true, quotingType: '"' });
|
|
26
|
+
}
|
|
11
27
|
/**
|
|
12
28
|
* Save the given codemodel in a yaml file.
|
|
13
29
|
* @param name Name of the codemodel. To give a guide to the temp file name.
|
|
@@ -17,7 +33,7 @@ export function createTempPath(extension, prefix = "") {
|
|
|
17
33
|
export async function saveCodeModelAsYaml(name, codemodel) {
|
|
18
34
|
await mkdir(tspCodeGenTempDir, { recursive: true });
|
|
19
35
|
const filename = createTempPath(".yaml", name);
|
|
20
|
-
const yamlStr =
|
|
36
|
+
const yamlStr = dumpCodeModelToYaml(codemodel);
|
|
21
37
|
await writeFile(filename, yamlStr);
|
|
22
38
|
return filename;
|
|
23
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-process.js","sourceRoot":"","sources":["../../emitter/src/external-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAgB,KAAK,EAAgB,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,iBAAiB,GAAG,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC;AAEhE,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,SAAiB,EAAE;IACnE,OAAO,SAAS,CAAC,iBAAiB,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY,EAAE,SAAkB;IACxE,MAAM,KAAK,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"external-process.js","sourceRoot":"","sources":["../../emitter/src/external-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAgB,KAAK,EAAgB,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,iBAAiB,GAAG,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC;AAEhE,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,SAAiB,EAAE;IACnE,OAAO,SAAS,CAAC,iBAAiB,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAkB;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY,EAAE,SAAkB;IACxE,MAAM,KAAK,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAe,EACf,IAAc,EACd,UAAwB,EAAE;IAE1B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACrE,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;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;YAC5B,OAAO,CAAC;gBACN,QAAQ,EAAE,QAAQ,IAAI,CAAC,CAAC;gBACxB,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/emitter/lib.js
CHANGED
|
@@ -54,7 +54,7 @@ export const PythonEmitterOptionsSchema = {
|
|
|
54
54
|
"generation-subdir": {
|
|
55
55
|
type: "string",
|
|
56
56
|
nullable: true,
|
|
57
|
-
description:
|
|
57
|
+
description: 'The subdirectory (relative to the package namespace folder) to generate the code in. Use this to keep emitter-generated code separate from hand-written/customized code, so regeneration only overwrites the subdirectory and leaves your customizations untouched. If not specified, the code is generated directly in the package namespace folder. Note: if you\'re using this flag, you will need to add and maintain the versioning file (`_version.py`) yourself.\n\nExample: for `namespace: azure.storage.blob` with `generation-subdir: _generated`, generated code lands in `azure/storage/blob/_generated/` while your customized code lives in `azure/storage/blob/`. A typical `tspconfig.yaml` looks like:\n\n```yaml\noptions:\n "@azure-tools/typespec-python":\n emitter-output-dir: "{output-dir}/{service-dir}/azure-storage-blob"\n namespace: "azure.storage.blob"\n generation-subdir: "_generated"\n```',
|
|
58
58
|
},
|
|
59
59
|
"keep-setup-py": {
|
|
60
60
|
type: "boolean",
|
package/dist/emitter/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../emitter/src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,0BAA0B,GAC3B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAkB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAsCzF,MAAM,CAAC,MAAM,0BAA0B,GAAyC;IAC9E,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,IAAI,EAAE,qFAAqF;IACjH,UAAU,EAAE;QACV,GAAG,0BAA0B,CAAC,aAAa,CAAC;QAC5C,GAAG,0BAA0B,CAAC,SAAS,CAAC;QAExC,iBAAiB,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,6BAA6B;SAC3C;QACD,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,0BAA0B;SACxC;QACD,0BAA0B,EAAE;YAC1B,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,+IAA+I;SAClJ;QACD,qBAAqB,EAAE;YACrB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,2IAA2I;SAC9I;QACD,wBAAwB,EAAE;YACxB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,oNAAoN;SACvN;QACD,qBAAqB,EAAE;YACrB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,iIAAiI;SACpI;QACD,iBAAiB,EAAE;YACjB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,gFAAgF;SAC9F;QACD,aAAa,EAAE;YACb,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,iKAAiK;SACpK;QACD,qBAAqB,EAAE;YACrB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,+IAA+I;SAClJ;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../emitter/src/lib.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-runner.d.ts","sourceRoot":"","sources":["../../emitter/src/node-runner.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAY,MAAM,oBAAoB,CAAC;AAK3D,OAAO,EAAe,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIxD,OAAO,EAAE,oBAAoB,EAAoB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"node-runner.d.ts","sourceRoot":"","sources":["../../emitter/src/node-runner.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAY,MAAM,oBAAoB,CAAC;AAK3D,OAAO,EAAe,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIxD,OAAO,EAAE,oBAAoB,EAAoB,MAAM,UAAU,CAAC;AAIlE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,eAAe,EAAE,oBAAoB,CAAC;IACtC,oBAAoB,EAAE,CACpB,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAChC,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED,wBAAsB,WAAW,CAAC,EAChC,OAAO,EACP,aAAa,EACb,WAAW,EACX,eAAe,EACf,oBAAoB,GACrB,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFjC"}
|
|
@@ -15,6 +15,7 @@ import { blackExcludeDirs, PYGEN_WHEEL_FILENAME } from "./constants.js";
|
|
|
15
15
|
import { saveCodeModelAsYaml } from "./external-process.js";
|
|
16
16
|
import { reportDiagnostic } from "./lib.js";
|
|
17
17
|
import { runPython3 } from "./run-python3.js";
|
|
18
|
+
import { quoteShellArg } from "./utils.js";
|
|
18
19
|
export async function runNodeEmit({ context, parsedYamlMap, commandArgs, resolvedOptions, runPyodideGeneration, }) {
|
|
19
20
|
const program = context.program;
|
|
20
21
|
const outputDir = context.emitterOutputDir;
|
|
@@ -80,7 +81,7 @@ export async function runNodeEmit({ context, parsedYamlMap, commandArgs, resolve
|
|
|
80
81
|
commandArgs["output-folder"] = outputDir;
|
|
81
82
|
commandArgs["tsp-file"] = yamlPath;
|
|
82
83
|
const commandFlags = Object.entries(commandArgs)
|
|
83
|
-
.map(([key, value]) => `--${key}=${value}`)
|
|
84
|
+
.map(([key, value]) => `--${key}=${quoteShellArg(String(value))}`)
|
|
84
85
|
.join(" ");
|
|
85
86
|
const command = `${venvPath} ${root}/eng/scripts/setup/run_tsp.py ${commandFlags}`;
|
|
86
87
|
execSync(command);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-runner.js","sourceRoot":"","sources":["../../emitter/src/node-runner.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,2EAA2E;AAC3E,2DAA2D;AAE3D,OAAO,EAAe,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,WAAW,EAAoB,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAwB,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"node-runner.js","sourceRoot":"","sources":["../../emitter/src/node-runner.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,2EAA2E;AAC3E,2DAA2D;AAE3D,OAAO,EAAe,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,WAAW,EAAoB,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAwB,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAe3C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAChC,OAAO,EACP,aAAa,EACb,WAAW,EACX,eAAe,EACf,oBAAoB,GACJ;IAChB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;IAE9E,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;QACzD,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,IAAI,eAAe,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,qDAAqD;QACrD,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QACzD,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,QAAQ,OAAO,CAAC,EACrD,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CACrC,CAAC;QACF,OAAO;IACT,CAAC;IAED,kEAAkE;IAClE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC,CAAC;YACnE,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;YACzD,eAAe,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;QACxC,CAAC;IACH,CAAC;IAED,IAAI,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC;QACnC,2BAA2B;QAC3B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7C,yCAAyC;QACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,iCAAiC;QACjC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;QAChF,6BAA6B;QAC7B,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3F,MAAM,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAChG,OAAO;IACT,CAAC;IAED,iCAAiC;IACjC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAC9C,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QACzD,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,gBAAgB,CAAC,OAAO,EAAE;YACxB,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,WAAW,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IACzC,WAAW,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;IACnC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;SACjE,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,MAAM,OAAO,GAAG,GAAG,QAAQ,IAAI,IAAI,iCAAiC,YAAY,EAAE,CAAC;IACnF,QAAQ,CAAC,OAAO,CAAC,CAAC;IAElB,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,QAAQ,CACN,GAAG,QAAQ,8CAA8C,SAAS,eAAe,cAAc,GAAG,CACnG,CAAC;IACF,MAAM,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC;QAChC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;KACtE,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC1D,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAC5C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;gBACrD,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;oBAClB,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAC/C,6BAA6B;YAC7B,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACnC,OAAO,CAAC,EAAE,CAAC,KAAK,CACd,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAC7B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EACtC,YAAY,CACb,CAAC;YACF,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,QAAQ,CAAC,OAAO,CAAC,wBAAwB,oBAAoB,EAAE,CAAC,CAAC;YACvE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACjB,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAChC,MAAM;QACR,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,cAAsB;IAC3E,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC;IAEhD,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAW,EAAE;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxD,OAAO,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;QAC7C,IAAI,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7F,MAAM,KAAK,GAAa,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;gBACnF,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;gBAChE,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;oBACjD,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;oBACrF,CAAC,CAAC,qBAAqB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC;gBAC/E,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAW,EAAqB,EAAE;QAClE,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAExE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAE5C,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC,CAAC;IAEF,2DAA2D;IAC3D,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AAClD,CAAC"}
|
package/dist/emitter/utils.d.ts
CHANGED
|
@@ -25,6 +25,16 @@ export declare function isContinuationToken<TServiceOperation extends SdkService
|
|
|
25
25
|
export declare function emitParamBase<TServiceOperation extends SdkServiceOperation>(context: PythonSdkContext, parameter: SdkEndpointParameter | SdkCredentialParameter | SdkMethodParameter | SdkHttpParameter, method?: SdkServiceMethod<TServiceOperation>, serviceApiVersions?: string[]): ParamBase;
|
|
26
26
|
export declare function isAzureCoreErrorResponse(t: SdkType | undefined): boolean;
|
|
27
27
|
export declare function capitalize(name: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Quotes a value so it can be safely embedded in a shell command line.
|
|
30
|
+
*
|
|
31
|
+
* The value is wrapped in double quotes (handling spaces and other separators)
|
|
32
|
+
* and any embedded double quotes are escaped. This quoting must only be applied
|
|
33
|
+
* when the value is passed through a shell (e.g. `execSync`); it must never be
|
|
34
|
+
* baked into the option value itself, otherwise the quotes leak into non-shell
|
|
35
|
+
* consumers such as the Pyodide runtime and end up in generated files.
|
|
36
|
+
*/
|
|
37
|
+
export declare function quoteShellArg(value: string): string;
|
|
28
38
|
export declare function getRootNamespace(context: PythonSdkContext): string;
|
|
29
39
|
export declare function getClientNamespace(context: PythonSdkContext, clientNamespace: string): string;
|
|
30
40
|
export declare function md2Rst(text?: string): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../emitter/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,OAAO,EACR,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAoF5C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAEnF;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,oBAAoB,GAAG,sBAAsB,GAAG,kBAAkB,GAAG,gBAAgB,GAC/F,QAAQ,GAAG,QAAQ,CAGrB;AAED,wBAAgB,UAAU,CAAC,iBAAiB,SAAS,mBAAmB,EACtE,MAAM,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,GAC1C,OAAO,CAET;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,iBAAiB,GAAG,kBAAkB,GAChD,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,CAgB/B;AAED,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,wBAAgB,UAAU,CAAC,iBAAiB,SAAS,mBAAmB,EACtE,OAAO,EAAE,gBAAgB,EACzB,IAAI,EACA,oBAAoB,GACpB,sBAAsB,GACtB,oBAAoB,GACpB,kBAAkB,GAClB,gBAAgB,GAChB,SAAS,CAAC,iBAAiB,CAAC,EAChC,kBAAkB,GAAE,MAAM,EAAO,GAChC,MAAM,GAAG,SAAS,CAWpB;AAED,wBAAgB,mBAAmB,CAAC,iBAAiB,SAAS,mBAAmB,EAC/E,SAAS,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,wBAAwB,EAC3E,MAAM,CAAC,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,EAC5C,KAAK,GAAE,OAAc,GACpB,OAAO,CAsBT;AAED,wBAAgB,aAAa,CAAC,iBAAiB,SAAS,mBAAmB,EACzE,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,oBAAoB,GAAG,sBAAsB,GAAG,kBAAkB,GAAG,gBAAgB,EAChG,MAAM,CAAC,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,EAC5C,kBAAkB,GAAE,MAAM,EAAO,GAChC,SAAS,CAoCX;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAUxE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAYD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAOlE;AAOD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UASpF;AAsDD,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgCxD"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../emitter/src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/emitter/utils.js
CHANGED
|
@@ -178,6 +178,18 @@ export function isAzureCoreErrorResponse(t) {
|
|
|
178
178
|
export function capitalize(name) {
|
|
179
179
|
return name[0].toUpperCase() + name.slice(1);
|
|
180
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* Quotes a value so it can be safely embedded in a shell command line.
|
|
183
|
+
*
|
|
184
|
+
* The value is wrapped in double quotes (handling spaces and other separators)
|
|
185
|
+
* and any embedded double quotes are escaped. This quoting must only be applied
|
|
186
|
+
* when the value is passed through a shell (e.g. `execSync`); it must never be
|
|
187
|
+
* baked into the option value itself, otherwise the quotes leak into non-shell
|
|
188
|
+
* consumers such as the Pyodide runtime and end up in generated files.
|
|
189
|
+
*/
|
|
190
|
+
export function quoteShellArg(value) {
|
|
191
|
+
return `"${value.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
|
|
192
|
+
}
|
|
181
193
|
// Library namespaces that should not be used as client namespaces
|
|
182
194
|
const LIB_NAMESPACE = [
|
|
183
195
|
"azure.core",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../emitter/src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../emitter/src/utils.ts"],"names":[],"mappings":"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"}
|
package/emitter/src/emitter.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { createSdkContext } from "@azure-tools/typespec-client-generator-core";
|
|
2
2
|
import { EmitContext, emitFile, joinPaths, NoTarget } from "@typespec/compiler";
|
|
3
|
-
import jsyaml from "js-yaml";
|
|
4
3
|
import pkgJson from "../../package.json" with { type: "json" };
|
|
5
4
|
import { emitCodeModel } from "./code-model.js";
|
|
6
5
|
import {
|
|
@@ -9,6 +8,7 @@ import {
|
|
|
9
8
|
PYGEN_WHEEL_FILENAME,
|
|
10
9
|
PYODIDE_VERSION,
|
|
11
10
|
} from "./constants.js";
|
|
11
|
+
import { dumpCodeModelToYaml } from "./external-process.js";
|
|
12
12
|
import { PythonEmitterOptions, PythonSdkContext, reportDiagnostic } from "./lib.js";
|
|
13
13
|
import { runNodeEmit } from "./node-runner.js";
|
|
14
14
|
import { loadPyodide, PyodideInterface } from "./pyodide-loader.js";
|
|
@@ -42,18 +42,6 @@ function addDefaultOptions(sdkContext: PythonSdkContext) {
|
|
|
42
42
|
// Explicitly set unbranded flavor when not azure
|
|
43
43
|
(options as any).flavor = "unbranded";
|
|
44
44
|
}
|
|
45
|
-
|
|
46
|
-
if (
|
|
47
|
-
options["package-pprint-name"] !== undefined &&
|
|
48
|
-
!options["package-pprint-name"].startsWith('"')
|
|
49
|
-
) {
|
|
50
|
-
// Only add quotes for shell compatibility when NOT using emit-yaml-only mode
|
|
51
|
-
// (emit-yaml-only passes options via JSON config files, not shell)
|
|
52
|
-
const needsShellQuoting = !options["use-pyodide"] && !options["emit-yaml-only"];
|
|
53
|
-
options["package-pprint-name"] = needsShellQuoting
|
|
54
|
-
? `"${options["package-pprint-name"]}"`
|
|
55
|
-
: `${options["package-pprint-name"]}`;
|
|
56
|
-
}
|
|
57
45
|
}
|
|
58
46
|
|
|
59
47
|
async function createPythonSdkContext(
|
|
@@ -250,7 +238,7 @@ async function onEmitMain(context: EmitContext<PythonEmitterOptions>) {
|
|
|
250
238
|
pyodide.FS.mkdirTree("/yaml");
|
|
251
239
|
pyodide.FS.mkdirTree("/output");
|
|
252
240
|
clearMemfsDirectory(pyodide, "/output");
|
|
253
|
-
pyodide.FS.writeFile(yamlFilePath,
|
|
241
|
+
pyodide.FS.writeFile(yamlFilePath, dumpCodeModelToYaml(parsedYamlMap));
|
|
254
242
|
|
|
255
243
|
await runPyodideGeneration(pyodide, "/output", yamlFilePath, commandArgs);
|
|
256
244
|
await copyPyodideOutputToHost(context, pyodide, "/output");
|
|
@@ -11,6 +11,23 @@ export function createTempPath(extension: string, prefix: string = "") {
|
|
|
11
11
|
return joinPaths(tspCodeGenTempDir, prefix + randomUUID() + extension);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Serialize the given codemodel to a YAML string.
|
|
16
|
+
*
|
|
17
|
+
* The generated YAML is consumed by the Python generator, which parses it with
|
|
18
|
+
* PyYAML (YAML 1.1). js-yaml, on the other hand, dumps using YAML 1.2 rules, so
|
|
19
|
+
* plain scalars such as `2020_01_01` (a snake-cased enum member name) are left
|
|
20
|
+
* unquoted because YAML 1.2 does not treat underscores as integer separators.
|
|
21
|
+
* PyYAML would then read `2020_01_01` back as the integer `20200101`, corrupting
|
|
22
|
+
* string values (e.g. enum member names, descriptions). Forcing every string
|
|
23
|
+
* scalar to be quoted guarantees that PyYAML round-trips them as strings.
|
|
24
|
+
* @param codemodel Codemodel to serialize
|
|
25
|
+
* @return the YAML representation of the codemodel.
|
|
26
|
+
*/
|
|
27
|
+
export function dumpCodeModelToYaml(codemodel: unknown): string {
|
|
28
|
+
return jsyaml.dump(codemodel, { forceQuotes: true, quotingType: '"' });
|
|
29
|
+
}
|
|
30
|
+
|
|
14
31
|
/**
|
|
15
32
|
* Save the given codemodel in a yaml file.
|
|
16
33
|
* @param name Name of the codemodel. To give a guide to the temp file name.
|
|
@@ -20,7 +37,7 @@ export function createTempPath(extension: string, prefix: string = "") {
|
|
|
20
37
|
export async function saveCodeModelAsYaml(name: string, codemodel: unknown): Promise<string> {
|
|
21
38
|
await mkdir(tspCodeGenTempDir, { recursive: true });
|
|
22
39
|
const filename = createTempPath(".yaml", name);
|
|
23
|
-
const yamlStr =
|
|
40
|
+
const yamlStr = dumpCodeModelToYaml(codemodel);
|
|
24
41
|
await writeFile(filename, yamlStr);
|
|
25
42
|
return filename;
|
|
26
43
|
}
|
package/emitter/src/lib.ts
CHANGED
|
@@ -103,7 +103,7 @@ export const PythonEmitterOptionsSchema: JSONSchemaType<PythonEmitterOptions> =
|
|
|
103
103
|
type: "string",
|
|
104
104
|
nullable: true,
|
|
105
105
|
description:
|
|
106
|
-
|
|
106
|
+
'The subdirectory (relative to the package namespace folder) to generate the code in. Use this to keep emitter-generated code separate from hand-written/customized code, so regeneration only overwrites the subdirectory and leaves your customizations untouched. If not specified, the code is generated directly in the package namespace folder. Note: if you\'re using this flag, you will need to add and maintain the versioning file (`_version.py`) yourself.\n\nExample: for `namespace: azure.storage.blob` with `generation-subdir: _generated`, generated code lands in `azure/storage/blob/_generated/` while your customized code lives in `azure/storage/blob/`. A typical `tspconfig.yaml` looks like:\n\n```yaml\noptions:\n "@azure-tools/typespec-python":\n emitter-output-dir: "{output-dir}/{service-dir}/azure-storage-blob"\n namespace: "azure.storage.blob"\n generation-subdir: "_generated"\n```',
|
|
107
107
|
},
|
|
108
108
|
"keep-setup-py": {
|
|
109
109
|
type: "boolean",
|
|
@@ -16,6 +16,7 @@ import { blackExcludeDirs, PYGEN_WHEEL_FILENAME } from "./constants.js";
|
|
|
16
16
|
import { saveCodeModelAsYaml } from "./external-process.js";
|
|
17
17
|
import { PythonEmitterOptions, reportDiagnostic } from "./lib.js";
|
|
18
18
|
import { runPython3 } from "./run-python3.js";
|
|
19
|
+
import { quoteShellArg } from "./utils.js";
|
|
19
20
|
|
|
20
21
|
export interface RunNodeEmitArgs {
|
|
21
22
|
context: EmitContext<PythonEmitterOptions>;
|
|
@@ -106,7 +107,7 @@ export async function runNodeEmit({
|
|
|
106
107
|
commandArgs["output-folder"] = outputDir;
|
|
107
108
|
commandArgs["tsp-file"] = yamlPath;
|
|
108
109
|
const commandFlags = Object.entries(commandArgs)
|
|
109
|
-
.map(([key, value]) => `--${key}=${value}`)
|
|
110
|
+
.map(([key, value]) => `--${key}=${quoteShellArg(String(value))}`)
|
|
110
111
|
.join(" ");
|
|
111
112
|
const command = `${venvPath} ${root}/eng/scripts/setup/run_tsp.py ${commandFlags}`;
|
|
112
113
|
execSync(command);
|
package/emitter/src/utils.ts
CHANGED
|
@@ -268,6 +268,19 @@ export function capitalize(name: string): string {
|
|
|
268
268
|
return name[0].toUpperCase() + name.slice(1);
|
|
269
269
|
}
|
|
270
270
|
|
|
271
|
+
/**
|
|
272
|
+
* Quotes a value so it can be safely embedded in a shell command line.
|
|
273
|
+
*
|
|
274
|
+
* The value is wrapped in double quotes (handling spaces and other separators)
|
|
275
|
+
* and any embedded double quotes are escaped. This quoting must only be applied
|
|
276
|
+
* when the value is passed through a shell (e.g. `execSync`); it must never be
|
|
277
|
+
* baked into the option value itself, otherwise the quotes leak into non-shell
|
|
278
|
+
* consumers such as the Pyodide runtime and end up in generated files.
|
|
279
|
+
*/
|
|
280
|
+
export function quoteShellArg(value: string): string {
|
|
281
|
+
return `"${value.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
|
|
282
|
+
}
|
|
283
|
+
|
|
271
284
|
// Library namespaces that should not be used as client namespaces
|
|
272
285
|
const LIB_NAMESPACE = [
|
|
273
286
|
"azure.core",
|