@typespec/http-client-python 0.31.1 → 0.33.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 (59) hide show
  1. package/dist/emitter/emitter.d.ts.map +1 -1
  2. package/dist/emitter/emitter.js +20 -169
  3. package/dist/emitter/emitter.js.map +1 -1
  4. package/dist/emitter/lib.d.ts +6 -0
  5. package/dist/emitter/lib.d.ts.map +1 -1
  6. package/dist/emitter/lib.js +29 -0
  7. package/dist/emitter/lib.js.map +1 -1
  8. package/dist/emitter/node-runner.browser.d.ts +12 -0
  9. package/dist/emitter/node-runner.browser.d.ts.map +1 -0
  10. package/dist/emitter/node-runner.browser.js +16 -0
  11. package/dist/emitter/node-runner.browser.js.map +1 -0
  12. package/dist/emitter/node-runner.d.ts +12 -0
  13. package/dist/emitter/node-runner.d.ts.map +1 -0
  14. package/dist/emitter/node-runner.js +180 -0
  15. package/dist/emitter/node-runner.js.map +1 -0
  16. package/dist/emitter/pyodide-loader.browser.d.ts +12 -0
  17. package/dist/emitter/pyodide-loader.browser.d.ts.map +1 -0
  18. package/dist/emitter/pyodide-loader.browser.js +33 -0
  19. package/dist/emitter/pyodide-loader.browser.js.map +1 -0
  20. package/dist/emitter/pyodide-loader.d.ts +3 -0
  21. package/dist/emitter/pyodide-loader.d.ts.map +1 -0
  22. package/dist/emitter/pyodide-loader.js +6 -0
  23. package/dist/emitter/pyodide-loader.js.map +1 -0
  24. package/dist/emitter/types.d.ts.map +1 -1
  25. package/dist/emitter/types.js +7 -0
  26. package/dist/emitter/types.js.map +1 -1
  27. package/emitter/src/emitter.ts +18 -189
  28. package/emitter/src/lib.ts +36 -0
  29. package/emitter/src/node-runner.browser.ts +33 -0
  30. package/emitter/src/node-runner.ts +220 -0
  31. package/emitter/src/pyodide-loader.browser.ts +49 -0
  32. package/emitter/src/pyodide-loader.ts +6 -0
  33. package/emitter/src/types.ts +7 -0
  34. package/emitter/temp/tsconfig.tsbuildinfo +1 -1
  35. package/eng/scripts/setup/__pycache__/package_manager.cpython-311.pyc +0 -0
  36. package/eng/scripts/setup/__pycache__/venvtools.cpython-311.pyc +0 -0
  37. package/generator/build/lib/pygen/__init__.py +1 -0
  38. package/generator/build/lib/pygen/codegen/models/primitive_types.py +15 -1
  39. package/generator/build/lib/pygen/codegen/models/utils.py +20 -5
  40. package/generator/build/lib/pygen/codegen/serializers/builder_serializer.py +9 -2
  41. package/generator/build/lib/pygen/codegen/serializers/general_serializer.py +32 -2
  42. package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +34 -1
  43. package/generator/build/lib/pygen/codegen/templates/packaging_templates/pyproject.toml.jinja2 +30 -2
  44. package/generator/build/lib/pygen/codegen/templates/serialization.py.jinja2 +109 -0
  45. package/generator/build/lib/pygen/preprocess/__init__.py +168 -52
  46. package/generator/build/lib/pygen/utils.py +38 -4
  47. package/generator/component-detection-pip-report.json +2 -2
  48. package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
  49. package/generator/pygen/__init__.py +1 -0
  50. package/generator/pygen/codegen/models/primitive_types.py +15 -1
  51. package/generator/pygen/codegen/models/utils.py +20 -5
  52. package/generator/pygen/codegen/serializers/builder_serializer.py +9 -2
  53. package/generator/pygen/codegen/serializers/general_serializer.py +32 -2
  54. package/generator/pygen/codegen/templates/model_base.py.jinja2 +34 -1
  55. package/generator/pygen/codegen/templates/packaging_templates/pyproject.toml.jinja2 +30 -2
  56. package/generator/pygen/codegen/templates/serialization.py.jinja2 +109 -0
  57. package/generator/pygen/preprocess/__init__.py +168 -52
  58. package/generator/pygen/utils.py +38 -4
  59. package/package.json +12 -8
