Skip to content

Commit e99922b

Browse files
authored
Merge branch 'main' into github-tseslint-typechecked
2 parents 08a9572 + 4a98ab7 commit e99922b

File tree

2,136 files changed

+249894
-1129
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,136 files changed

+249894
-1129
lines changed

.github/eslint.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,7 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.recomme
1818
tsconfigRootDir: import.meta.dirname,
1919
},
2020
},
21+
{
22+
ignores: ["coverage/**", "shared/coverage/**"],
23+
},
2124
});

.github/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
"vitest": "^3.2.4"
4040
},
4141
"scripts": {
42+
"check": "npm run lint && npm run format:check && npm run test:ci",
4243
"lint": "npm run lint:eslint && npm run lint:tsc",
4344
"lint:eslint": "cross-env DEBUG=eslint:eslint eslint",
4445
"lint:tsc": "tsc --build --verbose",

.github/shared/eslint.config.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,7 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.recomme
1818
tsconfigRootDir: import.meta.dirname,
1919
},
2020
},
21-
});
21+
{
22+
ignores: ["coverage/**"],
23+
},
24+
);

.github/shared/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
"vitest": "^3.2.4"
6161
},
6262
"scripts": {
63+
"check": "npm run lint && npm run format:check && npm run test:ci",
6364
"lint": "npm run lint:eslint && npm run lint:tsc",
6465
"lint:eslint": "cross-env DEBUG=eslint:eslint eslint",
6566
"lint:tsc": "tsc --build --verbose",

.github/shared/src/sdk-types.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,25 @@ const SdkNameSchema = z.enum([
88
"azure-sdk-for-python",
99
]);
1010
/**
11-
* @typedef {import("zod").infer<typeof SdkNameSchema>} SdkName
11+
* Represents supported SDK language identifiers.
12+
*
13+
* @readonly
14+
* @enum {"azure-sdk-for-go" | "azure-sdk-for-java" | "azure-sdk-for-js" | "azure-sdk-for-net" | "azure-sdk-for-python"}
1215
*/
16+
export const SdkName = Object.freeze({
17+
Go: "azure-sdk-for-go",
18+
Java: "azure-sdk-for-java",
19+
Js: "azure-sdk-for-js",
20+
Net: "azure-sdk-for-net",
21+
Python: "azure-sdk-for-python",
22+
});
23+
/** @type {import("zod").ZodType<SdkName>} */
24+
export const SdkNameSchema = z.enum(Object.values(SdkName));
1325

1426
/*
1527
* Data for the API view request.
1628
*/
17-
const APIViewRequestDataSchema = z.object({ packageName: z.string(), filePath: z.string() });
29+
export const APIViewRequestDataSchema = z.object({ packageName: z.string(), filePath: z.string() });
1830
/**
1931
* @typedef {import("zod").infer<typeof APIViewRequestDataSchema>} APIViewRequestData
2032
*/

.github/shared/test/sdk-types.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1+
import { SdkName } from "../src/sdk-types.js";
2+
13
/**
24
* @typedef {import("../src/sdk-types.js").SpecGenSdkArtifactInfo} SpecGenSdkArtifactInfo
35
*/
46

57
/**
68
* Create a mock SpecGenSdkArtifactInfo, filling unspecified properties with defaults.
9+
*
710
* @param {Partial<import("../src/sdk-types.js").SpecGenSdkArtifactInfo>} [overrides]
811
* @returns {SpecGenSdkArtifactInfo}
912
*/
@@ -13,7 +16,7 @@ export function createMockSpecGenSdkArtifactInfo(overrides = {}) {
1316
apiViewRequestData: [],
1417
headSha: "abc123",
1518
isSpecGenSdkCheckRequired: true,
16-
language: "azure-sdk-for-go",
19+
language: SdkName.Go,
1720
result: "test result",
1821
};
1922

.github/shared/tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@
88
"incremental": false,
99
"noEmit": true,
1010
},
11+
"exclude": ["coverage"],
1112
}

