@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.
- package/README.md +1 -3
- package/dist/hlcSamples.ts.hbs +0 -2
- package/dist/sampleTest.ts.hbs +9 -11
- package/dist/src/autorestSession.d.ts +0 -1
- package/dist/src/autorestSession.d.ts.map +1 -1
- package/dist/src/autorestSession.js.map +1 -1
- package/dist/src/generators/clientFileGenerator.js +7 -7
- package/dist/src/generators/clientFileGenerator.js.map +1 -1
- package/dist/src/generators/indexGenerator.js +5 -5
- package/dist/src/generators/indexGenerator.js.map +1 -1
- package/dist/src/generators/modelsGenerator.js.map +1 -1
- package/dist/src/generators/operationGenerator.js +10 -10
- package/dist/src/generators/operationGenerator.js.map +1 -1
- package/dist/src/generators/operationInterfaceGenerator.js +4 -4
- package/dist/src/generators/operationInterfaceGenerator.js.map +1 -1
- package/dist/src/generators/parametersGenerator.js +2 -2
- package/dist/src/generators/parametersGenerator.js.map +1 -1
- package/dist/src/generators/samples/hlcSamples.ts.hbs +0 -2
- package/dist/src/generators/static/apiExtractorConfig.js +4 -4
- package/dist/src/generators/static/apiExtractorConfig.js.map +1 -1
- package/dist/src/generators/static/lroImpl.d.ts.map +1 -1
- package/dist/src/generators/static/lroImpl.js +0 -2
- package/dist/src/generators/static/lroImpl.js.map +1 -1
- package/dist/src/generators/static/packageFileGenerator.js +44 -40
- package/dist/src/generators/static/packageFileGenerator.js.map +1 -1
- package/dist/src/generators/static/tsConfigBrowserFileGenerator.d.ts +3 -0
- package/dist/src/generators/static/tsConfigBrowserFileGenerator.d.ts.map +1 -0
- package/dist/src/generators/static/tsConfigBrowserFileGenerator.js +22 -0
- package/dist/src/generators/static/tsConfigBrowserFileGenerator.js.map +1 -0
- package/dist/src/generators/static/tsConfigFileGenerator.d.ts.map +1 -1
- package/dist/src/generators/static/tsConfigFileGenerator.js +2 -1
- package/dist/src/generators/static/tsConfigFileGenerator.js.map +1 -1
- package/dist/src/generators/test/sampleTest.ts.hbs +9 -11
- package/dist/src/generators/test/sampleTestGenerator.js +1 -1
- package/dist/src/generators/test/sampleTestGenerator.js.map +1 -1
- package/dist/src/generators/test/vitestGenerator.d.ts +3 -0
- package/dist/src/generators/test/vitestGenerator.d.ts.map +1 -0
- package/dist/src/generators/test/vitestGenerator.js +60 -0
- package/dist/src/generators/test/vitestGenerator.js.map +1 -0
- package/dist/src/generators/utils/pagingOperations.js +2 -2
- package/dist/src/generators/utils/pagingOperations.js.map +1 -1
- package/dist/src/generators/utils/tracingUtils.js +2 -2
- package/dist/src/generators/utils/tracingUtils.js.map +1 -1
- package/dist/src/typescriptGenerator.d.ts.map +1 -1
- package/dist/src/typescriptGenerator.js +8 -0
- package/dist/src/typescriptGenerator.js.map +1 -1
- package/dist/src/utils/autorestOptions.d.ts.map +1 -1
- package/dist/src/utils/autorestOptions.js +0 -7
- package/dist/src/utils/autorestOptions.js.map +1 -1
- package/dist/src/utils/nameConstructors.d.ts +6 -6
- package/dist/src/utils/nameConstructors.d.ts.map +1 -1
- package/dist/src/utils/nameConstructors.js +12 -12
- package/dist/src/utils/nameConstructors.js.map +1 -1
- package/package.json +2 -2
- package/src/autorestSession.ts +0 -1
- package/src/generators/clientFileGenerator.ts +7 -7
- package/src/generators/indexGenerator.ts +5 -5
- package/src/generators/mappersGenerator.ts +2 -2
- package/src/generators/modelsGenerator.ts +17 -17
- package/src/generators/operationGenerator.ts +10 -10
- package/src/generators/operationInterfaceGenerator.ts +4 -4
- package/src/generators/parametersGenerator.ts +2 -2
- package/src/generators/samples/hlcSamples.ts.hbs +0 -2
- package/src/generators/static/apiExtractorConfig.ts +4 -4
- package/src/generators/static/lroImpl.ts +0 -2
- package/src/generators/static/packageFileGenerator.ts +47 -43
- package/src/generators/static/tsConfigBrowserFileGenerator.ts +25 -0
- package/src/generators/static/tsConfigFileGenerator.ts +2 -1
- package/src/generators/test/sampleTest.ts.hbs +9 -11
- package/src/generators/test/sampleTestGenerator.ts +1 -1
- package/src/generators/test/vitestGenerator.ts +66 -0
- package/src/generators/utils/pagingOperations.ts +2 -2
- package/src/generators/utils/tracingUtils.ts +2 -2
- package/src/typescriptGenerator.ts +8 -0
- package/src/utils/autorestOptions.ts +0 -7
- 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
|
|
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:
|
|
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:
|
|
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
|
}
|
|
@@ -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
|
|
92
|
-
...(useCoreV2 && { "@azure/core-client": "^1.
|
|
93
|
-
...(useCoreV2 && addCredentials && { "@azure/core-auth": "^1.
|
|
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.
|
|
96
|
+
"@azure/core-rest-pipeline": "^1.19.0"
|
|
96
97
|
}),
|
|
97
98
|
...(tracingInfo && {
|
|
98
|
-
"@azure/core-tracing": "^1.
|
|
99
|
+
"@azure/core-tracing": "^1.2.0"
|
|
99
100
|
}),
|
|
100
|
-
tslib: "^2.
|
|
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:
|
|
105
|
-
module:
|
|
106
|
-
types:
|
|
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
|
|
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 &&
|
|
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 &&
|
|
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.
|
|
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
|
-
|
|
206
|
-
packageInfo.devDependencies["@azure-tools/test-
|
|
207
|
-
packageInfo.devDependencies["
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
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["
|
|
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
|
|
227
|
+
"dev-tool run test:vitest";
|
|
224
228
|
packageInfo.scripts["integration-test:node"] =
|
|
225
|
-
"dev-tool run test:
|
|
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
|
+
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { Recorder,
|
|
2
|
-
import { assert } from "
|
|
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
|
|
21
|
-
recorder = new Recorder(
|
|
18
|
+
beforeEach(async () => {
|
|
19
|
+
recorder = new Recorder();
|
|
22
20
|
await recorder.start(recorderOptions);
|
|
23
21
|
});
|
|
24
22
|
|
|
25
|
-
afterEach(async
|
|
23
|
+
afterEach(async () => {
|
|
26
24
|
await recorder.stop();
|
|
27
25
|
});
|
|
28
26
|
|
|
29
|
-
it("sample test", async
|
|
30
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
14
|
+
const { tracingInfo, isTestPackage } = getAutorestOptions();
|
|
15
15
|
if (tracingInfo) {
|
|
16
16
|
sourceFile.addImportDeclarations([
|
|
17
17
|
{
|
|
18
18
|
namedImports: ["tracingClient"],
|
|
19
|
-
moduleSpecifier: getImportModuleName(`${traverseToRoot}/tracing`,
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
|
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",
|
|
19
|
-
* getImportModuleName("myModule",
|
|
20
|
-
* getImportModuleName({ cjsName: "myModule", esModulesName: "myModule/index.js" },
|
|
21
|
-
* getImportModuleName({ cjsName: "myModule", esModulesName: "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
|
-
|
|
25
|
-
|
|
25
|
+
name: ModuleName,
|
|
26
|
+
isTestPackage?: boolean
|
|
26
27
|
): string {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
+
}
|