This commit is contained in:
Bernie White 2021-06-01 21:59:10 +10:00 коммит произвёл GitHub
Родитель 345d416d65
Коммит e1c118102f
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
4 изменённых файлов: 172 добавлений и 80 удалений

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

@ -17,6 +17,8 @@ Continue reading to see the changes included in the latest version.
- Added `PSRule: Run analysis` quick task to call `Assert-PSRule` for the current workspace. [#226](https://github.com/microsoft/PSRule-vscode/issues/226)
- To configure set `path`, `inputPath`, `baseline`, `module`, and `outcome` per task.
- The default task will run analysis in the current workspace using rules in `.ps-rule/`.
- Added `$PSRule` problem matcher for analysis tasks. [#234](https://github.com/microsoft/PSRule-vscode/issues/234)
- Source locations for rules failures are detected when using the `VisualStudioCode` style.
- General improvements:
- Preview channel will notify that a stable version is available. [#235](https://github.com/microsoft/PSRule-vscode/issues/235)
- Engineering:

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

@ -147,85 +147,129 @@
"dev": true
},
"@typescript-eslint/eslint-plugin": {
"version": "4.25.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.25.0.tgz",
"integrity": "sha512-Qfs3dWkTMKkKwt78xp2O/KZQB8MPS1UQ5D3YW2s6LQWBE1074BE+Rym+b1pXZIX3M3fSvPUDaCvZLKV2ylVYYQ==",
"version": "4.26.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.26.0.tgz",
"integrity": "sha512-yA7IWp+5Qqf+TLbd8b35ySFOFzUfL7i+4If50EqvjT6w35X8Lv0eBHb6rATeWmucks37w+zV+tWnOXI9JlG6Eg==",
"dev": true,
"requires": {
"@typescript-eslint/experimental-utils": "4.25.0",
"@typescript-eslint/scope-manager": "4.25.0",
"debug": "^4.1.1",
"@typescript-eslint/experimental-utils": "4.26.0",
"@typescript-eslint/scope-manager": "4.26.0",
"debug": "^4.3.1",
"functional-red-black-tree": "^1.0.1",
"lodash": "^4.17.15",
"regexpp": "^3.0.0",
"semver": "^7.3.2",
"tsutils": "^3.17.1"
"lodash": "^4.17.21",
"regexpp": "^3.1.0",
"semver": "^7.3.5",
"tsutils": "^3.21.0"
},
"dependencies": {
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dev": true,
"requires": {
"ms": "2.1.2"
}
}
}
},
"@typescript-eslint/experimental-utils": {
"version": "4.25.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.25.0.tgz",
"integrity": "sha512-f0doRE76vq7NEEU0tw+ajv6CrmPelw5wLoaghEHkA2dNLFb3T/zJQqGPQ0OYt5XlZaS13MtnN+GTPCuUVg338w==",
"version": "4.26.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.26.0.tgz",
"integrity": "sha512-TH2FO2rdDm7AWfAVRB5RSlbUhWxGVuxPNzGT7W65zVfl8H/WeXTk1e69IrcEVsBslrQSTDKQSaJD89hwKrhdkw==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.3",
"@typescript-eslint/scope-manager": "4.25.0",
"@typescript-eslint/types": "4.25.0",
"@typescript-eslint/typescript-estree": "4.25.0",
"eslint-scope": "^5.0.0",
"eslint-utils": "^2.0.0"
"@types/json-schema": "^7.0.7",
"@typescript-eslint/scope-manager": "4.26.0",
"@typescript-eslint/types": "4.26.0",
"@typescript-eslint/typescript-estree": "4.26.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0"
},
"dependencies": {
"eslint-utils": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
"integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
"dev": true,
"requires": {
"eslint-visitor-keys": "^2.0.0"
}
}
}
},
"@typescript-eslint/parser": {
"version": "4.25.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.25.0.tgz",
"integrity": "sha512-OZFa1SKyEJpAhDx8FcbWyX+vLwh7OEtzoo2iQaeWwxucyfbi0mT4DijbOSsTgPKzGHr6GrF2V5p/CEpUH/VBxg==",
"version": "4.26.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.26.0.tgz",
"integrity": "sha512-b4jekVJG9FfmjUfmM4VoOItQhPlnt6MPOBUL0AQbiTmm+SSpSdhHYlwayOm4IW9KLI/4/cRKtQCmDl1oE2OlPg==",
"dev": true,
"requires": {
"@typescript-eslint/scope-manager": "4.25.0",
"@typescript-eslint/types": "4.25.0",
"@typescript-eslint/typescript-estree": "4.25.0",
"debug": "^4.1.1"
"@typescript-eslint/scope-manager": "4.26.0",
"@typescript-eslint/types": "4.26.0",
"@typescript-eslint/typescript-estree": "4.26.0",
"debug": "^4.3.1"
},
"dependencies": {
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dev": true,
"requires": {
"ms": "2.1.2"
}
}
}
},
"@typescript-eslint/scope-manager": {
"version": "4.25.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.25.0.tgz",
"integrity": "sha512-2NElKxMb/0rya+NJG1U71BuNnp1TBd1JgzYsldsdA83h/20Tvnf/HrwhiSlNmuq6Vqa0EzidsvkTArwoq+tH6w==",
"version": "4.26.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.26.0.tgz",
"integrity": "sha512-G6xB6mMo4xVxwMt5lEsNTz3x4qGDt0NSGmTBNBPJxNsrTXJSm21c6raeYroS2OwQsOyIXqKZv266L/Gln1BWqg==",
"dev": true,
"requires": {
"@typescript-eslint/types": "4.25.0",
"@typescript-eslint/visitor-keys": "4.25.0"
"@typescript-eslint/types": "4.26.0",
"@typescript-eslint/visitor-keys": "4.26.0"
}
},
"@typescript-eslint/types": {
"version": "4.25.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.25.0.tgz",
"integrity": "sha512-+CNINNvl00OkW6wEsi32wU5MhHti2J25TJsJJqgQmJu3B3dYDBcmOxcE5w9cgoM13TrdE/5ND2HoEnBohasxRQ==",
"version": "4.26.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.26.0.tgz",
"integrity": "sha512-rADNgXl1kS/EKnDr3G+m7fB9yeJNnR9kF7xMiXL6mSIWpr3Wg5MhxyfEXy/IlYthsqwBqHOr22boFbf/u6O88A==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
"version": "4.25.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.25.0.tgz",
"integrity": "sha512-1B8U07TGNAFMxZbSpF6jqiDs1cVGO0izVkf18Q/SPcUAc9LhHxzvSowXDTvkHMWUVuPpagupaW63gB6ahTXVlg==",
"version": "4.26.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.26.0.tgz",
"integrity": "sha512-GHUgahPcm9GfBuy3TzdsizCcPjKOAauG9xkz9TR8kOdssz2Iz9jRCSQm6+aVFa23d5NcSpo1GdHGSQKe0tlcbg==",
"dev": true,
"requires": {
"@typescript-eslint/types": "4.25.0",
"@typescript-eslint/visitor-keys": "4.25.0",
"debug": "^4.1.1",
"globby": "^11.0.1",
"@typescript-eslint/types": "4.26.0",
"@typescript-eslint/visitor-keys": "4.26.0",
"debug": "^4.3.1",
"globby": "^11.0.3",
"is-glob": "^4.0.1",
"semver": "^7.3.2",
"tsutils": "^3.17.1"
"semver": "^7.3.5",
"tsutils": "^3.21.0"
},
"dependencies": {
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dev": true,
"requires": {
"ms": "2.1.2"
}
}
}
},
"@typescript-eslint/visitor-keys": {
"version": "4.25.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.25.0.tgz",
"integrity": "sha512-AmkqV9dDJVKP/TcZrbf6s6i1zYXt5Hl8qOLrRDTFfRNae4+LB8A4N3i+FLZPW85zIxRy39BgeWOfMS3HoH5ngg==",
"version": "4.26.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.26.0.tgz",
"integrity": "sha512-cw4j8lH38V1ycGBbF+aFiLUls9Z0Bw8QschP3mkth50BbWzgFS33ISIgBzUMuQ2IdahoEv/rXstr8Zhlz4B1Zg==",
"dev": true,
"requires": {
"@typescript-eslint/types": "4.25.0",
"@typescript-eslint/types": "4.26.0",
"eslint-visitor-keys": "^2.0.0"
}
},
@ -454,17 +498,26 @@
}
},
"cheerio": {
"version": "1.0.0-rc.6",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.6.tgz",
"integrity": "sha512-hjx1XE1M/D5pAtMgvWwE21QClmAEeGHOIDfycgmndisdNgI6PE1cGRQkMGBcsbUbmEQyWu5PJLUcAOjtQS8DWw==",
"version": "1.0.0-rc.9",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.9.tgz",
"integrity": "sha512-QF6XVdrLONO6DXRF5iaolY+odmhj2CLj+xzNod7INPWMi/x9X4SOylH0S/vaPpX+AUU6t04s34SQNh7DbkuCng==",
"dev": true,
"requires": {
"cheerio-select": "^1.3.0",
"cheerio-select": "^1.4.0",
"dom-serializer": "^1.3.1",
"domhandler": "^4.1.0",
"domhandler": "^4.2.0",
"htmlparser2": "^6.1.0",
"parse5": "^6.0.1",
"parse5-htmlparser2-tree-adapter": "^6.0.1"
"parse5-htmlparser2-tree-adapter": "^6.0.1",
"tslib": "^2.2.0"
},
"dependencies": {
"tslib": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz",
"integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==",
"dev": true
}
}
},
"cheerio-select": {
@ -575,9 +628,9 @@
}
},
"css-what": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.0.tgz",
"integrity": "sha512-qxyKHQvgKwzwDWC/rGbT821eJalfupxYW2qbSJSAtdSTimsr/MlaGONoNLllaUPZWf8QnbcKM/kPVYUQuEKAFA==",
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz",
"integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==",
"dev": true
},
"debug": {
@ -632,13 +685,13 @@
}
},
"dom-serializer": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.1.tgz",
"integrity": "sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q==",
"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.0.0",
"domhandler": "^4.2.0",
"entities": "^2.0.0"
}
},
@ -1719,9 +1772,9 @@
}
},
"object-inspect": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz",
"integrity": "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==",
"version": "1.10.3",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz",
"integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==",
"dev": true
},
"once": {
@ -2193,6 +2246,15 @@
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
"dev": true
},
"tmp": {
"version": "0.0.29",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz",
"integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=",
"dev": true,
"requires": {
"os-tmpdir": "~1.0.1"
}
},
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@ -2319,14 +2381,14 @@
"dev": true
},
"vsce": {
"version": "1.88.0",
"resolved": "https://registry.npmjs.org/vsce/-/vsce-1.88.0.tgz",
"integrity": "sha512-FS5ou3G+WRnPPr/tWVs8b/jVzeDacgZHy/y7/QQW7maSPFEAmRt2bFGUJtJVEUDLBqtDm/3VGMJ7D31cF2U1tw==",
"version": "1.91.0",
"resolved": "https://registry.npmjs.org/vsce/-/vsce-1.91.0.tgz",
"integrity": "sha512-y75QryWKzAw5KIR4NFEXc6XAy/Er1BHXdNwAESgKKFw8Yc8cA/+dP4Gj7VYhNPOJlV0v5j1in/cPkLFZAqC7cQ==",
"dev": true,
"requires": {
"azure-devops-node-api": "^10.2.2",
"chalk": "^2.4.2",
"cheerio": "^1.0.0-rc.1",
"cheerio": "^1.0.0-rc.9",
"commander": "^6.1.0",
"denodeify": "^1.2.1",
"glob": "^7.0.6",
@ -2370,15 +2432,6 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
},
"tmp": {
"version": "0.0.29",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz",
"integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=",
"dev": true,
"requires": {
"os-tmpdir": "~1.0.1"
}
}
}
},

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