@@ -0,0 +1,33 @@
1
+ // Browser stub for `pyodide-loader.ts`. Loads pyodide via a `<script>` tag
2
+ // from the CDN at runtime so that the npm `pyodide` package (which contains
3
+ // static Node-builtin imports) never enters the browser bundle.
4
+ let scriptLoadPromise = null;
5
+ function loadPyodideScript(indexURL) {
6
+ if (scriptLoadPromise)
7
+ return scriptLoadPromise;
8
+ scriptLoadPromise = new Promise((resolve, reject) => {
9
+ if (typeof globalThis.loadPyodide === "function") {
10
+ resolve();
11
+ return;
12
+ }
13
+ const script = document.createElement("script");
14
+ // indexURL is expected to end with a trailing slash, matching pyodide's contract.
15
+ script.src = `${indexURL}pyodide.js`;
16
+ script.onload = () => resolve();
17
+ script.onerror = () => {
18
+ // Clear the cached promise so a later call can retry after a transient failure.
19
+ scriptLoadPromise = null;
20
+ reject(new Error(`Failed to load pyodide from ${script.src}`));
21
+ };
22
+ document.head.appendChild(script);
23
+ });
24
+ return scriptLoadPromise;
25
+ }
26
+ export async function loadPyodide(options) {
27
+ await loadPyodideScript(options.indexURL);
28
+ if (typeof globalThis.loadPyodide !== "function") {
29
+ throw new Error("pyodide script loaded but globalThis.loadPyodide is not defined");
30
+ }
31
+ return globalThis.loadPyodide(options);
32
+ }
33
+ //# sourceMappingURL=pyodide-loader.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pyodide-loader.browser.js","sourceRoot":"","sources":["../../emitter/src/pyodide-loader.browser.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,4EAA4E;AAC5E,gEAAgE;AAiBhE,IAAI,iBAAiB,GAAyB,IAAI,CAAC;AAEnD,SAAS,iBAAiB,CAAC,QAAgB;IACzC,IAAI,iBAAiB;QAAE,OAAO,iBAAiB,CAAC;IAChD,iBAAiB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxD,IAAI,OAAO,UAAU,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YACjD,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,kFAAkF;QAClF,MAAM,CAAC,GAAG,GAAG,GAAG,QAAQ,YAAY,CAAC;QACrC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;YACpB,gFAAgF;YAChF,iBAAiB,GAAG,IAAI,CAAC;YACzB,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA2B;IAC3D,MAAM,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,OAAO,UAAU,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { loadPyodide } from "pyodide";
2
+ export type { PyodideInterface } from "pyodide";
3
+ //# sourceMappingURL=pyodide-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pyodide-loader.d.ts","sourceRoot":"","sources":["../../emitter/src/pyodide-loader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ // Node-side re-export of `loadPyodide`. The browser swap (`pyodide-loader.browser.ts`)
2
+ // loads pyodide from its CDN script bundle instead, so that the browser bundle
3
+ // never statically imports the npm `pyodide` package (whose `pyodide.mjs`
4
+ // contains static `import "node:*"` calls that break esbuild's browser target).
5
+ export { loadPyodide } from "pyodide";
6
+ //# sourceMappingURL=pyodide-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pyodide-loader.js","sourceRoot":"","sources":["../../emitter/src/pyodide-loader.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,+EAA+E;AAC/E,0EAA0E;AAC1E,gFAAgF;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../emitter/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,eAAe,EAKf,OAAO,EAGR,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAc,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAU5C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;CACf;AAcD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CASrB;AAED,wBAAgB,OAAO,CACrB,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,cAAc,GAAG,mBAAmB,GAAG,IAAI,GAAG,OAAO,GAAG,iBAAiB,GAC9E,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAqDrB;AA6YD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,GAAG,IAAI,GACjB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAcrB;AAED,eAAO,MAAM,UAAU;;;;;;;;;;CAItB,CAAC;AAkBF,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,eAAe,EACrB,kBAAkB,EAAE,MAAM,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAiCvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../emitter/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,eAAe,EAKf,OAAO,EAGR,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAc,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAU5C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;CACf;AAcD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CASrB;AAED,wBAAgB,OAAO,CACrB,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,cAAc,GAAG,mBAAmB,GAAG,IAAI,GAAG,OAAO,GAAG,iBAAiB,GAC9E,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAqDrB;AAoZD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,GAAG,IAAI,GACjB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAcrB;AAED,eAAO,MAAM,UAAU;;;;;;;;;;CAItB,CAAC;AAkBF,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,eAAe,EACrB,kBAAkB,EAAE,MAAM,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAiCvB"}
@@ -390,6 +390,13 @@ function emitBuiltInType(context, type) {
390
390
  encode: type.encode,
391
391
  });
392
392
  }
393
+ if (type.encode === "seconds" || type.encode === "milliseconds") {
394
+ return getSimpleTypeResult(context, {
395
+ type: type.kind,
396
+ encode: type.encode,
397
+ wireType: getType(context, type.wireType),
398
+ });
399
+ }
393
400
  }
394
401
  if (type.kind === "utcDateTime" || type.kind === "offsetDateTime") {
395
402
  if (type.encode === "unixTimestamp") {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../emitter/src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../emitter/src/types.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,17 @@
1
1
  import { createSdkContext } from "@azure-tools/typespec-client-generator-core";
2
2
  import { EmitContext, emitFile, joinPaths, NoTarget } from "@typespec/compiler";
3
- import { execSync } from "child_process";
4
- import fs from "fs";
5
3
  import jsyaml from "js-yaml";
6
- import os from "os";
7
- import path, { dirname } from "path";
8
- import { loadPyodide, PyodideInterface } from "pyodide";
9
- import { fileURLToPath } from "url";
10
4
  import pkgJson from "../../package.json" with { type: "json" };
11
5
  import { emitCodeModel } from "./code-model.js";
12
6
  import {
13
- blackExcludeDirs,
14
7
  BLOB_STORAGE_BASE_URL,
15
8
  PACKAGE_NAME,
16
9
  PYGEN_WHEEL_FILENAME,
17
10
  PYODIDE_VERSION,
18
11
  } from "./constants.js";
19
- import { saveCodeModelAsYaml } from "./external-process.js";
20
12
  import { PythonEmitterOptions, PythonSdkContext, reportDiagnostic } from "./lib.js";
21
- import { runPython3 } from "./run-python3.js";
13
+ import { runNodeEmit } from "./node-runner.js";
14
+ import { loadPyodide, PyodideInterface } from "./pyodide-loader.js";
22
15
  import { getRootNamespace, md2Rst } from "./utils.js";
23
16
 
24
17
  function getBrowserPygenWheelUrl(): string {
@@ -193,7 +186,6 @@ async function onEmitMain(context: EmitContext<PythonEmitterOptions>) {
193
186
  const program = context.program;
194
187
  const sdkContext = await createPythonSdkContext(context);
195
188
 
196
- const outputDir = context.emitterOutputDir;
197
189
  addDefaultOptions(sdkContext);
198
190
  const yamlMap = emitCodeModel(sdkContext);
199
191
  const parsedYamlMap = walkThroughNodes(yamlMap);
@@ -218,9 +210,17 @@ async function onEmitMain(context: EmitContext<PythonEmitterOptions>) {
218
210
  commandArgs["packaging-files-config"] = keyValuePairs.join("|");
219
211
  resolvedOptions["packaging-files-config"] = undefined;
220
212
  }
213
+ if (resolvedOptions["keep-pyproject-fields"]) {
214
+ // Flatten the object of enabled fields into a comma-separated list for the generator.
215
+ const enabledFields = Object.entries(resolvedOptions["keep-pyproject-fields"])
216
+ .filter(([, value]) => value === true)
217
+ .map(([key]) => key);
218
+ commandArgs["keep-pyproject-fields"] = enabledFields.join(",");
219
+ resolvedOptions["keep-pyproject-fields"] = undefined;
220
+ }
221
221
 
222
222
  for (const [key, value] of Object.entries(resolvedOptions)) {
223
- if (key === "license") continue; // skip license since it is passed in codeModel
223
+ if (key === "license" || key === "keep-pyproject-fields") continue; // skip license + keep-pyproject-fields since it is passed in codeModel
224
224
  commandArgs[key] = value;
225
225
  }
226
226
  if (resolvedOptions["generate-packaging-files"]) {
@@ -255,83 +255,13 @@ async function onEmitMain(context: EmitContext<PythonEmitterOptions>) {
255
255
  await runPyodideGeneration(pyodide, "/output", yamlFilePath, commandArgs);
256
256
  await copyPyodideOutputToHost(context, pyodide, "/output");
257
257
  } else {
258
- const root = path.join(dirname(fileURLToPath(import.meta.url)), "..", "..");
259
- const yamlPath = await saveCodeModelAsYaml("python-yaml-path", parsedYamlMap);
260
-
261
- if (!program.compilerOptions.noEmit && !program.hasError()) {
262
- // If emit-yaml-only mode, just copy YAML to output dir for batch processing
263
- if (resolvedOptions["emit-yaml-only"]) {
264
- if (!fs.existsSync(outputDir)) {
265
- fs.mkdirSync(outputDir, { recursive: true });
266
- }
267
- // Copy YAML to output dir with command args embedded
268
- // Use unique filename to avoid conflicts when multiple specs share output dir
269
- const configId = path.basename(yamlPath, ".yaml");
270
- const batchConfig = { yamlPath, commandArgs, outputDir };
271
- fs.writeFileSync(
272
- path.join(outputDir, `.tsp-codegen-${configId}.json`),
273
- JSON.stringify(batchConfig, null, 2),
274
- );
275
- return;
276
- }
277
- // if not using pyodide and there's no venv, we try to create venv
278
- if (!resolvedOptions["use-pyodide"] && !fs.existsSync(path.join(root, "venv"))) {
279
- try {
280
- await runPython3(path.join(root, "/eng/scripts/setup/install.py"));
281
- await runPython3(path.join(root, "/eng/scripts/setup/prepare.py"));
282
- } catch {
283
- // if the python env is not ready, we use pyodide instead
284
- resolvedOptions["use-pyodide"] = true;
285
- }
286
- }
287
-
288
- if (resolvedOptions["use-pyodide"]) {
289
- // here we run with pyodide
290
- const pyodide = await setupPyodideCall(root);
291
- // create the output folder if not exists
292
- if (!fs.existsSync(outputDir)) {
293
- fs.mkdirSync(outputDir, { recursive: true });
294
- }
295
- // mount output folder to pyodide
296
- pyodide.FS.mkdirTree("/output");
297
- pyodide.FS.mount(pyodide.FS.filesystems.NODEFS, { root: outputDir }, "/output");
298
- // mount yaml file to pyodide
299
- pyodide.FS.mkdirTree("/yaml");
300
- pyodide.FS.mount(pyodide.FS.filesystems.NODEFS, { root: path.dirname(yamlPath) }, "/yaml");
301
- await runPyodideGeneration(
302
- pyodide,
303
- "/output",
304
- `/yaml/${path.basename(yamlPath)}`,
305
- commandArgs,
306
- );
307
- } else {
308
- // here we run with native python
309
- let venvPath = path.join(root, "venv");
310
- if (fs.existsSync(path.join(venvPath, "bin"))) {
311
- venvPath = path.join(venvPath, "bin", "python");
312
- } else if (fs.existsSync(path.join(venvPath, "Scripts"))) {
313
- venvPath = path.join(venvPath, "Scripts", "python.exe");
314
- } else {
315
- reportDiagnostic(program, {
316
- code: "pyodide-flag-conflict",
317
- target: NoTarget,
318
- });
319
- }
320
- commandArgs["output-folder"] = outputDir;
321
- commandArgs["tsp-file"] = yamlPath;
322
- const commandFlags = Object.entries(commandArgs)
323
- .map(([key, value]) => `--${key}=${value}`)
324
- .join(" ");
325
- const command = `${venvPath} ${root}/eng/scripts/setup/run_tsp.py ${commandFlags}`;
326
- execSync(command);
327
-
328
- const excludePattern = blackExcludeDirs.join("|");
329
- execSync(
330
- `${venvPath} -m black --line-length=120 --quiet --fast ${outputDir} --exclude "${excludePattern}"`,
331
- );
332
- await checkForPylintIssues(outputDir, excludePattern);
333
- }
334
- }
258
+ await runNodeEmit({
259
+ context,
260
+ parsedYamlMap,
261
+ commandArgs,
262
+ resolvedOptions,
263
+ runPyodideGeneration,
264
+ });
335
265
  }
336
266
  }
337
267
 
@@ -367,104 +297,3 @@ async function setupPyodideCallBrowser() {
367
297
 
368
298
  return pyodide;
369
299
  }
370
-
371
- async function setupPyodideCall(root: string) {
372
- const pyodide = await loadPyodide({
373
- indexURL: path.dirname(fileURLToPath(import.meta.resolve("pyodide"))),
374
- });
375
- const micropipLockPath = path.join(root, "micropip.lock");
376
- while (true) {
377
- if (fs.existsSync(micropipLockPath)) {
378
- try {
379
- const stats = fs.statSync(micropipLockPath);
380
- const now = new Date().getTime();
381
- const lockAge = (now - stats.mtime.getTime()) / 1000;
382
- if (lockAge > 300) {
383
- fs.unlinkSync(micropipLockPath);
384
- }
385
- } catch {
386
- // ignore
387
- }
388
- }
389
- try {
390
- const fd = fs.openSync(micropipLockPath, "wx");
391
- // mount generator to pyodide
392
- pyodide.FS.mkdirTree("/generator");
393
- pyodide.FS.mount(
394
- pyodide.FS.filesystems.NODEFS,
395
- { root: path.join(root, "generator") },
396
- "/generator",
397
- );
398
- await pyodide.loadPackage("micropip");
399
- const micropip = pyodide.pyimport("micropip");
400
- await micropip.install(`emfs:/generator/dist/${PYGEN_WHEEL_FILENAME}`);
401
- fs.closeSync(fd);
402
- fs.unlinkSync(micropipLockPath);
403
- break;
404
- } catch {
405
- await new Promise((resolve) => setTimeout(resolve, 1000));
406
- }
407
- }
408
- return pyodide;
409
- }
410
-
411
- async function checkForPylintIssues(outputDir: string, excludePattern: string) {
412
- const excludeRegex = new RegExp(excludePattern);
413
-
414
- const shouldExcludePath = (filePath: string): boolean => {
415
- const relativePath = path.relative(outputDir, filePath);
416
- const normalizedPath = relativePath.replace(/\\/g, "/");
417
- return excludeRegex.test(normalizedPath);
418
- };
419
-
420
- const processFile = async (filePath: string) => {
421
- let fileContent = await fs.promises.readFile(filePath, "utf-8");
422
- const pylintDisables: string[] = [];
423
- const lineEnding = fileContent.includes("\r\n") && os.platform() === "win32" ? "\r\n" : "\n";
424
- const lines: string[] = fileContent.split(lineEnding);
425
- if (lines.length > 0) {
426
- if (!lines[0].includes("line-too-long") && lines.some((line) => line.length > 120)) {
427
- pylintDisables.push("line-too-long", "useless-suppression");
428
- }
429
- if (!lines[0].includes("too-many-lines") && lines.length > 1000) {
430
- pylintDisables.push("too-many-lines");
431
- }
432
- if (pylintDisables.length > 0) {
433
- fileContent = lines[0].includes("pylint: disable=")
434
- ? [lines[0] + "," + pylintDisables.join(",")].concat(lines.slice(1)).join(lineEnding)
435
- : `# pylint: disable=${pylintDisables.join(",")}${lineEnding}` + fileContent;
436
- await fs.promises.writeFile(filePath, fileContent);
437
- }
438
- }
439
- };
440
-
441
- const collectPythonFiles = async (dir: string): Promise<string[]> => {
442
- if (shouldExcludePath(dir)) {
443
- return [];
444
- }
445
-
446
- const entries = await fs.promises.readdir(dir, { withFileTypes: true });
447
-
448
- const promises = entries.map(async (entry) => {
449
- const filePath = path.join(dir, entry.name);
450
-
451
- if (shouldExcludePath(filePath)) {
452
- return [];
453
- }
454
-
455
- if (entry.isDirectory()) {
456
- return collectPythonFiles(filePath);
457
- } else if (entry.name.endsWith(".py")) {
458
- return [filePath];
459
- }
460
- return [];
461
- });
462
-
463
- const results = await Promise.all(promises);
464
- return results.flat();
465
- };
466
-
467
- // Collect all Python files first, then process in parallel
468
- const pythonFiles = await collectPythonFiles(outputDir);
469
- await Promise.all(pythonFiles.map(processFile));
470
- }
@@ -24,6 +24,12 @@ export interface PythonEmitterOptions {
24
24
  "head-as-boolean"?: boolean;
25
25
  "use-pyodide"?: boolean;
26
26
  "keep-setup-py"?: boolean;
27
+ "keep-pyproject-fields"?: {
28
+ authors?: boolean;
29
+ description?: boolean;
30
+ classifiers?: boolean;
31
+ urls?: boolean;
32
+ };
27
33
  "clear-output-folder"?: boolean;
28
34
  "emit-yaml-only"?: boolean;
29
35
  }
@@ -105,6 +111,36 @@ export const PythonEmitterOptionsSchema: JSONSchemaType<PythonEmitterOptions> =
105
111
  description:
106
112
  "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`.",
107
113
  },
114
+ "keep-pyproject-fields": {
115
+ type: "object",
116
+ nullable: true,
117
+ description:
118
+ "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.",
119
+ properties: {
120
+ authors: {
121
+ type: "boolean",
122
+ nullable: true,
123
+ description: "Preserve the `authors` field (e.g. a custom author name and email).",
124
+ },
125
+ description: {
126
+ type: "boolean",
127
+ nullable: true,
128
+ description: "Preserve the `description` field.",
129
+ },
130
+ classifiers: {
131
+ type: "boolean",
132
+ nullable: true,
133
+ description: "Preserve the `classifiers` field.",
134
+ },
135
+ urls: {
136
+ type: "boolean",
137
+ nullable: true,
138
+ description: "Preserve the `[project.urls]` table.",
139
+ },
140
+ },
141
+ required: [],
142
+ additionalProperties: false,
143
+ },
108
144
  "clear-output-folder": {
109
145
  type: "boolean",
110
146
  nullable: true,
@@ -0,0 +1,33 @@
1
+ // Browser stub for `node-runner.ts`. Swapped in via the `"browser"` field in
2
+ // `package.json`. The emitter's browser flow short-circuits before reaching
3
+ // `runNodeEmit`, so this stub is defense-in-depth — if it does get called,
4
+ // surface a clear diagnostic rather than a cryptic missing-module error.
5
+
6
+ import type { EmitContext } from "@typespec/compiler";
7
+ import { NoTarget } from "@typespec/compiler";
8
+ import type { PyodideInterface } from "pyodide";
9
+ import { PythonEmitterOptions, reportDiagnostic } from "./lib.js";
10
+
11
+ export interface RunNodeEmitArgs {
12
+ context: EmitContext<PythonEmitterOptions>;
13
+ parsedYamlMap: Record<string, any>;
14
+ commandArgs: Record<string, string>;
15
+ resolvedOptions: PythonEmitterOptions;
16
+ runPyodideGeneration: (
17
+ pyodide: PyodideInterface,
18
+ outputFolder: string,
19
+ yamlFile: string,
20
+ commandArgs: Record<string, string>,
21
+ ) => Promise<void>;
22
+ }
23
+
24
+ export async function runNodeEmit({ context }: RunNodeEmitArgs): Promise<void> {
25
+ reportDiagnostic(context.program, {
26
+ code: "browser-runtime-load-failed",
27
+ target: NoTarget,
28
+ format: {
29
+ details:
30
+ "Native Python execution is not supported in the browser; the emitter must run in the in-browser Pyodide branch.",
31
+ },
32
+ });
33
+ }