diff --git a/CHANGELOG.md b/CHANGELOG.md index 161061bf..2f649108 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.12.4 2026-03-13 + +- Only throw error on AutoRest stderr when exit code is non-zero; log warnings otherwise + # 0.12.3 2025-10-13 - Fix crash in logging when property named "$ref" diff --git a/package-lock.json b/package-lock.json index 6b50225d..df0d2764 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@azure/oad", - "version": "0.12.3", + "version": "0.12.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@azure/oad", - "version": "0.12.3", + "version": "0.12.4", "license": "MIT", "dependencies": { "@ts-common/fs": "0.2.0", @@ -15,7 +15,7 @@ "@ts-common/json-parser": "0.9.0", "@ts-common/source-map": "0.5.0", "@ts-common/string-map": "0.3.0", - "autorest": "^3.6.1", + "autorest": "^3.8.0", "js-yaml": "^4.1.0", "json-pointer": "0.6.2", "json-refs": "^3.0.15", @@ -78,6 +78,7 @@ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -1724,6 +1725,7 @@ "integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.56.1", "@typescript-eslint/types": "8.56.1", @@ -2204,6 +2206,7 @@ "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2321,9 +2324,9 @@ "license": "MIT" }, "node_modules/autorest": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/autorest/-/autorest-3.7.2.tgz", - "integrity": "sha512-yEeF0tJjx2fROK9VWIVHKFiUSzD0cxwqnq7z+v7kIIRRZjyOM3rpBS9OPp6tQv5d3mmxPAUNh57G1ZumQNqQGg==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/autorest/-/autorest-3.8.0.tgz", + "integrity": "sha512-FwpPuDGXuLLnBAR3SCGQcQHPCRoyYXPTMnJ80kN6HRsK+b1/pJ1DtOOzqL4XTCdtq37gth1AoFCerSOwSc3iGQ==", "hasInstallScript": true, "license": "MIT", "bin": { @@ -2501,6 +2504,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -3111,6 +3115,7 @@ "integrity": "sha512-uYixubwmqJZH+KLVYIVKY1JQt7tysXhtj21WSvjcSmU5SVNzMus1bgLe+pAt816yQ8opKfheVVoPLqvVMGejYw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", @@ -4045,6 +4050,7 @@ "integrity": "sha512-F26gjC0yWN8uAA5m5Ss8ZQf5nDHWGlN/xWZIh8S5SRbsEKBovwZhxGd6LJlbZYxBgCYOtreSUyb8hpXyGC5O4A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/core": "30.2.0", "@jest/types": "30.2.0", @@ -6272,6 +6278,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -6448,6 +6455,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index 69bf356c..d58de38c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@azure/oad", - "version": "0.12.3", + "version": "0.12.4", "author": { "name": "Microsoft Corporation", "email": "azsdkteam@microsoft.com", @@ -15,7 +15,7 @@ "@ts-common/json-parser": "0.9.0", "@ts-common/source-map": "0.5.0", "@ts-common/string-map": "0.3.0", - "autorest": "^3.6.1", + "autorest": "^3.8.0", "js-yaml": "^4.1.0", "json-pointer": "0.6.2", "json-refs": "^3.0.15", diff --git a/src/lib/validators/openApiDiff.ts b/src/lib/validators/openApiDiff.ts index d9b3f56a..00d1c4eb 100644 --- a/src/lib/validators/openApiDiff.ts +++ b/src/lib/validators/openApiDiff.ts @@ -244,13 +244,20 @@ export class OpenApiDiff { log.debug(`Executing: "${autoRestFile} ${args.join(" ")}"`) - const { stderr } = await execFile(autoRestFile, args, { - encoding: "utf8", - maxBuffer: 1024 * 1024 * 64, - env: { ...process.env, NODE_OPTIONS: "--max-old-space-size=8192" } - }) + // autorest 3.8.0 emits deprecation message to stderr with exit code 0 + let stderr: string + try { + const result = await execFile(autoRestFile, args, { + encoding: "utf8", + maxBuffer: 1024 * 1024 * 64, + env: { ...process.env, NODE_OPTIONS: "--max-old-space-size=8192" } + }) + stderr = result.stderr + } catch (e) { + throw new Error(util.inspect(e)) + } if (stderr) { - throw new Error(stderr) + log.error(`AutoRest completed with warnings on stderr: ${stderr}`) } const buffer = await asyncFs.readFile(outputMapFilePath)