Nathan Turinski 2022-07-14 13:27:49 -07:00
Родитель 25b11865a9 b5049d4a90
Коммит e701d6d01e
24 изменённых файлов: 1193 добавлений и 961 удалений

1
.gitattributes поставляемый Normal file
Просмотреть файл

@ -0,0 +1 @@
NOTICE.html linguist-vendored=true

10
.github/workflows/version-check.yml поставляемый
Просмотреть файл

@ -1,10 +0,0 @@
name: Check version
on:
pull_request:
jobs:
check-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: kriasoft/check-version@v1

Просмотреть файл

@ -1,5 +1,40 @@
# Change Log
## 1.7.4 - 2022-07-05
### Changed
- Updated minimum version of VS Code to 1.66.0 [#3231](https://github.com/microsoft/vscode-azurefunctions/pull/3231)
- Updated @vscode/extension-telemetry to 0.6.2 [#3229](https://github.com/microsoft/vscode-azurefunctions/pull/3229)
### Fixed
- Add node types to TS project template [#3199](https://github.com/microsoft/vscode-azurefunctions/issues/3199)
- Missing Advanced Create context menu item [#3171](https://github.com/microsoft/vscode-azurefunctions/issues/3171)
## 1.7.3 - 2022-06-01
### Changed
- Update @vscode/extension-telemetry to 0.5.2 [#3206](https://github.com/microsoft/vscode-azurefunctions/issues/3206)
## 1.7.2 - 2022-05-27
### Fixed
- Error when picking Create new local app setting from local.settings.json when creating blob trigger [#3191](https://github.com/microsoft/vscode-azurefunctions/issues/3191)
## 1.7.1 - 2022-05-26
### Added
- Deploy command is now accessible via the Workspace Deploy menu
## 1.7.0 - 2022-05-24
We've made some large design changes to the Azure extensions for VS Code. [View App Centric release notes](https://aka.ms/AzCode/AppCentric)
### Changed
- Add Execute Step in createFunction API [#3150](https://github.com/microsoft/vscode-azurefunctions/pull/3150)
### Fixed
- Fix "Create Project" flow losing options [#3116](https://github.com/microsoft/vscode-azurefunctions/pull/3116)
## 1.6.2 - 2022-04-13
### Fixed
- Zip deploy fails with ECONNRESET or 400 Bad Request on VS Code versions `>=1.66.0` [#2844](https://github.com/microsoft/vscode-azurefunctions/issues/2844)

1455
NOTICE.html поставляемый

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -16,7 +16,7 @@ Use the Azure Functions extension to quickly create, debug, manage, and deploy s
1. Select the button to create a new project in the Azure Functions explorer
![createNewProject](resources/readme/createNewProject.png)
![createNewProject](resources/readme/createFunction.png)
1. Select a new, _empty_ folder to contain your project
1. Select your desired programming language
@ -38,7 +38,7 @@ This extension integrates with the [Azure Functions Core Tools](https://docs.mic
> TIP: The "Terminal" panel should pop up automatically and you know your project is running if you see output
1. Expand your _local project_ in the Azure Functions explorer to copy your function's url
![debug2](resources/readme/debug2.png)
![debug2](resources/readme/copyFunctionUrl.png)
1. Navigate to a browser, paste the url, and append `?name=world`
> TIP: Your url should look like this: `http://localhost:7071/api/HttpTrigger1?name=world`
@ -51,21 +51,32 @@ This extension integrates with the [Azure Functions Core Tools](https://docs.mic
1. Sign in to your Azure Account by clicking "Sign in to Azure..." in the Azure Functions explorer
> If you don't already have an Azure Account, click "Create a Free Azure Account"
1. Select the button to deploy
1. Select the 'plus' button to open the "Create Resource" menu
![deploy](resources/readme/deploy.png)
![Create resource](resources/readme/deploy/createResource.png)
1. Choose "Create Function App in Azure..."
![Create Function App in Azure](resources/readme/deploy/createFunctionApp.png)
1. Choose "Create new Function App in Azure..."
1. Enter a globally unique name for your Function App
1. If multiple versions of your language's runtime are supported (i.e. Node.js 10 and Node.js 12), select your desired version (the latest is recommended)
1. Select a location
1. Wait for deployment to complete. Progress will be shown in the bottom right corner of your window
1. Wait for your Function App to be created. Progress will be shown in the Activity Log panel
![deploy2](resources/readme/deploy2.png)
![deploy2](resources/readme/deploy/activityLog.png)
1. Once your Function App has been created, reveal the resource in the Resources view.
![Finished creating Function App](resources/readme/deploy/createComplete.png)
1. Right click your Function App and select "Deploy to Function App"
![Deploy to Function App](resources/readme/deploy/deploy.png)
1. Once deployment is complete, expand your _subscription_ in the Azure Functions explorer to copy your deployed function's url
![deploy3](resources/readme/deploy3.png)
![deploy3](resources/readme/deploy/copyFunctionUrl.png)
1. Navigate to a browser, paste the url, and append `?name=world`
> TIP: Your url should look like this: `https://<function app name>.azurewebsites.net/api/HttpTrigger1?name=world`

30
bump-version-pr.yaml Normal file
Просмотреть файл

@ -0,0 +1,30 @@
name: Bump version after release
# Run when release is published, or manually triggered
on:
release:
types: [published]
workflow_dispatch:
jobs:
bump:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Bump version
id: bump
uses: alexweininger/bump-prerelease-version@v0.1.1
- name: Create pull request
uses: peter-evans/create-pull-request@v4
with:
title: ${{ env.MESSAGE }}
body: Automatically created by ${{ env.RUN_LINK }}
commit-message: ${{ env.MESSAGE }}
branch: bot/bump-${{ steps.bump.outputs.new-version }}
base: main
author: GitHub <noreply@github.com>
env:
RUN_LINK: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
MESSAGE: Bump version after release

514
package-lock.json сгенерированный
Просмотреть файл

@ -1,12 +1,12 @@
{
"name": "vscode-azurefunctions",
"version": "1.6.3-alpha.15",
"version": "1.7.5-alpha.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "vscode-azurefunctions",
"version": "1.6.3-alpha.15",
"version": "1.7.5-alpha.0",
"license": "SEE LICENSE IN LICENSE.md",
"dependencies": {
"@azure/arm-appinsights": "^4.0.0",
@ -19,7 +19,7 @@
"@azure/storage-blob": "^12.5.0",
"@microsoft/vscode-azext-azureappservice": "^0.6.2",
"@microsoft/vscode-azext-azureutils": "^0.3.1",
"@microsoft/vscode-azext-utils": "^0.3.1",
"@microsoft/vscode-azext-utils": "^0.3.7",
"escape-string-regexp": "^4.0.0",
"extract-zip": "^2.0.1",
"fs-extra": "^4.0.2",
@ -746,6 +746,48 @@
"resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz",
"integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw=="
},
"node_modules/@microsoft/1ds-core-js": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/@microsoft/1ds-core-js/-/1ds-core-js-3.2.3.tgz",
"integrity": "sha512-796A8fd90oUKDRO7UXUT9BwZ3G+a9XzJj5v012FcCN/2qRhEsIV3x/0wkx2S08T4FiQEUPkB2uoYHpEjEneM7g==",
"dependencies": {
"@microsoft/applicationinsights-core-js": "2.8.4",
"@microsoft/applicationinsights-shims": "^2.0.1",
"@microsoft/dynamicproto-js": "^1.1.6"
}
},
"node_modules/@microsoft/1ds-post-js": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/@microsoft/1ds-post-js/-/1ds-post-js-3.2.3.tgz",
"integrity": "sha512-tcGJQXXr2LYoBbIXPoUVe1KCF3OtBsuKDFL7BXfmNtuSGtWF0yejm6H83DrR8/cUIGMRMUP9lqNlqFGwDYiwAQ==",
"dependencies": {
"@microsoft/1ds-core-js": "3.2.3",
"@microsoft/applicationinsights-shims": "^2.0.1",
"@microsoft/dynamicproto-js": "^1.1.6"
}
},
"node_modules/@microsoft/applicationinsights-core-js": {
"version": "2.8.4",
"resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.4.tgz",
"integrity": "sha512-FoA0FNOsFbJnLyTyQlYs6+HR7HMEa6nAOE6WOm9WVejBHMHQ/Bdb+hfVFi6slxwCimr/ner90jchi4/sIYdnyQ==",
"dependencies": {
"@microsoft/applicationinsights-shims": "2.0.1",
"@microsoft/dynamicproto-js": "^1.1.6"
},
"peerDependencies": {
"tslib": "*"
}
},
"node_modules/@microsoft/applicationinsights-shims": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-shims/-/applicationinsights-shims-2.0.1.tgz",
"integrity": "sha512-G0MXf6R6HndRbDy9BbEj0zrLeuhwt2nsXk2zKtF0TnYo39KgYqhYC2ayIzKPTm2KAE+xzD7rgyLdZnrcRvt9WQ=="
},
"node_modules/@microsoft/dynamicproto-js": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.6.tgz",
"integrity": "sha512-D1Oivw1A4bIXhzBIy3/BBPn3p2On+kpO2NiYt9shICDK7L/w+cR6FFBUsBZ05l6iqzTeL+Jm8lAYn0g6G7DmDg=="
},
"node_modules/@microsoft/eslint-config-azuretools": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/@microsoft/eslint-config-azuretools/-/eslint-config-azuretools-0.1.0.tgz",
@ -1229,14 +1271,14 @@
}
},
"node_modules/@microsoft/vscode-azext-utils": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-utils/-/vscode-azext-utils-0.3.1.tgz",
"integrity": "sha512-YF8yG5IZ/aSSAlI8NsSDKkUjnhwV0fYcW4yTOsC/GMHTuCTCvMc+2SOenO95bcbrag1neLy7fQ/5K2kNUaDScA==",
"version": "0.3.7",
"resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-utils/-/vscode-azext-utils-0.3.7.tgz",
"integrity": "sha512-TCIo1rVPYso5r9UrDfZK2j9FvvruW4BOTjtgK9g8F6gRB3FvpBd8AlQhXcffe8NmKNPJhbmdRSwhk51EujK2FA==",
"dependencies": {
"@vscode/extension-telemetry": "^0.5.1",
"@vscode/extension-telemetry": "^0.6.2",
"dayjs": "^1.11.2",
"escape-string-regexp": "^2.0.0",
"html-to-text": "^5.1.1",
"html-to-text": "^8.2.0",
"open": "^8.0.4",
"semver": "^7.3.7",
"vscode-nls": "^5.0.1",
@ -1348,6 +1390,18 @@
"node": ">=8.0.0"
}
},
"node_modules/@selderee/plugin-htmlparser2": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.6.0.tgz",
"integrity": "sha512-J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==",
"dependencies": {
"domhandler": "^4.2.0",
"selderee": "^0.6.0"
},
"funding": {
"url": "https://ko-fi.com/killymxi"
}
},
"node_modules/@tootallnate/once": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
@ -1861,9 +1915,13 @@
"dev": true
},
"node_modules/@vscode/extension-telemetry": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/@vscode/extension-telemetry/-/extension-telemetry-0.5.1.tgz",
"integrity": "sha512-cvFq8drxdLRF8KN72WcV4lTEa9GqDiRwy9EbnYuoSCD9Jdk8zHFF49MmACC1qs4R9Ko/C1uMOmeLJmVi8EA0rQ==",
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/@vscode/extension-telemetry/-/extension-telemetry-0.6.2.tgz",
"integrity": "sha512-yb/wxLuaaCRcBAZtDCjNYSisAXz3FWsSqAha5nhHcYxx2ZPdQdWuZqVXGKq0ZpHVndBWWtK6XqtpCN2/HB4S1w==",
"dependencies": {
"@microsoft/1ds-core-js": "^3.2.3",
"@microsoft/1ds-post-js": "^3.2.3"
},
"engines": {
"vscode": "^1.60.0"
}
@ -3512,8 +3570,7 @@
"node_modules/commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
},
"node_modules/commondir": {
"version": "1.0.1",
@ -3933,6 +3990,14 @@
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"dev": true
},
"node_modules/deepmerge": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
"integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/default-compare": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz",
@ -4133,6 +4198,11 @@
"node": ">=8"
}
},
"node_modules/discontinuous-range": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz",
"integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ=="
},
"node_modules/doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
@ -4149,7 +4219,6 @@
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
"integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
"dev": true,
"dependencies": {
"domelementtype": "^2.0.1",
"domhandler": "^4.2.0",
@ -4163,7 +4232,6 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
"integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
"dev": true,
"funding": [
{
"type": "github",
@ -4175,7 +4243,6 @@
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
"integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
"dev": true,
"dependencies": {
"domelementtype": "^2.2.0"
},
@ -4190,7 +4257,6 @@
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
"integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
"dev": true,
"dependencies": {
"dom-serializer": "^1.0.1",
"domelementtype": "^2.2.0",
@ -4326,7 +4392,6 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
"dev": true,
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
@ -6767,108 +6832,28 @@
}
},
"node_modules/html-to-text": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-5.1.1.tgz",
"integrity": "sha512-Bci6bD/JIfZSvG4s0gW/9mMKwBRoe/1RWLxUME/d6WUSZCdY7T60bssf/jFf7EYXRyqU4P5xdClVqiYU0/ypdA==",
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-8.2.0.tgz",
"integrity": "sha512-CLXExYn1b++Lgri+ZyVvbUEFwzkLZppjjZOwB7X1qv2jIi8MrMEvxWX5KQ7zATAzTvcqgmtO00M2kCRMtEdOKQ==",
"dependencies": {
"@selderee/plugin-htmlparser2": "^0.6.0",
"deepmerge": "^4.2.2",
"he": "^1.2.0",
"htmlparser2": "^3.10.1",
"lodash": "^4.17.11",
"minimist": "^1.2.0"
"htmlparser2": "^6.1.0",
"minimist": "^1.2.6",
"selderee": "^0.6.0"
},
"bin": {
"html-to-text": "bin/cli.js"
},
"engines": {
"node": ">= 4.0.0"
}
},
"node_modules/html-to-text/node_modules/dom-serializer": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
"integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
"dependencies": {
"domelementtype": "^2.0.1",
"entities": "^2.0.0"
}
},
"node_modules/html-to-text/node_modules/dom-serializer/node_modules/domelementtype": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
"integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/fb55"
}
]
},
"node_modules/html-to-text/node_modules/dom-serializer/node_modules/entities": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/html-to-text/node_modules/domelementtype": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
},
"node_modules/html-to-text/node_modules/domhandler": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
"dependencies": {
"domelementtype": "1"
}
},
"node_modules/html-to-text/node_modules/domutils": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
"integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
"dependencies": {
"dom-serializer": "0",
"domelementtype": "1"
}
},
"node_modules/html-to-text/node_modules/entities": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
},
"node_modules/html-to-text/node_modules/htmlparser2": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
"integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
"dependencies": {
"domelementtype": "^1.3.1",
"domhandler": "^2.3.0",
"domutils": "^1.5.1",
"entities": "^1.1.1",
"inherits": "^2.0.1",
"readable-stream": "^3.1.1"
}
},
"node_modules/html-to-text/node_modules/readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
},
"engines": {
"node": ">= 6"
"node": ">=10.23.2"
}
},
"node_modules/htmlparser2": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
"integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
"dev": true,
"funding": [
"https://github.com/fb55/htmlparser2?sponsor=1",
{
@ -8034,7 +8019,8 @@
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"node_modules/lodash.difference": {
"version": "4.5.0",
@ -8922,6 +8908,11 @@
"node": ">=10"
}
},
"node_modules/moo": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz",
"integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w=="
},
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@ -9031,6 +9022,27 @@
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true
},
"node_modules/nearley": {
"version": "2.20.1",
"resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz",
"integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==",
"dependencies": {
"commander": "^2.19.0",
"moo": "^0.5.0",
"railroad-diagrams": "^1.0.0",
"randexp": "0.4.6"
},
"bin": {
"nearley-railroad": "bin/nearley-railroad.js",
"nearley-test": "bin/nearley-test.js",
"nearley-unparse": "bin/nearley-unparse.js",
"nearleyc": "bin/nearleyc.js"
},
"funding": {
"type": "individual",
"url": "https://nearley.js.org/#give-to-nearley"
}
},
"node_modules/neo-async": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
@ -9666,6 +9678,18 @@
"parse5": "^6.0.1"
}
},
"node_modules/parseley": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/parseley/-/parseley-0.7.0.tgz",
"integrity": "sha512-xyOytsdDu077M3/46Am+2cGXEKM9U9QclBDv7fimY7e+BBlxh2JcBp2mgNsmkyA9uvgyTjVzDi7cP1v4hcFxbw==",
"dependencies": {
"moo": "^0.5.1",
"nearley": "^2.20.1"
},
"funding": {
"url": "https://ko-fi.com/killymxi"
}
},
"node_modules/pascalcase": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
@ -10038,6 +10062,23 @@
}
]
},
"node_modules/railroad-diagrams": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz",
"integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A=="
},
"node_modules/randexp": {
"version": "0.4.6",
"resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz",
"integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==",
"dependencies": {
"discontinuous-range": "1.0.0",
"ret": "~0.1.10"
},
"engines": {
"node": ">=0.12"
}
},
"node_modules/randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@ -10464,7 +10505,6 @@
"version": "0.1.15",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
"dev": true,
"engines": {
"node": ">=0.12"
}
@ -10526,7 +10566,8 @@
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"node_modules/safe-regex": {
"version": "1.1.0",
@ -10579,6 +10620,17 @@
"seek-table": "bin/seek-bzip-table"
}
},
"node_modules/selderee": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/selderee/-/selderee-0.6.0.tgz",
"integrity": "sha512-ibqWGV5aChDvfVdqNYuaJP/HnVBhlRGSRrlbttmlMpHcLuTqqbMH36QkSs9GEgj5M88JDYLI8eyP94JaQ8xRlg==",
"dependencies": {
"parseley": "^0.7.0"
},
"funding": {
"url": "https://ko-fi.com/killymxi"
}
},
"node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
@ -11276,6 +11328,7 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"dependencies": {
"safe-buffer": "~5.1.0"
}
@ -12494,7 +12547,8 @@
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
},
"node_modules/util.inherits": {
"version": "1.0.3",
@ -14115,6 +14169,45 @@
"resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz",
"integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw=="
},
"@microsoft/1ds-core-js": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/@microsoft/1ds-core-js/-/1ds-core-js-3.2.3.tgz",
"integrity": "sha512-796A8fd90oUKDRO7UXUT9BwZ3G+a9XzJj5v012FcCN/2qRhEsIV3x/0wkx2S08T4FiQEUPkB2uoYHpEjEneM7g==",
"requires": {
"@microsoft/applicationinsights-core-js": "2.8.4",
"@microsoft/applicationinsights-shims": "^2.0.1",
"@microsoft/dynamicproto-js": "^1.1.6"
}
},
"@microsoft/1ds-post-js": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/@microsoft/1ds-post-js/-/1ds-post-js-3.2.3.tgz",
"integrity": "sha512-tcGJQXXr2LYoBbIXPoUVe1KCF3OtBsuKDFL7BXfmNtuSGtWF0yejm6H83DrR8/cUIGMRMUP9lqNlqFGwDYiwAQ==",
"requires": {
"@microsoft/1ds-core-js": "3.2.3",
"@microsoft/applicationinsights-shims": "^2.0.1",
"@microsoft/dynamicproto-js": "^1.1.6"
}
},
"@microsoft/applicationinsights-core-js": {
"version": "2.8.4",
"resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.4.tgz",
"integrity": "sha512-FoA0FNOsFbJnLyTyQlYs6+HR7HMEa6nAOE6WOm9WVejBHMHQ/Bdb+hfVFi6slxwCimr/ner90jchi4/sIYdnyQ==",
"requires": {
"@microsoft/applicationinsights-shims": "2.0.1",
"@microsoft/dynamicproto-js": "^1.1.6"
}
},
"@microsoft/applicationinsights-shims": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-shims/-/applicationinsights-shims-2.0.1.tgz",
"integrity": "sha512-G0MXf6R6HndRbDy9BbEj0zrLeuhwt2nsXk2zKtF0TnYo39KgYqhYC2ayIzKPTm2KAE+xzD7rgyLdZnrcRvt9WQ=="
},
"@microsoft/dynamicproto-js": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.6.tgz",
"integrity": "sha512-D1Oivw1A4bIXhzBIy3/BBPn3p2On+kpO2NiYt9shICDK7L/w+cR6FFBUsBZ05l6iqzTeL+Jm8lAYn0g6G7DmDg=="
},
"@microsoft/eslint-config-azuretools": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/@microsoft/eslint-config-azuretools/-/eslint-config-azuretools-0.1.0.tgz",
@ -14534,14 +14627,14 @@
}
},
"@microsoft/vscode-azext-utils": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-utils/-/vscode-azext-utils-0.3.1.tgz",
"integrity": "sha512-YF8yG5IZ/aSSAlI8NsSDKkUjnhwV0fYcW4yTOsC/GMHTuCTCvMc+2SOenO95bcbrag1neLy7fQ/5K2kNUaDScA==",
"version": "0.3.7",
"resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-utils/-/vscode-azext-utils-0.3.7.tgz",
"integrity": "sha512-TCIo1rVPYso5r9UrDfZK2j9FvvruW4BOTjtgK9g8F6gRB3FvpBd8AlQhXcffe8NmKNPJhbmdRSwhk51EujK2FA==",
"requires": {
"@vscode/extension-telemetry": "^0.5.1",
"@vscode/extension-telemetry": "^0.6.2",
"dayjs": "^1.11.2",
"escape-string-regexp": "^2.0.0",
"html-to-text": "^5.1.1",
"html-to-text": "^8.2.0",
"open": "^8.0.4",
"semver": "^7.3.7",
"vscode-nls": "^5.0.1",
@ -14627,6 +14720,15 @@
"resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.3.tgz",
"integrity": "sha512-puWxACExDe9nxbBB3lOymQFrLYml2dVOrd7USiVRnSbgXE+KwBu+HxFvxrzfqsiSda9IWsXJG1ef7C1O2/GmKQ=="
},
"@selderee/plugin-htmlparser2": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.6.0.tgz",
"integrity": "sha512-J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==",
"requires": {
"domhandler": "^4.2.0",
"selderee": "^0.6.0"
}
},
"@tootallnate/once": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
@ -15052,9 +15154,13 @@
"dev": true
},
"@vscode/extension-telemetry": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/@vscode/extension-telemetry/-/extension-telemetry-0.5.1.tgz",
"integrity": "sha512-cvFq8drxdLRF8KN72WcV4lTEa9GqDiRwy9EbnYuoSCD9Jdk8zHFF49MmACC1qs4R9Ko/C1uMOmeLJmVi8EA0rQ=="
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/@vscode/extension-telemetry/-/extension-telemetry-0.6.2.tgz",
"integrity": "sha512-yb/wxLuaaCRcBAZtDCjNYSisAXz3FWsSqAha5nhHcYxx2ZPdQdWuZqVXGKq0ZpHVndBWWtK6XqtpCN2/HB4S1w==",
"requires": {
"@microsoft/1ds-core-js": "^3.2.3",
"@microsoft/1ds-post-js": "^3.2.3"
}
},
"@webassemblyjs/ast": {
"version": "1.11.1",
@ -16350,8 +16456,7 @@
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
},
"commondir": {
"version": "1.0.1",
@ -16682,6 +16787,11 @@
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"dev": true
},
"deepmerge": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
"integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg=="
},
"default-compare": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz",
@ -16832,6 +16942,11 @@
"path-type": "^4.0.0"
}
},
"discontinuous-range": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz",
"integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ=="
},
"doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
@ -16845,7 +16960,6 @@
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
"integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
"dev": true,
"requires": {
"domelementtype": "^2.0.1",
"domhandler": "^4.2.0",
@ -16855,14 +16969,12 @@
"domelementtype": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
"integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
"dev": true
"integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A=="
},
"domhandler": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
"integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
"dev": true,
"requires": {
"domelementtype": "^2.2.0"
}
@ -16871,7 +16983,6 @@
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
"integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
"dev": true,
"requires": {
"dom-serializer": "^1.0.1",
"domelementtype": "^2.2.0",
@ -16993,8 +17104,7 @@
"entities": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
"dev": true
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
},
"envinfo": {
"version": "7.8.1",
@ -18927,94 +19037,22 @@
}
},
"html-to-text": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-5.1.1.tgz",
"integrity": "sha512-Bci6bD/JIfZSvG4s0gW/9mMKwBRoe/1RWLxUME/d6WUSZCdY7T60bssf/jFf7EYXRyqU4P5xdClVqiYU0/ypdA==",
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-8.2.0.tgz",
"integrity": "sha512-CLXExYn1b++Lgri+ZyVvbUEFwzkLZppjjZOwB7X1qv2jIi8MrMEvxWX5KQ7zATAzTvcqgmtO00M2kCRMtEdOKQ==",
"requires": {
"@selderee/plugin-htmlparser2": "^0.6.0",
"deepmerge": "^4.2.2",
"he": "^1.2.0",
"htmlparser2": "^3.10.1",
"lodash": "^4.17.11",
"minimist": "^1.2.0"
},
"dependencies": {
"dom-serializer": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
"integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
"requires": {
"domelementtype": "^2.0.1",
"entities": "^2.0.0"
},
"dependencies": {
"domelementtype": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
"integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
},
"entities": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
}
}
},
"domelementtype": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
},
"domhandler": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
"requires": {
"domelementtype": "1"
}
},
"domutils": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
"integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
"requires": {
"dom-serializer": "0",
"domelementtype": "1"
}
},
"entities": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
},
"htmlparser2": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
"integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
"requires": {
"domelementtype": "^1.3.1",
"domhandler": "^2.3.0",
"domutils": "^1.5.1",
"entities": "^1.1.1",
"inherits": "^2.0.1",
"readable-stream": "^3.1.1"
}
},
"readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
}
"htmlparser2": "^6.1.0",
"minimist": "^1.2.6",
"selderee": "^0.6.0"
}
},
"htmlparser2": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
"integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
"dev": true,
"requires": {
"domelementtype": "^2.0.1",
"domhandler": "^4.0.0",
@ -19882,7 +19920,8 @@
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"lodash.difference": {
"version": "4.5.0",
@ -20571,6 +20610,11 @@
"lodash": "^4.17.15"
}
},
"moo": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz",
"integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w=="
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@ -20663,6 +20707,17 @@
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true
},
"nearley": {
"version": "2.20.1",
"resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz",
"integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==",
"requires": {
"commander": "^2.19.0",
"moo": "^0.5.0",
"railroad-diagrams": "^1.0.0",
"randexp": "0.4.6"
}
},
"neo-async": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
@ -21149,6 +21204,15 @@
"parse5": "^6.0.1"
}
},
"parseley": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/parseley/-/parseley-0.7.0.tgz",
"integrity": "sha512-xyOytsdDu077M3/46Am+2cGXEKM9U9QclBDv7fimY7e+BBlxh2JcBp2mgNsmkyA9uvgyTjVzDi7cP1v4hcFxbw==",
"requires": {
"moo": "^0.5.1",
"nearley": "^2.20.1"
}
},
"pascalcase": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
@ -21427,6 +21491,20 @@
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
},
"railroad-diagrams": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz",
"integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A=="
},
"randexp": {
"version": "0.4.6",
"resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz",
"integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==",
"requires": {
"discontinuous-range": "1.0.0",
"ret": "~0.1.10"
}
},
"randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@ -21766,8 +21844,7 @@
"ret": {
"version": "0.1.15",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
"dev": true
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
},
"retry": {
"version": "0.13.1",
@ -21799,7 +21876,8 @@
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"safe-regex": {
"version": "1.1.0",
@ -21841,6 +21919,14 @@
"commander": "^2.8.1"
}
},
"selderee": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/selderee/-/selderee-0.6.0.tgz",
"integrity": "sha512-ibqWGV5aChDvfVdqNYuaJP/HnVBhlRGSRrlbttmlMpHcLuTqqbMH36QkSs9GEgj5M88JDYLI8eyP94JaQ8xRlg==",
"requires": {
"parseley": "^0.7.0"
}
},
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
@ -22407,6 +22493,7 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@ -23399,7 +23486,8 @@
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
},
"util.inherits": {
"version": "1.0.3",

Просмотреть файл

@ -2,12 +2,12 @@
"name": "vscode-azurefunctions",
"displayName": "Azure Functions",
"description": "%azureFunctions.description%",
"version": "1.6.3-alpha.15",
"version": "1.7.5-alpha.0",
"publisher": "ms-azuretools",
"icon": "resources/azure-functions.png",
"aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217",
"aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255",
"engines": {
"vscode": "^1.58.0"
"vscode": "^1.66.0"
},
"repository": {
"type": "git",
@ -362,6 +362,20 @@
"group": "navigation@1"
}
],
"azureWorkspaceDeploy": [
{
"command": "azureFunctions.deploy",
"when": "view == azureWorkspace",
"group": "navigation@1"
}
],
"view/title": [
{
"submenu": "azureWorkspaceDeploy",
"when": "view == azureWorkspace",
"group": "navigation@2"
}
],
"view/item/context": [
{
"command": "azureFunctions.createFunctionApp",
@ -370,7 +384,7 @@
},
{
"command": "azureFunctions.createFunctionAppAdvanced",
"when": "view == azureResourceGroups && viewItem =~ /microsoft.web/functionapp.*azureResourceTypeGroup/i",
"when": "view == azureResourceGroups && viewItem =~ /microsoft.web/functionapp/i && viewItem =~ /azureResourceTypeGroup/i",
"group": "1@2"
},
{
@ -746,6 +760,13 @@
"base": "$func-watch"
}
],
"submenus": [
{
"id": "azureWorkspaceDeploy",
"icon": "$(cloud-upload)",
"label": "Deploy..."
}
],
"configuration": [
{
"title": "Azure Functions",
@ -1073,7 +1094,7 @@
"@azure/storage-blob": "^12.5.0",
"@microsoft/vscode-azext-azureappservice": "^0.6.2",
"@microsoft/vscode-azext-azureutils": "^0.3.1",
"@microsoft/vscode-azext-utils": "^0.3.1",
"@microsoft/vscode-azext-utils": "^0.3.7",
"escape-string-regexp": "^4.0.0",
"extract-zip": "^2.0.1",
"fs-extra": "^4.0.2",

Двоичные данные
resources/readme/copyFunctionUrl.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 155 KiB

Двоичные данные
resources/readme/createFunction.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 130 KiB

Двоичные данные
resources/readme/createNewProject.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 38 KiB

Двоичные данные
resources/readme/debug2.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 54 KiB

Двоичные данные
resources/readme/deploy/activityLog.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 50 KiB

Двоичные данные
resources/readme/deploy/copyFunctionUrl.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 172 KiB

Двоичные данные
resources/readme/deploy/createComplete.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 113 KiB

Двоичные данные
resources/readme/deploy/createFunctionApp.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 132 KiB

Двоичные данные
resources/readme/deploy/createResource.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 69 KiB

Двоичные данные
resources/readme/deploy/deploy.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 199 KiB

Просмотреть файл

@ -20,6 +20,8 @@ export class FunctionAppResolver implements AppResourceResolver {
}
public matchesResource(resource: AppResource): boolean {
return resource.type.toLowerCase() === 'microsoft.web/sites' && !!resource.kind?.includes('functionapp');
return resource.type.toLowerCase() === 'microsoft.web/sites'
&& !!resource.kind?.includes('functionapp')
&& !resource.kind?.includes('workflowapp'); // exclude logic apps
}
}

Просмотреть файл

@ -42,24 +42,31 @@ export class TypeScriptProjectCreateStep extends JavaScriptProjectCreateStep {
protected getPackageJsonDevDeps(context: IProjectWizardContext): { [key: string]: string } {
// NOTE: Types package matches node worker version, not func host version
// See version matrix here: https://www.npmjs.com/package/@azure/functions
let nodeWorkerVersion: string;
let funcTypesVersion: string;
// For the node types package, we'll use the latest LTS version possible
// See version matrix here: https://docs.microsoft.com/azure/azure-functions/functions-versions?pivots=programming-language-javascript#languages
let nodeTypesVersion: string;
switch (context.version) {
case FuncVersion.v4:
nodeWorkerVersion = '3';
funcTypesVersion = '3';
nodeTypesVersion = '16';
break;
case FuncVersion.v3:
nodeWorkerVersion = '2';
funcTypesVersion = '2';
nodeTypesVersion = '14';
break;
case FuncVersion.v2:
nodeWorkerVersion = '1';
funcTypesVersion = '1';
nodeTypesVersion = '10';
break;
default:
throw new Error(localize('typeScriptNoV1', 'TypeScript projects are not supported on Azure Functions v1.'));
}
return {
'@azure/functions': `^${nodeWorkerVersion}.0.0`,
typescript: '^4.0.0'
'@azure/functions': `^${funcTypesVersion}.0.0`,
'@types/node': `${nodeTypesVersion}.x`,
typescript: '^4.0.0',
};
}
}

Просмотреть файл

@ -6,7 +6,7 @@
'use strict';
import { registerAppServiceExtensionVariables } from '@microsoft/vscode-azext-azureappservice';
import { registerAzureUtilsExtensionVariables } from '@microsoft/vscode-azext-azureutils';
import { AzureAccountTreeItemBase, registerAzureUtilsExtensionVariables } from '@microsoft/vscode-azext-azureutils';
import { callWithTelemetryAndErrorHandling, createApiProvider, createAzExtOutputChannel, createExperimentationService, IActionContext, registerErrorHandler, registerEvent, registerReportIssueCommand, registerUIExtensionVariables } from '@microsoft/vscode-azext-utils';
import { AzureExtensionApiProvider } from '@microsoft/vscode-azext-utils/api';
import * as vscode from 'vscode';
@ -89,6 +89,9 @@ export async function activateInternal(context: vscode.ExtensionContext, perfSta
ext.experimentationService = await createExperimentationService(context);
ext.rgApi = await getResourceGroupsApi();
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
ext.azureAccountTreeItem = ext.rgApi.appResourceTree._rootTreeItem as AzureAccountTreeItemBase;
ext.rgApi.registerApplicationResourceResolver(extensionId, new FunctionAppResolver());
ext.rgApi.registerLocalResourceProvider('func', new FunctionsLocalResourceProvider());

Просмотреть файл

@ -22,18 +22,18 @@ export abstract class FunctionTesterBase implements Disposable {
public projectPath: string;
public readonly version: FuncVersion;
public abstract language: ProjectLanguage;
public source: TemplateSource;
private readonly testedFunctions: string[] = [];
private _source: TemplateSource;
public constructor(version: FuncVersion, source: TemplateSource) {
this.version = version;
this._source = source;
this.source = source;
this.projectPath = path.join(testFolderPath, getRandomHexString());
}
public get suiteName(): string {
return `Create Function ${this.language} ${this.version} (${this._source})`;
return `Create Function ${this.language} ${this.version} (${this.source})`;
}
/**
@ -43,7 +43,7 @@ export abstract class FunctionTesterBase implements Disposable {
public async initAsync(): Promise<void> {
await runWithTestActionContext('testCreateFunctionInit', async context => {
await runForTemplateSource(context, this._source, async (templateProvider) => {
await runForTemplateSource(context, this.source, async (templateProvider) => {
await this.initializeTestFolder(this.projectPath);
// This will initialize and cache the templatesTask for this project. Better to do it here than during the first test
@ -54,7 +54,7 @@ export abstract class FunctionTesterBase implements Disposable {
public async dispose(): Promise<void> {
await runWithTestActionContext('testCreateFunctionDispose', async context => {
await runForTemplateSource(context, this._source, async (templateProvider) => {
await runForTemplateSource(context, this.source, async (templateProvider) => {
const templates: IFunctionTemplate[] = await templateProvider.getFunctionTemplates(context, this.projectPath, this.language, this.version, TemplateFilter.Verified, undefined);
assert.deepEqual(this.testedFunctions.sort(), templates.map(t => t.name).sort(), 'Not all "Verified" templates were tested');
});
@ -88,7 +88,7 @@ export abstract class FunctionTesterBase implements Disposable {
public async testCreateFunction(templateName: string, ...inputs: string[]): Promise<void> {
this.testedFunctions.push(templateName);
await runWithTestActionContext('testCreateFunction', async context => {
await runForTemplateSource(context, this._source, async () => {
await runForTemplateSource(context, this.source, async () => {
await this.testCreateFunctionInternal(context, this.projectPath, templateName, inputs.slice());
});
});

Просмотреть файл

@ -5,7 +5,7 @@
import * as path from 'path';
import * as vscode from 'vscode';
import { FuncVersion, funcVersionSetting, ProjectLanguage, projectLanguageSetting } from '../../extension.bundle';
import { FuncVersion, funcVersionSetting, ProjectLanguage, projectLanguageSetting, TemplateSource } from '../../extension.bundle';
import { allTemplateSources, isLongRunningVersion } from '../global.test';
import { getRotatingAuthLevel } from '../nightly/getRotatingValue';
import { runWithFuncSetting } from '../runWithSetting';
@ -181,7 +181,7 @@ function addSuite(tester: FunctionTesterBase): void {
});
function fixDurableLabel(label: string): string {
if (tester.language === ProjectLanguage.PowerShell) {
if (tester.language === ProjectLanguage.PowerShell && tester.source !== TemplateSource.Staging) {
label += ' (preview)';
}
return label;

Просмотреть файл

@ -45,7 +45,12 @@ suiteSetup(async function (this: Mocha.Context): Promise<void> {
await fse.ensureDir(testFolderPath);
testWorkspaceFolders = await initTestWorkspaceFolders();
await vscode.commands.executeCommand('azureFunctions.refresh'); // activate the extension before tests begin
const funcExtension = vscode.extensions.getExtension('ms-azuretools.vscode-azurefunctions');
if (!funcExtension) {
throw new Error('Could not find the Azure Functions extension.');
}
await funcExtension.activate(); // activate the extension before tests begin
ext.outputChannel = new TestOutputChannel();
registerOnActionStartHandler(context => {