@azure-tools/typespec-go 0.17.7-dev.8 → 0.18.0-dev.9

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.
@@ -0,0 +1,109 @@
1
+ {
2
+ "name": "@azure-tools/typespec-go",
3
+ "version": "0.17.6",
4
+ "author": "Microsoft Corporation",
5
+ "description": "TypeSpec emitter for Go SDKs",
6
+ "homepage": "https://azure.github.io/typespec-azure",
7
+ "readme": "https://github.com/Azure/typespec-azure/blob/main/packages/typespec-go/README.md",
8
+ "license": "MIT",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/Azure/typespec-azure.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/Azure/typespec-azure/issues"
15
+ },
16
+ "keywords": [
17
+ "go",
18
+ "golang",
19
+ "typespec"
20
+ ],
21
+ "type": "module",
22
+ "main": "dist/src/index.js",
23
+ "exports": {
24
+ ".": {
25
+ "types": "./dist/src/index.d.ts",
26
+ "default": "./dist/src/index.js"
27
+ }
28
+ },
29
+ "browser": {
30
+ "./src/node-runner.js": "./src/node-runner.browser.js"
31
+ },
32
+ "tspMain": "dist/src/index.js",
33
+ "engines": {
34
+ "node": ">=22.0.0"
35
+ },
36
+ "scripts": {
37
+ "clean": "rimraf ./dist ./temp ./node_modules",
38
+ "build": "tsc -p .",
39
+ "build:deps": "turbo run build --filter=@azure-tools/typespec-go...",
40
+ "watch": "tsc -p . --watch",
41
+ "test": "vitest run --pass-with-no-tests",
42
+ "test:update": "node .scripts/test-update.js",
43
+ "gen:scenario-suites": "node test/unittest/gen-scenario-suites.mjs",
44
+ "test:ci": "vitest run --pass-with-no-tests --coverage",
45
+ "test:go:e2e": "pnpm spector --start && pnpm go-test && pnpm spector --stop",
46
+ "go-test": "node .scripts/go-test.js",
47
+ "lint:go": "node .scripts/lint-go.js",
48
+ "tspcompile": "node .scripts/tspcompile.js",
49
+ "spector": "node .scripts/spector.js",
50
+ "sync-specs": "node .scripts/sync-azure-rest-api-specs.js",
51
+ "diff-regen-code": "node ../../core/eng/emitter-diff/src/cli.ts --command \"npm run tspcompile\" --emitter-path packages/typespec-go --generated-code-path test/http-specs,test/azure-http-specs,test/local --setup \"git submodule update --init --recursive\" --setup \"pnpm install\" --setup \"npm run build:deps\"",
52
+ "regen-docs": "tspd doc . --enable-experimental --output-dir ../../website/src/content/docs/docs/emitters/clients/typespec-go/reference --skip-js"
53
+ },
54
+ "files": [
55
+ "dist/**",
56
+ "!dist/test/**",
57
+ "README.md",
58
+ "CHANGELOG.md",
59
+ "LICENSE"
60
+ ],
61
+ "peerDependencies": {
62
+ "@azure-tools/typespec-autorest": "workspace:^",
63
+ "@azure-tools/typespec-azure-core": "workspace:^",
64
+ "@azure-tools/typespec-azure-resource-manager": "workspace:^",
65
+ "@azure-tools/typespec-azure-rulesets": "workspace:^",
66
+ "@azure-tools/typespec-client-generator-core": "workspace:^",
67
+ "@typespec/compiler": "workspace:^",
68
+ "@typespec/events": "workspace:^",
69
+ "@typespec/http": "workspace:^",
70
+ "@typespec/openapi": "workspace:^",
71
+ "@typespec/rest": "workspace:^",
72
+ "@typespec/sse": "workspace:^",
73
+ "@typespec/streams": "workspace:^",
74
+ "@typespec/versioning": "workspace:^",
75
+ "@typespec/xml": "workspace:^"
76
+ },
77
+ "dependencies": {
78
+ "semver": "catalog:"
79
+ },
80
+ "devDependencies": {
81
+ "@azure-tools/azure-http-specs": "workspace:^",
82
+ "@azure-tools/spector-runner": "workspace:^",
83
+ "@azure-tools/typespec-autorest": "workspace:^",
84
+ "@azure-tools/typespec-azure-core": "workspace:^",
85
+ "@azure-tools/typespec-azure-resource-manager": "workspace:^",
86
+ "@azure-tools/typespec-azure-rulesets": "workspace:^",
87
+ "@azure-tools/typespec-client-generator-core": "workspace:^",
88
+ "@types/node": "catalog:",
89
+ "@types/semver": "catalog:",
90
+ "@typespec/compiler": "workspace:^",
91
+ "@typespec/events": "workspace:^",
92
+ "@typespec/http": "workspace:^",
93
+ "@typespec/http-specs": "workspace:^",
94
+ "@typespec/openapi": "workspace:^",
95
+ "@typespec/rest": "workspace:^",
96
+ "@typespec/spec-api": "workspace:^",
97
+ "@typespec/spector": "workspace:^",
98
+ "@typespec/sse": "workspace:^",
99
+ "@typespec/streams": "workspace:^",
100
+ "@typespec/tspd": "workspace:^",
101
+ "@typespec/versioning": "workspace:^",
102
+ "@typespec/xml": "workspace:^",
103
+ "@vitest/coverage-v8": "catalog:",
104
+ "@vitest/ui": "catalog:",
105
+ "rimraf": "catalog:",
106
+ "typescript": "catalog:",
107
+ "vitest": "catalog:"
108
+ }
109
+ }
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging -- codemodel intentionally merges interface and class declarations of the same name to define its public API shape. */
6
- import * as path from "path";
6
+ import { getBaseFileName } from "@typespec/compiler";
7
7
  import * as client from "./client.js";
