Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Recorder] Release recorder 3.1.0 #28917

Merged

Conversation

HarshaNalluru
Copy link
Member

Packages impacted by this PR

@azure-tools/test-recorder

Issues associated with this PR

#28667

Describe the problem that is addressed by this PR

Releasing recorder 3.1.0 unblocks the #28667 that upgrades recorder to 4.0.0 with vitest.

@github-actions github-actions bot added the test-utils Label for the issues related to the @azure/test-utils package label Mar 14, 2024
@HarshaNalluru HarshaNalluru merged commit 8d67879 into Azure:main Mar 14, 2024
22 checks passed
@HarshaNalluru HarshaNalluru deleted the harshan/release-recorder-3.1.0 branch March 14, 2024 20:26
HarshaNalluru added a commit that referenced this pull request Apr 1, 2024
### Packages impacted by this PR
`@azure-tools/test-recorder`

### Issues associated with this PR
#28475

### Describe the problem that is addressed by this PR
Migrates `@azure-tools/test-recorder` to ESM, supports both vitest and
mocha.


### What's in the PR
This PR also pulls in @jeremymeng's change to update recorder file path
calculation that got reverted
#28423


#### One major non-breaking change to `env`
This involves bumping recorder to 4.0.0, a new major due to the nature
of the change.
`process.env` is employed in both node and browser vitest with
playwright.
- removes dotenv dependency
- env shims for browser
- deletes karma.conf

```
                       Exported "env" in 3.1.0                             Exported "env" in 4.0.0
node                    Process.env	                                    Process.env
browser                 Window.__env__	                                    --No shim--
```
Depends on #28917

### Exposed sanitizer types 
- Enhanced the `addSanitizers` method and `SanitizerOptions` options bag
by exposing the following sanitizer types for more flexible usage:

- `FindReplaceSanitizer`: A sanitizer that finds and replaces specified
strings.
- `RegexSanitizer`: A sanitizer that uses regular expressions for
pattern matching and replacement.
- `StringSanitizer`: A sanitizer that handles string-based sanitization
tasks.
- `HeaderSanitizer`: A sanitizer specifically designed for handling HTTP
headers.
- `ConnectionStringSanitizer`: A sanitizer that securely handles
connection strings.
- `RemoveHeaderSanitizer`: A sanitizer that removes specified headers
from HTTP requests or responses.

This update aims to provide users with a more comprehensive and
customizable sanitization process.

### Breaking Changes

- The `@azure-tools/test-recorder@4.0.0` package now supports `vitest`
and `playwright` (stops support for `mocha` and `karma`), employs
`process.env` in both Node and browser environments. This aligns with
the latest testing frameworks and provides improved testing
capabilities.

- The package has been simplified by removing the `dotenv` dependency
and the `karma.conf` file, env shims for the browser. This streamlines
the package dependencies and configuration files, respectively.
- These changes introduce a new `env` strategy for all SDKs once they
migrate to ESM and depend on `@azure-tools/test-recorder` version 4, as
we employ `process.env` through vitest to access environment variables
in both Node and browser environments.

---------

Co-authored-by: Jeremy Meng <jeremy.ymeng@gmail.com>
Co-authored-by: Matthew Podwysocki <matthewp@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
test-utils Label for the issues related to the @azure/test-utils package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants