@autorest/typescript 6.0.38 → 6.0.39

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.
Files changed (76) hide show
  1. package/README.md +1 -3
  2. package/dist/hlcSamples.ts.hbs +0 -2
  3. package/dist/sampleTest.ts.hbs +9 -11
  4. package/dist/src/autorestSession.d.ts +0 -1
  5. package/dist/src/autorestSession.d.ts.map +1 -1
  6. package/dist/src/autorestSession.js.map +1 -1
  7. package/dist/src/generators/clientFileGenerator.js +7 -7
  8. package/dist/src/generators/clientFileGenerator.js.map +1 -1
  9. package/dist/src/generators/indexGenerator.js +5 -5
  10. package/dist/src/generators/indexGenerator.js.map +1 -1
  11. package/dist/src/generators/modelsGenerator.js.map +1 -1
  12. package/dist/src/generators/operationGenerator.js +10 -10
  13. package/dist/src/generators/operationGenerator.js.map +1 -1
  14. package/dist/src/generators/operationInterfaceGenerator.js +4 -4
  15. package/dist/src/generators/operationInterfaceGenerator.js.map +1 -1
  16. package/dist/src/generators/parametersGenerator.js +2 -2
  17. package/dist/src/generators/parametersGenerator.js.map +1 -1
  18. package/dist/src/generators/samples/hlcSamples.ts.hbs +0 -2
  19. package/dist/src/generators/static/apiExtractorConfig.js +4 -4
  20. package/dist/src/generators/static/apiExtractorConfig.js.map +1 -1
  21. package/dist/src/generators/static/lroImpl.d.ts.map +1 -1
  22. package/dist/src/generators/static/lroImpl.js +0 -2
  23. package/dist/src/generators/static/lroImpl.js.map +1 -1
  24. package/dist/src/generators/static/packageFileGenerator.js +44 -40
  25. package/dist/src/generators/static/packageFileGenerator.js.map +1 -1
  26. package/dist/src/generators/static/tsConfigBrowserFileGenerator.d.ts +3 -0
  27. package/dist/src/generators/static/tsConfigBrowserFileGenerator.d.ts.map +1 -0
  28. package/dist/src/generators/static/tsConfigBrowserFileGenerator.js +22 -0
  29. package/dist/src/generators/static/tsConfigBrowserFileGenerator.js.map +1 -0
  30. package/dist/src/generators/static/tsConfigFileGenerator.d.ts.map +1 -1
  31. package/dist/src/generators/static/tsConfigFileGenerator.js +2 -1
  32. package/dist/src/generators/static/tsConfigFileGenerator.js.map +1 -1
  33. package/dist/src/generators/test/sampleTest.ts.hbs +9 -11
  34. package/dist/src/generators/test/sampleTestGenerator.js +1 -1
  35. package/dist/src/generators/test/sampleTestGenerator.js.map +1 -1
  36. package/dist/src/generators/test/vitestGenerator.d.ts +3 -0
  37. package/dist/src/generators/test/vitestGenerator.d.ts.map +1 -0
  38. package/dist/src/generators/test/vitestGenerator.js +60 -0
  39. package/dist/src/generators/test/vitestGenerator.js.map +1 -0
  40. package/dist/src/generators/utils/pagingOperations.js +2 -2
  41. package/dist/src/generators/utils/pagingOperations.js.map +1 -1
  42. package/dist/src/generators/utils/tracingUtils.js +2 -2
  43. package/dist/src/generators/utils/tracingUtils.js.map +1 -1
  44. package/dist/src/typescriptGenerator.d.ts.map +1 -1
  45. package/dist/src/typescriptGenerator.js +8 -0
  46. package/dist/src/typescriptGenerator.js.map +1 -1
  47. package/dist/src/utils/autorestOptions.d.ts.map +1 -1
  48. package/dist/src/utils/autorestOptions.js +0 -7
  49. package/dist/src/utils/autorestOptions.js.map +1 -1
  50. package/dist/src/utils/nameConstructors.d.ts +6 -6
  51. package/dist/src/utils/nameConstructors.d.ts.map +1 -1
  52. package/dist/src/utils/nameConstructors.js +12 -12
  53. package/dist/src/utils/nameConstructors.js.map +1 -1
  54. package/package.json +2 -2
  55. package/src/autorestSession.ts +0 -1
  56. package/src/generators/clientFileGenerator.ts +7 -7
  57. package/src/generators/indexGenerator.ts +5 -5
  58. package/src/generators/mappersGenerator.ts +2 -2
  59. package/src/generators/modelsGenerator.ts +17 -17
  60. package/src/generators/operationGenerator.ts +10 -10
  61. package/src/generators/operationInterfaceGenerator.ts +4 -4
  62. package/src/generators/parametersGenerator.ts +2 -2
  63. package/src/generators/samples/hlcSamples.ts.hbs +0 -2
  64. package/src/generators/static/apiExtractorConfig.ts +4 -4
  65. package/src/generators/static/lroImpl.ts +0 -2
  66. package/src/generators/static/packageFileGenerator.ts +47 -43
  67. package/src/generators/static/tsConfigBrowserFileGenerator.ts +25 -0
  68. package/src/generators/static/tsConfigFileGenerator.ts +2 -1
  69. package/src/generators/test/sampleTest.ts.hbs +9 -11
  70. package/src/generators/test/sampleTestGenerator.ts +1 -1
  71. package/src/generators/test/vitestGenerator.ts +66 -0
  72. package/src/generators/utils/pagingOperations.ts +2 -2
  73. package/src/generators/utils/tracingUtils.ts +2 -2
  74. package/src/typescriptGenerator.ts +8 -0
  75. package/src/utils/autorestOptions.ts +0 -7
  76. package/src/utils/nameConstructors.ts +18 -20
