Repository: linkerd/linkerd2
Pull request #7511 (2021-12-20 16:45:40)

build(deps-dev): bump @babel/eslint-parser from 7.16.3 to 7.16.5 in /web/app
Bumps [@babel/eslint-parser](https://github.com/babel/babel/tree/HEAD/eslint/babel-eslint-parser) from 7.16.3 to 7.16.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/babel/babel/releases"><code>@​babel/eslint-parser</code>'s releases</a>.</em></p>
<blockquote>
<h2>v7.16.5 (2021-12-13)</h2>
<p>Thanks <a href="https://github.com/chimurai"><code>@​chimurai</code></a> and <a href="https://github.com/krosenberg"><code>@​krosenberg</code></a> for your first PRs!</p>
<h4>:eyeglasses: Spec Compliance</h4>
<ul>
<li><code>babel-cli</code>, <code>babel-core</code>, <code>babel-helpers</code>, <code>babel-plugin-proposal-class-properties</code>, <code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-jscript</code>, <code>babel-plugin-transform-parameters</code>, <code>babel-plugin-transform-runtime</code>, <code>babel-plugin-transform-spread</code>, <code>babel-plugin-transform-typescript</code>, <code>babel-preset-env</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/12115">#12115</a> Mark class prototype as read-only (<a href="https://github.com/wentout"><code>@​wentout</code></a>)</li>
</ul>
</li>
</ul>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-plugin-transform-parameters</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14032">#14032</a> Fix: default rest argument array elements as undefined (<a href="https://github.com/The-x-Theorist"><code>@​The-x-Theorist</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-arrow-functions</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14036">#14036</a> Don't resolve shadowed <code>arguments</code> variables from functions (<a href="https://github.com/The-x-Theorist"><code>@​The-x-Theorist</code></a>)</li>
</ul>
</li>
<li><code>babel-parser</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14039">#14039</a> maintain estree string literal shape when cloned (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14016">#14016</a> Fix duplicate declaration error on ambient class declarations (<a href="https://github.com/The-x-Theorist"><code>@​The-x-Theorist</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14014">#14014</a> Support flow function type annotation with no parent (<a href="https://github.com/krosenberg"><code>@​krosenberg</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-react-jsx</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14012">#14012</a> Fix JSX pragma anywhere in comment (<a href="https://github.com/The-x-Theorist"><code>@​The-x-Theorist</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-create-class-features-plugin</code>, <code>babel-helper-environment-visitor</code>, <code>babel-helper-member-expression-to-functions</code>, <code>babel-helper-module-transforms</code>, <code>babel-helper-replace-supers</code>, <code>babel-plugin-transform-classes</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14005">#14005</a> Fix handling of <code>this</code>&amp;co in computed keys in arrows transform (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:nail_care: Polish</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13968">#13968</a> Recover from shorthand assign exprs (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13975">#13975</a> fix: update UnexpectedPrivateField error message (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:memo: Documentation</h4>
<ul>
<li><em>Many packages</em>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14006">#14006</a> Regenerate monorepo READMEs (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>
<li><em>Every package</em>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13966">#13966</a> Run tests in a native Node.js ESM environment (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-parser</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13982">#13982</a> Extend <code>hasPlugin</code> to accept plugin-configuration array pairs (<a href="https://github.com/js-choi"><code>@​js-choi</code></a>)</li>
</ul>
</li>
<li><code>babel-helpers</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13996">#13996</a> Don't use ESM for <code>require</code>d files in <code>@babel/helpers</code> tests (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-proposal-object-rest-spread</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13948">#13948</a> Convert proposal-object-rest-spread to TS (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-parser</code>, <code>babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression</code>, <code>babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining</code>, <code>babel-plugin-proposal-optional-chaining</code>, <code>babel-preset-react</code>, <code>babel-preset-typescript</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13978">#13978</a> Only bundle the release build, and don't import <code>src</code> in tests (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li>Other
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13976">#13976</a> Fail CI when <code>@babel/runtime</code> ESM tests fail (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:running_woman: Performance</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13919">#13919</a> Improve template tokenizing (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/babel/babel/blob/main/CHANGELOG.md"><code>@​babel/eslint-parser</code>'s changelog</a>.</em></p>
<blockquote>
<h2>v7.16.5 (2021-12-13)</h2>
<h4>:eyeglasses: Spec Compliance</h4>
<ul>
<li><code>babel-cli</code>, <code>babel-core</code>, <code>babel-helpers</code>, <code>babel-plugin-proposal-class-properties</code>, <code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-jscript</code>, <code>babel-plugin-transform-parameters</code>, <code>babel-plugin-transform-runtime</code>, <code>babel-plugin-transform-spread</code>, <code>babel-plugin-transform-typescript</code>, <code>babel-preset-env</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/12115">#12115</a> Mark class prototype as read-only (<a href="https://github.com/wentout"><code>@​wentout</code></a>)</li>
</ul>
</li>
</ul>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-plugin-transform-parameters</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14032">#14032</a> Fix: default rest argument array elements as undefined (<a href="https://github.com/The-x-Theorist"><code>@​The-x-Theorist</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-arrow-functions</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14036">#14036</a> Don't resolve shadowed <code>arguments</code> variables from functions (<a href="https://github.com/The-x-Theorist"><code>@​The-x-Theorist</code></a>)</li>
</ul>
</li>
<li><code>babel-parser</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14039">#14039</a> maintain estree string literal shape when cloned (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14016">#14016</a> Fix duplicate declaration error on ambient class declarations (<a href="https://github.com/The-x-Theorist"><code>@​The-x-Theorist</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14014">#14014</a> Support flow function type annotation with no parent (<a href="https://github.com/krosenberg"><code>@​krosenberg</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-react-jsx</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14012">#14012</a> Fix JSX pragma anywhere in comment (<a href="https://github.com/The-x-Theorist"><code>@​The-x-Theorist</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-create-class-features-plugin</code>, <code>babel-helper-environment-visitor</code>, <code>babel-helper-member-expression-to-functions</code>, <code>babel-helper-module-transforms</code>, <code>babel-helper-replace-supers</code>, <code>babel-plugin-transform-classes</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14005">#14005</a> Fix handling of <code>this</code>&amp;co in computed keys in arrows transform (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:nail_care: Polish</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13968">#13968</a> Recover from shorthand assign exprs (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13975">#13975</a> fix: update UnexpectedPrivateField error message (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:memo: Documentation</h4>
<ul>
<li><code>babel-compat-data</code>, <code>babel-helper-annotate-as-pure</code>, <code>babel-helper-builder-binary-assignment-operator-visitor</code>, <code>babel-helper-builder-react-jsx</code>, <code>babel-helper-compilation-targets</code>, <code>babel-helper-create-class-features-plugin</code>, <code>babel-helper-create-regexp-features-plugin</code>, <code>babel-helper-define-map</code>, <code>babel-helper-explode-assignable-expression</code>, <code>babel-helper-fixtures</code>, <code>babel-helper-function-name</code>, <code>babel-helper-get-function-arity</code>, <code>babel-helper-hoist-variables</code>, <code>babel-helper-member-expression-to-functions</code>, <code>babel-helper-module-imports</code>, <code>babel-helper-module-transforms</code>, <code>babel-helper-optimise-call-expression</code>, <code>babel-helper-plugin-test-runner</code>, <code>babel-helper-plugin-utils</code>, <code>babel-helper-remap-async-to-generator</code>, <code>babel-helper-replace-supers</code>, <code>babel-helper-simple-access</code>, <code>babel-helper-skip-transparent-expression-wrappers</code>, <code>babel-helper-split-export-declaration</code>, <code>babel-helper-transform-fixture-test-runner</code>, <code>babel-helper-validator-identifier</code>, <code>babel-helper-validator-option</code>, <code>babel-helper-wrap-function</code>, <code>babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression</code>, <code>babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining</code>, <code>babel-plugin-proposal-async-do-expressions</code>, <code>babel-plugin-proposal-record-and-tuple</code>, <code>babel-plugin-syntax-async-do-expressions</code>, <code>babel-plugin-syntax-module-blocks</code>, <code>babel-plugin-transform-react-jsx-development</code>, <code>babel-plugin-transform-react-pure-annotations</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>, <code>babel-runtime</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/14006">#14006</a> Regenerate monorepo READMEs (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>
<li><code>babel-cli</code>, <code>babel-code-frame</code>, <code>babel-core</code>, <code>babel-generator</code>, <code>babel-helper-annotate-as-pure</code>, <code>babel-helper-compilation-targets</code>, <code>babel-helper-create-class-features-plugin</code>, <code>babel-helper-create-regexp-features-plugin</code>, <code>babel-helper-fixtures</code>, <code>babel-helper-module-imports</code>, <code>babel-helper-optimise-call-expression</code>, <code>babel-helper-plugin-test-runner</code>, <code>babel-helper-transform-fixture-test-runner</code>, <code>babel-helper-validator-identifier</code>, <code>babel-helper-validator-option</code>, <code>babel-helpers</code>, <code>babel-highlight</code>, <code>babel-node</code>, <code>babel-parser</code>, <code>babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression</code>, <code>babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining</code>, <code>babel-plugin-external-helpers</code>, <code>babel-plugin-proposal-async-do-expressions</code>, <code>babel-plugin-proposal-async-generator-functions</code>, <code>babel-plugin-proposal-class-properties</code>, <code>babel-plugin-proposal-class-static-block</code>, <code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-proposal-do-expressions</code>, <code>babel-plugin-proposal-dynamic-import</code>, <code>babel-plugin-proposal-export-default-from</code>, <code>babel-plugin-proposal-export-namespace-from</code>, <code>babel-plugin-proposal-function-bind</code>, <code>babel-plugin-proposal-function-sent</code>, <code>babel-plugin-proposal-json-strings</code>, <code>babel-plugin-proposal-logical-assignment-operators</code>, <code>babel-plugin-proposal-nullish-coalescing-operator</code>, <code>babel-plugin-proposal-numeric-separator</code>, <code>babel-plugin-proposal-object-rest-spread</code>, <code>babel-plugin-proposal-optional-catch-binding</code>, <code>babel-plugin-proposal-optional-chaining</code>, <code>babel-plugin-proposal-partial-application</code>, <code>babel-plugin-proposal-pipeline-operator</code>, <code>babel-plugin-proposal-private-methods</code>, <code>babel-plugin-proposal-private-property-in-object</code>, <code>babel-plugin-proposal-record-and-tuple</code>, <code>babel-plugin-proposal-throw-expressions</code>, <code>babel-plugin-proposal-unicode-property-regex</code>, <code>babel-plugin-syntax-decorators</code>, <code>babel-plugin-syntax-typescript</code>, <code>babel-plugin-transform-arrow-functions</code>, <code>babel-plugin-transform-async-to-generator</code>, <code>babel-plugin-transform-block-scoped-functions</code>, <code>babel-plugin-transform-block-scoping</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-computed-properties</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-dotall-regex</code>, <code>babel-plugin-transform-duplicate-keys</code>, <code>babel-plugin-transform-exponentiation-operator</code>, <code>babel-plugin-transform-flow-comments</code>, <code>babel-plugin-transform-flow-strip-types</code>, <code>babel-plugin-transform-for-of</code>, <code>babel-plugin-transform-function-name</code>, <code>babel-plugin-transform-instanceof</code>, <code>babel-plugin-transform-jscript</code>, <code>babel-plugin-transform-member-expression-literals</code>, <code>babel-plugin-transform-modules-amd</code>, <code>babel-plugin-transform-modules-commonjs</code>, <code>babel-plugin-transform-modules-systemjs</code>, <code>babel-plugin-transform-modules-umd</code>, <code>babel-plugin-transform-named-capturing-groups-regex</code>, <code>babel-plugin-transform-new-target</code>, <code>babel-plugin-transform-object-super</code>, <code>babel-plugin-transform-parameters</code>, <code>babel-plugin-transform-property-literals</code>, <code>babel-plugin-transform-property-mutators</code>, <code>babel-plugin-transform-proto-to-assign</code>, <code>babel-plugin-transform-react-constant-elements</code>, <code>babel-plugin-transform-react-display-name</code>, <code>babel-plugin-transform-react-inline-elements</code>, <code>babel-plugin-transform-react-jsx-compat</code>, <code>babel-plugin-transform-react-jsx-development</code>, <code>babel-plugin-transform-react-jsx-self</code>, <code>babel-plugin-transform-react-jsx-source</code>, <code>babel-plugin-transform-react-jsx</code>, <code>babel-plugin-transform-react-pure-annotations</code>, <code>babel-plugin-transform-regenerator</code>, <code>babel-plugin-transform-reserved-words</code>, <code>babel-plugin-transform-runtime</code>, <code>babel-plugin-transform-shorthand-properties</code>, <code>babel-plugin-transform-spread</code>, <code>babel-plugin-transform-sticky-regex</code>, <code>babel-plugin-transform-strict-mode</code>, <code>babel-plugin-transform-template-literals</code>, <code>babel-plugin-transform-typeof-symbol</code>, <code>babel-plugin-transform-typescript</code>, <code>babel-plugin-transform-unicode-escapes</code>, <code>babel-plugin-transform-unicode-regex</code>, <code>babel-preset-env</code>, <code>babel-preset-flow</code>, <code>babel-preset-react</code>, <code>babel-preset-typescript</code>, <code>babel-register</code>, <code>babel-standalone</code>, <code>babel-template</code>, <code>babel-traverse</code>, <code>babel-types</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13966">#13966</a> Run tests in a native Node.js ESM environment (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-parser</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13982">#13982</a> Extend <code>hasPlugin</code> to accept plugin-configuration array pairs (<a href="https://github.com/js-choi"><code>@​js-choi</code></a>)</li>
</ul>
</li>
<li><code>babel-helpers</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13996">#13996</a> Don't use ESM for <code>require</code>d files in <code>@babel/helpers</code> tests (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-proposal-object-rest-spread</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13948">#13948</a> Convert proposal-object-rest-spread to TS (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-parser</code>, <code>babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression</code>, <code>babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining</code>, <code>babel-plugin-proposal-optional-chaining</code>, <code>babel-preset-react</code>, <code>babel-preset-typescript</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13978">#13978</a> Only bundle the release build, and don't import <code>src</code> in tests (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li>Other
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13976">#13976</a> Fail CI when <code>@babel/runtime</code> ESM tests fail (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:running_woman: Performance</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13919">#13919</a> Improve template tokenizing (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:microscope: Output optimization</h4>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/babel/babel/commit/7b7ab94066448cd495b33b51512f109589d63fd1"><code>7b7ab94</code></a> v7.16.5</li>
<li><a href="https://github.com/babel/babel/commit/94af0e5c629b63fa11512b2ea8a8ac81d11a9db5"><code>94af0e5</code></a> Improve template tokenizing (<a href="https://github.com/babel/babel/tree/HEAD/eslint/babel-eslint-parser/issues/13919">#13919</a>)</li>
<li><a href="https://github.com/babel/babel/commit/2d989a983dc13c7682d65faa075c8a26d2f5b991"><code>2d989a9</code></a> Run tests in a native Node.js ESM environment (<a href="https://github.com/babel/babel/tree/HEAD/eslint/babel-eslint-parser/issues/13966">#13966</a>)</li>
<li>See full diff in <a href="https://github.com/babel/babel/commits/v7.16.5/eslint/babel-eslint-parser">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@babel/eslint-parser&package-manager=npm_and_yarn&previous-version=7.16.3&new-version=7.16.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

kleimkuhler: @dependabot rebase

Patch:
diff --git a/cli/cmd/install.go b/cli/cmd/install.go
index 9836db1fc..2ae8f31a3 100644
--- a/cli/cmd/install.go
+++ b/cli/cmd/install.go
@@ -9,6 +9,7 @@ import (
 	"os"
 	"path"
 	"strings"
+	"text/template"
 	"time"
 
 	"github.com/linkerd/linkerd2/cli/flag"
@@ -122,6 +123,13 @@ A full list of configurable values can be found at https://www.github.com/linker
 			if err != nil {
 				return err
 			}
+
+			// Create values override
+			valuesOverrides, err := options.MergeValues(nil)
+			if err != nil {
+				return err
+			}
+
 			if !ignoreCluster {
 				// Ensure k8s is reachable and that Linkerd is not already installed.
 				if err := errAfterRunningChecks(values.CNIEnabled); err != nil {
@@ -132,9 +140,22 @@ A full list of configurable values can be found at https://www.github.com/linker
 					}
 					os.Exit(1)
 				}
-			}
 
-			return render(os.Stdout, values, configStage, options)
+				// Initialize the k8s API which is used for the proxyInit
+				// runAsRoot check.
+				k8sAPI, err := k8s.NewAPI(kubeconfigPath, kubeContext, impersonate, impersonateGroup, 30*time.Second)
+				if err != nil {
+					return err
+				}
+				if !isRunAsRoot(valuesOverrides) {
+					err = healthcheck.CheckNodesHaveNonDockerRuntime(cmd.Context(), k8sAPI)
+					if err != nil {
+						fmt.Fprintln(os.Stderr, err)
+						os.Exit(1)
+					}
+				}
+			}
+			return render(os.Stdout, values, configStage, valuesOverrides)
 		},
 	}
 	flagspkg.AddValueOptionsFlags(cmd.Flags(), &options)