@ -182,6 +182,42 @@
"fileMatch": "**/*.Rule.yaml",
"url": "./schemas/PSRule-language.schema.json"
}
],
"problemMatchers": [
{
"name": "PSRule",
"label": "PSRule",
"owner": "PSRule",
"source": "PSRule",
"severity": "error",
"fileLocation": [
"relative",
"${workspaceFolder}"
],
"pattern": [
{
"regexp": "^\\s+(FAIL)\\s+(.*)$",
"code": 2
},
{
"regexp": "^$"
},
{
"regexp": "^\\s+(.*)$",
"message": 1
},
{
"regexp": "^$"
},
{
"regexp": "^\\s+(.*): (.*):(\\d+):(\\d+)$",
"file": 2,
"line": 3,
"column": 4,
"loop": true
}
]
}
]
},
"scripts": {
@ -210,8 +246,8 @@
"@types/mocha": "^8.2.2",
"@types/node": "^15.6.1",
"@types/vscode": "1.56.0",
"@typescript-eslint/eslint-plugin": "^4.25.0",
"@typescript-eslint/parser": "^4.25.0",
"@typescript-eslint/eslint-plugin": "^4.26.0",
"@typescript-eslint/parser": "^4.26.0",
"esbuild": "^0.12.5",
"eslint": "^7.27.0",
"glob": "^7.1.7",
@ -220,7 +256,7 @@
"minimist": ">=1.2.5",
"mocha": "^8.4.0",
"typescript": "^4.3.2",
"vsce": "^1.88.0",
"vsce": "^1.91.0",
"vscode-test": "^1.5.2"
}
}

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

@ -204,6 +204,7 @@ export class PSRuleTaskProvider implements vscode.TaskProvider {
if (definition === undefined) {
definition = {
type: PSRuleTaskProvider.taskType,
matcher: '$PSRule',
};
}
@ -273,7 +274,7 @@ export class PSRuleTaskProvider implements vscode.TaskProvider {
executable: pwsh.path,
shellArgs: ['-NoLogo', '-NoProfile', '-NonInteractive', '-Command'],
env: {
PSRULE_OUTPUT_STYLE: 'Client',
PSRULE_OUTPUT_STYLE: 'VisualStudioCode',
PSRULE_OUTPUT_AS: outputAs.toString(),
PSRULE_OUTPUT_CULTURE: vscode.env.language,
PSRULE_OUTPUT_BANNER: 'Minimal',