Skip to content

Commit

Permalink
[perf] Migrate @azure-tests/perf-ai-metrics-advisor to ESM (#32209)
Browse files Browse the repository at this point in the history
### Packages impacted by this PR

- @azure-tests/perf-ai-metrics-advisor 

### Issues associated with this PR

- #31338

### Describe the problem that is addressed by this PR

Migrates @azure-tests/perf-ai-metrics-advisor  to ESM via automation.

### What are the possible designs available to address the problem? If
there are more than one possible design, why was the one in this PR
chosen?


### Are there test cases added in this PR? _(If not, why?)_


### Provide a list of related PRs _(if any)_


### Command used to generate this PR:**_(Applicable only to SDK release
request PRs)_

### Checklists
- [ ] Added impacted package name to the issue description
- [ ] Does this PR needs any fixes in the SDK Generator?** _(If so,
create an Issue in the
[Autorest/typescript](https://github.com/Azure/autorest.typescript)
repository and link it here)_
- [ ] Added a changelog (if necessary)
  • Loading branch information
mpodwysocki authored Dec 17, 2024
1 parent 6ab19e8 commit 84169fa
Show file tree
Hide file tree
Showing 7 changed files with 72 additions and 25 deletions.
57 changes: 44 additions & 13 deletions sdk/metricsadvisor/perf-tests/ai-metrics-advisor/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,44 +3,75 @@
"sdk-type": "perf-test",
"version": "1.0.0",
"description": "",
"main": "",
"main": "./dist/commonjs/index.js",
"keywords": [],
"author": "",
"license": "ISC",
"author": "Microsoft Corporation",
"license": "MIT",
"dependencies": {
"@azure-tools/test-perf": "^1.0.0",
"@azure/ai-metrics-advisor": "^1.0.0",
"dotenv": "^16.0.0"
"dotenv": "^16.0.0",
"tslib": "^2.8.1"
},
"devDependencies": {
"@azure/dev-tool": "^1.0.0",
"@types/node": "^18.0.0",
"eslint": "^9.9.0",
"ts-node": "^10.0.0",
"tslib": "^2.2.0",
"typescript": "~5.6.2"
},
"private": true,
"scripts": {
"build": "npm run clean && tsc -p .",
"build": "npm run clean && dev-tool run build-package",
"build:samples": "echo skipped",
"build:test": "echo skipped",
"check-format": "dev-tool run vendored prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"test/**/*.ts\" \"*.{js,json}\"",
"check-format": "dev-tool run vendored prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"*.{js,json}\"",
"clean": "dev-tool run vendored rimraf --glob dist dist-esm test-dist types *.tgz *.log",
"format": "dev-tool run vendored prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"test/**/*.ts\" \"*.{js,json}\"",
"format": "dev-tool run vendored prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"*.{js,json}\"",
"integration-test": "echo skipped",
"integration-test:browser": "echo skipped",
"integration-test:node": "echo skipped",
"lint": "eslint -c ../../../../common/tools/eslint-plugin-azure-sdk/eslint.perftests.config.mjs test",
"lint:fix": "eslint -c ../../../../common/tools/eslint-plugin-azure-sdk/eslint.perftests.config.mjs test --fix --fix-type [problem,suggestion]",
"lint": "dev-tool run vendored eslint -c ../../../../common/tools/eslint-plugin-azure-sdk/eslint.perftests.config.mjs src",
"lint:fix": "dev-tool run vendored eslint -c ../../../../common/tools/eslint-plugin-azure-sdk/eslint.perftests.config.mjs src --fix --fix-type [problem,suggestion]",
"pack": "npm pack 2>&1",
"perf-test:node": "npm run build && node dist-esm/index.spec.js",
"perf-test:node": "npm run build && node dist/esm/index.js",
"test": "echo skipped",
"test:browser": "echo skipped",
"test:node": "echo skipped",
"unit-test": "echo skipped",
"unit-test:browser": "echo skipped",
"unit-test:node": "echo skipped",
"update-snippets": "echo skipped"
}
},
"type": "module",
"tshy": {
"exports": {
"./package.json": "./package.json",
".": "./src/index.ts"
},
"dialects": [
"esm",
"commonjs"
],
"selfLink": false
},
"files": [
"dist/",
"README.md",
"LICENSE"
],
"exports": {
"./package.json": "./package.json",
".": {
"import": {
"types": "./dist/esm/index.d.ts",
"default": "./dist/esm/index.js"
},
"require": {
"types": "./dist/commonjs/index.d.ts",
"default": "./dist/commonjs/index.js"
}
}
},
"types": "./dist/commonjs/index.d.ts",
"module": "./dist/esm/index.js"
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
// Licensed under the MIT License.