@@ -280,8 +301,13 @@ func install(ctx context.Context, w io.Writer, values *l5dcharts.Values, flags [
 		return err
 	}
 
-	var k8sAPI *k8s.KubernetesAPI
+	// Create values override
+	valuesOverrides, err := options.MergeValues(nil)
+	if err != nil {
+		return err
+	}
 
+	var k8sAPI *k8s.KubernetesAPI
 	if !ignoreCluster {
 		// Ensure there is not already an existing Linkerd installation.
 		k8sAPI, err = k8s.NewAPI(kubeconfigPath, kubeContext, impersonate, impersonateGroup, 30*time.Second)
@@ -298,6 +324,14 @@ func install(ctx context.Context, w io.Writer, values *l5dcharts.Values, flags [
 		if !kerrors.IsNotFound(err) {
 			return err
 		}
+
+		if !isRunAsRoot(valuesOverrides) {
+			err = healthcheck.CheckNodesHaveNonDockerRuntime(ctx, k8sAPI)
+			if err != nil {
+				fmt.Fprintln(os.Stderr, err)
+				os.Exit(1)
+			}
+		}
 	}
 
 	err = initializeIssuerCredentials(ctx, k8sAPI, values)
@@ -310,10 +344,21 @@ func install(ctx context.Context, w io.Writer, values *l5dcharts.Values, flags [
 		return err
 	}
 
-	return render(w, values, stage, options)
+	return render(w, values, stage, valuesOverrides)
+}
+
+func isRunAsRoot(values map[string]interface{}) bool {
+	if proxyInit, ok := values["proxyInit"]; ok {
+		if val, ok := proxyInit.(map[string]interface{})["runAsRoot"]; ok {
+			if truth, ok := template.IsTrue(val); ok {
+				return truth
+			}
+		}
+	}
+	return false
 }
 
-func render(w io.Writer, values *l5dcharts.Values, stage string, options valuespkg.Options) error {
+func render(w io.Writer, values *l5dcharts.Values, stage string, valuesOverrides map[string]interface{}) error {
 
 	values.Stage = stage
 
@@ -388,12 +433,6 @@ func render(w io.Writer, values *l5dcharts.Values, stage string, options valuesp
 		return err
 	}
 
-	// Create values override
-	valuesOverrides, err := options.MergeValues(nil)
-	if err != nil {
-		return err
-	}
-
 	vals, err := chartutil.CoalesceValues(chart, valuesOverrides)
 	if err != nil {
 		return err
@@ -410,7 +449,7 @@ func render(w io.Writer, values *l5dcharts.Values, stage string, options valuesp
 	// Attach the final values into the `Values` field for rendering to work
 	renderedTemplates, err := engine.Render(chart, fullValues)
 	if err != nil {
-		return fmt.Errorf("Failed to render the template: %s", err)
+		return fmt.Errorf("failed to render the template: %s", err)
 	}
 
 	// Merge templates and inject
diff --git a/cli/cmd/upgrade.go b/cli/cmd/upgrade.go
index 910651816..a7a74184c 100644
--- a/cli/cmd/upgrade.go
+++ b/cli/cmd/upgrade.go
@@ -300,10 +300,22 @@ the 'linkerd repair' command to repair the Linkerd config`)
 		}
 	}
 
+	// Create values override
+	valuesOverrides, err := options.MergeValues(nil)
+	if err != nil {
+		return bytes.Buffer{}, err
+	}
+	if !isRunAsRoot(valuesOverrides) {
+		err = healthcheck.CheckNodesHaveNonDockerRuntime(ctx, k)
+		if err != nil {
+			return bytes.Buffer{}, err
+		}
+	}
+
 	// rendering to a buffer and printing full contents of buffer after
 	// render is complete, to ensure that okStatus prints separately
 	var buf bytes.Buffer
-	if err = render(&buf, values, stage, options); err != nil {
+	if err = render(&buf, values, stage, valuesOverrides); err != nil {
 		upgradeErrorf("Could not render upgrade configuration: %s", err)
 	}
 
diff --git a/go.mod b/go.mod
index 307ab07fa..2d1e5e83a 100644
--- a/go.mod
+++ b/go.mod
@@ -42,10 +42,10 @@ require (
 	google.golang.org/protobuf v1.27.1
 	helm.sh/helm/v3 v3.7.2
 	k8s.io/api v0.23.1
-	k8s.io/apiextensions-apiserver v0.23.0
+	k8s.io/apiextensions-apiserver v0.23.1
 	k8s.io/apimachinery v0.23.1
 	k8s.io/client-go v0.23.1
-	k8s.io/code-generator v0.23.0
+	k8s.io/code-generator v0.23.1
 	k8s.io/klog/v2 v2.30.0
 	k8s.io/kube-aggregator v0.23.0
 	sigs.k8s.io/yaml v1.3.0
diff --git a/go.sum b/go.sum
index 86d83cab2..1087a21fb 100644
--- a/go.sum
+++ b/go.sum
@@ -1666,8 +1666,8 @@ k8s.io/api v0.23.0/go.mod h1:8wmDdLBHBNxtOIytwLstXt5E9PddnZb0GaMcqsvDBpg=
 k8s.io/api v0.23.1 h1:ncu/qfBfUoClqwkTGbeRqqOqBCRoUAflMuOaOD7J0c8=
 k8s.io/api v0.23.1/go.mod h1:WfXnOnwSqNtG62Y1CdjoMxh7r7u9QXGCkA1u0na2jgo=
 k8s.io/apiextensions-apiserver v0.22.4/go.mod h1:kH9lxD8dbJ+k0ZizGET55lFgdGjO8t45fgZnCVdZEpw=
-k8s.io/apiextensions-apiserver v0.23.0 h1:uii8BYmHYiT2ZTAJxmvc3X8UhNYMxl2A0z0Xq3Pm+WY=
-k8s.io/apiextensions-apiserver v0.23.0/go.mod h1:xIFAEEDlAZgpVBl/1VSjGDmLoXAWRG40+GsWhKhAxY4=
+k8s.io/apiextensions-apiserver v0.23.1 h1:xxE0q1vLOVZiWORu1KwNRQFsGWtImueOrqSl13sS5EU=
+k8s.io/apiextensions-apiserver v0.23.1/go.mod h1:0qz4fPaHHsVhRApbtk3MGXNn2Q9M/cVWWhfHdY2SxiM=
 k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU=
 k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU=
 k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc=
@@ -1680,6 +1680,7 @@ k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM=
 k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q=
 k8s.io/apiserver v0.22.4/go.mod h1:38WmcUZiiy41A7Aty8/VorWRa8vDGqoUzDf2XYlku0E=
 k8s.io/apiserver v0.23.0/go.mod h1:Cec35u/9zAepDPPFyT+UMrgqOCjgJ5qtfVJDxjZYmt4=
+k8s.io/apiserver v0.23.1/go.mod h1:Bqt0gWbeM2NefS8CjWswwd2VNAKN6lUKR85Ft4gippY=
 k8s.io/cli-runtime v0.22.4/go.mod h1:x35r0ERHXr/MrbR1C6MPJxQ3xKG6+hXi9m2xLzlMPZA=
 k8s.io/cli-runtime v0.23.0 h1:UONt0BV2+edjUVAXuR1nnOAL2CB9r+Gl9yk4UBQpKfs=
 k8s.io/cli-runtime v0.23.0/go.mod h1:B5N3YH0KP1iKr6gEuJ/RRmGjO0mJQ/f/JrsmEiPQAlU=
@@ -1691,13 +1692,15 @@ k8s.io/client-go v0.23.0/go.mod h1:hrDnpnK1mSr65lHHcUuIZIXDgEbzc7/683c6hyG4jTA=
 k8s.io/client-go v0.23.1 h1:Ma4Fhf/p07Nmj9yAB1H7UwbFHEBrSPg8lviR24U2GiQ=
 k8s.io/client-go v0.23.1/go.mod h1:6QSI8fEuqD4zgFK0xbdwfB/PthBsIxCJMa3s17WlcO0=
 k8s.io/code-generator v0.22.4/go.mod h1:qjYl54pQ/emhkT0UxbufbREYJMWsHNNV/jSVwhYZQGw=
-k8s.io/code-generator v0.23.0 h1:lhyd2KJVCEmpjaCpuoooGs+e3xhPwpYvupnNRidO0Ds=
 k8s.io/code-generator v0.23.0/go.mod h1:vQvOhDXhuzqiVfM/YHp+dmg10WDZCchJVObc9MvowsE=
+k8s.io/code-generator v0.23.1 h1:ViFOlP/0bYD7VrnUDS+ch5ej5EIuMawFmHcRuv9Yxyw=
+k8s.io/code-generator v0.23.1/go.mod h1:V7yn6VNTCWW8GqodYCESVo95fuiEg713S8B7WacWZDA=
 k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk=
 k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI=
 k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM=
 k8s.io/component-base v0.22.4/go.mod h1:MrSaQy4a3tFVViff8TZL6JHYSewNCLshZCwHYM58v5A=
 k8s.io/component-base v0.23.0/go.mod h1:DHH5uiFvLC1edCpvcTDV++NKULdYYU6pR9Tt3HIKMKI=
+k8s.io/component-base v0.23.1/go.mod h1:6llmap8QtJIXGDd4uIWJhAq0Op8AtQo6bDW2RrNMTeo=
 k8s.io/component-helpers v0.22.4/go.mod h1:A50qTyczDFbhZDifIfS2zFrHuPk9UNOWPpvNZ+3RSIs=
 k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM=
 k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI=
diff --git a/pkg/healthcheck/healthcheck.go b/pkg/healthcheck/healthcheck.go
index e382b044a..4a59e956f 100644
--- a/pkg/healthcheck/healthcheck.go
+++ b/pkg/healthcheck/healthcheck.go
@@ -626,14 +626,6 @@ func (hc *HealthChecker) allCategories() []*Category {
 						return hc.checkClockSkew(ctx)
 					},
 				},
-				{
-					description: "proxy-init container runs as root user if docker container runtime is used",
-					hintAnchor:  "l5d-proxy-init-run-as-root",
-					fatal:       false,
-					check: func(ctx context.Context) error {
-						return hc.checkProxyInitRunsAsRoot(ctx, hc.Options.ChartValues)
-					},
-				},
 			},
 			false,
 		),
@@ -834,7 +826,12 @@ func (hc *HealthChecker) allCategories() []*Category {
 							}
 							return err
 						}
-						return hc.checkProxyInitRunsAsRoot(ctx, hc.LinkerdConfig())
+						config := hc.LinkerdConfig()
+						runAsRoot := config != nil && config.ProxyInit != nil && config.ProxyInit.RunAsRoot
+						if !runAsRoot {
+							return CheckNodesHaveNonDockerRuntime(ctx, hc.KubeAPIClient())
+						}
+						return nil
 					},
 				},
 			},
@@ -2098,12 +2095,14 @@ func (hc *HealthChecker) checkValidatingWebhookConfigurations(ctx context.Contex
 	return checkResources("ValidatingWebhookConfigurations", objects, []string{k8s.SPValidatorWebhookConfigName}, shouldExist)
 }
 
-func (hc *HealthChecker) checkProxyInitRunsAsRoot(ctx context.Context, config *l5dcharts.Values) error {
-	runAsRoot := config != nil && config.ProxyInit != nil && config.ProxyInit.RunAsRoot
+// CheckNodesHaveNonDockerRuntime checks that each node has a non-Docker
+// runtime. This check is only called if proxyInit is not running as root
+// which is a problem for clusters with a Docker container runtime.
+func CheckNodesHaveNonDockerRuntime(ctx context.Context, k8sAPI *k8s.KubernetesAPI) error {
 	hasDockerNodes := false
 	continueToken := ""
 	for {
-		nodes, err := hc.KubeAPIClient().CoreV1().Nodes().List(ctx, metav1.ListOptions{Continue: continueToken})
+		nodes, err := k8sAPI.CoreV1().Nodes().List(ctx, metav1.ListOptions{Continue: continueToken})
 		if err != nil {
 			return err
 		}
@@ -2119,8 +2118,8 @@ func (hc *HealthChecker) checkProxyInitRunsAsRoot(ctx context.Context, config *l
 			break
 		}
 	}
-	if hasDockerNodes && !runAsRoot {
-		return fmt.Errorf("There are nodes using the docker container runtime and proxy-init container must run as root user.\n\tTry installing linkerd via --set proxyInit.runAsRoot=true")
+	if hasDockerNodes {
+		return fmt.Errorf("there are nodes using the docker container runtime and proxy-init container must run as root user.\ntry installing linkerd via --set proxyInit.runAsRoot=true")
 	}
 	return nil
 }
diff --git a/web/app/package.json b/web/app/package.json
index 3c3758737..a45b95631 100644
--- a/web/app/package.json
+++ b/web/app/package.json
@@ -42,7 +42,7 @@
   },
   "devDependencies": {
     "@babel/core": "^7.16.0",
-    "@babel/eslint-parser": "^7.16.3",
+    "@babel/eslint-parser": "^7.16.5",
     "@babel/plugin-proposal-class-properties": "^7.16.5",
     "@babel/preset-env": "^7.16.4",
     "@babel/preset-react": "^7.16.5",
diff --git a/web/app/yarn.lock b/web/app/yarn.lock
index 39e852934..2a743231d 100644
--- a/web/app/yarn.lock
+++ b/web/app/yarn.lock
@@ -35,10 +35,10 @@
     semver "^6.3.0"
     source-map "^0.5.0"
 
-"@babel/eslint-parser@^7.16.3":
-  version "7.16.3"
-  resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.16.3.tgz#2a6b1702f3f5aea48e00cea5a5bcc241c437e459"
-  integrity sha512-iB4ElZT0jAt7PKVaeVulOECdGe6UnmA/O0P9jlF5g5GBOwDVbna8AXhHRu4s27xQf6OkveyA8iTDv1jHdDejgQ==
+"@babel/eslint-parser@^7.16.5":
+  version "7.16.5"
+  resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.16.5.tgz#48d3485091d6e36915358e4c0d0b2ebe6da90462"
+  integrity sha512-mUqYa46lgWqHKQ33Q6LNCGp/wPR3eqOYTUixHFsfrSQqRxH0+WOzca75iEjFr5RDGH1dDz622LaHhLOzOuQRUA==
   dependencies:
     eslint-scope "^5.1.1"
     eslint-visitor-keys "^2.1.0"


Test patch:
diff --git a/cli/cmd/install_test.go b/cli/cmd/install_test.go
index c53f2ae1b..17ba2d826 100644
--- a/cli/cmd/install_test.go
+++ b/cli/cmd/install_test.go
@@ -232,8 +232,12 @@ func TestRender(t *testing.T) {
 	for i, tc := range testCases {
 		tc := tc // pin
 		t.Run(fmt.Sprintf("%d: %s", i, tc.goldenFileName), func(t *testing.T) {
+			valuesOverrides, err := tc.options.MergeValues(nil)
+			if err != nil {
+				t.Fatalf("Failed to get values overrides: %v", err)
+			}
 			var buf bytes.Buffer
-			if err := render(&buf, tc.values, "", tc.options); err != nil {
+			if err := render(&buf, tc.values, "", valuesOverrides); err != nil {
 				t.Fatalf("Failed to render templates: %v", err)
 			}
 			testDataDiffer.DiffTestdata(t, tc.goldenFileName, buf.String())
diff --git a/cli/cmd/upgrade_test.go b/cli/cmd/upgrade_test.go
index 593c18f59..beaa99160 100644
--- a/cli/cmd/upgrade_test.go
+++ b/cli/cmd/upgrade_test.go
@@ -560,7 +560,7 @@ func pathMatch(path []string, template []string) bool {
 
 func renderInstall(t *testing.T, values *linkerd2.Values) bytes.Buffer {
 	var installBuf bytes.Buffer
-	if err := render(&installBuf, values, "", valuespkg.Options{}); err != nil {
+	if err := render(&installBuf, values, "", nil); err != nil {
 		t.Fatalf("could not render install manifests: %s", err)
 	}
 	return installBuf
diff --git a/test/integration/testdata/check.pre.golden b/test/integration/testdata/check.pre.golden
index 310992292..1f72a63c9 100644
--- a/test/integration/testdata/check.pre.golden
+++ b/test/integration/testdata/check.pre.golden
@@ -24,7 +24,6 @@ pre-kubernetes-setup
 √ can read Secrets
 √ can read extension-apiserver-authentication configmap
 √ no clock skew detected
-√ proxy-init container runs as root user if docker container runtime is used
 
 linkerd-version
 ---------------
diff --git a/test/integration/uninstall/testdata/check.pre.golden b/test/integration/uninstall/testdata/check.pre.golden
index 310992292..1f72a63c9 100644
--- a/test/integration/uninstall/testdata/check.pre.golden
+++ b/test/integration/uninstall/testdata/check.pre.golden
@@ -24,7 +24,6 @@ pre-kubernetes-setup
 √ can read Secrets
 √ can read extension-apiserver-authentication configmap
 √ no clock skew detected
-√ proxy-init container runs as root user if docker container runtime is used
 
 linkerd-version
 ---------------