@azure/playwright 1.1.3 → 1.1.4
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/dist/browser/common/constants.d.ts +1 -4
- package/dist/browser/common/constants.d.ts.map +1 -1
- package/dist/browser/common/constants.js +1 -4
- package/dist/browser/common/constants.js.map +1 -1
- package/dist/browser/common/types.d.ts +0 -4
- package/dist/browser/common/types.d.ts.map +1 -1
- package/dist/browser/common/types.js.map +1 -1
- package/dist/browser/reporter/playwrightReporter.d.ts +0 -1
- package/dist/browser/reporter/playwrightReporter.d.ts.map +1 -1
- package/dist/browser/reporter/playwrightReporter.js +3 -17
- package/dist/browser/reporter/playwrightReporter.js.map +1 -1
- package/dist/browser/utils/PlaywrightServiceClient.d.ts +1 -2
- package/dist/browser/utils/PlaywrightServiceClient.d.ts.map +1 -1
- package/dist/browser/utils/PlaywrightServiceClient.js +1 -26
- package/dist/browser/utils/PlaywrightServiceClient.js.map +1 -1
- package/dist/browser/utils/utils.d.ts +2 -3
- package/dist/browser/utils/utils.d.ts.map +1 -1
- package/dist/browser/utils/utils.js +8 -21
- package/dist/browser/utils/utils.js.map +1 -1
- package/dist/commonjs/common/constants.d.ts +1 -4
- package/dist/commonjs/common/constants.d.ts.map +1 -1
- package/dist/commonjs/common/constants.js +2 -5
- package/dist/commonjs/common/constants.js.map +1 -1
- package/dist/commonjs/common/types.d.ts +0 -4
- package/dist/commonjs/common/types.d.ts.map +1 -1
- package/dist/commonjs/common/types.js.map +1 -1
- package/dist/commonjs/reporter/playwrightReporter.d.ts +0 -1
- package/dist/commonjs/reporter/playwrightReporter.d.ts.map +1 -1
- package/dist/commonjs/reporter/playwrightReporter.js +2 -16
- package/dist/commonjs/reporter/playwrightReporter.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/commonjs/utils/PlaywrightServiceClient.d.ts +1 -2
- package/dist/commonjs/utils/PlaywrightServiceClient.d.ts.map +1 -1
- package/dist/commonjs/utils/PlaywrightServiceClient.js +0 -25
- package/dist/commonjs/utils/PlaywrightServiceClient.js.map +1 -1
- package/dist/commonjs/utils/utils.d.ts +2 -3
- package/dist/commonjs/utils/utils.d.ts.map +1 -1
- package/dist/commonjs/utils/utils.js +8 -22
- package/dist/commonjs/utils/utils.js.map +1 -1
- package/dist/esm/common/constants.d.ts +1 -4
- package/dist/esm/common/constants.d.ts.map +1 -1
- package/dist/esm/common/constants.js +92 -96
- package/dist/esm/common/constants.js.map +1 -7
- package/dist/esm/common/customerConfig.js +11 -11
- package/dist/esm/common/customerConfig.js.map +1 -7
- package/dist/esm/common/entraIdAccessToken.js +77 -85
- package/dist/esm/common/entraIdAccessToken.js.map +1 -7
- package/dist/esm/common/environmentVariables.js +19 -19
- package/dist/esm/common/environmentVariables.js.map +1 -7
- package/dist/esm/common/executor.js +58 -51
- package/dist/esm/common/executor.js.map +1 -7
- package/dist/esm/common/httpService.js +29 -34
- package/dist/esm/common/httpService.js.map +1 -7
- package/dist/esm/common/logger.js +4 -4
- package/dist/esm/common/logger.js.map +1 -7
- package/dist/esm/common/messages.js +166 -166
- package/dist/esm/common/messages.js.map +1 -7
- package/dist/esm/common/playwrightServiceConfig.js +91 -91
- package/dist/esm/common/playwrightServiceConfig.js.map +1 -7
- package/dist/esm/common/state.js +7 -7
- package/dist/esm/common/state.js.map +1 -7
- package/dist/esm/common/types.d.ts +0 -4
- package/dist/esm/common/types.d.ts.map +1 -1
- package/dist/esm/common/types.js +4 -0
- package/dist/esm/common/types.js.map +1 -7
- package/dist/esm/core/global/playwright-service-global-setup.js +17 -17
- package/dist/esm/core/global/playwright-service-global-setup.js.map +1 -7
- package/dist/esm/core/global/playwright-service-global-teardown.js +13 -16
- package/dist/esm/core/global/playwright-service-global-teardown.js.map +1 -7
- package/dist/esm/core/initializePlaywrightServiceTestRun.js +21 -13
- package/dist/esm/core/initializePlaywrightServiceTestRun.js.map +1 -7
- package/dist/esm/core/playwrightService.js +200 -149
- package/dist/esm/core/playwrightService.js.map +1 -7
- package/dist/esm/core/playwrightServiceEntra.js +42 -44
- package/dist/esm/core/playwrightServiceEntra.js.map +1 -7
- package/dist/esm/core/playwrightServiceUtils.js +8 -6
- package/dist/esm/core/playwrightServiceUtils.js.map +1 -7
- package/dist/esm/index.js +9 -7
- package/dist/esm/index.js.map +1 -7
- package/dist/esm/reporter/index.js +11 -4
- package/dist/esm/reporter/index.js.map +1 -7
- package/dist/esm/reporter/playwrightReporter.d.ts +0 -1
- package/dist/esm/reporter/playwrightReporter.d.ts.map +1 -1
- package/dist/esm/reporter/playwrightReporter.js +193 -202
- package/dist/esm/reporter/playwrightReporter.js.map +1 -7
- package/dist/esm/utils/PlaywrightServiceClient.d.ts +1 -2
- package/dist/esm/utils/PlaywrightServiceClient.d.ts.map +1 -1
- package/dist/esm/utils/PlaywrightServiceClient.js +61 -121
- package/dist/esm/utils/PlaywrightServiceClient.js.map +1 -7
- package/dist/esm/utils/cIInfoProvider.js +71 -58
- package/dist/esm/utils/cIInfoProvider.js.map +1 -7
- package/dist/esm/utils/getPackageVersion.js +17 -12
- package/dist/esm/utils/getPackageVersion.js.map +1 -7
- package/dist/esm/utils/getPlaywrightVersion.js +13 -15
- package/dist/esm/utils/getPlaywrightVersion.js.map +1 -7
- package/dist/esm/utils/packageManager.js +37 -37
- package/dist/esm/utils/packageManager.js.map +1 -7
- package/dist/esm/utils/parseJwt.js +14 -15
- package/dist/esm/utils/parseJwt.js.map +1 -7
- package/dist/esm/utils/playwrightReporterStorageManager.js +333 -358
- package/dist/esm/utils/playwrightReporterStorageManager.js.map +1 -7
- package/dist/esm/utils/utils.d.ts +2 -3
- package/dist/esm/utils/utils.d.ts.map +1 -1
- package/dist/esm/utils/utils.js +338 -380
- package/dist/esm/utils/utils.js.map +1 -7
- package/dist/react-native/common/constants.d.ts +1 -4
- package/dist/react-native/common/constants.d.ts.map +1 -1
- package/dist/react-native/common/constants.js +1 -4
- package/dist/react-native/common/constants.js.map +1 -1
- package/dist/react-native/common/types.d.ts +0 -4
- package/dist/react-native/common/types.d.ts.map +1 -1
- package/dist/react-native/common/types.js.map +1 -1
- package/dist/react-native/reporter/playwrightReporter.d.ts +0 -1
- package/dist/react-native/reporter/playwrightReporter.d.ts.map +1 -1
- package/dist/react-native/reporter/playwrightReporter.js +3 -17
- package/dist/react-native/reporter/playwrightReporter.js.map +1 -1
- package/dist/react-native/utils/PlaywrightServiceClient.d.ts +1 -2
- package/dist/react-native/utils/PlaywrightServiceClient.d.ts.map +1 -1
- package/dist/react-native/utils/PlaywrightServiceClient.js +1 -26
- package/dist/react-native/utils/PlaywrightServiceClient.js.map +1 -1
- package/dist/react-native/utils/utils.d.ts +2 -3
- package/dist/react-native/utils/utils.d.ts.map +1 -1
- package/dist/react-native/utils/utils.js +8 -21
- package/dist/react-native/utils/utils.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,127 +1,67 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
extractErrorMessage,
|
|
5
|
-
getWorkspaceMetaDataApiUrl
|
|
6
|
-
} from "./utils.js";
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { getTestRunApiUrl, getAccessToken, extractErrorMessage, getWorkspaceMetaDataApiUrl, } from "./utils.js";
|
|
7
4
|
import { ServiceErrorMessageConstants } from "../common/messages.js";
|
|
8
5
|
import { HttpService } from "../common/httpService.js";
|
|
9
|
-
import { Constants, InternalEnvironmentVariables
|
|
10
|
-
class PlaywrightServiceClient {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
async createOrUpdateTestRun(payload) {
|
|
16
|
-
try {
|
|
17
|
-
const baseUrl = getTestRunApiUrl();
|
|
18
|
-
const token = getAccessToken();
|
|
19
|
-
if (!token) {
|
|
20
|
-
throw new Error("PLAYWRIGHT_SERVICE_ACCESS_TOKEN environment variable is not set.");
|
|
21
|
-
}
|
|
22
|
-
const url = new URL(baseUrl);
|
|
23
|
-
url.searchParams.set("api-version", Constants.LatestAPIVersion);
|
|
24
|
-
const method = "PATCH";
|
|
25
|
-
const data = JSON.stringify(payload);
|
|
26
|
-
const contentType = "application/merge-patch+json";
|
|
27
|
-
const correlationId = crypto.randomUUID();
|
|
28
|
-
const response = await this.httpService.callAPI(
|
|
29
|
-
method,
|
|
30
|
-
url.toString(),
|
|
31
|
-
data,
|
|
32
|
-
token,
|
|
33
|
-
contentType,
|
|
34
|
-
correlationId
|
|
35
|
-
);
|
|
36
|
-
if (response.status !== 200) {
|
|
37
|
-
const errorMessage = extractErrorMessage(response?.bodyAsText ?? "");
|
|
38
|
-
process.env[InternalEnvironmentVariables.TEST_RUN_CREATION_SUCCESS] = "false";
|
|
39
|
-
console.error(
|
|
40
|
-
ServiceErrorMessageConstants.TEST_RUN_CREATION_FAILED.formatWithErrorDetails(
|
|
41
|
-
errorMessage || "Unknown error"
|
|
42
|
-
)
|
|
43
|
-
);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
console.log("Test run created successfully.");
|
|
47
|
-
process.env[InternalEnvironmentVariables.TEST_RUN_CREATION_SUCCESS] = "true";
|
|
48
|
-
} catch (error) {
|
|
49
|
-
const errorMessage = error instanceof Error ? error.message : "Unknown error occurred during test run creation";
|
|
50
|
-
process.env[InternalEnvironmentVariables.TEST_RUN_CREATION_SUCCESS] = "false";
|
|
51
|
-
console.error(
|
|
52
|
-
ServiceErrorMessageConstants.TEST_RUN_CREATION_FAILED.formatWithErrorDetails(errorMessage)
|
|
53
|
-
);
|
|
6
|
+
import { Constants, InternalEnvironmentVariables } from "../common/constants.js";
|
|
7
|
+
export class PlaywrightServiceClient {
|
|
8
|
+
httpService;
|
|
9
|
+
constructor(httpService) {
|
|
10
|
+
this.httpService = httpService ?? new HttpService();
|
|
54
11
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
errorMessage
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
return response.bodyAsText ? JSON.parse(response.bodyAsText) : {};
|
|
84
|
-
} catch (error) {
|
|
85
|
-
if (error instanceof Error) {
|
|
86
|
-
throw error;
|
|
87
|
-
}
|
|
88
|
-
throw new Error(ServiceErrorMessageConstants.FAILED_TO_GET_WORKSPACE_METADATA.message);
|
|
12
|
+
async createOrUpdateTestRun(payload) {
|
|
13
|
+
try {
|
|
14
|
+
const baseUrl = getTestRunApiUrl();
|
|
15
|
+
const token = getAccessToken();
|
|
16
|
+
if (!token) {
|
|
17
|
+
throw new Error("PLAYWRIGHT_SERVICE_ACCESS_TOKEN environment variable is not set.");
|
|
18
|
+
}
|
|
19
|
+
const url = new URL(baseUrl);
|
|
20
|
+
url.searchParams.set("api-version", Constants.LatestAPIVersion);
|
|
21
|
+
const method = "PATCH";
|
|
22
|
+
const data = JSON.stringify(payload);
|
|
23
|
+
const contentType = "application/merge-patch+json";
|
|
24
|
+
const correlationId = crypto.randomUUID();
|
|
25
|
+
const response = await this.httpService.callAPI(method, url.toString(), data, token, contentType, correlationId);
|
|
26
|
+
if (response.status !== 200) {
|
|
27
|
+
const errorMessage = extractErrorMessage(response?.bodyAsText ?? "");
|
|
28
|
+
process.env[InternalEnvironmentVariables.TEST_RUN_CREATION_SUCCESS] = "false";
|
|
29
|
+
console.error(ServiceErrorMessageConstants.TEST_RUN_CREATION_FAILED.formatWithErrorDetails(errorMessage || "Unknown error"));
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
console.log("Test run created successfully.");
|
|
33
|
+
process.env[InternalEnvironmentVariables.TEST_RUN_CREATION_SUCCESS] = "true";
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error occurred during test run creation";
|
|
37
|
+
process.env[InternalEnvironmentVariables.TEST_RUN_CREATION_SUCCESS] = "false";
|
|
38
|
+
console.error(ServiceErrorMessageConstants.TEST_RUN_CREATION_FAILED.formatWithErrorDetails(errorMessage));
|
|
39
|
+
}
|
|
89
40
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
const responseBody = response.bodyAsText ? JSON.parse(response.bodyAsText) : {};
|
|
116
|
-
return responseBody.value ?? [];
|
|
117
|
-
} catch (error) {
|
|
118
|
-
if (error instanceof Error) {
|
|
119
|
-
throw error;
|
|
120
|
-
}
|
|
121
|
-
throw new Error("Failed to retrieve tenant information.");
|
|
41
|
+
async getWorkspaceMetadata() {
|
|
42
|
+
try {
|
|
43
|
+
const baseUrl = getWorkspaceMetaDataApiUrl();
|
|
44
|
+
const token = getAccessToken();
|
|
45
|
+
if (!token) {
|
|
46
|
+
throw new Error("PLAYWRIGHT_SERVICE_ACCESS_TOKEN environment variable is not set.");
|
|
47
|
+
}
|
|
48
|
+
const url = new URL(baseUrl);
|
|
49
|
+
url.searchParams.set("api-version", Constants.LatestAPIVersion);
|
|
50
|
+
const method = "GET";
|
|
51
|
+
const correlationId = crypto.randomUUID();
|
|
52
|
+
const response = await this.httpService.callAPI(method, url.toString(), null, token, "", correlationId);
|
|
53
|
+
if (response.status !== 200) {
|
|
54
|
+
const errorMessage = extractErrorMessage(response?.bodyAsText ?? "");
|
|
55
|
+
throw new Error(ServiceErrorMessageConstants.FAILED_TO_GET_WORKSPACE_METADATA.formatWithError(errorMessage || `HTTP ${response.status}: Failed to retrieve workspace details`));
|
|
56
|
+
}
|
|
57
|
+
return response.bodyAsText ? JSON.parse(response.bodyAsText) : {};
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
if (error instanceof Error) {
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
63
|
+
throw new Error(ServiceErrorMessageConstants.FAILED_TO_GET_WORKSPACE_METADATA.message);
|
|
64
|
+
}
|
|
122
65
|
}
|
|
123
|
-
}
|
|
124
66
|
}
|
|
125
|
-
|
|
126
|
-
PlaywrightServiceClient
|
|
127
|
-
};
|
|
67
|
+
//# sourceMappingURL=PlaywrightServiceClient.js.map
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["/mnt/vss/_work/1/s/sdk/loadtesting/playwright/src/utils/PlaywrightServiceClient.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport {\n getTestRunApiUrl,\n getAccessToken,\n extractErrorMessage,\n getWorkspaceMetaDataApiUrl,\n} from \"./utils.js\";\nimport { ServiceErrorMessageConstants } from \"../common/messages.js\";\nimport { HttpService } from \"../common/httpService.js\";\nimport type { TestRunCreatePayload, WorkspaceMetaData, TenantInfo } from \"../common/types.js\";\nimport { Constants, InternalEnvironmentVariables, ArmConstants } from \"../common/constants.js\";\n\nexport class PlaywrightServiceClient {\n private httpService: HttpService;\n\n constructor(httpService?: HttpService) {\n this.httpService = httpService ?? new HttpService();\n }\n\n async createOrUpdateTestRun(payload: TestRunCreatePayload): Promise<void> {\n try {\n const baseUrl = getTestRunApiUrl();\n const token = getAccessToken();\n if (!token) {\n throw new Error(\"PLAYWRIGHT_SERVICE_ACCESS_TOKEN environment variable is not set.\");\n }\n const url = new URL(baseUrl);\n url.searchParams.set(\"api-version\", Constants.LatestAPIVersion);\n const method = \"PATCH\";\n const data = JSON.stringify(payload);\n const contentType = \"application/merge-patch+json\";\n const correlationId = crypto.randomUUID();\n\n const response = await this.httpService.callAPI(\n method,\n url.toString(),\n data,\n token,\n contentType,\n correlationId,\n );\n\n if (response.status !== 200) {\n const errorMessage = extractErrorMessage(response?.bodyAsText ?? \"\");\n process.env[InternalEnvironmentVariables.TEST_RUN_CREATION_SUCCESS] = \"false\";\n console.error(\n ServiceErrorMessageConstants.TEST_RUN_CREATION_FAILED.formatWithErrorDetails(\n errorMessage || \"Unknown error\",\n ),\n );\n return;\n }\n\n console.log(\"Test run created successfully.\");\n process.env[InternalEnvironmentVariables.TEST_RUN_CREATION_SUCCESS] = \"true\";\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : \"Unknown error occurred during test run creation\";\n process.env[InternalEnvironmentVariables.TEST_RUN_CREATION_SUCCESS] = \"false\";\n console.error(\n ServiceErrorMessageConstants.TEST_RUN_CREATION_FAILED.formatWithErrorDetails(errorMessage),\n );\n }\n }\n\n async getWorkspaceMetadata(): Promise<WorkspaceMetaData> {\n try {\n const baseUrl = getWorkspaceMetaDataApiUrl();\n const token = getAccessToken();\n if (!token) {\n throw new Error(\"PLAYWRIGHT_SERVICE_ACCESS_TOKEN environment variable is not set.\");\n }\n const url = new URL(baseUrl);\n url.searchParams.set(\"api-version\", Constants.LatestAPIVersion);\n const method = \"GET\";\n const correlationId = crypto.randomUUID();\n\n const response = await this.httpService.callAPI(\n method,\n url.toString(),\n null,\n token,\n \"\",\n correlationId,\n );\n\n if (response.status !== 200) {\n const errorMessage = extractErrorMessage(response?.bodyAsText ?? \"\");\n throw new Error(\n ServiceErrorMessageConstants.FAILED_TO_GET_WORKSPACE_METADATA.formatWithError(\n errorMessage || `HTTP ${response.status}: Failed to retrieve workspace details`,\n ),\n );\n }\n\n return response.bodyAsText ? JSON.parse(response.bodyAsText) : {};\n } catch (error) {\n if (error instanceof Error) {\n throw error;\n }\n throw new Error(ServiceErrorMessageConstants.FAILED_TO_GET_WORKSPACE_METADATA.message);\n }\n }\n\n async getTenants(): Promise<TenantInfo[]> {\n try {\n const token = getAccessToken();\n if (!token) {\n throw new Error(\"PLAYWRIGHT_SERVICE_ACCESS_TOKEN environment variable is not set.\");\n }\n const url = new URL(ArmConstants.TenantsApiUrl);\n url.searchParams.set(\"api-version\", ArmConstants.TenantsApiVersion);\n const method = \"GET\";\n const correlationId = crypto.randomUUID();\n\n const response = await this.httpService.callAPI(\n method,\n url.toString(),\n null,\n token,\n \"\",\n correlationId,\n );\n if (response.status !== 200) {\n const errorMessage = extractErrorMessage(response?.bodyAsText ?? \"\");\n throw new Error(\n errorMessage || `HTTP ${response.status}: Failed to retrieve tenant information`,\n );\n }\n const responseBody = response.bodyAsText ? JSON.parse(response.bodyAsText) : {};\n return responseBody.value ?? [];\n } catch (error) {\n if (error instanceof Error) {\n throw error;\n }\n throw new Error(\"Failed to retrieve tenant information.\");\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
1
|
+
{"version":3,"file":"PlaywrightServiceClient.js","sourceRoot":"","sources":["../../../src/utils/PlaywrightServiceClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport {\n getTestRunApiUrl,\n getAccessToken,\n extractErrorMessage,\n getWorkspaceMetaDataApiUrl,\n} from \"./utils.js\";\nimport { ServiceErrorMessageConstants } from \"../common/messages.js\";\nimport { HttpService } from \"../common/httpService.js\";\nimport type { TestRunCreatePayload, WorkspaceMetaData } from \"../common/types.js\";\nimport { Constants, InternalEnvironmentVariables } from \"../common/constants.js\";\n\nexport class PlaywrightServiceClient {\n private httpService: HttpService;\n\n constructor(httpService?: HttpService) {\n this.httpService = httpService ?? new HttpService();\n }\n\n async createOrUpdateTestRun(payload: TestRunCreatePayload): Promise<void> {\n try {\n const baseUrl = getTestRunApiUrl();\n const token = getAccessToken();\n if (!token) {\n throw new Error(\"PLAYWRIGHT_SERVICE_ACCESS_TOKEN environment variable is not set.\");\n }\n const url = new URL(baseUrl);\n url.searchParams.set(\"api-version\", Constants.LatestAPIVersion);\n const method = \"PATCH\";\n const data = JSON.stringify(payload);\n const contentType = \"application/merge-patch+json\";\n const correlationId = crypto.randomUUID();\n\n const response = await this.httpService.callAPI(\n method,\n url.toString(),\n data,\n token,\n contentType,\n correlationId,\n );\n\n if (response.status !== 200) {\n const errorMessage = extractErrorMessage(response?.bodyAsText ?? \"\");\n process.env[InternalEnvironmentVariables.TEST_RUN_CREATION_SUCCESS] = \"false\";\n console.error(\n ServiceErrorMessageConstants.TEST_RUN_CREATION_FAILED.formatWithErrorDetails(\n errorMessage || \"Unknown error\",\n ),\n );\n return;\n }\n\n console.log(\"Test run created successfully.\");\n process.env[InternalEnvironmentVariables.TEST_RUN_CREATION_SUCCESS] = \"true\";\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : \"Unknown error occurred during test run creation\";\n process.env[InternalEnvironmentVariables.TEST_RUN_CREATION_SUCCESS] = \"false\";\n console.error(\n ServiceErrorMessageConstants.TEST_RUN_CREATION_FAILED.formatWithErrorDetails(errorMessage),\n );\n }\n }\n\n async getWorkspaceMetadata(): Promise<WorkspaceMetaData> {\n try {\n const baseUrl = getWorkspaceMetaDataApiUrl();\n const token = getAccessToken();\n if (!token) {\n throw new Error(\"PLAYWRIGHT_SERVICE_ACCESS_TOKEN environment variable is not set.\");\n }\n const url = new URL(baseUrl);\n url.searchParams.set(\"api-version\", Constants.LatestAPIVersion);\n const method = \"GET\";\n const correlationId = crypto.randomUUID();\n\n const response = await this.httpService.callAPI(\n method,\n url.toString(),\n null,\n token,\n \"\",\n correlationId,\n );\n\n if (response.status !== 200) {\n const errorMessage = extractErrorMessage(response?.bodyAsText ?? \"\");\n throw new Error(\n ServiceErrorMessageConstants.FAILED_TO_GET_WORKSPACE_METADATA.formatWithError(\n errorMessage || `HTTP ${response.status}: Failed to retrieve workspace details`,\n ),\n );\n }\n\n return response.bodyAsText ? JSON.parse(response.bodyAsText) : {};\n } catch (error) {\n if (error instanceof Error) {\n throw error;\n }\n throw new Error(ServiceErrorMessageConstants.FAILED_TO_GET_WORKSPACE_METADATA.message);\n }\n }\n}\n"]}
|
|
@@ -1,62 +1,75 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return "GITHUB" /* GITHUB */;
|
|
14
|
-
} else if (CIInfoProvider.isAzureDevOps()) {
|
|
15
|
-
return "ADO" /* ADO */;
|
|
16
|
-
} else {
|
|
17
|
-
return "DEFAULT" /* DEFAULT */;
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
export var CI_PROVIDERS;
|
|
4
|
+
(function (CI_PROVIDERS) {
|
|
5
|
+
CI_PROVIDERS["GITHUB"] = "GITHUB";
|
|
6
|
+
CI_PROVIDERS["ADO"] = "ADO";
|
|
7
|
+
CI_PROVIDERS["DEFAULT"] = "DEFAULT";
|
|
8
|
+
// Add more CI providers as needed
|
|
9
|
+
})(CI_PROVIDERS || (CI_PROVIDERS = {}));
|
|
10
|
+
export class CIInfoProvider {
|
|
11
|
+
static isGitHubActions() {
|
|
12
|
+
return process.env["GITHUB_ACTIONS"] === "true";
|
|
18
13
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
} else if (ciProvider === "ADO" /* ADO */) {
|
|
31
|
-
return {
|
|
32
|
-
providerName: "ADO" /* ADO */,
|
|
33
|
-
branch: process.env["BUILD_SOURCEBRANCH"] || null,
|
|
34
|
-
author: process.env["BUILD_REQUESTEDFOR"] || null,
|
|
35
|
-
commitId: process.env["BUILD_SOURCEVERSION"] || null,
|
|
36
|
-
revisionUrl: process.env["SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"] ? `${process.env["SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"]}${process.env["SYSTEM_TEAMPROJECT"]}/_git/${process.env["BUILD_REPOSITORY_NAME"]}/commit/${process.env["BUILD_SOURCEVERSION"]}` : null
|
|
37
|
-
};
|
|
38
|
-
} else {
|
|
39
|
-
return {
|
|
40
|
-
providerName: "DEFAULT" /* DEFAULT */,
|
|
41
|
-
branch: process.env["BRANCH"] ?? null,
|
|
42
|
-
author: process.env["AUTHOR"] ?? null,
|
|
43
|
-
commitId: process.env["COMMIT_ID"] ?? null,
|
|
44
|
-
revisionUrl: process.env["REVISION_URL"] ?? null
|
|
45
|
-
};
|
|
14
|
+
static getCIProvider() {
|
|
15
|
+
if (CIInfoProvider.isGitHubActions()) {
|
|
16
|
+
return CI_PROVIDERS.GITHUB;
|
|
17
|
+
}
|
|
18
|
+
else if (CIInfoProvider.isAzureDevOps()) {
|
|
19
|
+
return CI_PROVIDERS.ADO;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return CI_PROVIDERS.DEFAULT;
|
|
23
|
+
}
|
|
46
24
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
25
|
+
static getCIInfo() {
|
|
26
|
+
const ciProvider = CIInfoProvider.getCIProvider();
|
|
27
|
+
if (ciProvider === CI_PROVIDERS.GITHUB) {
|
|
28
|
+
// Logic to get GitHub Actions CIInfo
|
|
29
|
+
return {
|
|
30
|
+
providerName: CI_PROVIDERS.GITHUB,
|
|
31
|
+
branch: this.getGHBranchName() || null,
|
|
32
|
+
author: process.env["GITHUB_ACTOR"] || null,
|
|
33
|
+
commitId: process.env["GITHUB_SHA"] || null,
|
|
34
|
+
revisionUrl: process.env["GITHUB_SERVER_URL"]
|
|
35
|
+
? `${process.env["GITHUB_SERVER_URL"]}/${process.env["GITHUB_REPOSITORY"]}/commit/${process.env["GITHUB_SHA"]}`
|
|
36
|
+
: null,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
else if (ciProvider === CI_PROVIDERS.ADO) {
|
|
40
|
+
// Logic to get Azure DevOps CIInfo
|
|
41
|
+
return {
|
|
42
|
+
providerName: CI_PROVIDERS.ADO,
|
|
43
|
+
branch: process.env["BUILD_SOURCEBRANCH"] || null,
|
|
44
|
+
author: process.env["BUILD_REQUESTEDFOR"] || null,
|
|
45
|
+
commitId: process.env["BUILD_SOURCEVERSION"] || null,
|
|
46
|
+
revisionUrl: process.env["SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"]
|
|
47
|
+
? `${process.env["SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"]}${process.env["SYSTEM_TEAMPROJECT"]}/_git/${process.env["BUILD_REPOSITORY_NAME"]}/commit/${process.env["BUILD_SOURCEVERSION"]}`
|
|
48
|
+
: null,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
// Handle unsupported CI provider
|
|
53
|
+
return {
|
|
54
|
+
providerName: CI_PROVIDERS.DEFAULT,
|
|
55
|
+
branch: process.env["BRANCH"] ?? null,
|
|
56
|
+
author: process.env["AUTHOR"] ?? null,
|
|
57
|
+
commitId: process.env["COMMIT_ID"] ?? null,
|
|
58
|
+
revisionUrl: process.env["REVISION_URL"] ?? null,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
static isAzureDevOps() {
|
|
63
|
+
return (process.env["AZURE_HTTP_USER_AGENT"] !== undefined && process.env["TF_BUILD"] !== undefined);
|
|
64
|
+
}
|
|
65
|
+
static getGHBranchName() {
|
|
66
|
+
if (process.env["GITHUB_EVENT_NAME"] === "pull_request" ||
|
|
67
|
+
process.env["GITHUB_EVENT_NAME"] === "pull_request_target") {
|
|
68
|
+
return process.env["GITHUB_HEAD_REF"];
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
return process.env["GITHUB_REF_NAME"];
|
|
72
|
+
}
|
|
56
73
|
}
|
|
57
|
-
}
|
|
58
74
|
}
|
|
59
|
-
|
|
60
|
-
CIInfoProvider,
|
|
61
|
-
CI_PROVIDERS
|
|
62
|
-
};
|
|
75
|
+
//# sourceMappingURL=cIInfoProvider.js.map
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["/mnt/vss/_work/1/s/sdk/loadtesting/playwright/src/utils/cIInfoProvider.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport enum CI_PROVIDERS {\n GITHUB = \"GITHUB\",\n ADO = \"ADO\",\n DEFAULT = \"DEFAULT\",\n // Add more CI providers as needed\n}\n\nexport type CIInfo = {\n providerName?: CI_PROVIDERS | null;\n branch?: string | null;\n author?: string | null;\n commitId?: string | null;\n revisionUrl?: string | null;\n};\n\nexport class CIInfoProvider {\n private static isGitHubActions(): boolean {\n return process.env[\"GITHUB_ACTIONS\"] === \"true\";\n }\n\n static getCIProvider(): string | null {\n if (CIInfoProvider.isGitHubActions()) {\n return CI_PROVIDERS.GITHUB;\n } else if (CIInfoProvider.isAzureDevOps()) {\n return CI_PROVIDERS.ADO;\n } else {\n return CI_PROVIDERS.DEFAULT;\n }\n }\n\n static getCIInfo(): CIInfo {\n const ciProvider = CIInfoProvider.getCIProvider();\n if (ciProvider === CI_PROVIDERS.GITHUB) {\n // Logic to get GitHub Actions CIInfo\n return {\n providerName: CI_PROVIDERS.GITHUB,\n branch: this.getGHBranchName() || null,\n author: process.env[\"GITHUB_ACTOR\"] || null,\n commitId: process.env[\"GITHUB_SHA\"] || null,\n revisionUrl: process.env[\"GITHUB_SERVER_URL\"]\n ? `${process.env[\"GITHUB_SERVER_URL\"]}/${process.env[\"GITHUB_REPOSITORY\"]}/commit/${process.env[\"GITHUB_SHA\"]}`\n : null,\n };\n } else if (ciProvider === CI_PROVIDERS.ADO) {\n // Logic to get Azure DevOps CIInfo\n return {\n providerName: CI_PROVIDERS.ADO,\n branch: process.env[\"BUILD_SOURCEBRANCH\"] || null,\n author: process.env[\"BUILD_REQUESTEDFOR\"] || null,\n commitId: process.env[\"BUILD_SOURCEVERSION\"] || null,\n revisionUrl: process.env[\"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\"]\n ? `${process.env[\"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\"]}${process.env[\"SYSTEM_TEAMPROJECT\"]}/_git/${process.env[\"BUILD_REPOSITORY_NAME\"]}/commit/${process.env[\"BUILD_SOURCEVERSION\"]}`\n : null,\n };\n } else {\n // Handle unsupported CI provider\n return {\n providerName: CI_PROVIDERS.DEFAULT,\n branch: process.env[\"BRANCH\"] ?? null,\n author: process.env[\"AUTHOR\"] ?? null,\n commitId: process.env[\"COMMIT_ID\"] ?? null,\n revisionUrl: process.env[\"REVISION_URL\"] ?? null,\n };\n }\n }\n\n private static isAzureDevOps(): boolean {\n return (\n process.env[\"AZURE_HTTP_USER_AGENT\"] !== undefined && process.env[\"TF_BUILD\"] !== undefined\n );\n }\n\n private static getGHBranchName(): string {\n if (\n process.env[\"GITHUB_EVENT_NAME\"] === \"pull_request\" ||\n process.env[\"GITHUB_EVENT_NAME\"] === \"pull_request_target\"\n ) {\n return process.env[\"GITHUB_HEAD_REF\"]!;\n } else {\n return process.env[\"GITHUB_REF_NAME\"]!;\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "AAGO,IAAK,eAAL,kBAAKA,kBAAL;AACL,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,SAAM;AACN,EAAAA,cAAA,aAAU;AAHA,SAAAA;AAAA,GAAA;AAeL,MAAM,eAAe;AAAA,EAC1B,OAAe,kBAA2B;AACxC,WAAO,QAAQ,IAAI,gBAAgB,MAAM;AAAA,EAC3C;AAAA,EAEA,OAAO,gBAA+B;AACpC,QAAI,eAAe,gBAAgB,GAAG;AACpC,aAAO;AAAA,IACT,WAAW,eAAe,cAAc,GAAG;AACzC,aAAO;AAAA,IACT,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,OAAO,YAAoB;AACzB,UAAM,aAAa,eAAe,cAAc;AAChD,QAAI,eAAe,uBAAqB;AAEtC,aAAO;AAAA,QACL,cAAc;AAAA,QACd,QAAQ,KAAK,gBAAgB,KAAK;AAAA,QAClC,QAAQ,QAAQ,IAAI,cAAc,KAAK;AAAA,QACvC,UAAU,QAAQ,IAAI,YAAY,KAAK;AAAA,QACvC,aAAa,QAAQ,IAAI,mBAAmB,IACxC,GAAG,QAAQ,IAAI,mBAAmB,CAAC,IAAI,QAAQ,IAAI,mBAAmB,CAAC,WAAW,QAAQ,IAAI,YAAY,CAAC,KAC3G;AAAA,MACN;AAAA,IACF,WAAW,eAAe,iBAAkB;AAE1C,aAAO;AAAA,QACL,cAAc;AAAA,QACd,QAAQ,QAAQ,IAAI,oBAAoB,KAAK;AAAA,QAC7C,QAAQ,QAAQ,IAAI,oBAAoB,KAAK;AAAA,QAC7C,UAAU,QAAQ,IAAI,qBAAqB,KAAK;AAAA,QAChD,aAAa,QAAQ,IAAI,oCAAoC,IACzD,GAAG,QAAQ,IAAI,oCAAoC,CAAC,GAAG,QAAQ,IAAI,oBAAoB,CAAC,SAAS,QAAQ,IAAI,uBAAuB,CAAC,WAAW,QAAQ,IAAI,qBAAqB,CAAC,KAClL;AAAA,MACN;AAAA,IACF,OAAO;AAEL,aAAO;AAAA,QACL,cAAc;AAAA,QACd,QAAQ,QAAQ,IAAI,QAAQ,KAAK;AAAA,QACjC,QAAQ,QAAQ,IAAI,QAAQ,KAAK;AAAA,QACjC,UAAU,QAAQ,IAAI,WAAW,KAAK;AAAA,QACtC,aAAa,QAAQ,IAAI,cAAc,KAAK;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAe,gBAAyB;AACtC,WACE,QAAQ,IAAI,uBAAuB,MAAM,UAAa,QAAQ,IAAI,UAAU,MAAM;AAAA,EAEtF;AAAA,EAEA,OAAe,kBAA0B;AACvC,QACE,QAAQ,IAAI,mBAAmB,MAAM,kBACrC,QAAQ,IAAI,mBAAmB,MAAM,uBACrC;AACA,aAAO,QAAQ,IAAI,iBAAiB;AAAA,IACtC,OAAO;AACL,aAAO,QAAQ,IAAI,iBAAiB;AAAA,IACtC;AAAA,EACF;AACF;",
|
|
6
|
-
"names": ["CI_PROVIDERS"]
|
|
7
|
-
}
|
|
1
|
+
{"version":3,"file":"cIInfoProvider.js","sourceRoot":"","sources":["../../../src/utils/cIInfoProvider.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport enum CI_PROVIDERS {\n GITHUB = \"GITHUB\",\n ADO = \"ADO\",\n DEFAULT = \"DEFAULT\",\n // Add more CI providers as needed\n}\n\nexport type CIInfo = {\n providerName?: CI_PROVIDERS | null;\n branch?: string | null;\n author?: string | null;\n commitId?: string | null;\n revisionUrl?: string | null;\n};\n\nexport class CIInfoProvider {\n private static isGitHubActions(): boolean {\n return process.env[\"GITHUB_ACTIONS\"] === \"true\";\n }\n\n static getCIProvider(): string | null {\n if (CIInfoProvider.isGitHubActions()) {\n return CI_PROVIDERS.GITHUB;\n } else if (CIInfoProvider.isAzureDevOps()) {\n return CI_PROVIDERS.ADO;\n } else {\n return CI_PROVIDERS.DEFAULT;\n }\n }\n\n static getCIInfo(): CIInfo {\n const ciProvider = CIInfoProvider.getCIProvider();\n if (ciProvider === CI_PROVIDERS.GITHUB) {\n // Logic to get GitHub Actions CIInfo\n return {\n providerName: CI_PROVIDERS.GITHUB,\n branch: this.getGHBranchName() || null,\n author: process.env[\"GITHUB_ACTOR\"] || null,\n commitId: process.env[\"GITHUB_SHA\"] || null,\n revisionUrl: process.env[\"GITHUB_SERVER_URL\"]\n ? `${process.env[\"GITHUB_SERVER_URL\"]}/${process.env[\"GITHUB_REPOSITORY\"]}/commit/${process.env[\"GITHUB_SHA\"]}`\n : null,\n };\n } else if (ciProvider === CI_PROVIDERS.ADO) {\n // Logic to get Azure DevOps CIInfo\n return {\n providerName: CI_PROVIDERS.ADO,\n branch: process.env[\"BUILD_SOURCEBRANCH\"] || null,\n author: process.env[\"BUILD_REQUESTEDFOR\"] || null,\n commitId: process.env[\"BUILD_SOURCEVERSION\"] || null,\n revisionUrl: process.env[\"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\"]\n ? `${process.env[\"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\"]}${process.env[\"SYSTEM_TEAMPROJECT\"]}/_git/${process.env[\"BUILD_REPOSITORY_NAME\"]}/commit/${process.env[\"BUILD_SOURCEVERSION\"]}`\n : null,\n };\n } else {\n // Handle unsupported CI provider\n return {\n providerName: CI_PROVIDERS.DEFAULT,\n branch: process.env[\"BRANCH\"] ?? null,\n author: process.env[\"AUTHOR\"] ?? null,\n commitId: process.env[\"COMMIT_ID\"] ?? null,\n revisionUrl: process.env[\"REVISION_URL\"] ?? null,\n };\n }\n }\n\n private static isAzureDevOps(): boolean {\n return (\n process.env[\"AZURE_HTTP_USER_AGENT\"] !== undefined && process.env[\"TF_BUILD\"] !== undefined\n );\n }\n\n private static getGHBranchName(): string {\n if (\n process.env[\"GITHUB_EVENT_NAME\"] === \"pull_request\" ||\n process.env[\"GITHUB_EVENT_NAME\"] === \"pull_request_target\"\n ) {\n return process.env[\"GITHUB_HEAD_REF\"]!;\n } else {\n return process.env[\"GITHUB_REF_NAME\"]!;\n }\n }\n}\n"]}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
1
3
|
import path, { dirname } from "node:path";
|
|
2
4
|
import { coreLogger } from "../common/logger.js";
|
|
3
5
|
import { fileURLToPath } from "node:url";
|
|
4
6
|
import { createRequire } from "node:module";
|
|
5
|
-
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
8
|
+
// @ts-ignore ESM only output
|
|
9
|
+
const require = createRequire(import.meta.url);
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
11
|
+
// @ts-ignore ESM only output
|
|
6
12
|
const currentDir = dirname(fileURLToPath(import.meta.url));
|
|
7
|
-
const getPackageVersionFromFolder = (folder) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
export {
|
|
17
|
-
getPackageVersionFromFolder
|
|
13
|
+
export const getPackageVersionFromFolder = (folder) => {
|
|
14
|
+
try {
|
|
15
|
+
const version = require(path.join(currentDir, folder, "package.json")).version;
|
|
16
|
+
return version;
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
coreLogger.error("Error fetching package version:", error);
|
|
20
|
+
return "";
|
|
21
|
+
}
|
|
18
22
|
};
|
|
23
|
+
//# sourceMappingURL=getPackageVersion.js.map
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["/mnt/vss/_work/1/s/sdk/loadtesting/playwright/src/utils/getPackageVersion.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport path, { dirname } from \"node:path\";\nimport { coreLogger } from \"../common/logger.js\";\nimport { fileURLToPath } from \"node:url\";\nimport { createRequire } from \"node:module\";\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore ESM only output\nconst require = createRequire(import.meta.url);\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore ESM only output\nconst currentDir = dirname(fileURLToPath(import.meta.url));\n\nexport const getPackageVersionFromFolder = (folder: string): string => {\n try {\n const version = require(path.join(currentDir, folder, \"package.json\")).version;\n return version;\n } catch (error) {\n coreLogger.error(\"Error fetching package version:\", error);\n return \"\";\n }\n};\n"],
|
|
5
|
-
"mappings": "AAGA,OAAO,QAAQ,eAAe;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAI9B,MAAMA,WAAU,cAAc,YAAY,GAAG;AAG7C,MAAM,aAAa,QAAQ,cAAc,YAAY,GAAG,CAAC;AAElD,MAAM,8BAA8B,CAAC,WAA2B;AACrE,MAAI;AACF,UAAM,UAAUA,SAAQ,KAAK,KAAK,YAAY,QAAQ,cAAc,CAAC,EAAE;AACvE,WAAO;AAAA,EACT,SAAS,OAAO;AACd,eAAW,MAAM,mCAAmC,KAAK;AACzD,WAAO;AAAA,EACT;AACF;",
|
|
6
|
-
"names": ["require"]
|
|
7
|
-
}
|
|
1
|
+
{"version":3,"file":"getPackageVersion.js","sourceRoot":"","sources":["../../../src/utils/getPackageVersion.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,6DAA6D;AAC7D,6BAA6B;AAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,6DAA6D;AAC7D,6BAA6B;AAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,MAAc,EAAU,EAAE;IACpE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/E,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport path, { dirname } from \"node:path\";\nimport { coreLogger } from \"../common/logger.js\";\nimport { fileURLToPath } from \"node:url\";\nimport { createRequire } from \"node:module\";\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore ESM only output\nconst require = createRequire(import.meta.url);\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore ESM only output\nconst currentDir = dirname(fileURLToPath(import.meta.url));\n\nexport const getPackageVersionFromFolder = (folder: string): string => {\n try {\n const version = require(path.join(currentDir, folder, \"package.json\")).version;\n return version;\n } catch (error) {\n coreLogger.error(\"Error fetching package version:\", error);\n return \"\";\n }\n};\n"]}
|
|
@@ -1,21 +1,19 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
1
3
|
import { getPackageManager } from "./packageManager.js";
|
|
2
4
|
import { InternalEnvironmentVariables } from "../common/constants.js";
|
|
3
5
|
import { execSync } from "node:child_process";
|
|
4
6
|
import { coreLogger } from "../common/logger.js";
|
|
5
|
-
const getPlaywrightVersion = () => {
|
|
6
|
-
|
|
7
|
+
export const getPlaywrightVersion = () => {
|
|
8
|
+
if (process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION]) {
|
|
9
|
+
return process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION];
|
|
10
|
+
}
|
|
11
|
+
const packageManager = getPackageManager();
|
|
12
|
+
const command = packageManager.runCommand("playwright", "--version");
|
|
13
|
+
const stdout = execSync(command).toString().trim();
|
|
14
|
+
const version = packageManager.getVersionFromStdout(stdout);
|
|
15
|
+
process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION] = version;
|
|
16
|
+
coreLogger.info(`Playwright version being used - ${process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION]}`);
|
|
7
17
|
return process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION];
|
|
8
|
-
}
|
|
9
|
-
const packageManager = getPackageManager();
|
|
10
|
-
const command = packageManager.runCommand("playwright", "--version");
|
|
11
|
-
const stdout = execSync(command).toString().trim();
|
|
12
|
-
const version = packageManager.getVersionFromStdout(stdout);
|
|
13
|
-
process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION] = version;
|
|
14
|
-
coreLogger.info(
|
|
15
|
-
`Playwright version being used - ${process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION]}`
|
|
16
|
-
);
|
|
17
|
-
return process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION];
|
|
18
|
-
};
|
|
19
|
-
export {
|
|
20
|
-
getPlaywrightVersion
|
|
21
18
|
};
|
|
19
|
+
//# sourceMappingURL=getPlaywrightVersion.js.map
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["/mnt/vss/_work/1/s/sdk/loadtesting/playwright/src/utils/getPlaywrightVersion.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { getPackageManager } from \"./packageManager.js\";\nimport { InternalEnvironmentVariables } from \"../common/constants.js\";\nimport { execSync } from \"node:child_process\";\nimport { coreLogger } from \"../common/logger.js\";\n\nexport const getPlaywrightVersion = (): string => {\n if (process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION]) {\n return process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION]!;\n }\n\n const packageManager = getPackageManager();\n const command = packageManager.runCommand(\"playwright\", \"--version\");\n const stdout = execSync(command).toString().trim();\n const version = packageManager.getVersionFromStdout(stdout);\n process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION] = version;\n coreLogger.info(\n `Playwright version being used - ${process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION]}`,\n );\n return process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION]!;\n};\n"],
|
|
5
|
-
"mappings": "AAGA,SAAS,yBAAyB;AAClC,SAAS,oCAAoC;AAC7C,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAEpB,MAAM,uBAAuB,MAAc;AAChD,MAAI,QAAQ,IAAI,6BAA6B,sBAAsB,GAAG;AACpE,WAAO,QAAQ,IAAI,6BAA6B,sBAAsB;AAAA,EACxE;AAEA,QAAM,iBAAiB,kBAAkB;AACzC,QAAM,UAAU,eAAe,WAAW,cAAc,WAAW;AACnE,QAAM,SAAS,SAAS,OAAO,EAAE,SAAS,EAAE,KAAK;AACjD,QAAM,UAAU,eAAe,qBAAqB,MAAM;AAC1D,UAAQ,IAAI,6BAA6B,sBAAsB,IAAI;AACnE,aAAW;AAAA,IACT,mCAAmC,QAAQ,IAAI,6BAA6B,sBAAsB,CAAC;AAAA,EACrG;AACA,SAAO,QAAQ,IAAI,6BAA6B,sBAAsB;AACxE;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
1
|
+
{"version":3,"file":"getPlaywrightVersion.js","sourceRoot":"","sources":["../../../src/utils/getPlaywrightVersion.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAW,EAAE;IAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACrE,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,sBAAsB,CAAE,CAAC;IAC3E,CAAC;IAED,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC;IAC3E,UAAU,CAAC,IAAI,CACb,mCAAmC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,EAAE,CACtG,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,sBAAsB,CAAE,CAAC;AAC3E,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { getPackageManager } from \"./packageManager.js\";\nimport { InternalEnvironmentVariables } from \"../common/constants.js\";\nimport { execSync } from \"node:child_process\";\nimport { coreLogger } from \"../common/logger.js\";\n\nexport const getPlaywrightVersion = (): string => {\n if (process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION]) {\n return process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION]!;\n }\n\n const packageManager = getPackageManager();\n const command = packageManager.runCommand(\"playwright\", \"--version\");\n const stdout = execSync(command).toString().trim();\n const version = packageManager.getVersionFromStdout(stdout);\n process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION] = version;\n coreLogger.info(\n `Playwright version being used - ${process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION]}`,\n );\n return process.env[InternalEnvironmentVariables.MPT_PLAYWRIGHT_VERSION]!;\n};\n"]}
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
export class NPM {
|
|
4
|
+
runCommand = (command, args) => {
|
|
5
|
+
return `npx ${command} ${args}`;
|
|
6
|
+
};
|
|
7
|
+
getVersionFromStdout = (stdout) => {
|
|
8
|
+
const match = stdout.match(/Version\s(\d+\.\d+\.\d+(-\w+-\d{4}-\d{2}-\d{2})?)/);
|
|
9
|
+
return match ? match[1] : "Unknown version";
|
|
10
|
+
};
|
|
9
11
|
}
|
|
10
|
-
class PNPM {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
export class PNPM {
|
|
13
|
+
runCommand = (command, args) => {
|
|
14
|
+
return `pnpm ${command} ${args}`;
|
|
15
|
+
};
|
|
16
|
+
getVersionFromStdout = (stdout) => {
|
|
17
|
+
const match = stdout.match(/Version\s(\d+\.\d+\.\d+(-\w+-\d{4}-\d{2}-\d{2})?)/);
|
|
18
|
+
return match ? match[1] : "Unknown version";
|
|
19
|
+
};
|
|
18
20
|
}
|
|
19
|
-
class Yarn {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
export class Yarn {
|
|
22
|
+
runCommand = (command, args) => {
|
|
23
|
+
return `yarn ${command} ${args}`;
|
|
24
|
+
};
|
|
25
|
+
getVersionFromStdout = (stdout) => {
|
|
26
|
+
const match = stdout.match(/Version\s(\d+\.\d+\.\d+(-\w+-\d{4}-\d{2}-\d{2})?)/);
|
|
27
|
+
return match ? match[1] : "Unknown version";
|
|
28
|
+
};
|
|
27
29
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
PNPM,
|
|
39
|
-
Yarn,
|
|
40
|
-
getPackageManager
|
|
30
|
+
// https://stackoverflow.com/questions/68133683/is-there-a-cross-platform-way-to-get-the-name-of-the-parent-process-in-node-js
|
|
31
|
+
export const getPackageManager = () => {
|
|
32
|
+
if (process.env["npm_config_user_agent"]) {
|
|
33
|
+
const userAgent = process.env["npm_config_user_agent"];
|
|
34
|
+
if (userAgent.includes("yarn"))
|
|
35
|
+
return new Yarn();
|
|
36
|
+
if (userAgent.includes("pnpm"))
|
|
37
|
+
return new PNPM();
|
|
38
|
+
}
|
|
39
|
+
return new NPM();
|
|
41
40
|
};
|
|
41
|
+
//# sourceMappingURL=packageManager.js.map
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["/mnt/vss/_work/1/s/sdk/loadtesting/playwright/src/utils/packageManager.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PackageManager } from \"../common/types.js\";\n\nexport class NPM implements PackageManager {\n runCommand = (command: string, args: string): string => {\n return `npx ${command} ${args}`;\n };\n getVersionFromStdout = (stdout: string): string => {\n const match = stdout.match(/Version\\s(\\d+\\.\\d+\\.\\d+(-\\w+-\\d{4}-\\d{2}-\\d{2})?)/);\n return match ? match[1] : \"Unknown version\";\n };\n}\n\nexport class PNPM implements PackageManager {\n runCommand = (command: string, args: string): string => {\n return `pnpm ${command} ${args}`;\n };\n getVersionFromStdout = (stdout: string): string => {\n const match = stdout.match(/Version\\s(\\d+\\.\\d+\\.\\d+(-\\w+-\\d{4}-\\d{2}-\\d{2})?)/);\n return match ? match[1] : \"Unknown version\";\n };\n}\n\nexport class Yarn implements PackageManager {\n runCommand = (command: string, args: string): string => {\n return `yarn ${command} ${args}`;\n };\n getVersionFromStdout = (stdout: string): string => {\n const match = stdout.match(/Version\\s(\\d+\\.\\d+\\.\\d+(-\\w+-\\d{4}-\\d{2}-\\d{2})?)/);\n return match ? match[1] : \"Unknown version\";\n };\n}\n\n// https://stackoverflow.com/questions/68133683/is-there-a-cross-platform-way-to-get-the-name-of-the-parent-process-in-node-js\nexport const getPackageManager = (): PackageManager => {\n if (process.env[\"npm_config_user_agent\"]) {\n const userAgent = process.env[\"npm_config_user_agent\"];\n if (userAgent.includes(\"yarn\")) return new Yarn();\n if (userAgent.includes(\"pnpm\")) return new PNPM();\n }\n return new NPM();\n};\n"],
|
|
5
|
-
"mappings": "AAKO,MAAM,IAA8B;AAAA,EACzC,aAAa,CAAC,SAAiB,SAAyB;AACtD,WAAO,OAAO,OAAO,IAAI,IAAI;AAAA,EAC/B;AAAA,EACA,uBAAuB,CAAC,WAA2B;AACjD,UAAM,QAAQ,OAAO,MAAM,mDAAmD;AAC9E,WAAO,QAAQ,MAAM,CAAC,IAAI;AAAA,EAC5B;AACF;AAEO,MAAM,KAA+B;AAAA,EAC1C,aAAa,CAAC,SAAiB,SAAyB;AACtD,WAAO,QAAQ,OAAO,IAAI,IAAI;AAAA,EAChC;AAAA,EACA,uBAAuB,CAAC,WAA2B;AACjD,UAAM,QAAQ,OAAO,MAAM,mDAAmD;AAC9E,WAAO,QAAQ,MAAM,CAAC,IAAI;AAAA,EAC5B;AACF;AAEO,MAAM,KAA+B;AAAA,EAC1C,aAAa,CAAC,SAAiB,SAAyB;AACtD,WAAO,QAAQ,OAAO,IAAI,IAAI;AAAA,EAChC;AAAA,EACA,uBAAuB,CAAC,WAA2B;AACjD,UAAM,QAAQ,OAAO,MAAM,mDAAmD;AAC9E,WAAO,QAAQ,MAAM,CAAC,IAAI;AAAA,EAC5B;AACF;AAGO,MAAM,oBAAoB,MAAsB;AACrD,MAAI,QAAQ,IAAI,uBAAuB,GAAG;AACxC,UAAM,YAAY,QAAQ,IAAI,uBAAuB;AACrD,QAAI,UAAU,SAAS,MAAM,EAAG,QAAO,IAAI,KAAK;AAChD,QAAI,UAAU,SAAS,MAAM,EAAG,QAAO,IAAI,KAAK;AAAA,EAClD;AACA,SAAO,IAAI,IAAI;AACjB;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
1
|
+
{"version":3,"file":"packageManager.js","sourceRoot":"","sources":["../../../src/utils/packageManager.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,MAAM,OAAO,GAAG;IACd,UAAU,GAAG,CAAC,OAAe,EAAE,IAAY,EAAU,EAAE;QACrD,OAAO,OAAO,OAAO,IAAI,IAAI,EAAE,CAAC;IAClC,CAAC,CAAC;IACF,oBAAoB,GAAG,CAAC,MAAc,EAAU,EAAE;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC9C,CAAC,CAAC;CACH;AAED,MAAM,OAAO,IAAI;IACf,UAAU,GAAG,CAAC,OAAe,EAAE,IAAY,EAAU,EAAE;QACrD,OAAO,QAAQ,OAAO,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC,CAAC;IACF,oBAAoB,GAAG,CAAC,MAAc,EAAU,EAAE;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC9C,CAAC,CAAC;CACH;AAED,MAAM,OAAO,IAAI;IACf,UAAU,GAAG,CAAC,OAAe,EAAE,IAAY,EAAU,EAAE;QACrD,OAAO,QAAQ,OAAO,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC,CAAC;IACF,oBAAoB,GAAG,CAAC,MAAc,EAAU,EAAE;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC9C,CAAC,CAAC;CACH;AAED,8HAA8H;AAC9H,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAmB,EAAE;IACpD,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACvD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,IAAI,EAAE,CAAC;QAClD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,IAAI,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,GAAG,EAAE,CAAC;AACnB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PackageManager } from \"../common/types.js\";\n\nexport class NPM implements PackageManager {\n runCommand = (command: string, args: string): string => {\n return `npx ${command} ${args}`;\n };\n getVersionFromStdout = (stdout: string): string => {\n const match = stdout.match(/Version\\s(\\d+\\.\\d+\\.\\d+(-\\w+-\\d{4}-\\d{2}-\\d{2})?)/);\n return match ? match[1] : \"Unknown version\";\n };\n}\n\nexport class PNPM implements PackageManager {\n runCommand = (command: string, args: string): string => {\n return `pnpm ${command} ${args}`;\n };\n getVersionFromStdout = (stdout: string): string => {\n const match = stdout.match(/Version\\s(\\d+\\.\\d+\\.\\d+(-\\w+-\\d{4}-\\d{2}-\\d{2})?)/);\n return match ? match[1] : \"Unknown version\";\n };\n}\n\nexport class Yarn implements PackageManager {\n runCommand = (command: string, args: string): string => {\n return `yarn ${command} ${args}`;\n };\n getVersionFromStdout = (stdout: string): string => {\n const match = stdout.match(/Version\\s(\\d+\\.\\d+\\.\\d+(-\\w+-\\d{4}-\\d{2}-\\d{2})?)/);\n return match ? match[1] : \"Unknown version\";\n };\n}\n\n// https://stackoverflow.com/questions/68133683/is-there-a-cross-platform-way-to-get-the-name-of-the-parent-process-in-node-js\nexport const getPackageManager = (): PackageManager => {\n if (process.env[\"npm_config_user_agent\"]) {\n const userAgent = process.env[\"npm_config_user_agent\"];\n if (userAgent.includes(\"yarn\")) return new Yarn();\n if (userAgent.includes(\"pnpm\")) return new PNPM();\n }\n return new NPM();\n};\n"]}
|