@typespec/http-client-python 0.28.3 → 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.
- package/dist/emitter/code-model.d.ts.map +1 -1
- package/dist/emitter/code-model.js +1 -0
- package/dist/emitter/code-model.js.map +1 -1
- package/dist/emitter/constants.d.ts +6 -0
- package/dist/emitter/constants.d.ts.map +1 -0
- package/dist/emitter/constants.js +27 -0
- package/dist/emitter/constants.js.map +1 -0
- package/dist/emitter/emitter.d.ts.map +1 -1
- package/dist/emitter/emitter.js +169 -94
- package/dist/emitter/emitter.js.map +1 -1
- package/dist/emitter/http.d.ts.map +1 -1
- package/dist/emitter/http.js +33 -1
- package/dist/emitter/http.js.map +1 -1
- package/dist/emitter/lib.d.ts +33 -2
- package/dist/emitter/lib.d.ts.map +1 -1
- package/dist/emitter/lib.js +17 -0
- package/dist/emitter/lib.js.map +1 -1
- package/dist/emitter/run-python3.js +1 -1
- package/dist/emitter/run-python3.js.map +1 -1
- package/dist/emitter/types.d.ts.map +1 -1
- package/dist/emitter/types.js +31 -5
- package/dist/emitter/types.js.map +1 -1
- package/emitter/src/code-model.ts +1 -0
- package/emitter/src/constants.ts +27 -0
- package/emitter/src/emitter.ts +216 -96
- package/emitter/src/http.ts +29 -1
- package/emitter/src/lib.ts +20 -0
- package/emitter/src/run-python3.ts +1 -1
- package/emitter/src/types.ts +35 -5
- package/emitter/temp/tsconfig.tsbuildinfo +1 -1
- package/emitter/test/utils.test.ts +3 -0
- package/emitter/tsconfig.build.json +2 -1
- package/emitter/tsconfig.json +2 -1
- package/eng/scripts/ci/config/eslint-ci.config.mjs +10 -0
- package/eng/scripts/ci/config/mypy.ini +1 -1
- package/eng/scripts/ci/config/pylintrc +1 -1
- package/eng/scripts/ci/config/pyrightconfig.json +1 -1
- package/eng/scripts/ci/dev_requirements.txt +1 -1
- package/eng/scripts/ci/lint.ts +11 -4
- package/eng/scripts/ci/regenerate-common.ts +407 -136
- package/eng/scripts/ci/regenerate.ts +103 -194
- package/eng/scripts/ci/run-tests.ts +153 -48
- package/eng/scripts/ci/run_apiview.py +22 -16
- package/eng/scripts/ci/run_mypy.py +28 -18
- package/eng/scripts/ci/run_pylint.py +23 -16
- package/eng/scripts/ci/run_pyright.py +5 -2
- package/eng/scripts/ci/run_sphinx_build.py +24 -9
- package/eng/scripts/ci/util.py +61 -25
- package/eng/scripts/setup/__pycache__/package_manager.cpython-311.pyc +0 -0
- package/eng/scripts/setup/__pycache__/venvtools.cpython-311.pyc +0 -0
- package/eng/scripts/setup/build_pygen_wheel.py +3 -3
- package/eng/scripts/setup/install.py +3 -3
- package/eng/scripts/setup/install.ts +1 -1
- package/eng/scripts/setup/prepare.py +2 -2
- package/eng/scripts/setup/run-python3.ts +1 -1
- package/eng/scripts/setup/run_batch.py +197 -0
- package/eng/scripts/setup/venvtools.py +0 -1
- package/generator/build/lib/pygen/__init__.py +1 -3
- package/generator/build/lib/pygen/codegen/__init__.py +0 -1
- package/generator/build/lib/pygen/codegen/models/base.py +0 -1
- package/generator/build/lib/pygen/codegen/models/client.py +2 -1
- package/generator/build/lib/pygen/codegen/models/code_model.py +1 -0
- package/generator/build/lib/pygen/codegen/models/enum_type.py +0 -1
- package/generator/build/lib/pygen/codegen/models/model_type.py +1 -7
- package/generator/build/lib/pygen/codegen/models/parameter.py +16 -14
- package/generator/build/lib/pygen/codegen/serializers/__init__.py +27 -12
- package/generator/build/lib/pygen/codegen/serializers/builder_serializer.py +12 -3
- package/generator/build/lib/pygen/codegen/serializers/general_serializer.py +6 -2
- package/generator/build/lib/pygen/codegen/serializers/import_serializer.py +17 -4
- package/generator/build/lib/pygen/codegen/serializers/parameter_serializer.py +17 -11
- package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +19 -7
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/README.md.jinja2 +11 -3
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/pyproject.toml.jinja2 +1 -1
- package/generator/build/lib/pygen/codegen/templates/serialization.py.jinja2 +5 -1
- package/generator/build/lib/pygen/preprocess/__init__.py +37 -30
- package/generator/component-detection-pip-report.json +7 -7
- package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
- package/generator/pygen/__init__.py +1 -3
- package/generator/pygen/codegen/__init__.py +0 -1
- package/generator/pygen/codegen/models/base.py +0 -1
- package/generator/pygen/codegen/models/client.py +2 -1
- package/generator/pygen/codegen/models/code_model.py +1 -0
- package/generator/pygen/codegen/models/enum_type.py +0 -1
- package/generator/pygen/codegen/models/model_type.py +1 -7
- package/generator/pygen/codegen/models/parameter.py +16 -14
- package/generator/pygen/codegen/serializers/__init__.py +27 -12
- package/generator/pygen/codegen/serializers/builder_serializer.py +12 -3
- package/generator/pygen/codegen/serializers/general_serializer.py +6 -2
- package/generator/pygen/codegen/serializers/import_serializer.py +17 -4
- package/generator/pygen/codegen/serializers/parameter_serializer.py +17 -11
- package/generator/pygen/codegen/templates/model_base.py.jinja2 +19 -7
- package/generator/pygen/codegen/templates/packaging_templates/README.md.jinja2 +11 -3
- package/generator/pygen/codegen/templates/packaging_templates/pyproject.toml.jinja2 +1 -1
- package/generator/pygen/codegen/templates/serialization.py.jinja2 +5 -1
- package/generator/pygen/preprocess/__init__.py +37 -30
- package/generator/pygen.egg-info/PKG-INFO +1 -2
- package/generator/pygen.egg-info/requires.txt +1 -1
- package/generator/setup.py +1 -2
- package/package.json +24 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-model.d.ts","sourceRoot":"","sources":["../../emitter/src/code-model.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAkT5C,wBAAgB,aAAa,CAAC,UAAU,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"code-model.d.ts","sourceRoot":"","sources":["../../emitter/src/code-model.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAkT5C,wBAAgB,aAAa,CAAC,UAAU,EAAE,gBAAgB,uBA+EzD"}
|
|
@@ -279,6 +279,7 @@ export function emitCodeModel(sdkContext) {
|
|
|
279
279
|
...sdkContext.__simpleTypesMap.values(),
|
|
280
280
|
];
|
|
281
281
|
codeModel["crossLanguagePackageId"] = ignoreDiagnostics(getCrossLanguagePackageId(sdkContext));
|
|
282
|
+
codeModel["crossLanguageVersion"] = sdkContext.sdkPackage.crossLanguageVersion;
|
|
282
283
|
if (sdkContext.emitContext.options.flavor === "azure") {
|
|
283
284
|
const metadata = { ...sdkPackage.metadata };
|
|
284
285
|
if (metadata.apiVersions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-model.js","sourceRoot":"","sources":["../../emitter/src/code-model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"code-model.js","sourceRoot":"","sources":["../../emitter/src/code-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const PYODIDE_VERSION = "0.26.2";
|
|
2
|
+
export declare const PYGEN_WHEEL_FILENAME = "pygen-0.1.0-py3-none-any.whl";
|
|
3
|
+
export declare const BLOB_STORAGE_BASE_URL = "https://typespec.blob.core.windows.net/pkgs";
|
|
4
|
+
export declare const PACKAGE_NAME = "@typespec/http-client-python";
|
|
5
|
+
export declare const blackExcludeDirs: string[];
|
|
6
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../emitter/src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,WAAW,CAAC;AACxC,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AACnE,eAAO,MAAM,qBAAqB,gDAAgD,CAAC;AACnF,eAAO,MAAM,YAAY,iCAAiC,CAAC;AAE3D,eAAO,MAAM,gBAAgB,UAqB5B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export const PYODIDE_VERSION = "0.26.2";
|
|
2
|
+
export const PYGEN_WHEEL_FILENAME = "pygen-0.1.0-py3-none-any.whl";
|
|
3
|
+
export const BLOB_STORAGE_BASE_URL = "https://typespec.blob.core.windows.net/pkgs";
|
|
4
|
+
export const PACKAGE_NAME = "@typespec/http-client-python";
|
|
5
|
+
export const blackExcludeDirs = [
|
|
6
|
+
"__pycache__/",
|
|
7
|
+
"node_modules/",
|
|
8
|
+
"venv/",
|
|
9
|
+
"env/",
|
|
10
|
+
".direnv",
|
|
11
|
+
".eggs",
|
|
12
|
+
".git",
|
|
13
|
+
".hg",
|
|
14
|
+
".tox",
|
|
15
|
+
".venv",
|
|
16
|
+
".eggs",
|
|
17
|
+
".mypy_cache",
|
|
18
|
+
".pytest_cache",
|
|
19
|
+
".vscode",
|
|
20
|
+
".*_build/",
|
|
21
|
+
"/build/",
|
|
22
|
+
"dist",
|
|
23
|
+
".nox",
|
|
24
|
+
".svn",
|
|
25
|
+
"TempTypeSpecFiles/",
|
|
26
|
+
];
|
|
27
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../emitter/src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,8BAA8B,CAAC;AACnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,6CAA6C,CAAC;AACnF,MAAM,CAAC,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAE3D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,cAAc;IACd,eAAe;IACf,OAAO;IACP,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,aAAa;IACb,eAAe;IACf,SAAS;IACT,WAAW;IACX,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,oBAAoB;CACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../emitter/src/emitter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../emitter/src/emitter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAiC,MAAM,oBAAoB,CAAC;AAkBhF,OAAO,EAAE,oBAAoB,EAAsC,MAAM,UAAU,CAAC;AA2JpF,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,oBAAoB,CAAC,iBAevE"}
|
package/dist/emitter/emitter.js
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import { createSdkContext } from "@azure-tools/typespec-client-generator-core";
|
|
2
|
-
import { NoTarget } from "@typespec/compiler";
|
|
2
|
+
import { emitFile, joinPaths, NoTarget } from "@typespec/compiler";
|
|
3
3
|
import { execSync } from "child_process";
|
|
4
4
|
import fs from "fs";
|
|
5
|
+
import jsyaml from "js-yaml";
|
|
5
6
|
import os from "os";
|
|
6
7
|
import path, { dirname } from "path";
|
|
7
8
|
import { loadPyodide } from "pyodide";
|
|
8
9
|
import { fileURLToPath } from "url";
|
|
10
|
+
import pkgJson from "../../package.json" with { type: "json" };
|
|
9
11
|
import { emitCodeModel } from "./code-model.js";
|
|
12
|
+
import { blackExcludeDirs, BLOB_STORAGE_BASE_URL, PACKAGE_NAME, PYGEN_WHEEL_FILENAME, PYODIDE_VERSION, } from "./constants.js";
|
|
10
13
|
import { saveCodeModelAsYaml } from "./external-process.js";
|
|
11
14
|
import { reportDiagnostic } from "./lib.js";
|
|
12
15
|
import { runPython3 } from "./run-python3.js";
|
|
13
16
|
import { getRootNamespace, md2Rst } from "./utils.js";
|
|
17
|
+
function getBrowserPygenWheelUrl() {
|
|
18
|
+
return `${BLOB_STORAGE_BASE_URL}/${PACKAGE_NAME}/${pkgJson.version}/generator/dist/${PYGEN_WHEEL_FILENAME}`;
|
|
19
|
+
}
|
|
14
20
|
function addDefaultOptions(sdkContext) {
|
|
15
21
|
const defaultOptions = {
|
|
16
22
|
"package-version": "1.0.0b1",
|
|
@@ -28,18 +34,22 @@ function addDefaultOptions(sdkContext) {
|
|
|
28
34
|
const packageName = namespace.replace(/\./g, "-");
|
|
29
35
|
options["package-name"] = packageName;
|
|
30
36
|
}
|
|
31
|
-
|
|
32
|
-
// if they pass in a flavor other than azure, we want to ignore the value
|
|
33
|
-
options.flavor = undefined;
|
|
34
|
-
}
|
|
37
|
+
// Set flavor based on namespace or passed option
|
|
35
38
|
if (getRootNamespace(sdkContext).toLowerCase().includes("azure")) {
|
|
36
39
|
options.flavor = "azure";
|
|
37
40
|
}
|
|
41
|
+
else if (options.flavor !== "azure") {
|
|
42
|
+
// Explicitly set unbranded flavor when not azure
|
|
43
|
+
options.flavor = "unbranded";
|
|
44
|
+
}
|
|
38
45
|
if (options["package-pprint-name"] !== undefined &&
|
|
39
46
|
!options["package-pprint-name"].startsWith('"')) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
47
|
+
// Only add quotes for shell compatibility when NOT using emit-yaml-only mode
|
|
48
|
+
// (emit-yaml-only passes options via JSON config files, not shell)
|
|
49
|
+
const needsShellQuoting = !options["use-pyodide"] && !options["emit-yaml-only"];
|
|
50
|
+
options["package-pprint-name"] = needsShellQuoting
|
|
51
|
+
? `"${options["package-pprint-name"]}"`
|
|
52
|
+
: `${options["package-pprint-name"]}`;
|
|
43
53
|
}
|
|
44
54
|
}
|
|
45
55
|
async function createPythonSdkContext(context) {
|
|
@@ -89,6 +99,41 @@ function walkThroughNodes(yamlMap) {
|
|
|
89
99
|
}
|
|
90
100
|
return yamlMap;
|
|
91
101
|
}
|
|
102
|
+
const pyodideGenerationCode = `
|
|
103
|
+
async def main():
|
|
104
|
+
import warnings
|
|
105
|
+
with warnings.catch_warnings():
|
|
106
|
+
from pygen import preprocess, codegen, black
|
|
107
|
+
preprocess.PreProcessPlugin(output_folder=outputFolder, tsp_file=yamlFile, **commandArgs).process()
|
|
108
|
+
codegen.CodeGenerator(output_folder=outputFolder, tsp_file=yamlFile, **commandArgs).process()
|
|
109
|
+
black.BlackScriptPlugin(output_folder=outputFolder, **commandArgs).process()
|
|
110
|
+
|
|
111
|
+
await main()`;
|
|
112
|
+
async function runPyodideGeneration(pyodide, outputFolder, yamlFile, commandArgs) {
|
|
113
|
+
const globals = pyodide.toPy({
|
|
114
|
+
outputFolder,
|
|
115
|
+
yamlFile,
|
|
116
|
+
commandArgs,
|
|
117
|
+
});
|
|
118
|
+
await pyodide.runPythonAsync(pyodideGenerationCode, { globals });
|
|
119
|
+
}
|
|
120
|
+
async function copyPyodideOutputToHost(context, pyodide, memfsDir, relativeDir = "") {
|
|
121
|
+
const entries = pyodide.FS.readdir(memfsDir).filter((entry) => entry !== "." && entry !== "..");
|
|
122
|
+
for (const entry of entries) {
|
|
123
|
+
const memfsPath = `${memfsDir}/${entry}`;
|
|
124
|
+
const relativePath = relativeDir ? `${relativeDir}/${entry}` : entry;
|
|
125
|
+
const stats = pyodide.FS.stat(memfsPath);
|
|
126
|
+
if (pyodide.FS.isDir(stats.mode)) {
|
|
127
|
+
await copyPyodideOutputToHost(context, pyodide, memfsPath, relativePath);
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
const content = pyodide.FS.readFile(memfsPath, { encoding: "utf8" });
|
|
131
|
+
await emitFile(context.program, {
|
|
132
|
+
path: joinPaths(context.emitterOutputDir, relativePath),
|
|
133
|
+
content,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
92
137
|
export async function $onEmit(context) {
|
|
93
138
|
try {
|
|
94
139
|
await onEmitMain(context);
|
|
@@ -107,12 +152,18 @@ export async function $onEmit(context) {
|
|
|
107
152
|
async function onEmitMain(context) {
|
|
108
153
|
const program = context.program;
|
|
109
154
|
const sdkContext = await createPythonSdkContext(context);
|
|
110
|
-
const root = path.join(dirname(fileURLToPath(import.meta.url)), "..", "..");
|
|
111
155
|
const outputDir = context.emitterOutputDir;
|
|
112
156
|
addDefaultOptions(sdkContext);
|
|
113
157
|
const yamlMap = emitCodeModel(sdkContext);
|
|
114
158
|
const parsedYamlMap = walkThroughNodes(yamlMap);
|
|
115
|
-
|
|
159
|
+
// Python emitter requires an SDK client in the TypeSpec
|
|
160
|
+
if (sdkContext.sdkPackage.clients.length === 0) {
|
|
161
|
+
reportDiagnostic(program, {
|
|
162
|
+
code: "no-sdk-clients",
|
|
163
|
+
target: NoTarget,
|
|
164
|
+
});
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
116
167
|
const resolvedOptions = sdkContext.emitContext.options;
|
|
117
168
|
const commandArgs = {};
|
|
118
169
|
if (resolvedOptions["packaging-files-config"]) {
|
|
@@ -136,98 +187,122 @@ async function onEmitMain(context) {
|
|
|
136
187
|
}
|
|
137
188
|
commandArgs["from-typespec"] = "true";
|
|
138
189
|
commandArgs["models-mode"] = resolvedOptions["models-mode"] ?? "dpg";
|
|
139
|
-
if (
|
|
140
|
-
//
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
// if the python env is not ready, we use pyodide instead
|
|
148
|
-
resolvedOptions["use-pyodide"] = true;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
if (resolvedOptions["use-pyodide"]) {
|
|
152
|
-
// here we run with pyodide
|
|
153
|
-
const pyodide = await setupPyodideCall(root);
|
|
154
|
-
// create the output folder if not exists
|
|
155
|
-
if (!fs.existsSync(outputDir)) {
|
|
156
|
-
fs.mkdirSync(outputDir, { recursive: true });
|
|
157
|
-
}
|
|
158
|
-
// mount output folder to pyodide
|
|
159
|
-
pyodide.FS.mkdirTree("/output");
|
|
160
|
-
pyodide.FS.mount(pyodide.FS.filesystems.NODEFS, { root: outputDir }, "/output");
|
|
161
|
-
// mount yaml file to pyodide
|
|
162
|
-
pyodide.FS.mkdirTree("/yaml");
|
|
163
|
-
pyodide.FS.mount(pyodide.FS.filesystems.NODEFS, { root: path.dirname(yamlPath) }, "/yaml");
|
|
164
|
-
const globals = pyodide.toPy({
|
|
165
|
-
outputFolder: "/output",
|
|
166
|
-
yamlFile: `/yaml/${path.basename(yamlPath)}`,
|
|
167
|
-
commandArgs,
|
|
190
|
+
if (typeof window !== "undefined") {
|
|
191
|
+
// Running in browser with Pyodide - fileURLToPath and other filesystem operations are browser-incompatible
|
|
192
|
+
const pyodide = await browserPyodidePromise;
|
|
193
|
+
if (!pyodide) {
|
|
194
|
+
reportDiagnostic(program, {
|
|
195
|
+
code: "browser-runtime-load-failed",
|
|
196
|
+
target: NoTarget,
|
|
197
|
+
format: { details: "" },
|
|
168
198
|
});
|
|
169
|
-
|
|
170
|
-
async def main():
|
|
171
|
-
import warnings
|
|
172
|
-
with warnings.catch_warnings():
|
|
173
|
-
from pygen import preprocess, codegen, black
|
|
174
|
-
preprocess.PreProcessPlugin(output_folder=outputFolder, tsp_file=yamlFile, **commandArgs).process()
|
|
175
|
-
codegen.CodeGenerator(output_folder=outputFolder, tsp_file=yamlFile, **commandArgs).process()
|
|
176
|
-
black.BlackScriptPlugin(output_folder=outputFolder, **commandArgs).process()
|
|
177
|
-
|
|
178
|
-
await main()`;
|
|
179
|
-
await pyodide.runPythonAsync(pythonCode, { globals });
|
|
199
|
+
return;
|
|
180
200
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
201
|
+
const yamlFilePath = "/yaml/python-yaml-path.yaml";
|
|
202
|
+
pyodide.FS.mkdirTree("/yaml");
|
|
203
|
+
pyodide.FS.mkdirTree("/output");
|
|
204
|
+
clearMemfsDirectory(pyodide, "/output");
|
|
205
|
+
pyodide.FS.writeFile(yamlFilePath, jsyaml.dump(parsedYamlMap));
|
|
206
|
+
await runPyodideGeneration(pyodide, "/output", yamlFilePath, commandArgs);
|
|
207
|
+
await copyPyodideOutputToHost(context, pyodide, "/output");
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
const root = path.join(dirname(fileURLToPath(import.meta.url)), "..", "..");
|
|
211
|
+
const yamlPath = await saveCodeModelAsYaml("python-yaml-path", parsedYamlMap);
|
|
212
|
+
if (!program.compilerOptions.noEmit && !program.hasError()) {
|
|
213
|
+
// If emit-yaml-only mode, just copy YAML to output dir for batch processing
|
|
214
|
+
if (resolvedOptions["emit-yaml-only"]) {
|
|
215
|
+
if (!fs.existsSync(outputDir)) {
|
|
216
|
+
fs.mkdirSync(outputDir, { recursive: true });
|
|
217
|
+
}
|
|
218
|
+
// Copy YAML to output dir with command args embedded
|
|
219
|
+
// Use unique filename to avoid conflicts when multiple specs share output dir
|
|
220
|
+
const configId = path.basename(yamlPath, ".yaml");
|
|
221
|
+
const batchConfig = { yamlPath, commandArgs, outputDir };
|
|
222
|
+
fs.writeFileSync(path.join(outputDir, `.tsp-codegen-${configId}.json`), JSON.stringify(batchConfig, null, 2));
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
// if not using pyodide and there's no venv, we try to create venv
|
|
226
|
+
if (!resolvedOptions["use-pyodide"] && !fs.existsSync(path.join(root, "venv"))) {
|
|
227
|
+
try {
|
|
228
|
+
await runPython3(path.join(root, "/eng/scripts/setup/install.py"));
|
|
229
|
+
await runPython3(path.join(root, "/eng/scripts/setup/prepare.py"));
|
|
230
|
+
}
|
|
231
|
+
catch {
|
|
232
|
+
// if the python env is not ready, we use pyodide instead
|
|
233
|
+
resolvedOptions["use-pyodide"] = true;
|
|
234
|
+
}
|
|
186
235
|
}
|
|
187
|
-
|
|
188
|
-
|
|
236
|
+
if (resolvedOptions["use-pyodide"]) {
|
|
237
|
+
// here we run with pyodide
|
|
238
|
+
const pyodide = await setupPyodideCall(root);
|
|
239
|
+
// create the output folder if not exists
|
|
240
|
+
if (!fs.existsSync(outputDir)) {
|
|
241
|
+
fs.mkdirSync(outputDir, { recursive: true });
|
|
242
|
+
}
|
|
243
|
+
// mount output folder to pyodide
|
|
244
|
+
pyodide.FS.mkdirTree("/output");
|
|
245
|
+
pyodide.FS.mount(pyodide.FS.filesystems.NODEFS, { root: outputDir }, "/output");
|
|
246
|
+
// mount yaml file to pyodide
|
|
247
|
+
pyodide.FS.mkdirTree("/yaml");
|
|
248
|
+
pyodide.FS.mount(pyodide.FS.filesystems.NODEFS, { root: path.dirname(yamlPath) }, "/yaml");
|
|
249
|
+
await runPyodideGeneration(pyodide, "/output", `/yaml/${path.basename(yamlPath)}`, commandArgs);
|
|
189
250
|
}
|
|
190
251
|
else {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
252
|
+
// here we run with native python
|
|
253
|
+
let venvPath = path.join(root, "venv");
|
|
254
|
+
if (fs.existsSync(path.join(venvPath, "bin"))) {
|
|
255
|
+
venvPath = path.join(venvPath, "bin", "python");
|
|
256
|
+
}
|
|
257
|
+
else if (fs.existsSync(path.join(venvPath, "Scripts"))) {
|
|
258
|
+
venvPath = path.join(venvPath, "Scripts", "python.exe");
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
reportDiagnostic(program, {
|
|
262
|
+
code: "pyodide-flag-conflict",
|
|
263
|
+
target: NoTarget,
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
commandArgs["output-folder"] = outputDir;
|
|
267
|
+
commandArgs["tsp-file"] = yamlPath;
|
|
268
|
+
const commandFlags = Object.entries(commandArgs)
|
|
269
|
+
.map(([key, value]) => `--${key}=${value}`)
|
|
270
|
+
.join(" ");
|
|
271
|
+
const command = `${venvPath} ${root}/eng/scripts/setup/run_tsp.py ${commandFlags}`;
|
|
272
|
+
execSync(command);
|
|
273
|
+
const excludePattern = blackExcludeDirs.join("|");
|
|
274
|
+
execSync(`${venvPath} -m black --line-length=120 --quiet --fast ${outputDir} --exclude "${excludePattern}"`);
|
|
275
|
+
await checkForPylintIssues(outputDir, excludePattern);
|
|
195
276
|
}
|
|
196
|
-
commandArgs["output-folder"] = outputDir;
|
|
197
|
-
commandArgs["tsp-file"] = yamlPath;
|
|
198
|
-
const commandFlags = Object.entries(commandArgs)
|
|
199
|
-
.map(([key, value]) => `--${key}=${value}`)
|
|
200
|
-
.join(" ");
|
|
201
|
-
const command = `${venvPath} ${root}/eng/scripts/setup/run_tsp.py ${commandFlags}`;
|
|
202
|
-
execSync(command);
|
|
203
|
-
const blackExcludeDirs = [
|
|
204
|
-
"__pycache__/",
|
|
205
|
-
"node_modules/",
|
|
206
|
-
"venv/",
|
|
207
|
-
"env/",
|
|
208
|
-
".direnv",
|
|
209
|
-
".eggs",
|
|
210
|
-
".git",
|
|
211
|
-
".hg",
|
|
212
|
-
".tox",
|
|
213
|
-
".venv",
|
|
214
|
-
".eggs",
|
|
215
|
-
".mypy_cache",
|
|
216
|
-
".pytest_cache",
|
|
217
|
-
".vscode",
|
|
218
|
-
".*_build/",
|
|
219
|
-
"/build/",
|
|
220
|
-
"dist",
|
|
221
|
-
".nox",
|
|
222
|
-
".svn",
|
|
223
|
-
"TempTypeSpecFiles/",
|
|
224
|
-
];
|
|
225
|
-
const excludePattern = blackExcludeDirs.join("|");
|
|
226
|
-
execSync(`${venvPath} -m black --line-length=120 --quiet --fast ${outputDir} --exclude "${excludePattern}"`);
|
|
227
|
-
await checkForPylintIssues(outputDir, excludePattern);
|
|
228
277
|
}
|
|
229
278
|
}
|
|
230
279
|
}
|
|
280
|
+
const browserPyodidePromise = typeof window !== "undefined" ? setupPyodideCallBrowser() : null;
|
|
281
|
+
function clearMemfsDirectory(pyodide, dir) {
|
|
282
|
+
const entries = pyodide.FS.readdir(dir).filter((entry) => entry !== "." && entry !== "..");
|
|
283
|
+
for (const entry of entries) {
|
|
284
|
+
const fullPath = `${dir}/${entry}`;
|
|
285
|
+
const stats = pyodide.FS.stat(fullPath);
|
|
286
|
+
if (pyodide.FS.isDir(stats.mode)) {
|
|
287
|
+
clearMemfsDirectory(pyodide, fullPath);
|
|
288
|
+
pyodide.FS.rmdir(fullPath);
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
pyodide.FS.unlink(fullPath);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
async function setupPyodideCallBrowser() {
|
|
296
|
+
const pyodide = await loadPyodide({
|
|
297
|
+
indexURL: `https://cdn.jsdelivr.net/pyodide/v${PYODIDE_VERSION}/full/`,
|
|
298
|
+
});
|
|
299
|
+
// use default MEMFS for browser, since NODEFS is not supported
|
|
300
|
+
pyodide.FS.mkdirTree("/generator");
|
|
301
|
+
await pyodide.loadPackage("micropip");
|
|
302
|
+
const micropip = pyodide.pyimport("micropip");
|
|
303
|
+
await micropip.install(getBrowserPygenWheelUrl());
|
|
304
|
+
return pyodide;
|
|
305
|
+
}
|
|
231
306
|
async function setupPyodideCall(root) {
|
|
232
307
|
const pyodide = await loadPyodide({
|
|
233
308
|
indexURL: path.dirname(fileURLToPath(import.meta.resolve("pyodide"))),
|
|
@@ -254,7 +329,7 @@ async function setupPyodideCall(root) {
|
|
|
254
329
|
pyodide.FS.mount(pyodide.FS.filesystems.NODEFS, { root: path.join(root, "generator") }, "/generator");
|
|
255
330
|
await pyodide.loadPackage("micropip");
|
|
256
331
|
const micropip = pyodide.pyimport("micropip");
|
|
257
|
-
await micropip.install(
|
|
332
|
+
await micropip.install(`emfs:/generator/dist/${PYGEN_WHEEL_FILENAME}`);
|
|
258
333
|
fs.closeSync(fd);
|
|
259
334
|
fs.unlinkSync(micropipLockPath);
|
|
260
335
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../emitter/src/emitter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../emitter/src/emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../emitter/src/http.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,qBAAqB,EAErB,aAAa,EAGb,gBAAgB,EAGhB,yBAAyB,EACzB,mBAAmB,EAGnB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../emitter/src/http.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,qBAAqB,EAErB,aAAa,EAGb,gBAAgB,EAGhB,yBAAyB,EACzB,mBAAmB,EAGnB,sBAAsB,EAOvB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAoB,MAAM,UAAU,CAAC;AAa9D,oBAAY,wBAAwB;IAClC,OAAO,IAAI;IACX,UAAU,IAAI;IACd,aAAa,IAAI;CAClB;AA0CD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC3C,MAAM,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,EAC/C,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAiBvB;AA8ND,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC3C,MAAM,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,EAC7C,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CASvB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC3C,MAAM,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,EAChD,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CASvB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC3C,MAAM,EAAE,yBAAyB,CAAC,gBAAgB,CAAC,EACnD,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAoBvB"}
|
package/dist/emitter/http.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NoTarget } from "@typespec/compiler";
|
|
1
|
+
import { getNamespaceFullName, NoTarget } from "@typespec/compiler";
|
|
2
2
|
import { getHttpOperationParameter, UsageFlags, } from "@azure-tools/typespec-client-generator-core";
|
|
3
3
|
import { reportDiagnostic } from "./lib.js";
|
|
4
4
|
import { getType, KnownTypes } from "./types.js";
|
|
@@ -9,6 +9,37 @@ export var ReferredByOperationTypes;
|
|
|
9
9
|
ReferredByOperationTypes[ReferredByOperationTypes["PagingOnly"] = 1] = "PagingOnly";
|
|
10
10
|
ReferredByOperationTypes[ReferredByOperationTypes["NonPagingOnly"] = 2] = "NonPagingOnly";
|
|
11
11
|
})(ReferredByOperationTypes || (ReferredByOperationTypes = {}));
|
|
12
|
+
function isEtagType(type) {
|
|
13
|
+
if (type.kind === "nullable")
|
|
14
|
+
return isEtagType(type.type);
|
|
15
|
+
const raw = type.__raw;
|
|
16
|
+
if (!raw || raw.kind !== "Scalar")
|
|
17
|
+
return false;
|
|
18
|
+
return (raw.name === "eTag" &&
|
|
19
|
+
raw.namespace !== undefined &&
|
|
20
|
+
getNamespaceFullName(raw.namespace) === "Azure.Core");
|
|
21
|
+
}
|
|
22
|
+
function getEtagRole(parameter) {
|
|
23
|
+
const name = parameter.name.toLowerCase();
|
|
24
|
+
const wire = parameter.serializedName.toLowerCase();
|
|
25
|
+
// Standard If-Match / If-None-Match headers work with any type
|
|
26
|
+
if (wire === "if-match")
|
|
27
|
+
return "ifMatch";
|
|
28
|
+
if (wire === "if-none-match")
|
|
29
|
+
return "ifNoneMatch";
|
|
30
|
+
// Non-standard headers require Azure.Core.eTag type
|
|
31
|
+
if (!isEtagType(parameter.type))
|
|
32
|
+
return undefined;
|
|
33
|
+
if (name.includes("nonematch") || name.includes("none_match"))
|
|
34
|
+
return "ifNoneMatch";
|
|
35
|
+
if (name.includes("match"))
|
|
36
|
+
return "ifMatch";
|
|
37
|
+
if (wire.endsWith("-if-none-match"))
|
|
38
|
+
return "ifNoneMatch";
|
|
39
|
+
if (wire.endsWith("-if-match"))
|
|
40
|
+
return "ifMatch";
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
12
43
|
function isContentTypeParameter(parameter) {
|
|
13
44
|
return parameter.serializedName.toLowerCase() === "content-type";
|
|
14
45
|
}
|
|
@@ -290,6 +321,7 @@ function emitHttpHeaderParameter(context, parameter, method, serviceApiVersions)
|
|
|
290
321
|
delimiter,
|
|
291
322
|
explode,
|
|
292
323
|
clientDefaultValue,
|
|
324
|
+
etagRole: getEtagRole(parameter),
|
|
293
325
|
};
|
|
294
326
|
}
|
|
295
327
|
function emitHttpQueryParameter(context, rootClient, parameter, method, serviceApiVersions) {
|