8
8
  import * as result from "./result.js";
9
9
  import * as type from "./type.js";
@@ -23,7 +23,7 @@ export function getPackageName(pkg) {
23
23
  case "fake":
24
24
  return pkg.kind;
25
25
  case "module":
26
- return path.basename(pkg.identity.replace(/\/v\d+$/, ""));
26
+ return getBaseFileName(pkg.identity.replace(/\/v\d+$/, ""));
27
27
  case "package":
28
28
  return pkg.name;
29
29
  case "test":
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/codemodel/module.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,yLAAyL;AAEzL,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAmElC,mGAAmG;AACnG,UAAU;AACV,mGAAmG;AAEnG;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,GAA+C;IAC5E,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5D,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;IAC7C,CAAC;AACH,CAAC;AAgCD,MAAM,WAAW;IACf;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,EAAiB,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,EAAiB,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,EAAkB,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAsC,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAW,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,EAAe,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,KAAK,EAA2B,CAAC;QAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAoB,CAAC;IAC9C,CAAC;CACF;AAED,mGAAmG;AACnG,mGAAmG;AAEnG,MAAM,OAAO,gBAAgB;IAC3B,YAAY,QAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,WAAW;IACtB,YAAY,MAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,MAAO,SAAQ,WAAW;IACrC,YAAY,QAAgB;QAC1B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,OAAQ,SAAQ,WAAW;IACtC,YAAY,IAAY,EAAE,MAA2C;QACnE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,WAAW;IACtB,YAAY,GAAmB;QAC7B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/codemodel/module.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,yLAAyL;AAEzL,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAmElC,mGAAmG;AACnG,UAAU;AACV,mGAAmG;AAEnG;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,GAA+C;IAC5E,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9D,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;IAC7C,CAAC;AACH,CAAC;AAgCD,MAAM,WAAW;IACf;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,EAAiB,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,EAAiB,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,EAAkB,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAsC,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAW,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,EAAe,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,KAAK,EAA2B,CAAC;QAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAoB,CAAC;IAC9C,CAAC;CACF;AAED,mGAAmG;AACnG,mGAAmG;AAEnG,MAAM,OAAO,gBAAgB;IAC3B,YAAY,QAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,WAAW;IACtB,YAAY,MAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,MAAO,SAAQ,WAAW;IACrC,YAAY,QAAgB;QAC1B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,OAAQ,SAAQ,WAAW;IACtC,YAAY,IAAY,EAAE,MAA2C;QACnE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,WAAW;IACtB,YAAY,GAAmB;QAC7B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CACF"}
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging -- codemodel intentionally merges interface and class declarations of the same name to define its public API shape. */
6
- import * as path from "path";
6
+ import { getBaseFileName } from "@typespec/compiler";
7
7
  import { Client, ClientOptions } from "./client.js";
8
8
  import { getPackageName } from "./module.js";
9
9
  import { ParameterGroup } from "./param.js";
@@ -122,7 +122,7 @@ export function getTypeDeclaration(type, scope, instance = false) {
122
122
  case "readSeekCloser":
123
123
  case "tokenCredential":
124
124
  // strip module to just the leaf package as required
125
- return `${byRef}${path.basename(type.module)}.${type.name}`;
125
+ return `${byRef}${getBaseFileName(type.module)}.${type.name}`;
126
126
  }
127
127
  }
