Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: azure-sdk/azure-sdk-for-js
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 7940ede387951290c881ae30fe0e3fba3572a453
Choose a base ref
..
head repository: azure-sdk/azure-sdk-for-js
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: ef0efab31109b7f45c4d72c93e295f5ecc8aea00
Choose a head ref
Showing 13,337 changed files with 536,428 additions and 451,670 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
14 changes: 9 additions & 5 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -68,10 +68,10 @@
/sdk/communication/

# PRLabel: %Communication - Alpha IDs
/sdk/communication/communication-alpha-ids/ @guilhermeluizsp @danielav7
/sdk/communication/communication-alpha-ids/ @danielav7

# PRLabel: %Communication - Identity
/sdk/communication/communication-identity/ @petrsvihlik @AikoBB @maximrytych-ms @ostoliarova-msft @mjafferi-msft
/sdk/communication/communication-identity/ @AikoBB @maximrytych-ms @mjafferi-msft

# PRLabel: %Communication - Chat
/sdk/communication/communication-chat/ @LuChen-Microsoft
@@ -95,10 +95,10 @@
/sdk/communication/communication-sms/ @arifibrahim4

# PRLabel: %Communication - Short Codes
/sdk/communication/communication-short-codes/ @guilhermeluizsp @danielav7
/sdk/communication/communication-short-codes/ @danielav7

# PRLabel: %Communication - Common
/sdk/communication/communication-common/ @petrsvihlik @AikoBB @maximrytych-ms @ostoliarova-msft @mjafferi-msft
/sdk/communication/communication-common/ @AikoBB @maximrytych-ms @mjafferi-msft

# PRLabel: %Container Registry
/sdk/containerregistry/ @jeremymeng @timovv
@@ -144,9 +144,10 @@

# PRLabel: %Purview
/sdk/purview/ @qiaozha
/sdk/purview/purview-sharing-rest/ @anniruddh

# PRLabel: %Personalizer
/sdk/personalizer/ @sharathmalladi
/sdk/personalizer/ @tyclintw

# PRLabel: %Farmbeats
/sdk/agrifood/ @joheredi
@@ -192,6 +193,9 @@
# PRLabel: %VideoAnalyzer
/sdk/videoanalyzer/video-analyzer-edge/ @hivyas @bterlson

# PRLabel: %Maps
/sdk/maps/ @dubiety @andykao1213

# Smoke Tests
/common/smoke-test/ @xirzec @jeremymeng

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -104,6 +104,7 @@ TestResults/*
**/*Bundle.js
**/*Bundle.js.map
**/package-lock.json
**/yarn.lock
npm-debug.log.*
azure_error
checkstyle-result.xml
@@ -171,3 +172,5 @@ code-model-*

