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

[core] Post core-ESM migration steps #28475

Open
3 of 11 tasks
mpodwysocki opened this issue Feb 5, 2024 · 0 comments
Open
3 of 11 tasks

[core] Post core-ESM migration steps #28475

mpodwysocki opened this issue Feb 5, 2024 · 0 comments
Labels
Azure.Core Client This issue points to a problem in the data-plane of the library.

Comments

@mpodwysocki
Copy link
Member

mpodwysocki commented Feb 5, 2024

After the merging of the ESM Migration PR #26238, we need to migrate the rest of the repository to ESM and vitest.

Here are the following tasks that need to be done which moves to ESM and vitest

Following the core work for identity:

  • Migrate @azure/identity
  • Migrate @azure-tools/test-credential

Following for code generation

  • Migrate code generation to ESM and vitest
@github-actions github-actions bot added the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Feb 5, 2024
@xirzec xirzec added Client This issue points to a problem in the data-plane of the library. Azure.Core and removed needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. labels Feb 5, 2024
HarshaNalluru added a commit that referenced this issue 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/[email protected]` 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 <[email protected]>
Co-authored-by: Matthew Podwysocki <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Azure.Core Client This issue points to a problem in the data-plane of the library.
Projects
None yet
Development

No branches or pull requests

2 participants