From a5c6a5eed511f3e63947ffd3164daee837fe069d Mon Sep 17 00:00:00 2001 From: AllyW Date: Wed, 5 Feb 2025 11:26:33 +0800 Subject: [PATCH 1/7] adjust azure resource api --- pnpm-lock.yaml | 87 ++++++++++++++++--------------- src/typespec-aaz/package.json | 1 + src/typespec-aaz/src/convertor.ts | 11 ++-- 3 files changed, 53 insertions(+), 46 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e91d993a..501ac9f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,6 +30,9 @@ importers: '@azure-tools/typespec-azure-core': specifier: workspace:~ version: link:../typespec/packages/typespec-azure-core + '@azure-tools/typespec-azure-resource-manager': + specifier: workspace:~ + version: link:../typespec/packages/typespec-azure-resource-manager '@azure-tools/typespec-client-generator-core': specifier: workspace:~ version: link:../typespec/packages/typespec-client-generator-core @@ -111,7 +114,7 @@ importers: version: 22.7.9 '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) c8: specifier: ^10.1.2 version: 10.1.2 @@ -135,7 +138,7 @@ importers: version: 56.0.1(eslint@9.15.0) eslint-plugin-vitest: specifier: ^0.5.4 - version: 0.5.4(eslint@9.15.0)(typescript@5.6.3)(vitest@2.1.5) + version: 0.5.4(eslint@9.15.0)(typescript@5.6.3)(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) micromatch: specifier: ^4.0.8 version: 4.0.8 @@ -217,7 +220,7 @@ importers: version: link:../compiler '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -266,7 +269,7 @@ importers: version: 7.5.8 '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -324,7 +327,7 @@ importers: version: 17.0.33 '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -412,7 +415,7 @@ importers: version: link:../internal-build-utils '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -464,7 +467,7 @@ importers: version: 8.14.0 '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -500,7 +503,7 @@ importers: version: link:../tspd '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -570,7 +573,7 @@ importers: version: 4.3.3(vite@5.4.11(@types/node@22.7.9)) '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -615,7 +618,7 @@ importers: version: link:../tspd '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -664,7 +667,7 @@ importers: version: link:../tspd '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -698,7 +701,7 @@ importers: version: link:../http '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -787,7 +790,7 @@ importers: version: 17.0.33 '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -830,7 +833,7 @@ importers: version: link:../tspd '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -863,7 +866,7 @@ importers: version: link:../compiler '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -891,7 +894,7 @@ importers: version: 22.7.9 '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -933,7 +936,7 @@ importers: version: link:../tspd '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -997,7 +1000,7 @@ importers: version: link:../xml '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -1239,7 +1242,7 @@ importers: version: 4.3.3(vite@5.4.11(@types/node@22.7.9)) '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -1315,7 +1318,7 @@ importers: version: link:../tspd '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -1376,7 +1379,7 @@ importers: version: 4.3.3(vite@5.4.11(@types/node@22.7.9)) '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -1421,7 +1424,7 @@ importers: version: link:../tspd '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -1491,7 +1494,7 @@ importers: version: link:../internal-build-utils '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -1585,7 +1588,7 @@ importers: version: 17.0.33 '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -1807,7 +1810,7 @@ importers: version: link:../tspd '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -1840,7 +1843,7 @@ importers: version: link:../tspd '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -1908,7 +1911,7 @@ importers: version: link:../prettier-plugin-typespec '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -1974,7 +1977,7 @@ importers: version: link:../internal-build-utils '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -2028,7 +2031,7 @@ importers: version: link:../tspd '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -2061,7 +2064,7 @@ importers: version: link:../tspd '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -2241,7 +2244,7 @@ importers: version: link:../../core/packages/samples '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -2301,7 +2304,7 @@ importers: version: link:../../core/packages/versioning '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -2361,7 +2364,7 @@ importers: version: link:../../core/packages/versioning '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -2409,7 +2412,7 @@ importers: version: link:../../core/packages/versioning '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -2515,7 +2518,7 @@ importers: version: link:../../core/packages/playground '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -2572,7 +2575,7 @@ importers: version: link:../../core/packages/versioning '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -2630,7 +2633,7 @@ importers: version: link:../../core/packages/versioning '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -2669,7 +2672,7 @@ importers: version: link:../../core/packages/tspd '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -2742,7 +2745,7 @@ importers: version: link:../../core/packages/xml '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) '@vitest/ui': specifier: ^2.1.2 version: 2.1.5(vitest@2.1.5) @@ -2797,7 +2800,7 @@ importers: version: link:../../core/packages/tspd '@vitest/coverage-v8': specifier: ^2.1.5 - version: 2.1.5(vitest@2.1.5) + version: 2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)) c8: specifier: ^10.1.2 version: 10.1.2 @@ -17706,7 +17709,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@2.1.5(vitest@2.1.5)': + '@vitest/coverage-v8@2.1.5(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -19658,7 +19661,7 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-vitest@0.5.4(eslint@9.15.0)(typescript@5.6.3)(vitest@2.1.5): + eslint-plugin-vitest@0.5.4(eslint@9.15.0)(typescript@5.6.3)(vitest@2.1.5(@types/node@22.7.9)(@vitest/ui@2.1.5)(happy-dom@15.11.6)(jsdom@19.0.0)): dependencies: '@typescript-eslint/utils': 7.17.0(eslint@9.15.0)(typescript@5.6.3) eslint: 9.15.0 diff --git a/src/typespec-aaz/package.json b/src/typespec-aaz/package.json index 9abb3096..d290c7ca 100644 --- a/src/typespec-aaz/package.json +++ b/src/typespec-aaz/package.json @@ -27,6 +27,7 @@ "peerDependencies": { "@azure-tools/typespec-azure-core": "workspace:~", "@azure-tools/typespec-client-generator-core": "workspace:~", + "@azure-tools/typespec-azure-resource-manager": "workspace:~", "@typespec/compiler": "workspace:~", "@typespec/http": "workspace:~", "@typespec/json-schema": "workspace:~", diff --git a/src/typespec-aaz/src/convertor.ts b/src/typespec-aaz/src/convertor.ts index 5651ffb8..35339f02 100644 --- a/src/typespec-aaz/src/convertor.ts +++ b/src/typespec-aaz/src/convertor.ts @@ -1,4 +1,7 @@ import { HttpOperation, HttpOperationBody, HttpOperationMultipartBody, HttpOperationResponse, HttpStatusCodeRange, HttpStatusCodesEntry, Visibility, createMetadataInfo, getHeaderFieldOptions, getQueryParamOptions, getServers, getStatusCodeDescription, getVisibilitySuffix, isContentTypeHeader, resolveRequestVisibility } from "@typespec/http"; +import { + isAzureResource, +} from "@azure-tools/typespec-azure-resource-manager"; import { AAZEmitterContext, AAZOperationEmitterContext, AAZSchemaEmitterContext } from "./context.js"; import { resolveOperationId } from "./utils.js"; import { TypeSpecPathItem } from "./model/path_item.js"; @@ -734,7 +737,7 @@ function convertModel2CMDObjectSchemaBase(context: AAZSchemaEmitterContext, mode } } - if (isAzureResource(context, payloadModel) && properties.location) { + if (isAzureResourceOverall(context, payloadModel) && properties.location) { properties.location = { ...(properties.location as CMDStringSchema), type: "ResourceLocation" @@ -1186,12 +1189,12 @@ function getDiscriminatorInfo(context: AAZSchemaEmitterContext, model: Model): D return undefined; } -function isAzureResource(context: AAZSchemaEmitterContext, model: Model): boolean { +function isAzureResourceOverall(context: AAZSchemaEmitterContext, model: Model): boolean { let current = model; - let isResource = getExtensions(context.program, current).get("x-ms-azure-resource"); + let isResource = isAzureResource(context.program, current); while (!isResource && current.baseModel) { current = current.baseModel; - isResource = getExtensions(context.program, current).get("x-ms-azure-resource"); + isResource = isAzureResource(context.program, current); } return !!isResource; } From 6abf7c6c74df3b293909b1dee2d4ab516c8b94fb Mon Sep 17 00:00:00 2001 From: AllyW Date: Wed, 5 Feb 2025 13:08:20 +0800 Subject: [PATCH 2/7] check dep --- .github/workflows/python-publish.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index a6607c4b..78b364b0 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -94,6 +94,8 @@ jobs: pnpm install cd src/typespec pnpm install + cd ../../ + ls ./src/typespec-aaz/node_modules/@azure-tools/ - name: Set build variables shell: bash From 5779fc317e422449c82beada8c0b400be016794b Mon Sep 17 00:00:00 2001 From: AllyW Date: Wed, 5 Feb 2025 13:42:21 +0800 Subject: [PATCH 3/7] check --- .github/workflows/python-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 78b364b0..c9942f3d 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -95,7 +95,7 @@ jobs: cd src/typespec pnpm install cd ../../ - ls ./src/typespec-aaz/node_modules/@azure-tools/ + ls ./src/typespec-aaz/node_modules/@azure-tools/typespec-azure-resource-manager - name: Set build variables shell: bash From 75eb0a103180843367e0629232f08d9b8d7b4027 Mon Sep 17 00:00:00 2001 From: AllyW Date: Wed, 5 Feb 2025 14:02:49 +0800 Subject: [PATCH 4/7] check --- pnpm-lock.yaml | 27 +++++++++++++-------------- src/typespec-aaz/package.json | 12 +++++------- 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 501ac9f2..1fdb41a4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,7 +26,7 @@ importers: version: 5.0.5 src/typespec-aaz: - dependencies: + devDependencies: '@azure-tools/typespec-azure-core': specifier: workspace:~ version: link:../typespec/packages/typespec-azure-core @@ -36,6 +36,15 @@ importers: '@azure-tools/typespec-client-generator-core': specifier: workspace:~ version: link:../typespec/packages/typespec-client-generator-core + '@types/node': + specifier: latest + version: 20.12.7 + '@typescript-eslint/eslint-plugin': + specifier: ^6.0.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': + specifier: ^6.0.0 + version: 6.21.0(eslint@8.57.0)(typescript@5.4.5) '@typespec/compiler': specifier: workspace:~ version: link:../typespec/core/packages/compiler @@ -45,6 +54,9 @@ importers: '@typespec/json-schema': specifier: workspace:~ version: link:../typespec/core/packages/json-schema + '@typespec/library-linter': + specifier: workspace:~ + version: link:../typespec/core/packages/library-linter '@typespec/openapi': specifier: workspace:~ version: link:../typespec/core/packages/openapi @@ -54,19 +66,6 @@ importers: '@typespec/versioning': specifier: workspace:~ version: link:../typespec/core/packages/versioning - devDependencies: - '@types/node': - specifier: latest - version: 20.12.7 - '@typescript-eslint/eslint-plugin': - specifier: ^6.0.0 - version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': - specifier: ^6.0.0 - version: 6.21.0(eslint@8.57.0)(typescript@5.4.5) - '@typespec/library-linter': - specifier: workspace:~ - version: link:../typespec/core/packages/library-linter change-case: specifier: ~5.4.4 version: 5.4.4 diff --git a/src/typespec-aaz/package.json b/src/typespec-aaz/package.json index d290c7ca..18c85f50 100644 --- a/src/typespec-aaz/package.json +++ b/src/typespec-aaz/package.json @@ -19,12 +19,6 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "@typespec/library-linter": "workspace:~", - "change-case": "~5.4.4", - "eslint": "^8.57.0", - "prettier": "^3.0.3", - "typescript": "^5.2.2" - }, - "peerDependencies": { "@azure-tools/typespec-azure-core": "workspace:~", "@azure-tools/typespec-client-generator-core": "workspace:~", "@azure-tools/typespec-azure-resource-manager": "workspace:~", @@ -33,7 +27,11 @@ "@typespec/json-schema": "workspace:~", "@typespec/openapi": "workspace:~", "@typespec/rest": "workspace:~", - "@typespec/versioning": "workspace:~" + "@typespec/versioning": "workspace:~", + "change-case": "~5.4.4", + "eslint": "^8.57.0", + "prettier": "^3.0.3", + "typescript": "^5.2.2" }, "scripts": { "build": "tsc -p . && npm run build:tsp", From 004ef7132e1fff9bdbc88a555104b889fbef37c5 Mon Sep 17 00:00:00 2001 From: AllyW Date: Wed, 5 Feb 2025 14:25:20 +0800 Subject: [PATCH 5/7] fix --- .github/workflows/python-publish.yml | 2 -- src/typespec-aaz/src/convertor.ts | 5 ++++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index c9942f3d..a6607c4b 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -94,8 +94,6 @@ jobs: pnpm install cd src/typespec pnpm install - cd ../../ - ls ./src/typespec-aaz/node_modules/@azure-tools/typespec-azure-resource-manager - name: Set build variables shell: bash diff --git a/src/typespec-aaz/src/convertor.ts b/src/typespec-aaz/src/convertor.ts index 35339f02..da5ea707 100644 --- a/src/typespec-aaz/src/convertor.ts +++ b/src/typespec-aaz/src/convertor.ts @@ -1114,7 +1114,10 @@ function convertUnionEnum2CMDSchemaBase(context: AAZSchemaEmitterContext, union: function convertEnum2CMDSchemaBase(context: AAZSchemaEmitterContext, e: Enum): CMDStringSchemaBase | CMDIntegerSchemaBase | undefined { let schema; - const type = getEnumMemberType(e.members.values().next().value); + if (e.members.values().next().value === undefined) { + return schema; + } + const type = getEnumMemberType(e.members.values().next().value!); for (const option of e.members.values()) { if (type !== getEnumMemberType(option)) { return undefined; From 7958d9eaec9d911c79977619910c60dc24c89b32 Mon Sep 17 00:00:00 2001 From: AllyW Date: Wed, 5 Feb 2025 14:40:37 +0800 Subject: [PATCH 6/7] fix --- package.json | 2 +- src/typespec-aaz/src/convertor.ts | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index cfd1847d..adb8f6e6 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "aaz-dev-tools", "version": "0.1.0", "private": true, - "packageManager": "pnpm@8.13.1", + "packageManager": "pnpm@9.5.0", "scripts": { "run-all": "pnpm -r --filter=\"!./src/typespec/core/\" ", "build:typespec": "pnpm -r --filter=\"!./src/web/\" --filter=\"!./src/typespec/core/\" --workspace-concurrency=Infinity --aggregate-output --reporter=append-only build ", diff --git a/src/typespec-aaz/src/convertor.ts b/src/typespec-aaz/src/convertor.ts index da5ea707..35339f02 100644 --- a/src/typespec-aaz/src/convertor.ts +++ b/src/typespec-aaz/src/convertor.ts @@ -1114,10 +1114,7 @@ function convertUnionEnum2CMDSchemaBase(context: AAZSchemaEmitterContext, union: function convertEnum2CMDSchemaBase(context: AAZSchemaEmitterContext, e: Enum): CMDStringSchemaBase | CMDIntegerSchemaBase | undefined { let schema; - if (e.members.values().next().value === undefined) { - return schema; - } - const type = getEnumMemberType(e.members.values().next().value!); + const type = getEnumMemberType(e.members.values().next().value); for (const option of e.members.values()) { if (type !== getEnumMemberType(option)) { return undefined; From d71764dc691e83a7ffb373f75f75b84d6b8b50f6 Mon Sep 17 00:00:00 2001 From: AllyW Date: Wed, 5 Feb 2025 14:50:49 +0800 Subject: [PATCH 7/7] set pnpm --- .github/workflows/python-publish.yml | 2 +- pnpm-lock.yaml | 27 ++++++++++++++------------- src/typespec-aaz/package.json | 12 +++++++----- 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index a6607c4b..f9e18022 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -90,7 +90,7 @@ jobs: - name: Install prerequisites run: | pip install --upgrade pip setuptools wheel virtualenv - npm install -g pnpm + npm install -g pnpm@9.5.0 pnpm install cd src/typespec pnpm install diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1fdb41a4..501ac9f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,7 +26,7 @@ importers: version: 5.0.5 src/typespec-aaz: - devDependencies: + dependencies: '@azure-tools/typespec-azure-core': specifier: workspace:~ version: link:../typespec/packages/typespec-azure-core @@ -36,15 +36,6 @@ importers: '@azure-tools/typespec-client-generator-core': specifier: workspace:~ version: link:../typespec/packages/typespec-client-generator-core - '@types/node': - specifier: latest - version: 20.12.7 - '@typescript-eslint/eslint-plugin': - specifier: ^6.0.0 - version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': - specifier: ^6.0.0 - version: 6.21.0(eslint@8.57.0)(typescript@5.4.5) '@typespec/compiler': specifier: workspace:~ version: link:../typespec/core/packages/compiler @@ -54,9 +45,6 @@ importers: '@typespec/json-schema': specifier: workspace:~ version: link:../typespec/core/packages/json-schema - '@typespec/library-linter': - specifier: workspace:~ - version: link:../typespec/core/packages/library-linter '@typespec/openapi': specifier: workspace:~ version: link:../typespec/core/packages/openapi @@ -66,6 +54,19 @@ importers: '@typespec/versioning': specifier: workspace:~ version: link:../typespec/core/packages/versioning + devDependencies: + '@types/node': + specifier: latest + version: 20.12.7 + '@typescript-eslint/eslint-plugin': + specifier: ^6.0.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': + specifier: ^6.0.0 + version: 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typespec/library-linter': + specifier: workspace:~ + version: link:../typespec/core/packages/library-linter change-case: specifier: ~5.4.4 version: 5.4.4 diff --git a/src/typespec-aaz/package.json b/src/typespec-aaz/package.json index 18c85f50..d290c7ca 100644 --- a/src/typespec-aaz/package.json +++ b/src/typespec-aaz/package.json @@ -19,6 +19,12 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "@typespec/library-linter": "workspace:~", + "change-case": "~5.4.4", + "eslint": "^8.57.0", + "prettier": "^3.0.3", + "typescript": "^5.2.2" + }, + "peerDependencies": { "@azure-tools/typespec-azure-core": "workspace:~", "@azure-tools/typespec-client-generator-core": "workspace:~", "@azure-tools/typespec-azure-resource-manager": "workspace:~", @@ -27,11 +33,7 @@ "@typespec/json-schema": "workspace:~", "@typespec/openapi": "workspace:~", "@typespec/rest": "workspace:~", - "@typespec/versioning": "workspace:~", - "change-case": "~5.4.4", - "eslint": "^8.57.0", - "prettier": "^3.0.3", - "typescript": "^5.2.2" + "@typespec/versioning": "workspace:~" }, "scripts": { "build": "tsc -p . && npm run build:tsp",