web: update to ESLint 9 (#10812)

* web: update to ESLint 9

ESLint 9 has been out for awhile now, and all of the plug-ins that we use have caught up, so it is
time to bite the bullet and upgrade.  This commit:

- upgrades to ESLint 9, and upgrades all associated plugins
- Replaces the `.eslintrc` and `.eslintignore` files with the new, "flat" configuration file,
  "eslint.config.mjs".
- Places the previous "precommit" and "nightmare" rules in `./scripts/eslint.precommit.mjs` and
  `./scripts/eslint.nightmare.mjs`, respectively
- Replaces the scripted wrappers for eslint (`eslint`, `eslint-precommit`) with a single executable
  that takes the arguments `--precommit`, which applies a stricter set of rules, and `--nightmare`,
  which applies an even more terrifyingly strict set of rules.
- Provides the scripted wrapper `./scripts/eslint.mjs` so that eslint can be run from `bun`, if one
  so chooses.
- Fixes *all* of the lint `eslint.config.mjs` now finds, including removing all of the `eslint`
  styling rules and overrides because Eslint now proudly leaves that entirely up to Prettier.

To shut Dependabot up about ESLint.

* Added explanation for no-console removal.

* web: did not need the old and unmaintained nightmare mode; it can be configured directly.
This commit is contained in:
Ken Sternberg
2024-08-07 15:04:18 -07:00
committed by GitHub
parent 322ae4c4ed
commit 79c01ca473
34 changed files with 5658 additions and 5076 deletions

View File

@ -117,7 +117,6 @@ const customStyles = css`
@customElement("ak-interface-user-presentation")
// @ts-ignore
// eslint-disable-next-line @typescript-eslint/no-unused-vars
class UserInterfacePresentation extends AKElement {
static get styles() {
return [
@ -169,7 +168,7 @@ class UserInterfacePresentation extends AKElement {
}
get isFullyConfigured() {
return !!(this.uiConfig && this.me && this.brand);
return Boolean(this.uiConfig && this.me && this.brand);
}
render() {
@ -455,7 +454,7 @@ export class UserInterface extends EnterpriseAwareInterface {
}
get isFullyConfigured() {
return !!(this.uiConfig && this.me);
return Boolean(this.uiConfig && this.me);
}
render() {