Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
a9283a9
[Event Hubs] [EPH] Add missing Contributing.md and License files (#2789)
ShivangiReja May 9, 2019
a801ac3
Update amqp-common dependency version (#2781)
ramya0820 May 9, 2019
aae4389
[Storage] format with prettier (#2799)
jeremymeng May 10, 2019
a23fafb
[Event Hubs] Update samples to pass the default consumer group in the…
ShivangiReja May 10, 2019
96035b4
Improve rhea-promise perf tests (#2790)
mikeharder May 10, 2019
6c5ee0b
[Service Bus] Better error message when session cannot be locked (#2822)
ramya-rao-a May 11, 2019
525624c
[Service Bus] Skip unnecessary error in fromAmqpMessage (#2824)
ramya-rao-a May 11, 2019
ff63fde
[Service Bus] Improved docs on receiver for errors (#2825)
ramya-rao-a May 11, 2019
fc4d154
[Service Bus] Allow empty string as sessionId (#2823)
ramya-rao-a May 11, 2019
891fa0f
[Service Bus] Remove error when timeout on settle, as we are not sure…
ramya-rao-a May 12, 2019
2245788
[Service Bus] Throw LockLostError when AMQP link not alive (#2828)
ramya-rao-a May 13, 2019
9596767
generated @azure/arm-appservice-profile-2019-03-01-hybrid (#2882)
amarzavery May 14, 2019
43e9f1f
Update README
May 14, 2019
bc457c1
Document file lock workaround for VSCode Windows
May 14, 2019
64b95c0
[Service Bus] Timeout for message settlement should result in rejecte…
ramya-rao-a May 14, 2019
79b85ef
Generate @azure/arm-cosmosdb package (#2897)
kpajdzik May 14, 2019
57df764
[Service Bus] Pass associatedLinkName to updateDispositionStatus() AP…
ramya0820 May 15, 2019
591c17a
[Service Bus] Add package.json to package (fixes #2857) (#2892)
bterlson May 15, 2019
0940cd5
[Event Hubs] Check if link exists before using them (#2902)
ShivangiReja May 15, 2019
3325839
[Storage-Blob] Rename clients from *URL => *Client (#2874)
jeremymeng May 15, 2019
7cad284
[Storage-file] Rename *URL to *Client (#2877)
jeremymeng May 15, 2019
58a0881
[Storage] Rollup for tests in storage (#2297)
HarshaNalluru May 15, 2019
696ab11
PR validation pipelines with Rush (#2817)
mitchdenny May 15, 2019
90272c5
Fixes a typo in the ci.yml file. (#2916)
mitchdenny May 15, 2019
4562d8e
Merge remote-tracking branch 'upstream/feature/storage' into feature-…
jeremymeng May 15, 2019
f59ecdd
[Storage-queue] Rename *URL to *Client (#2911)
jeremymeng May 16, 2019
0186e89
Follow up rename: ServiceClient to BlobServiceClient (#2917)
jeremymeng May 16, 2019
bd83b26
[Storage] Increase major version to 11 (#2858)
jeremymeng May 17, 2019
a80cb3b
[Storage] Make Aborter parameter optional - storage-file (#2908)
HarshaNalluru May 17, 2019
846f977
Make Aborter parameter optional (#2296) (#2955)
jeremymeng May 17, 2019
f4452b4
[Storage-queue] Remove I- prefix from interface names (#2965)
jeremymeng May 17, 2019
44bc2af
[Storage-file] Remove I- prefix from interface names (#2964)
jeremymeng May 17, 2019
a9953c4
[Blob] Remove I prefix from interface names (#2938)
jeremymeng May 17, 2019
1da4c0e
[Storage-queue] Make Aborter parameter optional (#2994)
jeremymeng May 20, 2019
678f1cb
[Storage] Update aborter.none changes in readme - storagee-blob (#2930)
HarshaNalluru May 21, 2019
f3a9c1c
resolve merge conflicts
HarshaNalluru May 21, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
16 changes: 12 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,18 @@ Next, get the code:
#### Making the switch
If you have previously worked in this repo using the `npm` workflow, the first time you switch to using Rush you should commit or stash any untracked files and then get back to a clean state by running `rush reset-workspace` before proceeding any further. This will get rid of any latent package-lock files, as well as your existing (incompatible) node_modules directories. You can then proceed down the path outlined below.

#### Warning for VSCode users
#### Warnings for VSCode users
Visual Studio Code has a feature which will automatically fetch and install @types packages for you, using the standard npm package manager. This will cause problems with your node_modules directory, since Rush uses PNPM which lays out this directory quite differently. It's highly recommended that you ensure "Typescript: Disable Automatic Type Acquisition" is checked in your VSCode Workspace Settings (or ensure `typescript.disableAutomaticTypeAcquisition` is present in your .vscode/settings.json file).

#### Warning for Windows users
The current version of VSCode for Windows has a bug that may cause a "file locked" error when you run any Rush command that modifies your node_modules directory:
```
ERROR: Error: Error: EPERM: operation not permitted, mkdir 'C:\XXXXX\node_modules'
Often this is caused by a file lock from a process such as your text editor, command prompt, or "gulp serve"
```

This bug is fixed in the Insiders build of VSCode (1.34), and will be included in the next release. Until then, you can resolve this by running the "Typescript: Restart TS server" command from the Command Palette to release the lock on the files.

#### Warnings for Windows users
Git for Windows has a bug where repository files may be unintentionally removed by `git clean -df` when a directory is locally linked. Because Rush creates local links between packages, you may encounter this. It's highly recommended to use the `rush reset-workspace` command to get your working directory back to a clean state instead. If you prefer to run `git clean -df` manually, you must first run `rush unlink` so that the operation can be performed safely.

### Inner loop developer workflow with Rush
Expand All @@ -93,7 +101,7 @@ Git for Windows has a bug where repository files may be unintentionally removed

Run `rush update` to install the current set of package dependencies in all projects inside the repo.

To add a new dependency (assuming the dependency is published on the NPM registry), navigate to the project's directory and run `rush add -p "<packagename@^version>" [--dev]`. This will update the project's package.json and then automatically run `rush update` to install the package into the project's node_modules directory. Do not use `npm install [--save | --save-dev]`.
To add a new dependency (assuming the dependency is published on the NPM registry), navigate to the project's directory and run `rush add -p "<packagename>" --caret [--dev]`. This will add the dependency at its latest version to the project's package.json, and then automatically run `rush update` to install the package into the project's node_modules directory. If you know the specific version of the package you want, you can instead run `rush add -p "<packagename@^version>"` - make sure to use the caret before the version number. Do not use `npm install [--save | --save-dev]`.

To add a dependency on another library within the Azure SDK, you can follow the same procedure as above as long as the library is also published to the NPM registry. Additionally, as long as the local copy of that library satisfies the SemVer range you specify when you run `rush add`, that library will be locally linked rather than downloaded from the registry. If the library has not yet been published to the NPM registry, you can't use `rush add`. In this case, you must manually edit the package.json to add the dependency and then run `rush update` to locally link the library into the project's node_modules directory.

Expand Down Expand Up @@ -225,4 +233,4 @@ Currently, the tests for client libraries in this repository are running against
| ----------- | -------------------- | ----------- | ------------------- |
| **Node 8** | x | x | x |
| **Node 10** | x | x | x |
| **Node 11** | x | x | x |
| **Node 12** | x | x | x |
176 changes: 176 additions & 0 deletions eng/pipelines/templates/jobs/archetype-sdk-client.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
jobs:
- job: "Build"
variables:
- template: ../variables/globals.yml

pool:
vmImage: "ubuntu-16.04"

steps:
- task: NodeTool@0
inputs:
versionSpec: "$(NodeVersion)"
displayName: "Install Node.js $(NodeVersion)"

- script: |
node common/scripts/install-run-rush.js install
displayName: "Install dependencies"

- ${{ if eq(parameters.PackageName,'')}}:
- script: |
node common/scripts/install-run-rush.js build --verbose
displayName: "Build libraries"
- script: |
node common/scripts/install-run-rush.js pack --verbose
displayName: "Pack libraries"

- ${{ if ne(parameters.PackageName,'')}}:
- script: |
node common/scripts/install-run-rush.js build --verbose --to ${{parameters.PackageName}}
displayName: "Build libraries"
- script: |
node common/scripts/install-run-rush.js pack --verbose --to ${{parameters.PackageName}}
displayName: "Pack libraries"

- task: CopyFiles@2
inputs:
contents: "sdk/**/**/*.tgz"
targetFolder: $(Build.ArtifactStagingDirectory)
flattenFolders: true
displayName: "Copy packages"

- task: PublishPipelineArtifact@0
condition: succeededOrFailed()
displayName: "Publish artifacts"
inputs:
artifactName: packages
targetPath: $(Build.ArtifactStagingDirectory)

- job: "Analyze"
variables:
- template: ../variables/globals.yml

pool:
vmImage: "ubuntu-16.04"

steps:
- task: UsePythonVersion@0
displayName: "Use Python 3.6"
inputs:
versionSpec: "3.6"

- task: NodeTool@0
inputs:
versionSpec: "$(NodeVersion)"
displayName: "Install Node.js $(NodeVersion)"

- script: |
pip install setuptools wheel
pip install doc-warden
ward scan -d $(Build.SourcesDirectory) -c $(Build.SourcesDirectory)/.docsettings.yml
displayName: "Verify Readmes"

- ${{ if eq(parameters.PackageName,'')}}:
- script: |
node common/scripts/install-run-rush.js install
node common/scripts/install-run-rush.js audit
condition: and(succeeded(), eq(variables['RunNpmAudit'], 'true'))
displayName: "Audit packages"

- ${{ if ne(parameters.PackageName,'')}}:
- script: |
node common/scripts/install-run-rush.js install
node common/scripts/install-run-rush.js audit --to ${{parameters.PackageName}}
condition: and(succeeded(), eq(variables['RunNpmAudit'], 'true'))
displayName: "Audit packages"

- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
# ComponentGovernance is currently unable to run on pull requests of public projects. Running on non-PR
# builds should be sufficient.
condition: and(succeededOrFailed(), ne(variables['Build.Reason'], 'PullRequest'))
displayName: "Component Detection"

- job: "Test"

strategy:
matrix:
Linux_Node8:
OSName: "Linux"
OSVmImage: "ubuntu-16.04"
NodeVersion: "8.x"
Linux_Node10:
OSName: "Linux"
OSVmImage: "ubuntu-16.04"
NodeVersion: "10.x"
Linux_Node12:
OSName: "Linux"
OSVmImage: "ubuntu-16.04"
NodeVersion: "12.x"
macOS_Node8:
OSName: "macOS"
OSVmImage: "macOS-10.13"
NodeVersion: "8.x"
macOS_Node10:
OSName: "macOS"
OSVmImage: "macOS-10.13"
NodeVersion: "10.x"
macOS_Node12:
OSName: "macOS"
OSVmImage: "macOS-10.13"
NodeVersion: "12.x"
Windows_Node8:
OSName: "Windows"
OSVmImage: "vs2017-win2016"
NodeVersion: "8.x"
Windows_Node10:
OSName: "Windows"
OSVmImage: "vs2017-win2016"
NodeVersion: "10.x"
Windows_Node12:
OSName: "Windows"
OSVmImage: "vs2017-win2016"
NodeVersion: "12.x"

pool:
vmImage: "$(OSVmImage)"

steps:
- task: NodeTool@0
inputs:
versionSpec: "$(NodeVersion)"
displayName: "Install Node.js $(NodeVersion)"

- script: |
node common/scripts/install-run-rush.js install
displayName: "Install dependencies"

# If there is no package name, then don't use the --to option.
- ${{ if eq(parameters.PackageName,'')}}:
- script: |
node common/scripts/install-run-rush.js build --verbose
displayName: 'Build libraries"'
- script: |
node common/scripts/install-run-rush.js build:test --verbose
displayName: "Build test assets"
- script: |
node common/scripts/install-run-rush.js unit-test --verbose
displayName: "Test libraries"

# On the other hand, if there is a PackageName, supply the --to option.
- ${{ if ne(parameters.PackageName,'')}}:
- script: |
node common/scripts/install-run-rush.js build --verbose --to ${{parameters.PackageName}}
displayName: 'Build libraries"'
- script: |
node common/scripts/install-run-rush.js build:test --verbose --to ${{parameters.PackageName}}
displayName: "Build test assets"
- script: |
node common/scripts/install-run-rush.js unit-test --verbose --to ${{parameters.PackageName}}
displayName: "Test libraries"

- task: PublishTestResults@2
inputs:
testResultsFiles: "**/test-results.xml"
testRunTitle: "$(OSName) Node $(NodeVersion)"
condition: succeededOrFailed()
displayName: "Publish test results"
2 changes: 2 additions & 0 deletions eng/pipelines/templates/variables/globals.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
variables:
NodeVersion: '10.x'
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
The MIT License (MIT)

Copyright (c) 2019 Microsoft

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
96 changes: 96 additions & 0 deletions sdk/appservice/arm-appservice-profile-2019-03-01-hybrid/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
## Azure WebSiteManagementClient SDK for JavaScript

This package contains an isomorphic SDK for WebSiteManagementClient.

### Currently supported environments

- Node.js version 6.x.x or higher
- Browser JavaScript

### How to Install

```bash
npm install @azure/arm-appservice-profile-2019-03-01-hybrid
```

### How to use

#### nodejs - Authentication, client creation and list certificates as an example written in TypeScript.

##### Install @azure/ms-rest-nodeauth

```bash
npm install @azure/ms-rest-nodeauth
```

##### Sample code

```typescript
import * as msRest from "@azure/ms-rest-js";
import * as msRestAzure from "@azure/ms-rest-azure-js";
import * as msRestNodeAuth from "@azure/ms-rest-nodeauth";
import { WebSiteManagementClient, WebSiteManagementModels, WebSiteManagementMappers } from "@azure/arm-appservice-profile-2019-03-01-hybrid";
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];

msRestNodeAuth.interactiveLogin().then((creds) => {
const client = new WebSiteManagementClient(creds, subscriptionId);
client.certificates.list().then((result) => {
console.log("The result is:");
console.log(result);
});
}).catch((err) => {
console.error(err);
});
```

#### browser - Authentication, client creation and list certificates as an example written in JavaScript.

##### Install @azure/ms-rest-browserauth

```bash
npm install @azure/ms-rest-browserauth
```

##### Sample code

See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.

- index.html
```html
<!DOCTYPE html>
<html lang="en">
<head>
<title>@azure/arm-appservice-profile-2019-03-01-hybrid sample</title>
<script src="node_modules/@azure/ms-rest-js/dist/msRest.browser.js"></script>
<script src="node_modules/@azure/ms-rest-azure-js/dist/msRestAzure.js"></script>
<script src="node_modules/@azure/ms-rest-browserauth/dist/msAuth.js"></script>
<script src="node_modules/@azure/arm-appservice-profile-2019-03-01-hybrid/dist/arm-appservice-profile-2019-03-01-hybrid.js"></script>
<script type="text/javascript">
const subscriptionId = "<Subscription_Id>";
const authManager = new msAuth.AuthManager({
clientId: "<client id for your Azure AD app>",
tenant: "<optional tenant for your organization>"
});
authManager.finalizeLogin().then((res) => {
if (!res.isLoggedIn) {
// may cause redirects
authManager.login();
}
const client = new Azure.ArmAppserviceProfile20190301Hybrid.WebSiteManagementClient(res.creds, subscriptionId);
client.certificates.list().then((result) => {
console.log("The result is:");
console.log(result);
}).catch((err) => {
console.log("An error occurred:");
console.error(err);
});
});
</script>
</head>
<body></body>
</html>
```

## Related projects

- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js)
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
{
"name": "@azure/arm-appservice-profile-2019-03-01-hybrid",
"author": "Microsoft Corporation",
"description": "WebSiteManagementClient Library with typescript type definitions for node.js and browser.",
"version": "1.0.0",
"dependencies": {
"@azure/ms-rest-azure-js": "^1.3.2",
"@azure/ms-rest-js": "^1.8.1",
"tslib": "^1.9.3"
},
"keywords": [
"node",
"azure",
"typescript",
"browser",
"isomorphic"
],
"license": "MIT",
"main": "./dist/arm-appservice-profile-2019-03-01-hybrid.js",
"module": "./esm/webSiteManagementClient.js",
"types": "./esm/webSiteManagementClient.d.ts",
"devDependencies": {
"typescript": "^3.1.1",
"rollup": "^0.66.2",
"rollup-plugin-node-resolve": "^3.4.0",
"rollup-plugin-sourcemaps": "^0.4.2",
"uglify-js": "^3.4.9"
},
"homepage": "https://github.com/azure/azure-sdk-for-js",
"repository": {
"type": "git",
"url": "https://github.com/azure/azure-sdk-for-js.git"
},
"bugs": {
"url": "https://github.com/azure/azure-sdk-for-js/issues"
},
"files": [
"dist/**/*.js",
"dist/**/*.js.map",
"dist/**/*.d.ts",
"dist/**/*.d.ts.map",
"esm/**/*.js",
"esm/**/*.js.map",
"esm/**/*.d.ts",
"esm/**/*.d.ts.map",
"src/**/*.ts",
"README.md",
"rollup.config.js",
"tsconfig.json"
],
"scripts": {
"build": "tsc && rollup -c rollup.config.js && npm run minify",
"minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-appservice-profile-2019-03-01-hybrid.js.map'\" -o ./dist/arm-appservice-profile-2019-03-01-hybrid.min.js ./dist/arm-appservice-profile-2019-03-01-hybrid.js",
"prepack": "npm install && npm run build"
},
"sideEffects": false,
"autoPublish": true
}
Loading