.github/tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@
88
"incremental": false,
99
"noEmit": true,
1010
},
11+
"exclude": ["coverage", "shared/coverage"],
1112
}

.github/workflows/test/spec-gen-sdk-status.test.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import fs from "fs";
22
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
3+
import { SdkName } from "../../shared/src/sdk-types.js";
34
import { createMockSpecGenSdkArtifactInfo } from "../../shared/test/sdk-types.js";
45
import * as artifacts from "../src/artifacts.js";
56
import * as github from "../src/github.js";
@@ -35,7 +36,7 @@ describe("spec-gen-sdk-status", () => {
3536
return Promise.resolve({
3637
artifactData: JSON.stringify(
3738
createMockSpecGenSdkArtifactInfo({
38-
language: "azure-sdk-for-go",
39+
language: SdkName.Go,
3940
result: "succeeded",
4041
isSpecGenSdkCheckRequired: true,
4142
}),
@@ -127,7 +128,7 @@ describe("spec-gen-sdk-status", () => {
127128
getAzurePipelineArtifactMock.mockResolvedValue({
128129
artifactData: JSON.stringify(
129130
createMockSpecGenSdkArtifactInfo({
130-
language: "azure-sdk-for-go",
131+
language: SdkName.Go,
131132
result: "succeeded",
132133
isSpecGenSdkCheckRequired: true,
133134
}),
@@ -186,7 +187,7 @@ describe("spec-gen-sdk-status", () => {
186187
return {
187188
artifactData: JSON.stringify(
188189
createMockSpecGenSdkArtifactInfo({
189-
language: "azure-sdk-for-go",
190+
language: SdkName.Go,
190191
result: "succeeded",
191192
isSpecGenSdkCheckRequired: true,
192193
}),
@@ -196,7 +197,7 @@ describe("spec-gen-sdk-status", () => {
196197
return {
197198
artifactData: JSON.stringify(
198199
createMockSpecGenSdkArtifactInfo({
199-
language: "azure-sdk-for-java",
200+
language: SdkName.Java,
200201
result: "failed",
201202
isSpecGenSdkCheckRequired: true,
202203
}),
@@ -322,7 +323,7 @@ describe("spec-gen-sdk-status", () => {
322323
return {
323324
artifactData: JSON.stringify(
324325
createMockSpecGenSdkArtifactInfo({
325-
language: "azure-sdk-for-go",
326+
language: SdkName.Go,
326327
result: "succeeded",
327328
isSpecGenSdkCheckRequired: true,
328329
}),
@@ -332,7 +333,7 @@ describe("spec-gen-sdk-status", () => {
332333
return {
333334
artifactData: JSON.stringify(
334335
createMockSpecGenSdkArtifactInfo({
335-
language: "azure-sdk-for-java",
336+
language: SdkName.Java,
336337
result: "failed",
337338
isSpecGenSdkCheckRequired: false, // Not required
338339
}),

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ External Contributors can read [Getting Started with OpenAPI Specifications](htt
2222

2323
See [aka.ms/azsdk/spec-dirs](https://aka.ms/azsdk/spec-dirs).
2424

25+
## Examples
26+
27+
These examples provide a starting point for how a library should be structured, as well as the expected options that libraries should use:
28+
29+
* Data plane: [https://aka.ms/azsdk/tspconfig-sample-dpg](https://aka.ms/azsdk/tspconfig-sample-dpg)
30+
* Management plane (ARM): [https://aka.ms/azsdk/tspconfig-sample-mpg](https://aka.ms/azsdk/tspconfig-sample-mpg)
31+
2532
## Next steps
2633

2734
The next step in the process after a spec is completed is to generate SDKs and API reference documentation. If you're a Microsoft employee, go to the [Azure SDK - Internal Wiki](https://aka.ms/jointhesdk) for more information.

0 commit comments

Comments
 (0)