128
128
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/codemodel/type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/codemodel/type.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,5 @@
1
1
  import { type EmitContext } from "@typespec/compiler";
2
2
  import { type GoEmitterOptions } from "./lib.js";
3
+ export { cleanupGeneratedFiles } from "./node-runner.js";
3
4
  export declare function $onEmit(context: EmitContext<GoEmitterOptions>): Promise<void>;
4
- /**
5
- * Clean up existing generated Go files in the output directory.
6
- * Removes any .go files that contain the Microsoft code generator comment.
7
- *
8
- * exported for testing purposes only.
9
- *
10
- * @param outputDir the directory to clean up
11
- */
12
- export declare function cleanupGeneratedFiles(outputDir: string): void;
13
5
  //# sourceMappingURL=emitter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"AAKA,OAAO,EAA2B,KAAK,WAAW,EAAY,MAAM,oBAAoB,CAAC;AAOzF,OAAO,EAAE,KAAK,gBAAgB,EAAoB,MAAM,UAAU,CAAC;AAInE,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,iBAqPnE;AAqED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,QAmBtD"}
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,WAAW,EAIjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,KAAK,gBAAgB,EAAoB,MAAM,UAAU,CAAC;AAKnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,iBAuJnE"}
@@ -2,18 +2,17 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- import { NoTarget } from "@typespec/compiler";
6
- import { execSync } from "child_process";
7
- import { existsSync, opendirSync, readFileSync, unlinkSync } from "fs";
8
- import { mkdir, readFile, writeFile } from "fs/promises";
9
- import * as path from "path";
5
+ import { getDirectoryPath, joinPaths, NoTarget, } from "@typespec/compiler";
10
6
  import * as codegen from "./codegen/index.js";
11
7
  import { CodeModelError } from "./codemodel/errors.js";
12
8
  import { reportDiagnostic } from "./lib.js";
9
+ import { cleanupGeneratedFiles, runGoTools } from "./node-runner.js";
13
10
  import { Adapter, ExternalError } from "./tcgcadapter/adapter.js";
14
11
  import { AdapterError } from "./tcgcadapter/errors.js";
