Skip to content

Commit 1f05030

Browse files
authored
Add typespec-aaz emitter test and set prettier config (Azure#481)
* typespec aaz emitter test * prettier write
1 parent 836da83 commit 1f05030

File tree

88 files changed

+8072
-6981
lines changed

Some content is hidden

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

88 files changed

+8072
-6981
lines changed

.github/workflows/python-publish.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,9 @@ jobs:
143143
pnpm bundle
144144
env:
145145
CI: false
146+
- name: Test Typespec-aaz Emitter
147+
run: |
148+
pnpm test-aaz-emitter
146149
147150
- name: ${{ matrix.task.name }}
148151
run: |

.prettierignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
**/node_modules/
3+
**/dist/
4+
src/typespec-aaz/test/snapshots/

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"files.eol": "\n",
33
"files.insertFinalNewline": true,
4+
"files.trimFinalNewlines": true,
45
"search.exclude": {
56
"**/dist/**": true,
67
"**/dist-dev/**": true,
@@ -32,6 +33,7 @@
3233
"editor.insertSpaces": true,
3334
"editor.tabSize": 2,
3435
"editor.detectIndentation": false,
36+
"files.insertFinalNewline": false,
3537
"editor.defaultFormatter": "esbenp.prettier-vscode"
3638
},
3739
"[csharp]": {
@@ -53,7 +55,6 @@
5355
},
5456
"typescript.tsdk": "${workspaceRoot}/src/typespec/core/packages/compiler/node_modules/typescript/lib",
5557
"git.ignoreLimitWarning": true,
56-
"prettier.configPath": ".prettierrc.json",
5758
"prettier.ignorePath": ".prettierignore",
5859
"prettier.documentSelectors": ["**/*.tsp"],
5960
"testExplorer.errorDecoration": false,

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"build:typespec": "pnpm install -C src/typespec/ && pnpm -r --filter=\"!./src/web/\" --filter=\"!./src/typespec/core/\" --workspace-concurrency=Infinity --aggregate-output --reporter=append-only build ",
99
"build:web": "pnpm -r --filter=\"./src/web/\" --workspace-concurrency=Infinity --aggregate-output --reporter=append-only build ",
1010
"bundle": "node ./eng/scripts/bundle_dists.js",
11+
"test-aaz-emitter": "cd ./src/typespec-aaz && pnpm test-aaz",
1112
"clean": "pnpm run-all run clean",
1213
"lint": "pnpm run-all --parallel --aggregate-output --reporter=append-only run lint",
1314
"preinstall": "npx only-allow pnpm",

pnpm-lock.yaml

Lines changed: 110 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/typespec-aaz/.prettierrc.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
tabWidth: 2
2+
useTabs: false
3+
printWidth: 120
4+
singleQuote: false
5+
trailingComma: "all"
6+
semi: true
7+
quoteProps: "consistent"
8+
endOfLine: lf
9+
arrowParens: always

src/typespec-aaz/package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
"@typescript-eslint/eslint-plugin": "^6.0.0",
2020
"@typescript-eslint/parser": "^6.0.0",
2121
"@typespec/library-linter": "workspace:~",
22+
"@vitest/coverage-v8": "^3.0.4",
23+
"@vitest/ui": "^3.0.3",
24+
"vitest": "^3.0.5",
2225
"change-case": "~5.4.4",
2326
"eslint": "^8.57.0",
2427
"prettier": "^3.0.3",
@@ -39,6 +42,8 @@
3942
"build": "tsc -p . && npm run build:tsp",
4043
"watch": "tsc -p . --watch",
4144
"test": "node --test ./dist/test/",
45+
"test-aaz": "vitest run",
46+
"test-aaz-update": "vitest run --update",
4247
"build:tsp": "tsp compile . --warn-as-error --import @typespec/library-linter --no-emit",
4348
"lint": "eslint src/ test/ --report-unused-disable-directives --max-warnings=0",
4449
"lint:fix": "eslint . --report-unused-disable-directives --fix",

src/typespec-aaz/prettierrc.yaml

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/typespec-aaz/src/context.ts

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,25 @@ import { TwoLevelMap } from "@typespec/compiler/utils";
44
import { MetadataInfo, Visibility } from "@typespec/http";
55
import { PendingSchema, Ref } from "./model/schema.js";
66

7-
87
export interface AAZEmitterContext {
9-
readonly program: Program;
10-
readonly service: Service;
11-
readonly tcgcContext: TCGCContext;
12-
readonly apiVersion: string;
13-
tracer: Tracer
8+
readonly program: Program;
9+
readonly service: Service;
10+
readonly tcgcContext: TCGCContext;
11+
readonly apiVersion: string;
12+
tracer: Tracer;
1413
}
1514

1615
export interface AAZOperationEmitterContext extends AAZEmitterContext {
17-
readonly operationId: string;
18-
// readonly mutability: Visibility.Create | Visibility.Read | Visibility.Update | Visibility.Delete;
19-
visibility: Visibility;
20-
typeNameOptions: TypeNameOptions;
21-
metadateInfo: MetadataInfo;
22-
pendingSchemas: TwoLevelMap<Type, Visibility, PendingSchema>;
23-
refs: TwoLevelMap<Type, Visibility, Ref>;
16+
readonly operationId: string;
17+
// readonly mutability: Visibility.Create | Visibility.Read | Visibility.Update | Visibility.Delete;
18+
visibility: Visibility;
19+
typeNameOptions: TypeNameOptions;
20+
metadateInfo: MetadataInfo;
21+
pendingSchemas: TwoLevelMap<Type, Visibility, PendingSchema>;
22+
refs: TwoLevelMap<Type, Visibility, Ref>;
2423
}
2524

2625
export interface AAZSchemaEmitterContext extends AAZOperationEmitterContext {
27-
readonly collectionFormat?: "csv" | "ssv" | "tsv" | "pipes" | "multi" | "simple" | "form";
28-
readonly supportClsSchema: boolean;
26+
readonly collectionFormat?: "csv" | "ssv" | "tsv" | "pipes" | "multi" | "simple" | "form";
27+
readonly supportClsSchema: boolean;
2928
}

0 commit comments

Comments
 (0)