# CPU profiles
*.cpuprofile
# Temp typespec files
TempTypeSpecFiles/
2 changes: 1 addition & 1 deletion .scripts/automation_generate.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/usr/bin/env bash
code-gen-pipeline --inputJsonPath=$1 --outputJsonPath=$2 --use=@autorest/typescript@6.0.0-rc.5 --cadlEmitter=@azure-tools/cadl-typescript
code-gen-pipeline --inputJsonPath=$1 --outputJsonPath=$2 --use=@autorest/typescript@6.0.0-rc.10 --typespecEmitter=@azure-tools/typespec-ts
8 changes: 7 additions & 1 deletion .vscode/cspell.json
Original file line number Diff line number Diff line change
@@ -31,6 +31,7 @@
"sdk/purview/purview-administration-rest/review/*.md",
"sdk/purview/purview-catalog-rest/review/*.md",
"sdk/purview/purview-scanning-rest/review/*.md",
"sdk/purview/purview-sharing-rest/review/*.md",
"sdk/quantum/quantum-jobs/review/*.md",
"sdk/synapse/synapse-access-control/review/*.md",
"sdk/synapse/synapse-access-control-rest/review/*.md",
@@ -126,7 +127,8 @@
"Usuk",
"USUK",
"Vertica",
"westus"
"westus",
"Xiaomi"
],
"allowCompoundWords": true,
"overrides": [
@@ -291,6 +293,10 @@
{
"filename": "sdk/web-pubsub/web-pubsub-client/review/web-pubsub-client.api.md",
"words": ["protobuf"]
},
{
"filename": "sdk/web-pubsub/web-pubsub-client-protobuf/review/web-pubsub-client-protobuf.api.md",
"words": ["protobuf"]
}
]
}
35 changes: 29 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -54,6 +54,7 @@ Rush provides many benefits:
Not every library in the repository is managed by Rush yet, only those listed in the `projects` property in [rush.json](https://github.com/Azure/azure-sdk-for-js/blob/main/rush.json). Packages not managed by Rush can still be managed using `npm`.

Check out our [wiki page on using rush](https://github.com/Azure/azure-sdk-for-js/wiki/Rush) for more information on

- running `rush update` command
- How to update to a newer version of Rush or PNPM.

@@ -78,11 +79,13 @@ If you prefer to setup your own environment instead, make sure you have these pr
- Git
- Any of the [LTS versions of Node.js](https://github.com/nodejs/release#release-schedule)
- A C++ compiler toolchain and Python (for compiling machine-code modules):

- Windows: Install the [Visual Studio Build Tools][buildtools] from Microsoft and [Python 3.9][python39windows] from the Microsoft Store.
- macOS: Install Xcode or the "Command Line Tools for XCode" (much smaller) from [Apple's developer downloads page](https://developer.apple.com/download/all/).
- Linux: Install Python and GCC/G++ (part of the `build-essential` package on Ubuntu-based distributions) using your distribution's package manager.

**On Linux, development headers for `libsecret` are also required.** Typically, these are available in a package called `libsecret-1-dev` (Debian/Ubuntu) or `libsecret-devel` (Fedora/Red Hat).

- Rush 5.x
- Install / update Rush globally via `npm install -g @microsoft/rush`.
- Rush will automatically manage the specific version needed by this repo as long as you have any v5 version installed.
@@ -150,13 +153,11 @@ By default, these npm scripts run previously recorded tests. The recordings have

Most of the tests in our projects run in playback mode by default, i.e they make no network requests to the real services. For HTTP requests made in each test case, there is a recorded response that reproduces the service behavior. The readme file in the `test` folder of each package will indicate whether the package uses recorded tests or not.

At the moment, tests in our repo depend on one of the two different versions of the recorder tool (`@azure-tools/test-recorder`) - `1.a.b` and `2.x.y`.
Currently, version `2.x.y` is maintained in the repository which is built as part of a cross-language unification effort in terms of the tests and recordings.
Eventually, all the tests will be migrated to depend on the `2.x.y` version of the recorder that depends on the language-agnostic [test proxy server].

To record and playback the tests that depend on version `2.x.y` of `@azure-tools/test-recorder`, [docker] is required, as the [test proxy server] is run in a container during testing. When running the tests, ensure the Docker daemon is running and you have permission to use it. For WSL 2, running `sudo service docker start` and `sudo usermod -aG docker $USER` should be sufficient.
At the moment, tests in our repo depend on one of the two different versions of the recorder tool (`@azure-tools/test-recorder`) - `1.a.b` and `3.m.n`.
Currently, version `3.m.n` is maintained in the repository which is built as part of a cross-language unification effort in terms of the tests and recordings.
Eventually, all the tests will be migrated to depend on the `3.m.n` version of the recorder that depends on the language-agnostic [test proxy server].

Refer to the [Migration Guide](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/test-utils/recorder/MIGRATION.md) for more information on migrating the tests from recorder v1 to v2.
Refer to the [Migration Guide](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/test-utils/recorder/MIGRATION.md) for more information on migrating the tests from recorder v1 to v3.

#### Live tests

@@ -180,6 +181,8 @@ Regenerating the recordings has the same requirements as running the live tests.

For more information the recorder, please visit the [test-recorder's readme](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/test-utils/recorder/README.md).

Here are a few [Useful Commands](https://github.com/Azure/azure-sdk-for-js/wiki/Golden-Testing-Commands) that can be handy while testing your SDKs.

### Other NPM scripts

Most package scripts are exposed as Rush commands. Use `rushx <scriptname>` in place of `npm run <scriptname>` to run the package script in all projects. Navigate to a project's directory and substitute `rushx` for `rush` to run the script for just the current project. Run `rush <scriptname> --help` for more information about each script.
@@ -325,3 +328,23 @@ The daily dev packages are considered volatile and taking dependencies on a dev
[python39windows]: https://www.microsoft.com/p/python-39/9p7qfqmjrfp7
[test proxy server]: https://github.com/Azure/azure-sdk-tools/tree/main/tools/test-proxy
[docker]: https://docker.com/

## Samples

### Third-party dependencies

Third party libraries should only be included in samples when necessary to demonstrate usage of an Azure SDK package; they should not be suggested or endorsed as alternatives to the Azure SDK.

When code samples take dependencies, readers should be able to use the material without significant license burden or research on terms. This goal requires restricting dependencies to certain types of open source or commercial licenses.

Samples may take the following categories of dependencies:

- **Open-source** : Open source offerings that use an [Open Source Initiative (OSI) approved license](https://opensource.org/licenses). Any component whose license isn't OSI-approved is considered a commercial offering. Prefer OSS projects that are members of any of the [OSS foundations that Microsoft is part of](https://opensource.microsoft.com/ecosystem/). Prefer permissive licenses for libraries, like [MIT](https://opensource.org/licenses/MIT) and [Apache 2](https://opensource.org/licenses/Apache-2.0). Copy-left licenses like [GPL](https://opensource.org/licenses/gpl-license) are acceptable for tools, and OSs. [Kubernetes](https://github.com/kubernetes/kubernetes), [Linux](https://github.com/torvalds/linux), and [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) are examples of this license type. Links to open source components should be to where the source is hosted, including any applicable license, such as a GitHub repository (or similar).

- **Commercial**: Commercial offerings that enable readers to learn from our content without unnecessary extra costs. Typically, the offering has some form of a community edition, or a free trial sufficient for its use in content. A commercial license may be a form of dual-license, or tiered license. Links to commercial components should be to the commercial site for the software, even if the source software is hosted publicly on GitHub (or similar).

- **Dual licensed**: Commercial offerings that enable readers to choose either license based on their needs. For example, if the offering has an OSS and commercial license, readers can choose between them. [MySql](https://github.com/mysql/mysql-server) is an example of this license type.

- **Tiered licensed**: Offerings that enable readers to use the license tier that corresponds to their characteristics. For example, tiers may be available for students, hobbyists, or companies with defined revenue thresholds. For offerings with tiered licenses, strive to limit our use in tutorials to the features available in the lowest tier. This policy enables the widest audience for the article. [Docker](https://www.docker.com/), [IdentityServer](https://duendesoftware.com/products/identityserver), [ImageSharp](https://sixlabors.com/products/imagesharp/), and [Visual Studio](https://visualstudio.com) are examples of this license type.

In general, we prefer taking dependencies on licensed components in the order of the listed categories. In cases where the category may not be well known, we'll document the category so that readers understand the choice that they're making by using that dependency.
Loading