import { createPerfProgram } from "@azure-tools/test-perf";
import { AnomaliesListTest } from "./listAnomalies.spec";
import { IncidentsListTest } from "./listIncidents.spec";
import { RootCauseTest } from "./rootCauses.spec";
import { AnomaliesListTest } from "./listAnomalies.spec.js";
import { IncidentsListTest } from "./listIncidents.spec.js";
import { RootCauseTest } from "./rootCauses.spec.js";

const perfProgram = createPerfProgram(AnomaliesListTest, IncidentsListTest, RootCauseTest);
perfProgram.run();
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

import { PerfOptionDictionary, getEnvVar } from "@azure-tools/test-perf";
import { MetricsAdvisorTest } from "./metricsAdvisor.spec";
import { MetricsAdvisorTest } from "./metricsAdvisor.spec.js";

type MetricsAdvisorTestOptions = Record<string, unknown>;

export class AnomaliesListTest extends MetricsAdvisorTest<MetricsAdvisorTestOptions> {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

import { PerfOptionDictionary, getEnvVar } from "@azure-tools/test-perf";
import { MetricsAdvisorTest } from "./metricsAdvisor.spec";
import { MetricsAdvisorTest } from "./metricsAdvisor.spec.js";

type MetricsAdvisorTestOptions = Record<string, unknown>;

export class IncidentsListTest extends MetricsAdvisorTest<MetricsAdvisorTestOptions> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ import { PerfTest, getEnvVar } from "@azure-tools/test-perf";
import { MetricsAdvisorClient, MetricsAdvisorKeyCredential } from "@azure/ai-metrics-advisor";

// Expects the .env file at the same level
import * as dotenv from "dotenv";
dotenv.config();
import "dotenv/config";

export abstract class MetricsAdvisorTest<TOptions> extends PerfTest<TOptions> {
client: MetricsAdvisorClient;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

import { PerfOptionDictionary, getEnvVar } from "@azure-tools/test-perf";
import { MetricsAdvisorTest } from "./metricsAdvisor.spec";
import { MetricsAdvisorTest } from "./metricsAdvisor.spec.js";

type MetricsAdvisorTestOptions = Record<string, unknown>;

export class RootCauseTest extends MetricsAdvisorTest<MetricsAdvisorTestOptions> {
Expand Down
19 changes: 15 additions & 4 deletions sdk/metricsadvisor/perf-tests/ai-metrics-advisor/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@
{
"extends": "../../../../tsconfig",
"compilerOptions": {
"module": "CommonJS",
"lib": ["ES6", "ESNext.AsyncIterable"],
"noEmit": true
"module": "NodeNext",
"moduleResolution": "NodeNext",
"rootDir": ".",
"paths": {
"@azure-tests/perf-ai-metrics-advisor": ["./src/index.ts"]
}
},
"compileOnSave": true,
"include": ["./test/**/*.ts"]
"include": [
"src/**/*.ts",
"src/**/*.mts",
"src/**/*.cts",
"samples-dev/**/*.ts",
"test/**/*.ts",
"test/**/*.mts",
"test/**/*.cts"
]
}

0 comments on commit 84169fa

Please sign in to comment.