@@ -5,7 +5,7 @@ import { Project } from "ts-morph";
5
5
  import { getAutorestOptions } from "../../autorestSession";
6
6
 
7
7
  export function generateApiExtractorConfig(project: Project) {
8
- const { generateMetadata, packageDetails, generateTest, restLevelClient } = getAutorestOptions();
8
+ const { generateMetadata, packageDetails } = getAutorestOptions();
9
9
 
10
10
  if (!generateMetadata) {
11
11
  return;
@@ -14,7 +14,7 @@ export function generateApiExtractorConfig(project: Project) {
14
14
  const config = {
15
15
  $schema:
16
16
  "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
17
- mainEntryPointFilePath: `${restLevelClient ? "./types" : "./dist-esm"}${generateTest ? "/src" : ""}/index.d.ts`,
17
+ mainEntryPointFilePath: `dist/esm/index.d.ts`,
18
18
  docModel: {
19
19
  enabled: true
20
20
  },
@@ -25,7 +25,7 @@ export function generateApiExtractorConfig(project: Project) {
25
25
  dtsRollup: {
26
26
  enabled: true,
27
27
  untrimmedFilePath: "",
28
- publicTrimmedFilePath: `./types/${packageDetails.nameWithoutScope}.d.ts`
28
+ publicTrimmedFilePath: `dist/${packageDetails.nameWithoutScope}.d.ts`
29
29
  },
30
30
  messages: {
31
31
  tsdocMessageReporting: {
@@ -44,7 +44,7 @@ export function generateApiExtractorConfig(project: Project) {
44
44
  }
45
45
  };
46
46
 
47
- project.createSourceFile("api-extractor.json", JSON.stringify(config), {
47
+ project.createSourceFile("api-extractor.json", JSON.stringify(config, null, 2), {
48
48
  overwrite: true
49
49
  });
50
50
  }
@@ -1,5 +1,3 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
1
 
4
2
  import { AbortSignalLike } from "@azure/abort-controller";
5
3
  import { LongRunningOperation, LroResponse } from "@azure/core-lro";
@@ -60,7 +60,8 @@ function regularAutorestPackage(
60
60
  generateTest,
61
61
  generateSample,
62
62
  coreHttpCompatMode,
63
- azureSdkForJs
63
+ azureSdkForJs,
64
+ isTestPackage
64
65
  } = getAutorestOptions();
65
66
  const { model } = getSession();
66
67
  const { addCredentials } = getSecurityInfoFromModel(model.security);
@@ -88,22 +89,23 @@ function regularAutorestPackage(
88
89
  dependencies: {
89
90
  ...(hasLro && { "@azure/core-lro": "^2.5.4" }),
90
91
  ...(hasLro && { "@azure/abort-controller": "^2.1.2" }),
91
- ...(hasAsyncIterators && { "@azure/core-paging": "^1.2.0" }),
92
- ...(useCoreV2 && { "@azure/core-client": "^1.7.0" }),
93
- ...(useCoreV2 && addCredentials && { "@azure/core-auth": "^1.6.0" }),
92
+ ...(hasAsyncIterators && { "@azure/core-paging": "^1.6.2" }),
93
+ ...(useCoreV2 && { "@azure/core-client": "^1.9.2" }),
94
+ ...(useCoreV2 && addCredentials && { "@azure/core-auth": "^1.9.0" }),
94
95
  ...(useCoreV2 && {
95
- "@azure/core-rest-pipeline": "^1.14.0"
96
+ "@azure/core-rest-pipeline": "^1.19.0"
96
97
  }),
97
98
  ...(tracingInfo && {
98
- "@azure/core-tracing": "^1.0.0"
99
+ "@azure/core-tracing": "^1.2.0"
99
100
  }),
100
- tslib: "^2.2.0"
101
+ tslib: "^2.8.1"
101
102
  },
102
- keywords: ["node", "azure", "typescript", "browser", "isomorphic"],
103
+ keywords: ["node", "azure", "typescript", "browser", "isomorphic", "cloud"],
103
104
  license: "MIT",
104
- main: `./dist/index.js`,
105
- module: `./dist-esm/index.js`,
106
- types: `./types/${packageDetails.nameWithoutScope}.d.ts`,
105
+ main: "./dist/commonjs/index.js",
106
+ module: "./dist/esm/index.js",
107
+ types: "./dist/commonjs/index.d.ts",
108
+ type: "module",
107
109
  devDependencies: {
108
110
  "@microsoft/api-extractor": "^7.40.3",
109
111
  mkdirp: "^3.0.1",
@@ -111,37 +113,24 @@ function regularAutorestPackage(
111
113
  rimraf: "^5.0.0",
112
114
  dotenv: "^16.0.0"
113
115
  },
114
- repository: {
115
- type: "git",
116
- url: "https://github.com/Azure/azure-sdk-for-js.git"
117
- },
116
+ repository: "github:Azure/azure-sdk-for-js",
118
117
  bugs: {
119
118
  url: "https://github.com/Azure/azure-sdk-for-js/issues"
120
119
  },
121
120
  files: [
122
- "dist/**/*.js",
123
- "dist/**/*.js.map",
124
- "dist/**/*.d.ts",
125
- "dist/**/*.d.ts.map",
126
- "dist-esm/**/*.js",
127
- "dist-esm/**/*.js.map",
128
- "dist-esm/**/*.d.ts",
129
- "dist-esm/**/*.d.ts.map",
130
- `${srcPath}/**/*.ts`,
121
+ "dist/",
131
122
  "README.md",
132
123
  "LICENSE",
133
- "tsconfig.json",
134
124
  "review/*",
135
125
  "CHANGELOG.md",
136
- "types/*"
137
126
  ],
138
127
  scripts: {
139
128
  build:
140
- "npm run clean && tsc && rollup -c 2>&1 && npm run minify && mkdirp ./review && npm run extract-api",
129
+ "npm run clean && tshy && npm run extract-api",
141
130
  minify: `uglifyjs -c -m --comments --source-map "content='./dist/index.js.map'" -o ./dist/index.min.js ./dist/index.js`,
142
131
  prepack: "npm run build",
143
132
  pack: "npm pack 2>&1",
144
- "extract-api": "api-extractor run --local",
133
+ "extract-api": "rimraf review && mkdirp ./review && api-extractor run --local",
145
134
  lint: "echo skipped",
146
135
  clean:
147
136
  "rimraf --glob dist dist-browser dist-esm test-dist temp types *.tgz *.log",
@@ -171,23 +160,36 @@ function regularAutorestPackage(
171
160
  }
172
161
  ]
173
162
  },
174
- autoPublish: true
163
+ autoPublish: true,
164
+ browser: "./dist/browser/index.js",
165
+ "react-native": "./dist/react-native/index.js"
175
166
  };
176
167
  if (azureOutputDirectory) {
177
168
  packageInfo.homepage = `https://github.com/Azure/azure-sdk-for-js/tree/main/${azureOutputDirectory}`;
178
169
  }
179
-
180
170
  if (azureSdkForJs) {
171
+ packageInfo["tshy"] = {
172
+ project: "./tsconfig.src.json",
173
+ exports: {
174
+ "./package.json": "./package.json",
175
+ ".": "./src/index.ts",
176
+ },
177
+ dialects: ["esm", "commonjs"],
178
+ esmDialects: ["browser", "react-native"],
179
+ selfLink: false,
180
+ };
181
181
  packageInfo.devDependencies["@azure/dev-tool"] = "^1.0.0";
182
182
  delete packageInfo.devDependencies["@microsoft/api-extractor"];
183
183
  delete packageInfo.devDependencies["rimraf"];
184
184
  delete packageInfo.devDependencies["mkdirp"];
185
185
  packageInfo.scripts["build"] =
186
- "npm run clean && tsc && dev-tool run bundle && npm run minify && dev-tool run vendored mkdirp ./review && npm run extract-api";
186
+ "npm run clean && dev-tool run build-package && dev-tool run extract-api";
187
187
  packageInfo.scripts["clean"] = "dev-tool run vendored rimraf --glob dist dist-browser dist-esm test-dist temp types *.tgz *.log";
188
188
  packageInfo.scripts["extract-api"] = "dev-tool run extract-api";
189
189
  packageInfo.scripts["update-snippets"] = "dev-tool run update-snippets";
190
190
  packageInfo.scripts["minify"] = `dev-tool run vendored uglifyjs -c -m --comments --source-map "content='./dist/index.js.map'" -o ./dist/index.min.js ./dist/index.js`;
191
+ packageInfo.scripts["check-format"] = "dev-tool run vendored prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"*.{js,cjs,mjs,json}\" ";
192
+ packageInfo.scripts["format"] = "dev-tool run vendored prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"*.{js,cjs,mjs,json}\" ";
191
193
  } else {
192
194
  packageInfo.devDependencies["@rollup/plugin-commonjs"] = "^24.0.0";
193
195
  packageInfo.devDependencies["@rollup/plugin-json"] = "^6.0.0";
@@ -196,21 +198,23 @@ function regularAutorestPackage(
196
198
  packageInfo.devDependencies["rollup"] = "^2.66.1";
197
199
  packageInfo.devDependencies["rollup-plugin-sourcemaps"] = "^0.6.3";
198
200
  packageInfo.devDependencies["uglify-js"] = "^3.4.9";
201
+ packageInfo.devDependencies["tshy"] = "^2.0.0";
199
202
  }
200
203
 
201
204
  if (generateTest) {
202
- packageInfo.module = `./dist-esm/src/index.js`;
203
- packageInfo.devDependencies["@azure/identity"] = "^4.2.1";
205
+ packageInfo.devDependencies["@azure/identity"] = "^4.6.0";
204
206
  packageInfo.devDependencies["@azure/logger"] = "^1.1.4";
205
- packageInfo.devDependencies["@azure-tools/test-recorder"] = "^3.0.0";
206
- packageInfo.devDependencies["@azure-tools/test-credential"] = "^1.1.0";
207
- packageInfo.devDependencies["mocha"] = "^11.0.2";
208
- packageInfo.devDependencies["@types/mocha"] = "^10.0.0";
209
- packageInfo.devDependencies["tsx"] = "^4.7.1";
210
- packageInfo.devDependencies["@types/chai"] = "^4.2.8";
211
- packageInfo.devDependencies["chai"] = "^4.2.0";
207
+ // TODO need unify the version when 4.1.0 released
208
+ packageInfo.devDependencies["@azure-tools/test-recorder"] = azureSdkForJs ? "^4.1.0" : "^4.0.0";
209
+ packageInfo.devDependencies["@azure-tools/test-credential"] = "^2.0.0";
210
+ if (azureSdkForJs) {
211
+ packageInfo.devDependencies["@azure-tools/test-utils-vitest"] = "^1.0.0";
212
+ }
212
213
  packageInfo.devDependencies["@types/node"] = "^18.0.0";
213
- packageInfo.devDependencies["ts-node"] = "^10.0.0";
214
+ packageInfo.devDependencies["@vitest/browser"] = "^3.0.9";
215
+ packageInfo.devDependencies["@vitest/coverage-istanbul"] = "^3.0.9";
216
+ packageInfo.devDependencies["playwright"] = "^1.50.1";
217
+ packageInfo.devDependencies["vitest"] = "^3.0.9";
214
218
 
215
219
  packageInfo.scripts["test"] = "npm run integration-test";
216
220
  packageInfo.scripts["unit-test"] =
@@ -220,9 +224,9 @@ function regularAutorestPackage(
220
224
 
221
225
  if (azureSdkForJs) {
222
226
  packageInfo.scripts["unit-test:node"] =
223
- "dev-tool run vendored cross-env TEST_MODE=playback npm run integration-test:node";
227
+ "dev-tool run test:vitest";
224
228
  packageInfo.scripts["integration-test:node"] =
225
- "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'";
229
+ "dev-tool run test:vitest --esm";
226
230
  } else {
227
231
  packageInfo.devDependencies["cross-env"] = "^7.0.2";
228
232
  packageInfo.scripts["unit-test:node"] =
@@ -0,0 +1,25 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ import { Project } from "ts-morph";
5
+ import { getAutorestOptions } from "../../autorestSession";
6
+
7
+ const highLevelTsBrowserConfig: Record<string, any> = {
8
+ "extends": [
9
+ "./tsconfig.test.json",
10
+ "../../../tsconfig.browser.base.json"
11
+ ]
12
+ };
13
+
14
+ export function generateTsBrowserConfig(project: Project) {
15
+ const {
16
+ generateMetadata,
17
+ } = getAutorestOptions();
18
+
19
+ if (!generateMetadata) {
20
+ return;
21
+ }
22
+ project.createSourceFile("tsconfig.browser.config.json", JSON.stringify(highLevelTsBrowserConfig), {
23
+ overwrite: true
24
+ });
25
+ }
@@ -18,7 +18,8 @@ const highLevelTsConfig: Record<string, any> = {
18
18
  lib: ["es6", "dom"],
19
19
  declaration: true,
20
20
  outDir: "./dist-esm",
21
- importHelpers: true
21
+ importHelpers: true,
22
+ skipLibCheck: true
22
23
  },
23
24
  include: ["src/**/*.ts"],
24
25
  exclude: ["node_modules"]
@@ -1,13 +1,11 @@
1
- import { Recorder, RecorderStartOptions, env } from "@azure-tools/test-recorder";
2
- import { assert } from "chai";
3
- import { Context } from "mocha";
4
-
1
+ import { Recorder,RecorderStartOptions } from "@azure-tools/test-recorder";
2
+ import { afterEach, beforeEach, describe, it, assert } from "vitest";
5
3
 
6
4
  const replaceableVariables: Record<string, string> = {
7
5
  AZURE_CLIENT_ID: "azure_client_id",
8
6
  AZURE_CLIENT_SECRET: "azure_client_secret",
9
7
  AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888",
10
- SUBSCRIPTION_ID: "azure_subscription_id"
8
+ SUBSCRIPTION_ID: "azure_subscription_id",
11
9
  };
12
10
 
13
11
  const recorderOptions: RecorderStartOptions = {
@@ -17,16 +15,16 @@ const recorderOptions: RecorderStartOptions = {
17
15
  describe("My test", () => {
18
16
  let recorder: Recorder;
19
17
 
20
- beforeEach(async function (this: Context) {
21
- recorder = new Recorder(this.currentTest);
18
+ beforeEach(async () => {
19
+ recorder = new Recorder();
22
20
  await recorder.start(recorderOptions);
23
21
  });
24
22
 
25
- afterEach(async function () {
23
+ afterEach(async () => {
26
24
  await recorder.stop();
27
25
  });
28
26
 
29
- it("sample test", async function () {
30
- console.log("Hi, I'm a test!");
27
+ it("sample test", async () => {
28
+ assert(true);
31
29
  });
32
- });
30
+ });
@@ -14,7 +14,7 @@ export function generateSampleTestFile(project: Project) {
14
14
  encoding: "utf-8"
15
15
  });
16
16
  const readmeFileContents = hbs.compile(file, { noEscape: true });
17
- project.createSourceFile("test/sampleTest.ts", readmeFileContents(metadata), {
17
+ project.createSourceFile("test/sampleTest.spec.ts", readmeFileContents(metadata), {
18
18
  overwrite: true
19
19
  });
20
20
  }
@@ -0,0 +1,66 @@
1
+ import { Project } from "ts-morph";
2
+ import { getAutorestOptions } from "../../autorestSession";
3
+
4
+ const nodeConfig = `
5
+ import { defineConfig, mergeConfig } from "vitest/config";
6
+ import viteConfig from "../../../vitest.shared.config.ts";
7
+
8
+ export default mergeConfig(
9
+ viteConfig,
10
+ defineConfig({
11
+ test: {
12
+ testTimeout: 1200000,
13
+ hookTimeout: 1200000,
14
+ },
15
+ }),
16
+ );`;
17
+
18
+ const browserConfig = `
19
+ import { defineConfig, mergeConfig } from "vitest/config";
20
+ import viteConfig from "../../../vitest.browser.shared.config.ts";
21
+
22
+ export default mergeConfig(
23
+ viteConfig,
24
+ defineConfig({
25
+ test: {
26
+ include: ["dist-test/browser/test/**/*.spec.js"],
27
+ testTimeout: 1200000,
28
+ hookTimeout: 1200000,
29
+ },
30
+ }),
31
+ );`;
32
+
33
+ const esmConfig = `
34
+ import { mergeConfig } from "vitest/config";
35
+ import vitestConfig from "./vitest.config.ts";
36
+ import vitestEsmConfig from "../../../vitest.esm.shared.config.ts";
37
+
38
+ export default mergeConfig(vitestConfig, vitestEsmConfig);`;
39
+
40
+ export function generateVitestConfig(
41
+ project: Project,
42
+ platform: "browser" | "node" | "esm"
43
+ ) {
44
+ const { generateTest, generateMetadata, azureSdkForJs } = getAutorestOptions();
45
+ if (
46
+ azureSdkForJs === false ||
47
+ generateMetadata === false ||
48
+ generateTest === false
49
+ ) {
50
+ return;
51
+ }
52
+ switch (platform) {
53
+ case "browser":
54
+ project.createSourceFile("vitest.browser.config.ts", browserConfig, {
55
+ overwrite: true
56
+ });
57
+ case "node":
58
+ project.createSourceFile("vitest.config.ts", nodeConfig, {
59
+ overwrite: true
60
+ });
61
+ case "esm":
62
+ project.createSourceFile("vitest.esm.config.ts", esmConfig, {
63
+ overwrite: true
64
+ });
65
+ }
66
+ }
@@ -55,7 +55,7 @@ export function addPagingImports(
55
55
  sourceFile: SourceFile,
56
56
  isClient = false
57
57
  ) {
58
- const { disablePagingAsyncIterators, moduleKind } = getAutorestOptions();
58
+ const { disablePagingAsyncIterators, isTestPackage } = getAutorestOptions();
59
59
  if (!disablePagingAsyncIterators && hasAsyncIteratorOperations(operations)) {
60
60
  const pagingHelperPath = isClient ? "./pagingHelper" : "../pagingHelper";
61
61
  sourceFile.addImportDeclarations([
@@ -65,7 +65,7 @@ export function addPagingImports(
65
65
  },
66
66
  {
67
67
  namedImports: ["setContinuationToken"],
68
- moduleSpecifier: getImportModuleName(pagingHelperPath, moduleKind)
68
+ moduleSpecifier: getImportModuleName(pagingHelperPath, isTestPackage)
69
69
  }
70
70
  ]);
71
71
  }
@@ -11,12 +11,12 @@ export function addTracingOperationImports(
11
11
  sourceFile: SourceFile,
12
12
  traverseToRoot = ".."
13
13
  ) {
14
- const { tracingInfo, moduleKind } = getAutorestOptions();
14
+ const { tracingInfo, isTestPackage } = getAutorestOptions();
15
15
  if (tracingInfo) {
16
16
  sourceFile.addImportDeclarations([
17
17
  {
18
18
  namedImports: ["tracingClient"],
19
- moduleSpecifier: getImportModuleName(`${traverseToRoot}/tracing`, moduleKind)
19
+ moduleSpecifier: getImportModuleName(`${traverseToRoot}/tracing`, isTestPackage)
20
20
  }
21
21
  ]);
22
22
  }
@@ -31,6 +31,8 @@ import { generateTracingFile } from "./generators/tracingFileGenerator";
31
31
  import { getAutorestOptions } from "./autorestSession";
32
32
  import { conflictResolver } from "./conflictResolver";
33
33
  import { generateSnippetsFile } from "./generators/test/snippetsGenerator";
34
+ import { generateVitestConfig } from "./generators/test/vitestGenerator";
35
+ import { generateTsBrowserConfig } from "./generators/static/tsConfigBrowserFileGenerator";
34
36
 
35
37
  const prettierTypeScriptOptions: prettier.Options = {
36
38
  parser: "typescript",
@@ -85,6 +87,11 @@ export async function generateTypeScriptLibrary(
85
87
  if (generateTest) {
86
88
  generateSnippetsFile(codeModel, project, clientDetails);
87
89
  generateSampleTestFile(project);
90
+ if (azureSdkForJs) {
91
+ generateVitestConfig(project, "node");
92
+ generateVitestConfig(project, "browser");
93
+ generateVitestConfig(project, "esm");
94
+ }
88
95
  }
89
96
  generateTsConfig(project);
90
97
  if (azureSdkForJs && generateMetadata) {
@@ -94,6 +101,7 @@ export async function generateTypeScriptLibrary(
94
101
  }
95
102
  if (generateTest) {
96
103
  generateTsTestConfig(project);
104
+ generateTsBrowserConfig(project);
97
105
  }
98
106
  }
99
107
 
@@ -46,8 +46,6 @@ export async function extractAutorestOptions(): Promise<AutorestOptions> {
46
46
  const dependencyInfo = await getDependencyInfo(host);
47
47
  const flavor = await getFlavor(host);
48
48
 
49
- const moduleKind = await getModuleKind(host);
50
-
51
49
  return {
52
50
  azureArm,
53
51
  addCredentials,
@@ -82,7 +80,6 @@ export async function extractAutorestOptions(): Promise<AutorestOptions> {
82
80
  dependencyInfo,
83
81
  useLegacyLro,
84
82
  flavor,
85
- moduleKind
86
83
  };
87
84
  }
88
85
 
@@ -401,8 +398,4 @@ async function getDependencyInfo(
401
398
  throw new Error(
402
399
  "Invalid dependency-info. Make sure that link and description are defined"
403
400
  );
404
- }
405
-
406
- async function getModuleKind(host: AutorestExtensionHost): Promise<AutorestOptions["moduleKind"]> {
407
- return (await host.getValue("module-kind")) || "cjs";
408
401
  }
@@ -1,8 +1,8 @@
1
1
  export type ModuleName =
2
- | string
3
- | {
4
- esModulesName: string;
5
- cjsName: string;
2
+ | string
3
+ | {
4
+ esModulesName: string;
5
+ cjsName: string;
6
6
  };
7
7
 
8
8
  /**
@@ -10,26 +10,24 @@ export type ModuleName =
10
10
  * library being generated.
11
11
  *
12
12
  * @param name The name of the module to import - this can be a string representing the base name of the module or an object with the cjsName and esModulesName properties. *
13
- * @param moduleKind The type of module being generated. This can be either "cjs" or "esm".
13
+ * @param isTestPackage If isTestPackage is true which means we will not generate .js suffix when importing files
14
14
  *
15
15
  * @example
16
16
  *
17
17
  * ```ts
18
- * getImportModuleName("myModule", "cjs") // returns "myModule"
19
- * getImportModuleName("myModule", "esm") // returns "myModule.js"
20
- * getImportModuleName({ cjsName: "myModule", esModulesName: "myModule/index.js" }, "cjs") // returns "myModule"
21
- * getImportModuleName({ cjsName: "myModule", esModulesName: "myModule/index.js" }, "esm") // returns "myModule/index.js"
18
+ * getImportModuleName("myModule", true) // returns "myModule"
19
+ * getImportModuleName("myModule", false) // returns "myModule.js"
20
+ * getImportModuleName({ cjsName: "myModule", esModulesName: "myModule/index.js" }, true) // returns "myModule"
21
+ * getImportModuleName({ cjsName: "myModule", esModulesName: "myModule/index.js" }, false) // returns "myModule/index.js"
22
22
  */
23
+ // TODO remove this function after migrating the configs for integration. Issue: https://github.com/Azure/autorest.typescript/issues/3166
23
24
  export function getImportModuleName(
24
- name: ModuleName,
25
- moduleKind?: "cjs" | "esm"
25
+ name: ModuleName,
26
+ isTestPackage?: boolean
26
27
  ): string {
27
- const cjsName = typeof name === "string" ? name : name.cjsName;
28
- const esModulesName =
29
- typeof name === "string" ? `${name}.js` : name.esModulesName;
30
- if (moduleKind === "esm") {
31
- return esModulesName;
32
- }
33
- // CJS is considered the default in autorest.typescript
34
- return cjsName;
35
- }
28
+ if (isTestPackage) {
29
+ return typeof name === "string" ? name : name.cjsName;
30
+ } else {
31
+ return typeof name === "string" ? `${name}.js` : name.esModulesName;
32
+ }
33
+ }