12
+ export { cleanupGeneratedFiles } from "./node-runner.js";
15
13
  export async function $onEmit(context) {
16
14
  try {
15
+ const host = context.program.host;
17
16
  // if there's an existing go.mod file, we'll use its module
18
17
  // identity instead of the provided value. this ensures we
19
18
  // get the correct major version suffix (if any). if there's
@@ -22,9 +21,9 @@ export async function $onEmit(context) {
22
21
  let moduleIdentity;
23
22
  let currentDir = context.emitterOutputDir;
24
23
  while (true) {
25
- const goModFile = path.join(currentDir, "go.mod");
26
- if (existsSync(goModFile)) {
27
- const goModFileContent = readFileSync(goModFile, "utf8");
24
+ const goModFile = joinPaths(currentDir, "go.mod");
25
+ if (await fileExists(host, goModFile)) {
26
+ const goModFileContent = (await host.readFile(goModFile)).text;
28
27
  // the module identity is specified on the "module" directive, e.g.
29
28
  // module github.com/Azure/azure-sdk-for-go/sdk/foo/v2
30
29
  const match = goModFileContent.match(/^module\s+(\S+)/m);
@@ -41,7 +40,7 @@ export async function $onEmit(context) {
41
40
  break;
42
41
  }
43
42
  // move to the parent directory
44
- const parentDir = path.dirname(currentDir);
43
+ const parentDir = getDirectoryPath(currentDir);
45
44
  if (parentDir === currentDir) {
46
45
  // we've reached the filesystem root without finding a go.mod.
47
46
  // this is expected the first time an SDK is generated, in which
@@ -81,7 +80,7 @@ export async function $onEmit(context) {
81
80
  }
82
81
  const adapter = await Adapter.create(context);
83
82
  const codeModel = adapter.tcgcToGoCodeModel();
84
- await mkdir(context.emitterOutputDir, { recursive: true });
83
+ await host.mkdirp(context.emitterOutputDir);
85
84
  // clean up existing generated Go files
86
85
  cleanupGeneratedFiles(context.emitterOutputDir);
87
86
  let filePrefix;
@@ -93,13 +92,12 @@ export async function $onEmit(context) {
93
92
  }
94
93
  }
95
94
  const emitter = new codegen.Emitter(codeModel, {
96
- exists: (name) => {
97
- return Promise.resolve(existsSync(`${context.emitterOutputDir}/${name}`));
98
- },
99
- read: (name) => readFile(`${context.emitterOutputDir}/${name}`, "utf8"),
95
+ exists: (name) => fileExists(host, joinPaths(context.emitterOutputDir, name)),
96
+ read: async (name) => (await host.readFile(joinPaths(context.emitterOutputDir, name))).text,
100
97
  write: async (name, content) => {
101
- await mkdir(path.dirname(`${context.emitterOutputDir}/${name}`), { recursive: true });
102
- return writeFile(`${context.emitterOutputDir}/${name}`, content);
98
+ const filePath = joinPaths(context.emitterOutputDir, name);
99
+ await host.mkdirp(getDirectoryPath(filePath));
100
+ return host.writeFile(filePath, content);
103
101
  },
104
102
  }, { filePrefix });
105
103
  await emitter.emit("tsp");
@@ -107,91 +105,7 @@ export async function $onEmit(context) {
107
105
  await emitter.emitExamples();
108
106
  await emitter.emitLicenseFile();
109
107
  await emitter.emitMetadataFile();
110
- const goGenerateFile = context.options["go-generate"];
111
- const goGenerateFileExists = goGenerateFile
112
- ? existsSync(`${context.emitterOutputDir}/${goGenerateFile}`)
113
- : false;
114
- if (goGenerateFile && !goGenerateFileExists) {
115
- // go-generate was specified but we didn't find the file, so error and exit
116
- context.program.reportDiagnostic({
117
- code: "gogenerate",
118
- severity: "error",
119
- message: `the go-generate file wasn't found. the complete path is ${context.emitterOutputDir}/${goGenerateFile}`,
120
- target: NoTarget,
121
- });
122
- // don't continue so the state of the SDK can be inspected without any additional changes
123
- return;
124
- }
125
- // probe to see if Go tools are on the path
126
- try {
127
- execSync("go version", { stdio: ["ignore", "ignore", "ignore"] });
128
- }
129
- catch {
130
- // if the transforms file exists and we don't have Go
131
- // on the path then make this an error as it means we
132
- // expect to transform the generated code but were unable
133
- // to do so.
134
- let severity = "warning";
135
- let message = "skip executing post emitter steps (is go on the path?)";
136
- if (goGenerateFileExists) {
137
- severity = "error";
138
- message =
139
- "unable to execute post emitter transformations due to missing go tool (is go on the path?)";
140
- }
141
- context.program.reportDiagnostic({
142
- code: "GoVersion",
143
- severity: severity,
144
- message: message,
145
- target: NoTarget,
146
- });
147
- // no Go tools available so exit
148
- return;
149
- }
150
- // if we have a post-generation transforms file then "go generate" it
151
- if (goGenerateFileExists) {
152
- try {
153
- execSync(`go generate ${goGenerateFile}`, {
154
- cwd: context.emitterOutputDir,
155
- encoding: "ascii",
156
- });
157
- }
158
- catch (err) {
159
- context.program.reportDiagnostic({
160
- code: "gogenerate",
161
- severity: "error",
162
- message: postEmitToolErrorMessage(`go generate ${goGenerateFile}`, err, context.emitterOutputDir),
163
- target: NoTarget,
164
- });
165
- // don't continue so the state of the SDK can be inspected without any additional changes
166
- return;
167
- }
168
- }
169
- // format after transforms in case any formatting gets munged
170
- try {
171
- execSync("gofmt -s -w .", { cwd: context.emitterOutputDir, encoding: "ascii" });
172
- }
173
- catch (err) {
174
- context.program.reportDiagnostic({
175
- code: "gofmt",
176
- severity: "error",
177
- message: postEmitToolErrorMessage("gofmt -s -w .", err, context.emitterOutputDir),
178
- target: NoTarget,
179
- });
180
- return;
181
- }
182
- // now go mod tidy
183
- try {
184
- execSync("go mod tidy", { cwd: context.emitterOutputDir, encoding: "ascii" });
185
- }
186
- catch (err) {
187
- context.program.reportDiagnostic({
188
- code: "gomodtidy",
189
- severity: "error",
190
- message: postEmitToolErrorMessage("go mod tidy", err, context.emitterOutputDir),
191
- target: NoTarget,
192
- });
193
- return;
194
- }
108
+ runGoTools(context);
195
109
  }
196
110
  catch (error) {
197
111
  if (error instanceof AdapterError) {
@@ -241,35 +155,16 @@ export async function $onEmit(context) {
241
155
  }
242
156
  }
243
157
  }
244
- /**
245
- * The Windows maximum path length. A process's current directory cannot exceed
246
- * this, so launching a Go tool with a longer working directory fails.
247
- */
248
- const WINDOWS_MAX_PATH = 260;
249
- /**
250
- * Build the diagnostic message for a post-emit Go tool that failed to run.
251
- *
252
- * When a tool cannot be launched because the emitter output directory exceeds
253
- * the Windows maximum path length, the underlying failure surfaces as a
254
- * spurious ENOENT against the command shell rather than anything mentioning the
255
- * path. In that case, replace the opaque error with an actionable explanation.
256
- *
257
- * @param command the command that was executed (for context in the message)
258
- * @param err the error thrown by execSync
259
- * @param outputDir the emitter output directory used as the working directory
260
- * @returns the diagnostic message
261
- */
262
- function postEmitToolErrorMessage(command, err, outputDir) {
263
- const error = err;
264
- if (process.platform === "win32" &&
265
- error.code === "ENOENT" &&
266
- outputDir.length > WINDOWS_MAX_PATH) {
267
- return (`unable to run '${command}': the tool could not be launched. This is typically caused by the ` +
268
- `emitter output directory path (${outputDir.length} characters) exceeding the Windows maximum ` +
269
- `path length of ${WINDOWS_MAX_PATH}; Windows cannot use a working directory longer than this. ` +
270
- `Emit to a shorter output directory. (output directory: ${outputDir})`);
158
+ async function fileExists(host, path) {
159
+ try {
160
+ return (await host.stat(path)).isFile();
161
+ }
162
+ catch (error) {
163
+ if (error.code === "ENOENT") {
164
+ return false;
165
+ }
166
+ throw error;
271
167
  }
272
- return error.message;
273
168
  }
274
169
  /**
275
170
  * drop frames after the specified frame.
@@ -300,32 +195,4 @@ function majorVersion(identity) {
300
195
  const match = identity.match(/\/v(\d+)$/);
301
196
  return match ? parseInt(match[1], 10) : 1;
302
197
  }
303
- /**
304
- * Clean up existing generated Go files in the output directory.
305
- * Removes any .go files that contain the Microsoft code generator comment.
306
- *
307
- * exported for testing purposes only.
308
- *
309
- * @param outputDir the directory to clean up
310
- */
311
- export function cleanupGeneratedFiles(outputDir) {
312
- if (!existsSync(outputDir)) {
313
- return;
314
- }
315
- const dir = opendirSync(outputDir);
316
- while (true) {
317
- const dirEnt = dir.readSync();
318
- if (dirEnt === null) {
319
- break;
320
- }
321
- if (dirEnt.isFile() && dirEnt.name.endsWith(".go")) {
322
- const content = readFileSync(dir.path + "/" + dirEnt.name, "utf8");
323
- if (codegen.doNotEditRegex.test(content)) {
324
- unlinkSync(dir.path + "/" + dirEnt.name);
325
- }
326
- }
327
- }
328
- dir.closeSync();
329
- cleanupGeneratedFiles(outputDir + "/fake");
330
- }
331
198
  //# sourceMappingURL=emitter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function cleanupGeneratedFiles(_outputDir: string): void;
2
+ export declare function runGoTools(): void;
3
+ //# sourceMappingURL=node-runner.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-runner.browser.d.ts","sourceRoot":"","sources":["../../src/node-runner.browser.ts"],"names":[],"mappings":"AAIA,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,QAAI;AAC5D,wBAAgB,UAAU,SAAK"}
@@ -0,0 +1,6 @@
1
+ // Copyright (c) Microsoft Corporation. All rights reserved.
2
+ // Licensed under the MIT License. See License.txt in the project root for license information.
3
+ // The playground owns its virtual output tree and cannot run native Go tools.
4
+ export function cleanupGeneratedFiles(_outputDir) { }
5
+ export function runGoTools() { }
6
+ //# sourceMappingURL=node-runner.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-runner.browser.js","sourceRoot":"","sources":["../../src/node-runner.browser.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAE/F,8EAA8E;AAC9E,MAAM,UAAU,qBAAqB,CAAC,UAAkB,IAAG,CAAC;AAC5D,MAAM,UAAU,UAAU,KAAI,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type EmitContext } from "@typespec/compiler";
2
+ import type { GoEmitterOptions } from "./lib.js";
3
+ export declare function runGoTools(context: EmitContext<GoEmitterOptions>): void;
4
+ export declare function cleanupGeneratedFiles(outputDir: string): void;
5
+ //# sourceMappingURL=node-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-runner.d.ts","sourceRoot":"","sources":["../../src/node-runner.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,WAAW,EAAY,MAAM,oBAAoB,CAAC;AAIzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,QAuDhE;AAmBD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,QAmBtD"}
@@ -0,0 +1,96 @@
1
+ // Copyright (c) Microsoft Corporation. All rights reserved.
2
+ // Licensed under the MIT License. See License.txt in the project root for license information.
3
+ import { NoTarget } from "@typespec/compiler";
4
+ import { execSync } from "child_process";
5
+ import { existsSync, opendirSync, readFileSync, unlinkSync } from "fs";
6
+ import { doNotEditRegex } from "./codegen/index.js";
7
+ export function runGoTools(context) {
8
+ const goGenerateFile = context.options["go-generate"];
9
+ const goGenerateFileExists = goGenerateFile
10
+ ? existsSync(`${context.emitterOutputDir}/${goGenerateFile}`)
11
+ : false;
12
+ if (goGenerateFile && !goGenerateFileExists) {
13
+ context.program.reportDiagnostic({
14
+ code: "gogenerate",
15
+ severity: "error",
16
+ message: `the go-generate file wasn't found. the complete path is ${context.emitterOutputDir}/${goGenerateFile}`,
17
+ target: NoTarget,
18
+ });
19
+ return;
20
+ }
21
+ try {
22
+ execSync("go version", { stdio: ["ignore", "ignore", "ignore"] });
23
+ }
24
+ catch {
25
+ let severity = "warning";
26
+ let message = "skip executing post emitter steps (is go on the path?)";
27
+ if (goGenerateFileExists) {
28
+ severity = "error";
29
+ message =
30
+ "unable to execute post emitter transformations due to missing go tool (is go on the path?)";
31
+ }
32
+ context.program.reportDiagnostic({
33
+ code: "GoVersion",
34
+ severity,
35
+ message,
36
+ target: NoTarget,
37
+ });
38
+ return;
39
+ }
40
+ const commands = [
41
+ ...(goGenerateFileExists
42
+ ? [[`go generate ${goGenerateFile}`, "gogenerate"]]
43
+ : []),
44
+ ["gofmt -s -w .", "gofmt"],
45
+ ["go mod tidy", "gomodtidy"],
46
+ ];
47
+ for (const [command, code] of commands) {
48
+ try {
49
+ execSync(command, { cwd: context.emitterOutputDir, encoding: "ascii" });
50
+ }
51
+ catch (err) {
52
+ context.program.reportDiagnostic({
53
+ code,
54
+ severity: "error",
55
+ message: postEmitToolErrorMessage(command, err, context.emitterOutputDir),
56
+ target: NoTarget,
57
+ });
58
+ return;
59
+ }
60
+ }
61
+ }
62
+ /**
63
+ * When Windows cannot launch a tool because its working directory is too long,
64
+ * replace the misleading ENOENT error with an actionable diagnostic.
65
+ */
66
+ function postEmitToolErrorMessage(command, err, outputDir) {
67
+ const error = err;
68
+ if (process.platform === "win32" && error.code === "ENOENT" && outputDir.length > 260) {
69
+ return (`unable to run '${command}': the tool could not be launched. This is typically caused by the ` +
70
+ `emitter output directory path (${outputDir.length} characters) exceeding the Windows maximum ` +
71
+ `path length of 260; Windows cannot use a working directory longer than this. ` +
72
+ `Emit to a shorter output directory. (output directory: ${outputDir})`);
73
+ }
74
+ return error.message;
75
+ }
76
+ export function cleanupGeneratedFiles(outputDir) {
77
+ if (!existsSync(outputDir)) {
78
+ return;
79
+ }
80
+ const dir = opendirSync(outputDir);
81
+ while (true) {
82
+ const dirEnt = dir.readSync();
83
+ if (dirEnt === null) {
84
+ break;
85
+ }
86
+ if (dirEnt.isFile() && dirEnt.name.endsWith(".go")) {
87
+ const content = readFileSync(dir.path + "/" + dirEnt.name, "utf8");
88
+ if (doNotEditRegex.test(content)) {
89
+ unlinkSync(dir.path + "/" + dirEnt.name);
90
+ }
91
+ }
92
+ }
93
+ dir.closeSync();
94
+ cleanupGeneratedFiles(outputDir + "/fake");
95
+ }
96
+ //# sourceMappingURL=node-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-runner.js","sourceRoot":"","sources":["../../src/node-runner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/metadata.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AA+BpE;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,GAC3D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/metadata.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AAGpE;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,GAC3D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB"}
@@ -3,34 +3,7 @@
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as tcgc from "@azure-tools/typespec-client-generator-core";
6
- import { existsSync } from "fs";
7
- import { createRequire } from "module";
8
- import { dirname, join } from "path";
9
- import { fileURLToPath } from "url";
10
- /**
11
- * Locates this emitter's own package.json version by walking up from the current
12
- * module directory. Walking up (rather than using a fixed relative path) keeps
13
- * this working across both the built layout and when the emitter is loaded from
14
- * source (for example under vitest).
15
- */
16
- function getEmitterVersion() {
17
- const require = createRequire(import.meta.url);
18
- let dir = dirname(fileURLToPath(import.meta.url));
19
- for (;;) {
20
- const candidate = join(dir, "package.json");
21
- if (existsSync(candidate)) {
22
- const pkg = require(candidate);
23
- if (pkg["name"] === "@azure-tools/typespec-go") {
24
- return pkg["version"];
25
- }
26
- }
27
- const parent = dirname(dir);
28
- if (parent === dir) {
29
- return undefined;
30
- }
31
- dir = parent;
32
- }
33
- }
6
+ import packageJson from "../../package.json" with { type: "json" };
34
7
  /**
35
8
  * Build the package metadata from the TCGC SDK package metadata.
36
9
  *
@@ -42,7 +15,7 @@ export function buildMetadata(metadata) {
42
15
  if (metadata.apiVersions && metadata.apiVersions.size > 0) {
43
16
  result.apiVersions = Object.fromEntries(metadata.apiVersions);
44
17
  }
45
- result.emitterVersion = getEmitterVersion();
18
+ result.emitterVersion = packageJson.version;
46
19
  return result;
47
20
  }
48
21
  //# sourceMappingURL=metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/tcgcadapter/metadata.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;;;;GAKG;AACH,SAAS,iBAAiB;IACxB,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,SAAS,CAAC;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC5C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAA4B,CAAC;YAC1D,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,0BAA0B,EAAE,CAAC;gBAC/C,OAAO,GAAG,CAAC,SAAS,CAAuB,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,QAA4D;IAE5D,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE5C,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/tcgcadapter/metadata.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AACpE,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,QAA4D;IAE5D,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC;IAE5C,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-tools/typespec-go",
3
- "version": "0.17.7-dev.8",
3
+ "version": "0.18.0-dev.9",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec emitter for Go SDKs",
6
6
  "homepage": "https://azure.github.io/typespec-azure",
@@ -26,6 +26,9 @@
26
26
  "default": "./dist/src/index.js"
27
27
  }
28
28
  },
29
+ "browser": {
30
+ "./src/node-runner.js": "./src/node-runner.browser.js"
31
+ },
29
32
  "tspMain": "dist/src/index.js",
30
33
  "engines": {
31
34
  "node": ">=22.0.0"
@@ -38,52 +41,52 @@
38
41
  "LICENSE"
39
42
  ],
40
43
  "peerDependencies": {
41
- "@azure-tools/typespec-autorest": "^0.73.1 || >= 0.74.0-dev.1",
44
+ "@azure-tools/typespec-autorest": "^0.73.2 || >= 0.74.0-dev.2",
42
45
  "@azure-tools/typespec-azure-core": "^0.73.0 || >= 0.74.0-dev.4",
43
- "@azure-tools/typespec-azure-resource-manager": "^0.73.0 || >= 0.74.0-dev.4",
44
- "@azure-tools/typespec-azure-rulesets": "^0.73.0 || >= 0.74.0-dev.6",
45
- "@azure-tools/typespec-client-generator-core": "^0.73.0 || >= 0.74.0-dev.7",
46
+ "@azure-tools/typespec-azure-resource-manager": "^0.73.0 || >= 0.74.0-dev.8",
47
+ "@azure-tools/typespec-azure-rulesets": "^0.73.0 || >= 0.74.0-dev.10",
48
+ "@azure-tools/typespec-client-generator-core": "^0.73.0 || >= 0.74.0-dev.10",
46
49
  "@typespec/compiler": "^1.17.0",
47
50
  "@typespec/http": "^1.17.0",
48
- "@typespec/rest": "^0.87.0",
51
+ "@typespec/openapi": "^1.17.0",
49
52
  "@typespec/sse": "^0.87.0",
50
- "@typespec/events": "^0.87.0",
51
53
  "@typespec/streams": "^0.87.0",
54
+ "@typespec/rest": "^0.87.0",
55
+ "@typespec/events": "^0.87.0",
52
56
  "@typespec/versioning": "^0.87.0",
53
- "@typespec/xml": "^0.87.0",
54
- "@typespec/openapi": "^1.17.0"
57
+ "@typespec/xml": "^0.87.0"
55
58
  },
56
59
  "dependencies": {
57
60
  "semver": "^7.8.5"
58
61
  },
59
62
  "devDependencies": {
60
63
  "@azure-tools/azure-http-specs": "^0.1.0-alpha.46 || >= 0.1.0-alpha.47-dev.2",
61
- "@azure-tools/typespec-autorest": "^0.73.1 || >= 0.74.0-dev.1",
64
+ "@azure-tools/typespec-autorest": "^0.73.2 || >= 0.74.0-dev.2",
62
65
  "@azure-tools/typespec-azure-core": "^0.73.0 || >= 0.74.0-dev.4",
63
- "@azure-tools/typespec-azure-resource-manager": "^0.73.0 || >= 0.74.0-dev.4",
64
- "@azure-tools/typespec-azure-rulesets": "^0.73.0 || >= 0.74.0-dev.6",
65
- "@azure-tools/typespec-client-generator-core": "^0.73.0 || >= 0.74.0-dev.7",
66
+ "@azure-tools/typespec-azure-resource-manager": "^0.73.0 || >= 0.74.0-dev.8",
67
+ "@azure-tools/typespec-azure-rulesets": "^0.73.0 || >= 0.74.0-dev.10",
68
+ "@azure-tools/typespec-client-generator-core": "^0.73.0 || >= 0.74.0-dev.10",
66
69
  "@types/node": "^26.6.4",
67
70
  "@types/semver": "^7.8.0",
68
- "@vitest/coverage-v8": "^5.0.0",
69
- "@vitest/ui": "^5.0.0",
71
+ "@vitest/coverage-v8": "^5.0.5",
72
+ "@vitest/ui": "^5.0.5",
70
73
  "rimraf": "^6.1.3",
71
74
  "typescript": "npm:@typescript/typescript6@~6.0.2",
72
- "vitest": "^5.0.0",
75
+ "vitest": "^5.0.5",
73
76
  "@azure-tools/spector-runner": "^0.1.0",
74
- "@typespec/events": "^0.87.0",
75
77
  "@typespec/compiler": "^1.17.0",
76
- "@typespec/http-specs": "^0.1.0-alpha.44",
77
- "@typespec/openapi": "^1.17.0",
78
- "@typespec/spec-api": "^0.1.0-alpha.17",
78
+ "@typespec/events": "^0.87.0",
79
79
  "@typespec/http": "^1.17.0",
80
+ "@typespec/http-specs": "^0.1.0-alpha.45",
81
+ "@typespec/openapi": "^1.17.0",
80
82
  "@typespec/rest": "^0.87.0",
83
+ "@typespec/spec-api": "^0.1.0-alpha.17",
81
84
  "@typespec/spector": "^0.1.0-alpha.30",
82
- "@typespec/streams": "^0.87.0",
83
- "@typespec/tspd": "^0.77.1",
84
85
  "@typespec/sse": "^0.87.0",
85
86
  "@typespec/versioning": "^0.87.0",
86
- "@typespec/xml": "^0.87.0"
87
+ "@typespec/xml": "^0.87.0",
88
+ "@typespec/streams": "^0.87.0",
89
+ "@typespec/tspd": "^0.77.1"
87
90
  },
88
91
  "scripts": {
89
92
  "clean": "rimraf ./dist ./temp ./node_modules",