mirror of
https://github.com/go-gitea/gitea.git
synced 2026-11-05 00:09:33 +09:00
> [!NOTE] > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | Type | Update | Pending | |---|---|---|---|---|---|---| | [@primer/octicons](https://primer.style/octicons) ([source](https://redirect.github.com/primer/octicons)) | [`19.41.0` → `19.42.0`](https://renovatebot.com/diffs/npm/@primer%2focticons/19.41.0/19.42.0) |  |  | dependencies | minor | | | [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.72.0` → `8.72.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.72.0/8.72.1) |  |  | devDependencies | patch | | | @​vitest/eslint-plugin | [`1.6.27` → `1.6.28`](https://renovatebot.com/diffs/npm/@vitest%2feslint-plugin/1.6.27/1.6.28) |  |  | devDependencies | patch | | | [astral-sh/setup-uv](https://redirect.github.com/astral-sh/setup-uv) | `v10.3.0` → `v10.3.2` |  |  | action | patch | `v10.3.3` | | [chart.js](https://www.chartjs.org) ([source](https://redirect.github.com/chartjs/Chart.js)) | [`4.5.1` → `4.6.1`](https://renovatebot.com/diffs/npm/chart.js/4.5.1/4.6.1) |  |  | dependencies | minor | | | [cli/cli](https://redirect.github.com/cli/cli) | `2.103.2` → `2.103.3` |  |  | | patch | | | [connectrpc.com/connect/v2](https://redirect.github.com/connectrpc/connect-go) | `v2.0.1` → `v2.0.2` |  |  | require | patch | | | [crowdin/github-action](https://redirect.github.com/crowdin/github-action) | `v3.4.0` → `v3.5.0` |  |  | action | minor | | | [djlint](https://redirect.github.com/djlint/djLint) | `==1.46.6` → `==1.47.1` |  |  | dependency-groups | minor | `1.49.2` (+4) | | [docker/login-action](https://redirect.github.com/docker/login-action) | `v4.6.0` → `v4.7.0` |  |  | action | minor | | | [elasticsearch](https://hub.docker.com/_/elasticsearch) ([source](https://redirect.github.com/elastic/dockerfiles)) | `3f4d63c` → `ef5cafd` | | | service | digest | | | [eslint-plugin-unicorn](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn) | [`78.0.0` → `79.0.0`](https://renovatebot.com/diffs/npm/eslint-plugin-unicorn/78.0.0/79.0.0) |  |  | devDependencies | major | | | [eslint-plugin-vue](https://eslint.vuejs.org) ([source](https://redirect.github.com/vuejs/eslint-plugin-vue)) | [`10.11.1` → `10.12.0`](https://renovatebot.com/diffs/npm/eslint-plugin-vue/10.11.1/10.12.0) |  |  | devDependencies | minor | | | [getmeili/meilisearch](https://redirect.github.com/meilisearch/meilisearch) | `c94e58c` → `1f578fa` | | | service | digest | | | [gitea.dev/sdk](https://gitea.com/gitea/go-sdk) | `v1.3.0` → `v1.5.0` |  |  | require | minor | `v1.5.1` | | [github.com/buildkite/terminal-to-html/v3](https://redirect.github.com/buildkite/terminal-to-html) | `v3.17.1` → `v3.17.3` |  |  | require | patch | | | [github.com/dlclark/regexp2/v2](https://redirect.github.com/dlclark/regexp2) | `v2.9.1` → `v2.11.0` |  |  | require | minor | `v2.12.0` | | [github.com/getkin/kin-openapi](https://redirect.github.com/getkin/kin-openapi) | `v0.151.0` → `v0.152.0` |  |  | require | minor | | | [github.com/go-co-op/gocron/v2](https://redirect.github.com/go-co-op/gocron) | `v2.22.0` → `v2.23.0` |  |  | require | minor | | | [github.com/go-redsync/redsync/v4](https://redirect.github.com/go-redsync/redsync) | `v4.18.0` → `v4.18.1` |  |  | require | patch | | | [github.com/google/pprof](https://redirect.github.com/google/pprof) | `1facf8f` → `dbd0ed3` |  |  | require | digest | | | [gitlab.com/gitlab-org/api/client-go/v3](https://gitlab.com/gitlab-org/api/client-go) | `v3.29.0` → `v3.39.1` |  |  | require | minor | `v3.40.2` (+3) | | [google.golang.org/grpc](https://redirect.github.com/grpc/grpc-go) | `v1.84.0` → `v1.85.0` |  |  | require | minor | | | [katex](https://katex.org) ([source](https://redirect.github.com/KaTeX/KaTeX)) | [`0.19.0` → `0.19.1`](https://renovatebot.com/diffs/npm/katex/0.19.0/0.19.1) |  |  | dependencies | patch | | | [markdownlint-cli](https://redirect.github.com/igorshubovych/markdownlint-cli) | [`0.49.1` → `0.50.0`](https://renovatebot.com/diffs/npm/markdownlint-cli/0.49.1/0.50.0) |  |  | devDependencies | minor | | | [material-icon-theme](https://redirect.github.com/material-extensions/vscode-material-icon-theme/blob/main/README.md) ([source](https://redirect.github.com/material-extensions/vscode-material-icon-theme)) | [`5.39.0` → `5.40.0`](https://renovatebot.com/diffs/npm/material-icon-theme/5.39.0/5.40.0) |  |  | devDependencies | minor | | | [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) | `v1.60.1` → `v1.61.0` |  |  | require | minor | `v1.61.1` | | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm/npm/pnpm)) | [`12.14.0` → `12.16.1`](https://renovatebot.com/diffs/npm/pnpm/12.14.0/12.16.1) |  |  | packageManager | minor | | | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm/npm/pnpm)) | [`>= 12.14.0` → `>= 12.16.1`](https://renovatebot.com/diffs/npm/pnpm/12.14.0/12.16.1) |  |  | engines | minor | | | [postcss](https://postcss.org/) ([source](https://redirect.github.com/postcss/postcss)) | [`8.5.31` → `8.5.32`](https://renovatebot.com/diffs/npm/postcss/8.5.31/8.5.32) |  |  | dependencies | patch | | | [renovate](https://renovatebot.com) ([source](https://redirect.github.com/renovatebot/renovate)) | [`44.172.2` → `44.190.1`](https://octochangelog.com/compare?repo=renovatebot%2Frenovate&from=44.172.2&to=44.190.1) |  |  | | minor | `44.200.0` (+21) | | [renovatebot/github-action](https://redirect.github.com/renovatebot/github-action) | `v46.3.9` → `v46.3.10` |  |  | action | patch | `v46.3.12` (+1) | | [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.72.0` → `8.72.1`](https://renovatebot.com/diffs/npm/typescript-eslint/8.72.0/8.72.1) |  |  | devDependencies | patch | | | [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`8.3.4` → `8.3.5`](https://renovatebot.com/diffs/npm/vite/8.3.4/8.3.5) |  |  | dependencies | patch | | --- ### Release Notes <details> <summary>primer/octicons (@​primer/octicons)</summary> ### [`v19.42.0`](https://redirect.github.com/primer/octicons/releases/tag/%40primer/octicons%4019.42.0) [Compare Source](https://redirect.github.com/primer/octicons/compare/@primer/octicons@19.41.0...@primer/octicons@19.42.0) ##### Minor Changes - [#​1381](https://redirect.github.com/primer/octicons/pull/1381) [`d25ce68df9d08abd65431a8a48b45446432f1b45`](https://redirect.github.com/primer/octicons/commit/d25ce68df9d08abd65431a8a48b45446432f1b45) Thanks [@​edokoa](https://redirect.github.com/edokoa)! - Add the 16px `git-draft-agent`, `git-pull-request-agent`, `check-agent`, `git-que-merge-agent`, `git-closed-agent`, and `git-merge-agent` icons for agent-assisted draft, open, ready-to-merge, queued, closed, and merged pull request states. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v8.72.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8721-2026-10-26) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.72.0...v8.72.1) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>astral-sh/setup-uv</summary> ### [`v10.3.2`](https://redirect.github.com/astral-sh/setup-uv/releases/tag/v10.3.2): 🌈 update known checksums for 0.13.5 [Compare Source](https://redirect.github.com/astral-sh/setup-uv/compare/v10.3.1...v10.3.2) #### Changes #### 🧰 Maintenance - chore: update known checksums for 0.13.5 @​[github-actions\[bot\]](https://redirect.github.com/apps/github-actions) ([#​1103](https://redirect.github.com/astral-sh/setup-uv/issues/1103)) #### 📚 Documentation - docs: update version references to v10.3.1 @​[github-actions\[bot\]](https://redirect.github.com/apps/github-actions) ([#​1102](https://redirect.github.com/astral-sh/setup-uv/issues/1102)) ### [`v10.3.1`](https://redirect.github.com/astral-sh/setup-uv/releases/tag/v10.3.1): 🌈 preserve cache error class names in save-cache bundle [Compare Source](https://redirect.github.com/astral-sh/setup-uv/compare/v10.3.0...v10.3.1) #### Changes This release includes a fix so that multiple concurrent workflows trying to upload the same cache no longer warn `##[warning]Failed to save: Unable to reserve cache with key ..., another job may be creating this cache.` #### 🐛 Bug fixes - fix: preserve cache error class names in save-cache bundle [@​dannyward630](https://redirect.github.com/dannyward630) ([#​1093](https://redirect.github.com/astral-sh/setup-uv/issues/1093)) #### 🧰 Maintenance - chore: update known checksums for 0.13.4 @​[github-actions\[bot\]](https://redirect.github.com/apps/github-actions) ([#​1099](https://redirect.github.com/astral-sh/setup-uv/issues/1099)) - chore: update known checksums for 0.13.2/0.13.3 @​[github-actions\[bot\]](https://redirect.github.com/apps/github-actions) ([#​1098](https://redirect.github.com/astral-sh/setup-uv/issues/1098)) - chore: update known checksums for 0.13.1 @​[github-actions\[bot\]](https://redirect.github.com/apps/github-actions) ([#​1094](https://redirect.github.com/astral-sh/setup-uv/issues/1094)) - Verify npm dependency signatures before builds [@​zaniebot](https://redirect.github.com/zaniebot) ([#​1027](https://redirect.github.com/astral-sh/setup-uv/issues/1027)) #### 📚 Documentation - docs: cache-dependency-glob matches relative to the working directory [@​flange-ipb](https://redirect.github.com/flange-ipb) ([#​1092](https://redirect.github.com/astral-sh/setup-uv/issues/1092)) - docs: update version references to v10.3.0 @​[github-actions\[bot\]](https://redirect.github.com/apps/github-actions) ([#​1090](https://redirect.github.com/astral-sh/setup-uv/issues/1090)) #### ⬆️ Dependency updates - chore(deps): roll up Dependabot updates [@​eifinger](https://redirect.github.com/eifinger) ([#​1101](https://redirect.github.com/astral-sh/setup-uv/issues/1101)) </details> <details> <summary>chartjs/Chart.js (chart.js)</summary> ### [`v4.6.1`](https://redirect.github.com/chartjs/Chart.js/releases/tag/v4.6.1) [Compare Source](https://redirect.github.com/chartjs/Chart.js/compare/v4.5.1...v4.6.1) ### Essential Links - [npm](https://www.npmjs.com/package/chart.js) - [Migration guide](https://www.chartjs.org/docs/4.6.1/migration/v4-migration.html) - [Docs](https://www.chartjs.org/docs/4.6.1/) - [API](https://www.chartjs.org/docs/4.6.1/api/) - [Samples](https://www.chartjs.org/docs/4.6.1/samples/information.html) * [#​12355](https://redirect.github.com/chartjs/Chart.js/issues/12355) fix: trusted publishing fix + version 4.6.1 bump Thanks to [@​etimberg](https://redirect.github.com/etimberg) </details> <details> <summary>cli/cli</summary> ### [`v2.103.3`](https://redirect.github.com/cli/cli/releases/tag/v2.103.3): GitHub CLI 2.103.3 [Compare Source](https://redirect.github.com/cli/cli/compare/v2.103.2...v2.103.3) ##### What's Changed ##### 🐛 Fixes - fix(gh auth status): explain expired expiring tokens with `--no-refresh` by [@​babakks](https://redirect.github.com/babakks) in [#​14815](https://redirect.github.com/cli/cli/pull/14815) **Full Changelog**: <https://github.com/cli/cli/compare/v2.103.2...v2.103.3> </details> <details> <summary>connectrpc/connect-go (connectrpc.com/connect/v2)</summary> ### [`v2.0.2`](https://redirect.github.com/connectrpc/connect-go/releases/tag/v2.0.2) [Compare Source](https://redirect.github.com/connectrpc/connect-go/compare/v2.0.1...v2.0.2) #### What's Changed ##### Bugfixes - Fix data race reading ClientInfo after a cancelled call by [@​emcfarlane](https://redirect.github.com/emcfarlane) in [#​1036](https://redirect.github.com/connectrpc/connect-go/pull/1036) - List JSON charset variants in Accept-Post by [@​emcfarlane](https://redirect.github.com/emcfarlane) in [#​1037](https://redirect.github.com/connectrpc/connect-go/pull/1037) - Flush response headers in ServerStream.SendHeaders over HTTP by [@​raveesh-me](https://redirect.github.com/raveesh-me) in [#​1035](https://redirect.github.com/connectrpc/connect-go/pull/1035) - Stop reading oversized messages after rejecting them by [@​stefanvanburen](https://redirect.github.com/stefanvanburen) in [#​1039](https://redirect.github.com/connectrpc/connect-go/pull/1039) #### New Contributors - [@​raveesh-me](https://redirect.github.com/raveesh-me) made their first contribution in [#​1035](https://redirect.github.com/connectrpc/connect-go/pull/1035) **Full Changelog**: <https://github.com/connectrpc/connect-go/compare/v2.0.1...v2.0.2> </details> <details> <summary>crowdin/github-action</summary> ### [`v3.5.0`](https://redirect.github.com/crowdin/github-action/releases/tag/v3.5.0) [Compare Source](https://redirect.github.com/crowdin/github-action/compare/v3.4.0...v3.5.0) #### What's Changed - CLI [5.5.0](https://redirect.github.com/crowdin/crowdin-cli/releases/tag/5.5.0) by [@​andrii-bodnar](https://redirect.github.com/andrii-bodnar) **Full Changelog**: <https://github.com/crowdin/github-action/compare/v3.4.0...v3.5.0> </details> <details> <summary>djlint/djLint (djlint)</summary> ### [`v1.47.1`](https://redirect.github.com/djlint/djLint/blob/HEAD/CHANGELOG.md#1471---2026-10-26) [Compare Source](https://redirect.github.com/djlint/djLint/compare/v1.47.0...v1.47.1) ##### Fix - `preserve-inline` in the `js` setting `brace_style` takes effect, so `{ bubbles: true }` stays on one line in a `<script>` or in an attribute formatted with `--format-attribute-js-json`. It used to be dropped before the code was formatted. - The json schema allows any option under `css` and `js`, so a strict validator such as Tombi no longer reports `indent_size` there. ### [`v1.47.0`](https://redirect.github.com/djlint/djLint/blob/HEAD/CHANGELOG.md#1470---2026-10-22) [Compare Source](https://redirect.github.com/djlint/djLint/compare/v1.46.6...v1.47.0) ##### Feature - New option `--sort-load-tags` / `sort_load_tags` sorts the libraries in a `{% load %}` tag and drops the ones written twice, so `{% load static i18n %}` becomes `{% load i18n static %}`. In `{% load a b from library %}` the names before `from` are sorted. It is off by default: where two libraries define a tag or filter of the same name, the one loaded last wins, so sorting can change which one a template uses. - The formatter drops the spaces `H012` reports around an attribute's `=`, so `<div class = "a">` becomes `<div class="a">`. ##### Changed - `H010` reports the names the formatter lowercases, in any mix of case, so `Width="3"` is now reported. A framework binding such as `:itemID` or `@ID` and a longer name such as `data-ID` no longer are, since the formatter leaves their case alone. - `H018` is not reported under `--close-void-tags`, since the formatter then writes the `/>` ending the rule reports. `--ignore-case` already worked this way for `H009` and `H010`. ##### Fix - `H020` reports an empty pair whose end tag has whitespace before its `>`, such as `<div></div\n>`. - `H026` reports a `class` or `id` holding only whitespace, such as `class=" "`, and one written with spaces around the `=`. - `H033` reports an action padded at both ends once. It used to report it twice, unless an attribute before `action` happened to make the two reports look the same. - Markup written inside an attribute value, as in `<p title="<img src='a'>">`, is text, and `H005`, `H008`, `H010`, `H012`, `D018`, `J018`, `H024`, `H026`, `H029` and `H033` no longer report it. `H046` and `H051` read `tabindex` and `role` from the tag's own attributes, so `tabindex=1` written in a value or in the page text is not reported either. - `T001` and `T027` read a tag holding a dict, such as `{{ f({"a": {"b": 1}}) }}`, up to the `}}` that closes it rather than the first `}}` inside it. - `T032` steps over an escaped quote in a string, so the spaces in `{{ x|default:"a \"b c\"" }}` are not reported. - `H015` reports a heading followed by a tag on the same line anywhere in the file. It used to look only at the last line. - The rules that read a tag's attributes step over a template tag written in it, including a handlebars `{{{attrs}}}` and a dict as in `{{ {'class': 'x'}|xmlattr }}`, so `<img {{ attrs }} src='a'>` is reported by `H008`, which used to stop reading at the `{{`. - `T038` steps over a string in a block tag, so the `{%` in `{% with a="{%" %}` does not cut the tag short. ##### Performance - The rules that read a tag's attributes stop at a stray `<`, and `H015`, `H030`, `H036`, `T001`, `T027`, `T038` and `T039` no longer read the rest of the document again for each tag. A file holding thousands of unclosed tags or headings on one line is linted in a fraction of a second, where it used to take minutes. </details> <details> <summary>docker/login-action</summary> ### [`v4.7.0`](https://redirect.github.com/docker/login-action/releases/tag/v4.7.0) [Compare Source](https://redirect.github.com/docker/login-action/compare/v4.6.0...v4.7.0) - Preserve explicit ECR settings in `registry-auth` by [@​crazy-max](https://redirect.github.com/crazy-max) in [#​1089](https://redirect.github.com/docker/login-action/pull/1089) - Use registry hosts for scoped credentials by [@​crazy-max](https://redirect.github.com/crazy-max) in [#​1088](https://redirect.github.com/docker/login-action/pull/1088) - Raise Docker Hub OIDC max expiry to 6 hours by [@​crazy-max](https://redirect.github.com/crazy-max) in [#​1068](https://redirect.github.com/docker/login-action/pull/1068) - Log Docker Hub OIDC token exchange progress by [@​crazy-max](https://redirect.github.com/crazy-max) in [#​1061](https://redirect.github.com/docker/login-action/pull/1061) - Bump [@​aws-sdk/client-ecr](https://redirect.github.com/aws-sdk/client-ecr) and [@​aws-sdk/client-ecr-public](https://redirect.github.com/aws-sdk/client-ecr-public) to 3.1154.0 in [#​1093](https://redirect.github.com/docker/login-action/pull/1093) - Bump [@​docker/actions-toolkit](https://redirect.github.com/docker/actions-toolkit) from 0.94.0 to 0.107.0 in [#​1100](https://redirect.github.com/docker/login-action/pull/1100) - Bump [@​humanfs/node](https://redirect.github.com/humanfs/node) from 0.16.7 to 0.16.8 in [#​1077](https://redirect.github.com/docker/login-action/pull/1077) - Bump csv-parse from 7.0.1 to 7.0.3 in [#​1078](https://redirect.github.com/docker/login-action/pull/1078) - Bump handlebars from 4.7.9 to 4.7.10 in [#​1091](https://redirect.github.com/docker/login-action/pull/1091) - Bump js-yaml from 5.2.2 to 5.5.0 in [#​1066](https://redirect.github.com/docker/login-action/pull/1066) - Bump postcss from 8.5.22 to 8.5.26 in [#​1071](https://redirect.github.com/docker/login-action/pull/1071) - Bump postcss-selector-parser from 7.1.1 to 7.1.6 in [#​1092](https://redirect.github.com/docker/login-action/pull/1092) - Bump source-map-js from 1.2.1 to 1.2.2 in [#​1090](https://redirect.github.com/docker/login-action/pull/1090) - Bump undici from 6.27.0 to 6.29.1 in [#​1085](https://redirect.github.com/docker/login-action/pull/1085) - Bump uuid from 14.0.1 to 14.0.3 in [#​1096](https://redirect.github.com/docker/login-action/pull/1096) **Full Changelog**: <https://github.com/docker/login-action/compare/v4.6.0...v4.7.0> </details> <details> <summary>sindresorhus/eslint-plugin-unicorn (eslint-plugin-unicorn)</summary> ### [`v79.0.0`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v79.0.0) [Compare Source](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/compare/v78.0.0...v79.0.0) #### Breaking - `no-top-level-side-effects`: Focus on mutations of globals, and remove it from the `unopinionated` preset ([#​3915](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3915)) [`24abac4`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/24abac48) - Unknown calls are no longer reported by default. Enable the new [`checkUnknownCalls`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-top-level-side-effects.md#checkunknowncalls) option for stricter checking. - Mutations of globals, like `document.title = 'x'` and `Object.assign(globalThis, …)`, are now reported, also in declarations and default exports. You may see new reports. #### Improvements - Infer types from JSDoc `@type`, `@param`, and `@returns` annotations in rules that use type information ([#​3941](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3941)) [`2b4bfab`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/2b4bfab0) - Handle template literals without expressions like strings in more rules ([#​3943](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3943)) [`8bd8c06`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/8bd8c063) - Autofix more code that contains comments, while keeping the comments ([#​3939](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3939)) [`87baf82`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/87baf82f) - Fix autofixes in many rules that could produce broken code or wrong parentheses ([#​3917](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3917)) [`fed7eac`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/fed7eac2) - Make autofixes safer in many rules - Fixes that can change behavior in rare cases are now suggestions, for example in `prefer-spread`, `prefer-math-min-max`, `prefer-modern-dom-apis`, and `prefer-switch`. - Improve performance [`175efaf`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/175efaf1) [`3dd8fd2`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/3dd8fd28) - `comment-content`: Add [`ignore`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/comment-content.md#ignore) option ([#​3950](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3950)) [`3fe046e`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/3fe046e6) - `consistent-function-scoping`: Ignore functions in Vitest hoisted factories ([#​3905](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3905)) [`98912a9`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/98912a91) - `custom-error-definition`: Ignore abstract TypeScript classes ([#​3934](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3934)) [`ee3501f`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/ee3501fb) - `no-non-function-verb-prefix`: Ignore shorthand destructuring ([#​3926](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3926)) [`76e5760`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/76e5760b) - `no-top-level-side-effects`: Recognize more config helpers ([#​3916](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3916)) [`d459c51`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/d459c511) - `no-useless-coercion`: Preserve boolean return types in TypeScript ([#​3904](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3904)) [`bef1571`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/bef15714) - `prefer-array-some`: Check `.find()` results used as booleans ([#​3913](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3913)) [`c957bf3`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/c957bf3d) - `prefer-default-parameters`: Skip unsafe logical OR fallbacks ([#​3951](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3951)) [`bcec97a`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/bcec97a4) - `prefer-includes`: Skip incompatible TypeScript search values ([#​3927](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3927)) [`d66441a`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/d66441aa) - `prefer-includes-over-repeated-comparisons`: Report negated and typed loose comparisons ([#​3935](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3935)) [`6e21cb1`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/6e21cb1b) - `prefer-includes-over-repeated-comparisons`: Preserve TypeScript union narrowing ([#​3910](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3910)) [`b5c479d`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/b5c479d8) - `prefer-literal-ascii`: Preserve escaped trailing spaces in templates ([#​3911](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3911)) [`360094b`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/360094bb) - `prefer-minimal-ternary`: Skip minimizations that break types ([#​3892](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3892)) [`f022d6d`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/f022d6d1) - `prefer-modern-math-apis`: Use suggestions for changes that can affect numeric results ([#​3914](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3914)) [`8af7c17`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/8af7c172) - `prefer-simple-condition-first`: Improve `typeof` comparisons and guards ([#​3948](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3948)) [`ee3edf0`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/ee3edf06) - `prefer-simplified-conditions`: Handle equivalent logical expressions ([#​3938](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3938)) [`a0b2788`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/a0b2788b) - `prefer-simplified-conditions`: Factor common terms in longer chains and static templates ([#​3942](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3942)) [`0d8c8bc`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/0d8c8bcb) - `prefer-smaller-scope`: Check TypeScript type aliases ([#​3928](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3928)) [`290d922`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/290d922c) - `prefer-string-raw`: Preserve TypeScript literal types in autofixes ([#​3912](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3912)) [`0611546`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/06115464) - `prefer-ternary`: Preserve consecutive early-return guards ([#​3945](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3945)) [`3fa840f`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/3fa840fe) - `require-post-message-target-origin`: Skip incompatible typed methods ([#​3925](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3925)) [`387194b`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/387194bd) - `throw-new-error`: Ignore calls that return functions ([#​3894](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3894)) [`5e35def`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/5e35def7) *** </details> <details> <summary>vuejs/eslint-plugin-vue (eslint-plugin-vue)</summary> ### [`v10.12.0`](https://redirect.github.com/vuejs/eslint-plugin-vue/blob/HEAD/CHANGELOG.md#10120) [Compare Source](https://redirect.github.com/vuejs/eslint-plugin-vue/compare/v10.11.1...v10.12.0) ##### New rules - Added new [`vue/no-content-outside-block`](https://eslint.vuejs.org/rules/no-content-outside-block.html) rule ([#​3119](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3119)) - Added new [`vue/no-define-model-default`](https://eslint.vuejs.org/rules/no-define-model-default.html) rule ([#​3146](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3146)) - Added new [`vue/no-props-shadow`](https://eslint.vuejs.org/rules/no-props-shadow.html) rule ([#​3118](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3118)) ##### New rule options - Added `required` option to [`vue/block-lang`](https://eslint.vuejs.org/rules/block-lang.html) to report components that omit a required block entirely ([#​3125](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3125)) - Added `ignoreMixins` option to [`vue/require-explicit-emits`](https://eslint.vuejs.org/rules/require-explicit-emits.html) rule ([#​3141](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3141)) ##### Fixed false negatives (may result in more lint issues) - Added support for refs detected by type information, such as refs returned from composables, to [`vue/no-ref-as-operand`](https://eslint.vuejs.org/rules/no-ref-as-operand.html) rule ([#​3144](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3144)) - Fixed [`vue/no-dupe-keys`](https://eslint.vuejs.org/rules/no-dupe-keys.html) not reporting `defineModel()` names that collide with a prop, another model, or a `<script setup>` variable ([#​3163](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3163)) - Fixed [`vue/no-dupe-keys`](https://eslint.vuejs.org/rules/no-dupe-keys.html) not reporting `<script setup>` variables that shadow a prop while aliasing a different one, such as `const foo = toRef(props, 'bar')` ([#​3124](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3124)) - Fixed [`vue/no-multi-spaces`](https://eslint.vuejs.org/rules/no-multi-spaces.html) not reporting multiple spaces in the tags of some top-level blocks, e.g. `<script setup>` ([#​3162](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3162)) - Fixed [`vue/no-ref-as-operand`](https://eslint.vuejs.org/rules/no-ref-as-operand.html) and [`vue/no-ref-object-reactivity-loss`](https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html) to also check refs created with `useTemplateRef()` ([#​3154](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3154)) - Fixed [`vue/no-unused-properties`](https://eslint.vuejs.org/rules/no-unused-properties.html) not reporting unused non-props properties in components that use `$props` as a whole (e.g. `v-bind="$props"`) ([#​3161](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3161)) - Fixed [`vue/padding-lines-in-component-definition`](https://eslint.vuejs.org/rules/padding-lines-in-component-definition.html) to check every pair of adjacent properties, not only the first, when `withinOption` or `withinEach` is not set ([#​3155](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3155)) - Fixed [`vue/require-default-prop`](https://eslint.vuejs.org/rules/require-default-prop.html), [`vue/no-boolean-default`](https://eslint.vuejs.org/rules/no-boolean-default.html), [`vue/no-required-prop-with-default`](https://eslint.vuejs.org/rules/no-required-prop-with-default.html) and [`vue/require-valid-default-prop`](https://eslint.vuejs.org/rules/require-valid-default-prop.html) not handling defaults that are passed to `withDefaults()` by reference or spread instead of an inline object literal ([#​3114](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3114)) ##### Fixed false positives (may result in fewer lint issues) - Changed [`vue/singleline-html-element-content-newline`](https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html) and [`vue/multiline-html-element-content-newline`](https://eslint.vuejs.org/rules/multiline-html-element-content-newline.html) rules to ignore `router-link` and `nuxt-link` elements by default ([#​3165](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3165)) - Fixed [`vue/no-undef-properties`](https://eslint.vuejs.org/rules/no-undef-properties.html) false positives for properties returned via `...toRefs(reactive({ ... }))` from `setup()` ([#​3134](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3134)) - Fixed [`vue/require-typed-ref`](https://eslint.vuejs.org/rules/require-typed-ref.html) false positives when an explicit type annotation already applies to the `ref()` call ([#​3123](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3123)) - Fixed [`vue/v-if-else-key`](https://eslint.vuejs.org/rules/v-if-else-key.html) false positive for components with a bound `:key` ([#​3150](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3150)) ##### Other changes - Removed Reactivity Transform support from [`vue/no-ref-object-reactivity-loss`](https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html), since the Reactivity Transform proposal was dropped from Vue ([#​3126](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3126)) - Changed [`vue/html-self-closing`](https://eslint.vuejs.org/rules/html-self-closing.html) to treat Vue's special `<slot>` and `<template>` elements as components (`html.component` option) instead of normal HTML elements ([#​3164](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3164)) - Changed [`vue/attributes-order`](https://eslint.vuejs.org/rules/attributes-order.html) rule to provide a suggestion instead of an autofix when the fix would move a binding across `v-bind="object"` ([#​3145](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3145)) - Improved performance of [`vue/no-reserved-component-names`](https://eslint.vuejs.org/rules/no-reserved-component-names.html) by no longer rebuilding its reserved name sets for every file ([#​3147](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3147)) </details> <details> <summary>gitea/go-sdk (gitea.dev/sdk)</summary> ### [`v1.5.0`](https://gitea.com/gitea/go-sdk/releases/tag/v1.5.0) [Compare Source](https://gitea.com/gitea/go-sdk/compare/v1.4.0...v1.5.0) #### What's Changed - feat: allow PAT-authenticated clients to manage access tokens in [#​840](https://gitea.com/gitea/go-sdk/pulls/840) - fix(pull): surface the server's error when a merge is refused in [#​870](https://gitea.com/gitea/go-sdk/pulls/870) - feat(hook): add name option to webhooks in [#​867](https://gitea.com/gitea/go-sdk/pulls/867) - feat: cover the API options gitea-cli still calls raw in [#​862](https://gitea.com/gitea/go-sdk/pulls/862) - ci: implement gitea's cache-seeder in [#​866](https://gitea.com/gitea/go-sdk/pulls/866) - Add bitbucketserver and forgejo migration service types in [#​868](https://gitea.com/gitea/go-sdk/pulls/868) - chore(deps): update dependencies in [#​869](https://gitea.com/gitea/go-sdk/pulls/869) - chore: remove the Client wrapper generator in [#​865](https://gitea.com/gitea/go-sdk/pulls/865) - feat: add force push and stale approval fields to branch protections in [#​864](https://gitea.com/gitea/go-sdk/pulls/864) #### Contributors - [@​sedlund](https://redirect.github.com/sedlund) - [@​Svtter](https://redirect.github.com/Svtter) - [@​SudhanshuSingh](https://redirect.github.com/SudhanshuSingh) - [@​bircni](https://redirect.github.com/bircni) - [@​silverwind](https://redirect.github.com/silverwind) - [@​lunny](https://redirect.github.com/lunny) - [@​renovate-bot](https://redirect.github.com/renovate-bot) #### New Contributors - [@​Svtter](https://redirect.github.com/Svtter) made their first contribution in [#​870](https://gitea.com/gitea/go-sdk/pulls/870) - [@​bircni](https://redirect.github.com/bircni) made their first contribution in [#​862](https://gitea.com/gitea/go-sdk/pulls/862) - [@​SudhanshuSingh](https://redirect.github.com/SudhanshuSingh) made their first contribution in [#​864](https://gitea.com/gitea/go-sdk/pulls/864) **Full Changelog**: [v1.4.0...v1.5.0](https://gitea.com/gitea/go-sdk/compare/v1.4.0...v1.5.0) ### [`v1.4.0`](https://gitea.com/gitea/go-sdk/releases/tag/v1.4.0) [Compare Source](https://gitea.com/gitea/go-sdk/compare/v1.3.0...v1.4.0) #### What's Changed - fix: retry server version lookup after failure in [#​829](https://gitea.com/gitea/go-sdk/pulls/829) - chore(deps): update dependencies, adapt to Gitea 28 in [#​863](https://gitea.com/gitea/go-sdk/pulls/863) - chore: update golangci-lint for Go 1.27.2, exclude dagger from Renovate in [#​861](https://gitea.com/gitea/go-sdk/pulls/861) **Note**: Gitea skipped 1.28, so the project and workflow run approve/cancel/logs APIs are now gated on Gitea 28.0.0. Clients pinning `SetGiteaVersion("1.28.0")` must switch to `"28.0.0"`. #### Contributors - [@​noeljackson](https://redirect.github.com/noeljackson) - [@​silverwind](https://redirect.github.com/silverwind) - [@​renovate-bot](https://redirect.github.com/renovate-bot) **Full Changelog**: [v1.3.0...v1.4.0](https://gitea.com/gitea/go-sdk/compare/v1.3.0...v1.4.0) Written by Claude. </details> <details> <summary>buildkite/terminal-to-html (github.com/buildkite/terminal-to-html/v3)</summary> ### [`v3.17.3`](https://redirect.github.com/buildkite/terminal-to-html/releases/tag/v3.17.3) [Compare Source](https://redirect.github.com/buildkite/terminal-to-html/compare/v3.17.2...v3.17.3) #### [v3.17.3](https://redirect.github.com/buildkite/terminal-to-html/tree/v3.17.3) [Full Changelog](https://redirect.github.com/buildkite/terminal-to-html/compare/v3.17.2...v3.17.3) This release provides the Linux, macOS, and Windows binaries missing from v3.17.2. Apart from the version number, application code is unchanged from v3.17.2. ##### Changed - Prepare versioned binaries for v3.17.3. [#​293](https://redirect.github.com/buildkite/terminal-to-html/pull/293) ([@​wolfeidau](https://redirect.github.com/wolfeidau)) - Document the draft-first binary release process, including artifact verification and immutable release restrictions. [#​292](https://redirect.github.com/buildkite/terminal-to-html/pull/292) ([@​wolfeidau](https://redirect.github.com/wolfeidau)) ##### Included from v3.17.2 - Remove `html/template` from the rendering path to avoid a runtime trap when rendering with TinyGo, while preserving the generated HTML. [#​282](https://redirect.github.com/buildkite/terminal-to-html/pull/282) ([@​dannymidnight](https://redirect.github.com/dannymidnight)) - Raise the minimum supported Go version to **1.26.10** and update the development/CI Go Docker image. [#​290](https://redirect.github.com/buildkite/terminal-to-html/pull/290) ([@​wolfeidau](https://redirect.github.com/wolfeidau)) - Bump `golang.org/x/sys` to 0.47.0. [#​280](https://redirect.github.com/buildkite/terminal-to-html/pull/280) ([@​dependabot](https://redirect.github.com/dependabot)\[bot]) ### [`v3.17.2`](https://redirect.github.com/buildkite/terminal-to-html/releases/tag/v3.17.2) [Compare Source](https://redirect.github.com/buildkite/terminal-to-html/compare/v3.17.1...v3.17.2) #### [v3.17.2](https://redirect.github.com/buildkite/terminal-to-html/tree/v3.17.2) [Full Changelog](https://redirect.github.com/buildkite/terminal-to-html/compare/v3.17.1...v3.17.2) ##### Fixed - Remove `html/template` from the rendering path to avoid a runtime trap when rendering with TinyGo, while preserving the generated HTML. [#​282](https://redirect.github.com/buildkite/terminal-to-html/pull/282) ([@​dannymidnight](https://redirect.github.com/dannymidnight)) ##### Changed - Raise the minimum supported Go version from 1.25.0 to 1.26.10. [#​290](https://redirect.github.com/buildkite/terminal-to-html/pull/290) ([@​wolfeidau](https://redirect.github.com/wolfeidau)) ##### Dependency updates - Update the development/CI Go Docker image from 1.26.4 to 1.26.10. [#​281](https://redirect.github.com/buildkite/terminal-to-html/pull/281), [#​290](https://redirect.github.com/buildkite/terminal-to-html/pull/290) - Bump `golang.org/x/sys` from 0.46.0 to 0.47.0. [#​280](https://redirect.github.com/buildkite/terminal-to-html/pull/280) ([@​dependabot](https://redirect.github.com/dependabot)\[bot]) </details> <details> <summary>dlclark/regexp2 (github.com/dlclark/regexp2/v2)</summary> ### [`v2.11.0`](https://redirect.github.com/dlclark/regexp2/compare/v2.10.1...v2.11.0) [Compare Source](https://redirect.github.com/dlclark/regexp2/compare/v2.10.1...v2.11.0) ### [`v2.10.1`](https://redirect.github.com/dlclark/regexp2/compare/v2.10.0...v2.10.1) [Compare Source](https://redirect.github.com/dlclark/regexp2/compare/v2.10.0...v2.10.1) ### [`v2.10.0`](https://redirect.github.com/dlclark/regexp2/compare/v2.9.1...v2.10.0) [Compare Source](https://redirect.github.com/dlclark/regexp2/compare/v2.9.1...v2.10.0) </details> <details> <summary>getkin/kin-openapi (github.com/getkin/kin-openapi)</summary> ### [`v0.152.0`](https://redirect.github.com/getkin/kin-openapi/releases/tag/v0.152.0) [Compare Source](https://redirect.github.com/getkin/kin-openapi/compare/v0.151.0...v0.152.0) #### What's Changed - openapi2conv: push path-level body/formData parameters into operations by [@​Yi-111-a](https://redirect.github.com/Yi-111-a) in [#​1340](https://redirect.github.com/getkin/kin-openapi/pull/1340) - fix(openapi3): resolve transitive component refs in JSON Schema 2020-12 validation by [@​Yi-111-a](https://redirect.github.com/Yi-111-a) in [#​1342](https://redirect.github.com/getkin/kin-openapi/pull/1342) - openapi3: honor readOnly/writeOnly from allOf schemas in required checks by [@​ybai08](https://redirect.github.com/ybai08) in [#​1343](https://redirect.github.com/getkin/kin-openapi/pull/1343) - openapi3: resolve $refs of Components.Links by [@​fenollp](https://redirect.github.com/fenollp) in [#​1344](https://redirect.github.com/getkin/kin-openapi/pull/1344) - openapi3: marshal a schema's empty type list as absent rather than null by [@​fenollp](https://redirect.github.com/fenollp) in [#​1345](https://redirect.github.com/getkin/kin-openapi/pull/1345) - openapi3: drop the Header dump from its content/schema error by [@​fenollp](https://redirect.github.com/fenollp) in [#​1346](https://redirect.github.com/getkin/kin-openapi/pull/1346) - openapi3gen: always propagate field tag by [@​phooijenga](https://redirect.github.com/phooijenga) in [#​1347](https://redirect.github.com/getkin/kin-openapi/pull/1347) - routers/gorillamux: return an error instead of panicking when registering routes by [@​fenollp](https://redirect.github.com/fenollp) in [#​1348](https://redirect.github.com/getkin/kin-openapi/pull/1348) - openapi3: report $refs to null nodes as unresolved instead of panicking by [@​fenollp](https://redirect.github.com/fenollp) in [#​1349](https://redirect.github.com/getkin/kin-openapi/pull/1349) - openapi3: validate null servers, server variables, tags and components without panicking by [@​fenollp](https://redirect.github.com/fenollp) in [#​1351](https://redirect.github.com/getkin/kin-openapi/pull/1351) - openapi2conv: fix FromV3Parameter panics on binary schema refs and value-less schemas by [@​fenollp](https://redirect.github.com/fenollp) in [#​1352](https://redirect.github.com/getkin/kin-openapi/pull/1352) - openapi3filter: parse integer values as base 10 by [@​LuisFigueroaG](https://redirect.github.com/LuisFigueroaG) in [#​1353](https://redirect.github.com/getkin/kin-openapi/pull/1353) - openapi3filter: decode spaceDelimited and pipeDelimited query objects by [@​ybai08](https://redirect.github.com/ybai08) in [#​1350](https://redirect.github.com/getkin/kin-openapi/pull/1350) - Case-sensitive usmarshalling with json/v2 by [@​fenollp](https://redirect.github.com/fenollp) in [#​1355](https://redirect.github.com/getkin/kin-openapi/pull/1355) - openapi3filter: decode deepObject and non-exploded form object properties of urlencoded bodies by [@​ybai08](https://redirect.github.com/ybai08) in [#​1354](https://redirect.github.com/getkin/kin-openapi/pull/1354) - openapi3: keep $ref siblings on a schema reached through a cycle by [@​Yi-111-a](https://redirect.github.com/Yi-111-a) in [#​1357](https://redirect.github.com/getkin/kin-openapi/pull/1357) - tests: go around encoding/json/v2's randomness in error message by [@​fenollp](https://redirect.github.com/fenollp) in [#​1361](https://redirect.github.com/getkin/kin-openapi/pull/1361) - tests: remove actual network calls from tests by [@​fenollp](https://redirect.github.com/fenollp) in [#​1362](https://redirect.github.com/getkin/kin-openapi/pull/1362) - tests: run more in parallel by [@​fenollp](https://redirect.github.com/fenollp) in [#​1363](https://redirect.github.com/getkin/kin-openapi/pull/1363) - openapi3: ignore reference siblings in OpenAPI 3.0 by [@​lucky798213](https://redirect.github.com/lucky798213) in [#​1268](https://redirect.github.com/getkin/kin-openapi/pull/1268) - openapi3: WalkSchemas and WalkParameters stop on a callback cycle by [@​reuvenharrison](https://redirect.github.com/reuvenharrison) in [#​1364](https://redirect.github.com/getkin/kin-openapi/pull/1364) - openapi3filter: validate response headers described with content by [@​LuisFigueroaG](https://redirect.github.com/LuisFigueroaG) in [#​1358](https://redirect.github.com/getkin/kin-openapi/pull/1358) - openapi3filter: honor ExcludeRequestQueryParams for path item parameters by [@​LuisFigueroaG](https://redirect.github.com/LuisFigueroaG) in [#​1365](https://redirect.github.com/getkin/kin-openapi/pull/1365) - openapi3: handle fields next to $ref as OpenAPI 3.0, 3.1 and 3.2 specify by [@​fenollp](https://redirect.github.com/fenollp) in [#​1371](https://redirect.github.com/getkin/kin-openapi/pull/1371) - changelog: fixup rebased messes by [@​fenollp](https://redirect.github.com/fenollp) in [#​1372](https://redirect.github.com/getkin/kin-openapi/pull/1372) #### New Contributors - [@​ybai08](https://redirect.github.com/ybai08) made their first contribution in [#​1343](https://redirect.github.com/getkin/kin-openapi/pull/1343) - [@​phooijenga](https://redirect.github.com/phooijenga) made their first contribution in [#​1347](https://redirect.github.com/getkin/kin-openapi/pull/1347) **Full Changelog**: <https://github.com/getkin/kin-openapi/compare/v0.151.0...v0.152.0> </details> <details> <summary>go-co-op/gocron (github.com/go-co-op/gocron/v2)</summary> ### [`v2.23.0`](https://redirect.github.com/go-co-op/gocron/releases/tag/v2.23.0) [Compare Source](https://redirect.github.com/go-co-op/gocron/compare/v2.22.0...v2.23.0) #### What's Changed - feat(scheduler): WithStartAtGrace opt-in tolerance for late first-run dispatch by [@​JohnRoesler](https://redirect.github.com/JohnRoesler) in [#​945](https://redirect.github.com/go-co-op/gocron/pull/945) - fix(executor,scheduler): use injected clock for job timing and guard reschedule loop by [@​JohnRoesler](https://redirect.github.com/JohnRoesler) in [#​946](https://redirect.github.com/go-co-op/gocron/pull/946) - fix(executor): attribute scheduling delay to the tick that actually fired by [@​JohnRoesler](https://redirect.github.com/JohnRoesler) in [#​948](https://redirect.github.com/go-co-op/gocron/pull/948) - refactor(scheduler): extract shared first-run logic from selectNewJob/selectStart by [@​JohnRoesler](https://redirect.github.com/JohnRoesler) in [#​947](https://redirect.github.com/go-co-op/gocron/pull/947) - build(deps): bump actions/setup-go from 6 to 7 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​949](https://redirect.github.com/go-co-op/gocron/pull/949) - build(deps): bump actions/setup-python from 6 to 7 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​950](https://redirect.github.com/go-co-op/gocron/pull/950) - ci: updating golangci-lint to 2.13.1 to support go 1.27 by [@​manuelarte](https://redirect.github.com/manuelarte) in [#​954](https://redirect.github.com/go-co-op/gocron/pull/954) - Exclude stable Go version in CI workflow by [@​JohnRoesler](https://redirect.github.com/JohnRoesler) in [#​968](https://redirect.github.com/go-co-op/gocron/pull/968) - docs: removing retired go report badge by [@​manuelarte](https://redirect.github.com/manuelarte) in [#​952](https://redirect.github.com/go-co-op/gocron/pull/952) - build(deps): bump github.com/stretchr/testify from 1.11.1 to 1.12.1 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​ > [!IMPORTANT] > ✂ PR body was truncated to here. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNzIuMiIsInVwZGF0ZWRJblZlciI6IjQ0LjE3Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> --------- Co-authored-by: silverwind <me@silverwind.io>
1264 lines
56 KiB
TypeScript
1264 lines
56 KiB
TypeScript
import comments from '@eslint-community/eslint-plugin-eslint-comments';
|
|
import globals from 'globals';
|
|
import importPlugin from 'eslint-plugin-import-x';
|
|
import playwright from 'eslint-plugin-playwright';
|
|
import regexp from 'eslint-plugin-regexp';
|
|
import stylistic from '@stylistic/eslint-plugin';
|
|
import typescriptParser from '@typescript-eslint/parser';
|
|
import typescriptPlugin from 'typescript-eslint';
|
|
import unicorn from 'eslint-plugin-unicorn';
|
|
import vitest from '@vitest/eslint-plugin';
|
|
import vue from 'eslint-plugin-vue';
|
|
import vueScopedCss from 'eslint-plugin-vue-scoped-css';
|
|
import wc from 'eslint-plugin-wc';
|
|
import {defineConfig, globalIgnores} from 'eslint/config';
|
|
|
|
import unescapedHtmlLiteral from './tools/eslint-rules/unescaped-html-literal.ts';
|
|
|
|
const jsExts = ['js', 'mjs', 'cjs'] as const;
|
|
const tsExts = ['ts', 'mts', 'cts'] as const;
|
|
const vueExts = ['vue'] as const;
|
|
|
|
const restrictedGlobals = [
|
|
{name: 'localStorage', message: 'Use `modules/user-settings.ts` instead.'},
|
|
{name: 'fetch', message: 'Use `modules/fetch.ts` instead.'},
|
|
];
|
|
|
|
const restrictedProperties = [
|
|
{object: 'window', property: 'localStorage', message: 'Use `modules/user-settings.ts` instead.'},
|
|
{object: 'globalThis', property: 'localStorage', message: 'Use `modules/user-settings.ts` instead.'},
|
|
{object: 'window', property: 'fetch', message: 'Use `modules/fetch.ts` instead.'},
|
|
{object: 'globalThis', property: 'fetch', message: 'Use `modules/fetch.ts` instead.'},
|
|
];
|
|
|
|
export default defineConfig([
|
|
globalIgnores([
|
|
'web_src/fomantic',
|
|
'public/assets/js',
|
|
]),
|
|
{
|
|
files: [`**/*.{${[...jsExts, ...tsExts, ...vueExts].join(',')}}`],
|
|
ignores: ['dist/*'],
|
|
languageOptions: {
|
|
ecmaVersion: 'latest',
|
|
sourceType: 'module',
|
|
parser: typescriptParser,
|
|
parserOptions: {
|
|
sourceType: 'module',
|
|
ecmaVersion: 'latest',
|
|
ecmaFeatures: {
|
|
impliedStrict: true,
|
|
},
|
|
parser: typescriptParser,
|
|
project: true,
|
|
extraFileExtensions: vueExts.map((ext) => `.${ext}`),
|
|
},
|
|
},
|
|
linterOptions: {
|
|
reportUnusedDisableDirectives: 2,
|
|
reportUnusedInlineConfigs: 2,
|
|
},
|
|
plugins: {
|
|
'@eslint-community/eslint-comments': comments,
|
|
'@stylistic': stylistic,
|
|
'@typescript-eslint': typescriptPlugin.plugin,
|
|
'gitea': {rules: {'unescaped-html-literal': unescapedHtmlLiteral}},
|
|
'import-x': importPlugin,
|
|
regexp,
|
|
unicorn,
|
|
wc,
|
|
},
|
|
settings: {
|
|
'import-x/extensions': [...jsExts, ...tsExts, ...vueExts].map((ext) => `.${ext}`),
|
|
'import-x/parsers': {
|
|
'@typescript-eslint/parser': [...jsExts, ...tsExts].map((ext) => `.${ext}`),
|
|
'vue-eslint-parser': vueExts.map((ext) => `.${ext}`),
|
|
},
|
|
'import-x/resolver': {'typescript': true},
|
|
},
|
|
rules: {
|
|
'@eslint-community/eslint-comments/disable-enable-pair': [2, {allowWholeFile: true}],
|
|
'@eslint-community/eslint-comments/no-aggregating-enable': [2],
|
|
'@eslint-community/eslint-comments/no-duplicate-disable': [2],
|
|
'@eslint-community/eslint-comments/no-restricted-disable': [0],
|
|
'@eslint-community/eslint-comments/no-unlimited-disable': [2],
|
|
'@eslint-community/eslint-comments/no-unused-enable': [2],
|
|
'@eslint-community/eslint-comments/no-use': [0],
|
|
'@eslint-community/eslint-comments/require-description': [2, {ignore: ['eslint', 'eslint-enable', 'eslint-env', 'exported', 'global', 'globals']}],
|
|
'@stylistic/array-bracket-newline': [0],
|
|
'@stylistic/array-bracket-spacing': [2, 'never'],
|
|
'@stylistic/array-element-newline': [0],
|
|
'@stylistic/arrow-parens': [2, 'always'],
|
|
'@stylistic/arrow-spacing': [2, {before: true, after: true}],
|
|
'@stylistic/block-spacing': [0],
|
|
'@stylistic/brace-style': [2, '1tbs', {allowSingleLine: true}],
|
|
'@stylistic/comma-dangle': [2, 'always-multiline'],
|
|
'@stylistic/comma-spacing': [2, {before: false, after: true}],
|
|
'@stylistic/comma-style': [2, 'last'],
|
|
'@stylistic/computed-property-spacing': [2, 'never'],
|
|
'@stylistic/curly-newline': [0],
|
|
'@stylistic/dot-location': [2, 'property'],
|
|
'@stylistic/eol-last': [2],
|
|
'@stylistic/exp-list-style': [0],
|
|
'@stylistic/function-call-argument-newline': [0],
|
|
'@stylistic/function-call-spacing': [2, 'never'],
|
|
'@stylistic/function-paren-newline': [0],
|
|
'@stylistic/generator-star-spacing': [0],
|
|
'@stylistic/implicit-arrow-linebreak': [0],
|
|
'@stylistic/indent': [2, 2, {ignoreComments: true, SwitchCase: 1}],
|
|
'@stylistic/indent-binary-ops': [0],
|
|
'@stylistic/key-spacing': [2],
|
|
'@stylistic/keyword-spacing': [2],
|
|
'@stylistic/line-comment-position': [0],
|
|
'@stylistic/linebreak-style': [2, 'unix'],
|
|
'@stylistic/lines-around-comment': [0],
|
|
'@stylistic/lines-between-class-members': [0],
|
|
'@stylistic/max-len': [0],
|
|
'@stylistic/max-statements-per-line': [0],
|
|
'@stylistic/member-delimiter-style': [0],
|
|
'@stylistic/multiline-comment-style': [0],
|
|
'@stylistic/multiline-ternary': [0],
|
|
'@stylistic/new-parens': [2],
|
|
'@stylistic/newline-per-chained-call': [0],
|
|
'@stylistic/no-confusing-arrow': [0],
|
|
'@stylistic/no-extra-parens': [0],
|
|
'@stylistic/no-extra-semi': [2],
|
|
'@stylistic/no-floating-decimal': [0],
|
|
'@stylistic/no-mixed-operators': [0],
|
|
'@stylistic/no-mixed-spaces-and-tabs': [2],
|
|
'@stylistic/no-multi-spaces': [2, {ignoreEOLComments: true, exceptions: {Property: true}}],
|
|
'@stylistic/no-multiple-empty-lines': [2, {max: 1, maxEOF: 0, maxBOF: 0}],
|
|
'@stylistic/no-tabs': [2],
|
|
'@stylistic/no-trailing-spaces': [2],
|
|
'@stylistic/no-whitespace-before-property': [2],
|
|
'@stylistic/nonblock-statement-body-position': [2],
|
|
'@stylistic/object-curly-newline': [0],
|
|
'@stylistic/object-curly-spacing': [2, 'never'],
|
|
'@stylistic/object-property-newline': [0],
|
|
'@stylistic/one-var-declaration-per-line': [0],
|
|
'@stylistic/operator-linebreak': [2, 'after'],
|
|
'@stylistic/padded-blocks': [2, 'never'],
|
|
'@stylistic/padding-line-between-statements': [0],
|
|
'@stylistic/quote-props': [0],
|
|
'@stylistic/quotes': [2, 'single', {avoidEscape: true, allowTemplateLiterals: 'always'}],
|
|
'@stylistic/rest-spread-spacing': [2, 'never'],
|
|
'@stylistic/semi': [2, 'always', {omitLastInOneLineBlock: true}],
|
|
'@stylistic/semi-spacing': [2, {before: false, after: true}],
|
|
'@stylistic/semi-style': [2, 'last'],
|
|
'@stylistic/space-before-blocks': [2, 'always'],
|
|
'@stylistic/space-before-function-paren': [2, {anonymous: 'ignore', named: 'never', asyncArrow: 'always'}],
|
|
'@stylistic/space-in-parens': [2, 'never'],
|
|
'@stylistic/space-infix-ops': [2],
|
|
'@stylistic/space-unary-ops': [2],
|
|
'@stylistic/spaced-comment': [2, 'always'],
|
|
'@stylistic/switch-colon-spacing': [2],
|
|
'@stylistic/template-curly-spacing': [2, 'never'],
|
|
'@stylistic/template-tag-spacing': [2, 'never'],
|
|
'@stylistic/type-annotation-spacing': [0],
|
|
'@stylistic/type-generic-spacing': [0],
|
|
'@stylistic/type-named-tuple-spacing': [0],
|
|
'@stylistic/wrap-iife': [2, 'inside'],
|
|
'@stylistic/wrap-regex': [0],
|
|
'@stylistic/yield-star-spacing': [2, 'after'],
|
|
'@typescript-eslint/adjacent-overload-signatures': [0],
|
|
'@typescript-eslint/array-type': [0],
|
|
'@typescript-eslint/await-thenable': [2],
|
|
'@typescript-eslint/ban-ts-comment': [2, {'ts-expect-error': true, 'ts-ignore': true, 'ts-nocheck': false, 'ts-check': false}],
|
|
'@typescript-eslint/ban-tslint-comment': [0],
|
|
'@typescript-eslint/class-literal-property-style': [0],
|
|
'@typescript-eslint/class-methods-use-this': [0],
|
|
'@typescript-eslint/consistent-generic-constructors': [2, 'constructor'],
|
|
'@typescript-eslint/consistent-indexed-object-style': [0],
|
|
'@typescript-eslint/consistent-return': [0],
|
|
'@typescript-eslint/consistent-type-assertions': [2, {assertionStyle: 'as', objectLiteralTypeAssertions: 'allow'}],
|
|
'@typescript-eslint/consistent-type-definitions': [2, 'type'],
|
|
'@typescript-eslint/consistent-type-exports': [2, {fixMixedExportsWithInlineTypeSpecifier: false}],
|
|
'@typescript-eslint/consistent-type-imports': [2, {prefer: 'type-imports', fixStyle: 'separate-type-imports', disallowTypeAnnotations: true}],
|
|
'@typescript-eslint/default-param-last': [0],
|
|
'@typescript-eslint/dot-notation': [0],
|
|
'@typescript-eslint/explicit-function-return-type': [0],
|
|
'@typescript-eslint/explicit-member-accessibility': [0],
|
|
'@typescript-eslint/explicit-module-boundary-types': [0],
|
|
'@typescript-eslint/init-declarations': [0],
|
|
'@typescript-eslint/max-params': [0],
|
|
'@typescript-eslint/member-ordering': [0],
|
|
'@typescript-eslint/method-signature-style': [0],
|
|
'@typescript-eslint/naming-convention': [0],
|
|
'@typescript-eslint/no-array-constructor': [2],
|
|
'@typescript-eslint/no-array-delete': [2],
|
|
'@typescript-eslint/no-base-to-string': [2],
|
|
'@typescript-eslint/no-confusing-non-null-assertion': [2],
|
|
'@typescript-eslint/no-confusing-void-expression': [0],
|
|
'@typescript-eslint/no-deprecated': [2],
|
|
'@typescript-eslint/no-dupe-class-members': [0],
|
|
'@typescript-eslint/no-duplicate-enum-values': [2],
|
|
'@typescript-eslint/no-duplicate-type-constituents': [2, {ignoreUnions: true}],
|
|
'@typescript-eslint/no-dynamic-delete': [0],
|
|
'@typescript-eslint/no-empty-function': [0],
|
|
'@typescript-eslint/no-empty-object-type': [2],
|
|
'@typescript-eslint/no-explicit-any': [0],
|
|
'@typescript-eslint/no-extra-non-null-assertion': [2],
|
|
'@typescript-eslint/no-extraneous-class': [0],
|
|
'@typescript-eslint/no-floating-promises': [0],
|
|
'@typescript-eslint/no-for-in-array': [2],
|
|
'@typescript-eslint/no-generated-empty-object-type': [2],
|
|
'@typescript-eslint/no-implied-eval': [2],
|
|
'@typescript-eslint/no-import-type-side-effects': [0], // dupe with consistent-type-imports
|
|
'@typescript-eslint/no-inferrable-types': [0],
|
|
'@typescript-eslint/no-invalid-this': [0],
|
|
'@typescript-eslint/no-invalid-void-type': [0],
|
|
'@typescript-eslint/no-loop-func': [0],
|
|
'@typescript-eslint/no-magic-numbers': [0],
|
|
'@typescript-eslint/no-meaningless-void-operator': [0],
|
|
'@typescript-eslint/no-misused-new': [2],
|
|
'@typescript-eslint/no-misused-promises': [2, {checksVoidReturn: {attributes: false, arguments: false}}],
|
|
'@typescript-eslint/no-misused-spread': [2],
|
|
'@typescript-eslint/no-mixed-enums': [0],
|
|
'@typescript-eslint/no-namespace': [2],
|
|
'@typescript-eslint/no-non-null-asserted-nullish-coalescing': [2],
|
|
'@typescript-eslint/no-non-null-asserted-optional-chain': [2],
|
|
'@typescript-eslint/no-non-null-assertion': [0],
|
|
'@typescript-eslint/no-redeclare': [2],
|
|
'@typescript-eslint/no-redundant-type-constituents': [2],
|
|
'@typescript-eslint/no-require-imports': [2],
|
|
'@typescript-eslint/no-restricted-imports': [0],
|
|
'@typescript-eslint/no-restricted-types': [0],
|
|
'@typescript-eslint/no-shadow': [0],
|
|
'@typescript-eslint/no-this-alias': [0], // handled by unicorn/no-this-assignment
|
|
'@typescript-eslint/no-unnecessary-boolean-literal-compare': [0],
|
|
'@typescript-eslint/no-unnecessary-condition': [0],
|
|
'@typescript-eslint/no-unnecessary-parameter-property-assignment': [2],
|
|
'@typescript-eslint/no-unnecessary-qualifier': [0],
|
|
'@typescript-eslint/no-unnecessary-template-expression': [0],
|
|
'@typescript-eslint/no-unnecessary-type-arguments': [2],
|
|
'@typescript-eslint/no-unnecessary-type-assertion': [2],
|
|
'@typescript-eslint/no-unnecessary-type-constraint': [2],
|
|
'@typescript-eslint/no-unnecessary-type-conversion': [2],
|
|
'@typescript-eslint/no-unnecessary-type-parameters': [0],
|
|
'@typescript-eslint/no-unsafe-argument': [0],
|
|
'@typescript-eslint/no-unsafe-assignment': [0],
|
|
'@typescript-eslint/no-unsafe-call': [0],
|
|
'@typescript-eslint/no-unsafe-declaration-merging': [2],
|
|
'@typescript-eslint/no-unsafe-enum-assignment': [0],
|
|
'@typescript-eslint/no-unsafe-enum-comparison': [0],
|
|
'@typescript-eslint/no-unsafe-function-type': [2],
|
|
'@typescript-eslint/no-unsafe-member-access': [0],
|
|
'@typescript-eslint/no-unsafe-return': [0],
|
|
'@typescript-eslint/no-unsafe-type-assertion': [0],
|
|
'@typescript-eslint/no-unsafe-unary-minus': [2],
|
|
'@typescript-eslint/no-unused-expressions': [2],
|
|
'@typescript-eslint/no-unused-private-class-members': [2],
|
|
'@typescript-eslint/no-unused-vars': [2, {vars: 'all', args: 'all', caughtErrors: 'all', ignoreRestSiblings: false, argsIgnorePattern: '^_', varsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_', destructuredArrayIgnorePattern: '^_'}],
|
|
'@typescript-eslint/no-use-before-define': [2, {functions: false, classes: true, variables: true, allowNamedExports: true, typedefs: false, enums: false, ignoreTypeReferences: true}],
|
|
'@typescript-eslint/no-useless-constructor': [0],
|
|
'@typescript-eslint/no-useless-default-assignment': [2],
|
|
'@typescript-eslint/no-useless-empty-export': [0],
|
|
'@typescript-eslint/no-wrapper-object-types': [2],
|
|
'@typescript-eslint/non-nullable-type-assertion-style': [0],
|
|
'@typescript-eslint/only-throw-error': [2],
|
|
'@typescript-eslint/parameter-properties': [0],
|
|
'@typescript-eslint/prefer-as-const': [2],
|
|
'@typescript-eslint/prefer-destructuring': [0],
|
|
'@typescript-eslint/prefer-enum-initializers': [0],
|
|
'@typescript-eslint/prefer-find': [2],
|
|
'@typescript-eslint/prefer-for-of': [2],
|
|
'@typescript-eslint/prefer-function-type': [2],
|
|
'@typescript-eslint/prefer-includes': [2],
|
|
'@typescript-eslint/prefer-literal-enum-member': [0],
|
|
'@typescript-eslint/prefer-namespace-keyword': [0], // handled by @typescript-eslint/no-namespace
|
|
'@typescript-eslint/prefer-nullish-coalescing': [0],
|
|
'@typescript-eslint/prefer-optional-chain': [2, {requireNullish: true}],
|
|
'@typescript-eslint/prefer-promise-reject-errors': [2],
|
|
'@typescript-eslint/prefer-readonly': [0],
|
|
'@typescript-eslint/prefer-readonly-parameter-types': [0],
|
|
'@typescript-eslint/prefer-reduce-type-parameter': [0],
|
|
'@typescript-eslint/prefer-regexp-exec': [0],
|
|
'@typescript-eslint/prefer-return-this-type': [0],
|
|
'@typescript-eslint/prefer-string-starts-ends-with': [2, {allowSingleElementEquality: 'always'}],
|
|
'@typescript-eslint/promise-function-async': [0],
|
|
'@typescript-eslint/related-getter-setter-pairs': [2],
|
|
'@typescript-eslint/require-array-sort-compare': [2],
|
|
'@typescript-eslint/require-await': [2],
|
|
'@typescript-eslint/restrict-plus-operands': [2],
|
|
'@typescript-eslint/restrict-template-expressions': [2],
|
|
'@typescript-eslint/return-await': [2, 'error-handling-correctness-only'],
|
|
'@typescript-eslint/strict-boolean-expressions': [0],
|
|
'@typescript-eslint/strict-void-return': [0],
|
|
'@typescript-eslint/switch-exhaustiveness-check': [2],
|
|
'@typescript-eslint/triple-slash-reference': [2],
|
|
'@typescript-eslint/unbound-method': [0], // too many false-positives
|
|
'@typescript-eslint/unified-signatures': [2],
|
|
'@typescript-eslint/use-unknown-in-catch-callback-variable': [0],
|
|
'accessor-pairs': [2],
|
|
'array-callback-return': [2, {checkForEach: true}],
|
|
'arrow-body-style': [0],
|
|
'block-scoped-var': [2],
|
|
'camelcase': [0],
|
|
'capitalized-comments': [0],
|
|
'class-methods-use-this': [0],
|
|
'complexity': [0],
|
|
'consistent-return': [0],
|
|
'consistent-this': [0],
|
|
'constructor-super': [2],
|
|
'curly': [0],
|
|
'default-case-last': [2],
|
|
'default-case': [0],
|
|
'default-param-last': [0],
|
|
'dot-notation': [0],
|
|
'eqeqeq': [2],
|
|
'for-direction': [2],
|
|
'func-name-matching': [2],
|
|
'func-names': [0],
|
|
'func-style': [0],
|
|
'getter-return': [2],
|
|
'gitea/unescaped-html-literal': [2],
|
|
'grouped-accessor-pairs': [2],
|
|
'guard-for-in': [0],
|
|
'id-denylist': [0],
|
|
'id-length': [0],
|
|
'id-match': [0],
|
|
'import-x/consistent-type-specifier-style': [0],
|
|
'import-x/default': [0],
|
|
'import-x/dynamic-import-chunkname': [0],
|
|
'import-x/export': [2],
|
|
'import-x/exports-last': [0],
|
|
'import-x/extensions': [2, 'always', {ignorePackages: true}],
|
|
'import-x/first': [2],
|
|
'import-x/group-exports': [0],
|
|
'import-x/max-dependencies': [0],
|
|
'import-x/named': [0],
|
|
'import-x/namespace': [0],
|
|
'import-x/newline-after-import': [0],
|
|
'import-x/no-absolute-path': [2],
|
|
'import-x/no-amd': [2],
|
|
'import-x/no-anonymous-default-export': [0],
|
|
'import-x/no-commonjs': [2],
|
|
'import-x/no-cycle': [2, {ignoreExternal: true, maxDepth: 1}],
|
|
'import-x/no-default-export': [0],
|
|
'import-x/no-deprecated': [0],
|
|
'import-x/no-duplicates': [2],
|
|
'import-x/no-dynamic-require': [0],
|
|
'import-x/no-empty-named-blocks': [2],
|
|
'import-x/no-extraneous-dependencies': [2],
|
|
'import-x/no-import-module-exports': [0],
|
|
'import-x/no-internal-modules': [0],
|
|
'import-x/no-mutable-exports': [0],
|
|
'import-x/no-named-as-default-member': [0],
|
|
'import-x/no-named-as-default': [0],
|
|
'import-x/no-named-default': [0],
|
|
'import-x/no-named-export': [0],
|
|
'import-x/no-namespace': [0],
|
|
'import-x/no-nodejs-modules': [0],
|
|
'import-x/no-relative-packages': [0],
|
|
'import-x/no-relative-parent-imports': [0],
|
|
'import-x/no-rename-default': [0],
|
|
'import-x/no-restricted-paths': [0],
|
|
'import-x/no-self-import': [2],
|
|
'import-x/no-unassigned-import': [0],
|
|
'import-x/no-unresolved': [2, {commonjs: true, ignore: ['\\?.+$']}],
|
|
'import-x/no-unused-modules': [0], // incompatible with eslint 9
|
|
'import-x/no-useless-path-segments': [2, {commonjs: true}],
|
|
'import-x/no-webpack-loader-syntax': [2],
|
|
'import-x/order': [0],
|
|
'import-x/prefer-default-export': [0],
|
|
'import-x/prefer-namespace-import': [0],
|
|
'import-x/unambiguous': [0],
|
|
'init-declarations': [0],
|
|
'logical-assignment-operators': [0],
|
|
'max-classes-per-file': [0],
|
|
'max-depth': [0],
|
|
'max-lines-per-function': [0],
|
|
'max-lines': [0],
|
|
'max-nested-callbacks': [0],
|
|
'max-params': [0],
|
|
'max-statements': [0],
|
|
'new-cap': [0],
|
|
'no-alert': [0],
|
|
'no-array-constructor': [0], // handled by @typescript-eslint/no-array-constructor
|
|
'no-async-promise-executor': [0],
|
|
'no-await-in-loop': [0],
|
|
'no-bitwise': [0],
|
|
'no-caller': [2],
|
|
'no-case-declarations': [2],
|
|
'no-class-assign': [2],
|
|
'no-compare-neg-zero': [2],
|
|
'no-cond-assign': [2, 'except-parens'],
|
|
'no-console': [1, {allow: ['debug', 'info', 'warn', 'error']}],
|
|
'no-const-assign': [2],
|
|
'no-constant-binary-expression': [2],
|
|
'no-constant-condition': [2],
|
|
'no-constructor-return': [2],
|
|
'no-continue': [0],
|
|
'no-control-regex': [0],
|
|
'no-debugger': [1],
|
|
'no-delete-var': [2],
|
|
'no-div-regex': [0],
|
|
'no-dupe-args': [2],
|
|
'no-dupe-class-members': [2],
|
|
'no-dupe-else-if': [2],
|
|
'no-dupe-keys': [2],
|
|
'no-duplicate-case': [2],
|
|
'no-duplicate-imports': [0],
|
|
'no-else-return': [2],
|
|
'no-empty-character-class': [2],
|
|
'no-empty-function': [0],
|
|
'no-empty-pattern': [2],
|
|
'no-empty-static-block': [2],
|
|
'no-empty': [2, {allowEmptyCatch: true}],
|
|
'no-eq-null': [2],
|
|
'no-eval': [2],
|
|
'no-ex-assign': [2],
|
|
'no-extend-native': [2],
|
|
'no-extra-bind': [2],
|
|
'no-extra-boolean-cast': [2],
|
|
'no-extra-label': [0],
|
|
'no-fallthrough': [2],
|
|
'no-func-assign': [2],
|
|
'no-global-assign': [2],
|
|
'no-implicit-coercion': [2],
|
|
'no-implicit-globals': [0],
|
|
'no-implied-eval': [0], // handled by @typescript-eslint/no-implied-eval
|
|
'no-import-assign': [2],
|
|
'no-inline-comments': [0],
|
|
'no-inner-declarations': [2],
|
|
'no-invalid-regexp': [0], // handled by regexp/no-invalid-regexp
|
|
'no-invalid-this': [0],
|
|
'no-irregular-whitespace': [2],
|
|
'no-iterator': [2],
|
|
// 'no-jquery/no-ajax-events': [2],
|
|
// 'no-jquery/no-ajax': [2],
|
|
// 'no-jquery/no-and-self': [2],
|
|
// 'no-jquery/no-animate-toggle': [2],
|
|
// 'no-jquery/no-animate': [2],
|
|
// 'no-jquery/no-append-html': [2],
|
|
// 'no-jquery/no-attr': [2],
|
|
// 'no-jquery/no-bind': [2],
|
|
// 'no-jquery/no-box-model': [2],
|
|
// 'no-jquery/no-browser': [2],
|
|
// 'no-jquery/no-camel-case': [2],
|
|
// 'no-jquery/no-class-state': [2],
|
|
// 'no-jquery/no-class': [0],
|
|
// 'no-jquery/no-clone': [2],
|
|
// 'no-jquery/no-closest': [0],
|
|
// 'no-jquery/no-constructor-attributes': [2],
|
|
// 'no-jquery/no-contains': [2],
|
|
// 'no-jquery/no-context-prop': [2],
|
|
// 'no-jquery/no-css': [2],
|
|
// 'no-jquery/no-data': [0],
|
|
// 'no-jquery/no-deferred': [2],
|
|
// 'no-jquery/no-delegate': [2],
|
|
// 'no-jquery/no-done-fail': [2],
|
|
// 'no-jquery/no-each-collection': [0],
|
|
// 'no-jquery/no-each-util': [0],
|
|
// 'no-jquery/no-each': [0],
|
|
// 'no-jquery/no-error-shorthand': [2],
|
|
// 'no-jquery/no-error': [2],
|
|
// 'no-jquery/no-escape-selector': [2],
|
|
// 'no-jquery/no-event-shorthand': [2],
|
|
// 'no-jquery/no-extend': [2],
|
|
// 'no-jquery/no-fade': [2],
|
|
// 'no-jquery/no-filter': [0],
|
|
// 'no-jquery/no-find-collection': [0],
|
|
// 'no-jquery/no-find-util': [2],
|
|
// 'no-jquery/no-find': [0],
|
|
// 'no-jquery/no-fx-interval': [2],
|
|
// 'no-jquery/no-fx': [2],
|
|
// 'no-jquery/no-global-eval': [2],
|
|
// 'no-jquery/no-global-selector': [0],
|
|
// 'no-jquery/no-grep': [2],
|
|
// 'no-jquery/no-has': [2],
|
|
// 'no-jquery/no-hold-ready': [2],
|
|
// 'no-jquery/no-html': [0],
|
|
// 'no-jquery/no-in-array': [2],
|
|
// 'no-jquery/no-is-array': [2],
|
|
// 'no-jquery/no-is-empty-object': [2],
|
|
// 'no-jquery/no-is-function': [2],
|
|
// 'no-jquery/no-is-numeric': [2],
|
|
// 'no-jquery/no-is-plain-object': [2],
|
|
// 'no-jquery/no-is-window': [2],
|
|
// 'no-jquery/no-is': [2],
|
|
// 'no-jquery/no-jquery-constructor': [0],
|
|
// 'no-jquery/no-live': [2],
|
|
// 'no-jquery/no-load-shorthand': [2],
|
|
// 'no-jquery/no-load': [2],
|
|
// 'no-jquery/no-map-collection': [0],
|
|
// 'no-jquery/no-map-util': [2],
|
|
// 'no-jquery/no-map': [2],
|
|
// 'no-jquery/no-merge': [2],
|
|
// 'no-jquery/no-node-name': [2],
|
|
// 'no-jquery/no-noop': [2],
|
|
// 'no-jquery/no-now': [2],
|
|
// 'no-jquery/no-on-ready': [2],
|
|
// 'no-jquery/no-other-methods': [0],
|
|
// 'no-jquery/no-other-utils': [2],
|
|
// 'no-jquery/no-param': [2],
|
|
// 'no-jquery/no-parent': [0],
|
|
// 'no-jquery/no-parents': [2],
|
|
// 'no-jquery/no-parse-html-literal': [2],
|
|
// 'no-jquery/no-parse-html': [2],
|
|
// 'no-jquery/no-parse-json': [2],
|
|
// 'no-jquery/no-parse-xml': [2],
|
|
// 'no-jquery/no-prop': [2],
|
|
// 'no-jquery/no-proxy': [2],
|
|
// 'no-jquery/no-ready-shorthand': [2],
|
|
// 'no-jquery/no-ready': [2],
|
|
// 'no-jquery/no-selector-prop': [2],
|
|
// 'no-jquery/no-serialize': [2],
|
|
// 'no-jquery/no-size': [2],
|
|
// 'no-jquery/no-sizzle': [2],
|
|
// 'no-jquery/no-slide': [2],
|
|
// 'no-jquery/no-sub': [2],
|
|
// 'no-jquery/no-support': [2],
|
|
// 'no-jquery/no-text': [2],
|
|
// 'no-jquery/no-trigger': [0],
|
|
// 'no-jquery/no-trim': [2],
|
|
// 'no-jquery/no-type': [2],
|
|
// 'no-jquery/no-unique': [2],
|
|
// 'no-jquery/no-unload-shorthand': [2],
|
|
// 'no-jquery/no-val': [0],
|
|
// 'no-jquery/no-visibility': [2],
|
|
// 'no-jquery/no-when': [2],
|
|
// 'no-jquery/no-wrap': [2],
|
|
// 'no-jquery/variable-pattern': [2],
|
|
'no-label-var': [2],
|
|
'no-labels': [0], // handled by no-restricted-syntax
|
|
'no-lone-blocks': [2],
|
|
'no-lonely-if': [0],
|
|
'no-loop-func': [0],
|
|
'no-loss-of-precision': [2],
|
|
'no-magic-numbers': [0],
|
|
'no-misleading-character-class': [2],
|
|
'no-multi-assign': [0],
|
|
'no-multi-str': [2],
|
|
'no-negated-condition': [0],
|
|
'no-nested-ternary': [0],
|
|
'no-new-func': [0], // handled by @typescript-eslint/no-implied-eval
|
|
'no-new-native-nonconstructor': [2],
|
|
'no-new-wrappers': [2],
|
|
'no-new': [0],
|
|
'no-nonoctal-decimal-escape': [2],
|
|
'no-obj-calls': [2],
|
|
'no-object-constructor': [2],
|
|
'no-octal-escape': [0], // parse error under strict mode
|
|
'no-octal': [0], // parse error under strict mode
|
|
'no-param-reassign': [0],
|
|
'no-plusplus': [0],
|
|
'no-promise-executor-return': [0],
|
|
'no-proto': [2],
|
|
'no-prototype-builtins': [2],
|
|
'no-redeclare': [0], // must be disabled for typescript overloads
|
|
'no-regex-spaces': [2],
|
|
'no-restricted-exports': [0],
|
|
'no-restricted-globals': [2, 'self'],
|
|
'no-restricted-imports': [2, {paths: [
|
|
{name: 'jquery', message: 'Use the global $ instead', allowTypeImports: true},
|
|
]}],
|
|
'no-restricted-syntax': [2, 'WithStatement', 'ForInStatement', 'LabeledStatement', 'SequenceExpression'],
|
|
'no-return-assign': [0],
|
|
'no-script-url': [2],
|
|
'no-self-assign': [2, {props: true}],
|
|
'no-self-compare': [2],
|
|
'no-sequences': [2],
|
|
'no-setter-return': [2],
|
|
'no-shadow-restricted-names': [2],
|
|
'no-shadow': [0],
|
|
'no-sparse-arrays': [2],
|
|
'no-template-curly-in-string': [2],
|
|
'no-ternary': [0],
|
|
'no-this-before-super': [2],
|
|
'no-throw-literal': [0], // handled by @typescript-eslint/only-throw-error
|
|
'no-undef-init': [2],
|
|
'no-undef': [2], // it is still needed by eslint & IDE to prompt undefined names in real time
|
|
'no-undefined': [0],
|
|
'no-unassigned-vars': [2],
|
|
'no-underscore-dangle': [0],
|
|
'no-unexpected-multiline': [2],
|
|
'no-unmodified-loop-condition': [2],
|
|
'no-unneeded-ternary': [2],
|
|
'no-unreachable-loop': [2],
|
|
'no-unreachable': [2],
|
|
'no-unsafe-finally': [2],
|
|
'no-unsafe-negation': [2],
|
|
'no-unsafe-optional-chaining': [2],
|
|
'no-unused-expressions': [0], // handled by @typescript-eslint/no-unused-expressions
|
|
'no-unused-labels': [2],
|
|
'no-unused-private-class-members': [0], // handled by @typescript-eslint/no-unused-private-class-members
|
|
'no-unused-vars': [0], // handled by @typescript-eslint/no-unused-vars
|
|
'no-use-before-define': [0], // handled by @typescript-eslint/no-use-before-define
|
|
'no-useless-assignment': [2],
|
|
'no-useless-backreference': [0], // handled by regexp/no-useless-backreference
|
|
'no-useless-call': [2],
|
|
'no-useless-catch': [2],
|
|
'no-useless-computed-key': [2],
|
|
'no-useless-concat': [0], // handled by unicorn/no-useless-concat
|
|
'no-useless-constructor': [2],
|
|
'no-useless-escape': [2],
|
|
'no-useless-rename': [2],
|
|
'no-useless-return': [2],
|
|
'no-var': [2],
|
|
'no-void': [2],
|
|
'no-warning-comments': [0],
|
|
'no-with': [0], // handled by no-restricted-syntax
|
|
'object-shorthand': [2, 'always'],
|
|
'one-var': [0],
|
|
'operator-assignment': [0], // handled by unicorn/operator-assignment
|
|
'prefer-arrow-callback': [2, {allowNamedFunctions: true, allowUnboundThis: true}],
|
|
'prefer-const': [2, {destructuring: 'all', ignoreReadBeforeAssign: true}],
|
|
'prefer-destructuring': [0],
|
|
'prefer-exponentiation-operator': [2],
|
|
'prefer-named-capture-group': [0],
|
|
'prefer-numeric-literals': [2],
|
|
'prefer-object-has-own': [2],
|
|
'prefer-object-spread': [2],
|
|
'prefer-promise-reject-errors': [0], // handled by @typescript-eslint/prefer-promise-reject-errors
|
|
'prefer-regex-literals': [2],
|
|
'prefer-rest-params': [2],
|
|
'prefer-spread': [2],
|
|
'prefer-template': [2],
|
|
'preserve-caught-error': [0],
|
|
'radix': [0],
|
|
'regexp/confusing-quantifier': [2],
|
|
'regexp/control-character-escape': [2],
|
|
'regexp/grapheme-string-literal': [0],
|
|
'regexp/hexadecimal-escape': [0],
|
|
'regexp/letter-case': [0],
|
|
'regexp/match-any': [2],
|
|
'regexp/negation': [2],
|
|
'regexp/no-contradiction-with-assertion': [2],
|
|
'regexp/no-control-character': [0],
|
|
'regexp/no-dupe-characters-character-class': [2],
|
|
'regexp/no-dupe-disjunctions': [2],
|
|
'regexp/no-empty-alternative': [2],
|
|
'regexp/no-empty-capturing-group': [2],
|
|
'regexp/no-empty-character-class': [0],
|
|
'regexp/no-empty-group': [2],
|
|
'regexp/no-empty-lookarounds-assertion': [2],
|
|
'regexp/no-empty-string-literal': [2],
|
|
'regexp/no-escape-backspace': [2],
|
|
'regexp/no-extra-lookaround-assertions': [0],
|
|
'regexp/no-invalid-regexp': [2],
|
|
'regexp/no-invisible-character': [2],
|
|
'regexp/no-lazy-ends': [2],
|
|
'regexp/no-legacy-features': [2],
|
|
'regexp/no-misleading-capturing-group': [2],
|
|
'regexp/no-misleading-unicode-character': [2],
|
|
'regexp/no-missing-g-flag': [2],
|
|
'regexp/no-non-standard-flag': [2],
|
|
'regexp/no-obscure-range': [2],
|
|
'regexp/no-octal': [2],
|
|
'regexp/no-optional-assertion': [2],
|
|
'regexp/no-potentially-useless-backreference': [2],
|
|
'regexp/no-standalone-backslash': [2],
|
|
'regexp/no-super-linear-backtracking': [0],
|
|
'regexp/no-super-linear-move': [0],
|
|
'regexp/no-trivially-nested-assertion': [2],
|
|
'regexp/no-trivially-nested-quantifier': [2],
|
|
'regexp/no-unused-capturing-group': [0],
|
|
'regexp/no-useless-assertions': [2],
|
|
'regexp/no-useless-backreference': [2],
|
|
'regexp/no-useless-character-class': [2],
|
|
'regexp/no-useless-dollar-replacements': [2],
|
|
'regexp/no-useless-escape': [2],
|
|
'regexp/no-useless-flag': [2],
|
|
'regexp/no-useless-lazy': [2],
|
|
'regexp/no-useless-non-capturing-group': [2],
|
|
'regexp/no-useless-quantifier': [2],
|
|
'regexp/no-useless-range': [2],
|
|
'regexp/no-useless-set-operand': [2],
|
|
'regexp/no-useless-string-literal': [2],
|
|
'regexp/no-useless-two-nums-quantifier': [2],
|
|
'regexp/no-zero-quantifier': [2],
|
|
'regexp/optimal-lookaround-quantifier': [2],
|
|
'regexp/optimal-quantifier-concatenation': [0],
|
|
'regexp/prefer-character-class': [0],
|
|
'regexp/prefer-d': [0],
|
|
'regexp/prefer-escape-replacement-dollar-char': [0],
|
|
'regexp/prefer-lookaround': [0],
|
|
'regexp/prefer-named-backreference': [0],
|
|
'regexp/prefer-named-capture-group': [0],
|
|
'regexp/prefer-named-replacement': [0],
|
|
'regexp/prefer-plus-quantifier': [2],
|
|
'regexp/prefer-predefined-assertion': [2],
|
|
'regexp/prefer-quantifier': [0],
|
|
'regexp/prefer-question-quantifier': [2],
|
|
'regexp/prefer-range': [2],
|
|
'regexp/prefer-regexp-exec': [2],
|
|
'regexp/prefer-regexp-test': [0], // handled by unicorn/prefer-regexp-test
|
|
'regexp/prefer-result-array-groups': [0],
|
|
'regexp/prefer-set-operation': [2],
|
|
'regexp/prefer-star-quantifier': [2],
|
|
'regexp/prefer-unicode-codepoint-escapes': [2],
|
|
'regexp/prefer-w': [0],
|
|
'regexp/require-unicode-regexp': [0],
|
|
'regexp/require-unicode-sets-regexp': [0],
|
|
'regexp/simplify-set-operations': [2],
|
|
'regexp/sort-alternatives': [0],
|
|
'regexp/sort-character-class-elements': [0],
|
|
'regexp/sort-flags': [0],
|
|
'regexp/strict': [2],
|
|
'regexp/unicode-escape': [0],
|
|
'regexp/unicode-property': [0],
|
|
'regexp/use-ignore-case': [0],
|
|
'require-atomic-updates': [0],
|
|
'require-await': [0], // handled by @typescript-eslint/require-await
|
|
'require-unicode-regexp': [0],
|
|
'require-yield': [2],
|
|
'sort-imports': [0],
|
|
'sort-keys': [0],
|
|
'sort-vars': [0],
|
|
'strict': [0],
|
|
'symbol-description': [2],
|
|
'unicode-bom': [2, 'never'],
|
|
'unicorn/better-dom-traversing': [2],
|
|
'unicorn/catch-error-name': [0],
|
|
'unicorn/class-reference-in-static-methods': [2],
|
|
'unicorn/comma-spacing': [0], // only applies to json language
|
|
'unicorn/comment-content': [0],
|
|
'unicorn/consistent-arrow-return-style': [0],
|
|
'unicorn/consistent-assert': [0],
|
|
'unicorn/consistent-boolean-name': [0],
|
|
'unicorn/consistent-class-member-order': [0],
|
|
'unicorn/consistent-compound-words': [0], // too opinionated
|
|
'unicorn/consistent-conditional-object-spread': [2],
|
|
'unicorn/consistent-date-clone': [2],
|
|
'unicorn/consistent-destructuring': [2],
|
|
'unicorn/consistent-empty-array-spread': [2],
|
|
'unicorn/consistent-existence-index-check': [0],
|
|
'unicorn/consistent-export-decorator-position': [2],
|
|
'unicorn/consistent-function-scoping': [0],
|
|
'unicorn/consistent-function-style': [2],
|
|
'unicorn/consistent-json-file-read': [2],
|
|
'unicorn/consistent-optional-chaining': [2],
|
|
'unicorn/consistent-template-literal-escape': [2],
|
|
'unicorn/consistent-tuple-labels': [2],
|
|
'unicorn/custom-error-definition': [0],
|
|
'unicorn/default-export-style': [2],
|
|
'unicorn/dom-node-dataset': [2, {preferAttributes: true}],
|
|
'unicorn/empty-brace-spaces': [2],
|
|
'unicorn/error-message': [0],
|
|
'unicorn/escape-case': [0],
|
|
'unicorn/expiring-todo-comments': [0],
|
|
'unicorn/explicit-length-check': [0],
|
|
'unicorn/explicit-timer-delay': [2],
|
|
'unicorn/filename-case': [0],
|
|
'unicorn/id-match': [2],
|
|
'unicorn/import-style': [0],
|
|
'unicorn/indent': [0], // only applies to json and css languages
|
|
'unicorn/isolated-functions': [2, {functions: []}],
|
|
'unicorn/iteration-fallback-style': [2, 'fallback'],
|
|
'unicorn/key-name-casing': [0], // only applies to json, yaml and toml languages
|
|
'unicorn/logical-assignment-operators': [0],
|
|
'unicorn/max-nested-calls': [0],
|
|
'unicorn/name-replacements': [0],
|
|
'unicorn/new-for-builtins': [2],
|
|
'unicorn/no-abusive-eslint-disable': [0],
|
|
'unicorn/no-accessor-recursion': [2],
|
|
'unicorn/no-accidental-bitwise-operator': [2],
|
|
'unicorn/no-anonymous-default-export': [0],
|
|
'unicorn/no-array-callback-reference': [0],
|
|
'unicorn/no-array-concat-in-loop': [2],
|
|
'unicorn/no-array-fill-with-reference-type': [2],
|
|
'unicorn/no-array-from-fill': [2],
|
|
'unicorn/no-array-front-mutation': [0],
|
|
'unicorn/no-array-method-this-argument': [2],
|
|
'unicorn/no-array-reduce': [2],
|
|
'unicorn/no-array-reverse': [0],
|
|
'unicorn/no-array-sort': [0],
|
|
'unicorn/no-array-sort-for-min-max': [2],
|
|
'unicorn/no-array-splice': [0],
|
|
'unicorn/no-asterisk-prefix-in-documentation-comments': [0],
|
|
'unicorn/no-async-iterator-callback': [2],
|
|
'unicorn/no-async-promise-finally': [2],
|
|
'unicorn/no-await-expression-member': [0],
|
|
'unicorn/no-await-in-promise-methods': [2],
|
|
'unicorn/no-barrel-files': [0],
|
|
'unicorn/no-blob-to-file': [2],
|
|
'unicorn/no-boolean-sort-comparator': [2],
|
|
'unicorn/no-break-in-nested-loop': [0],
|
|
'unicorn/no-canvas-to-image': [2],
|
|
'unicorn/no-chained-comparison': [2],
|
|
'unicorn/no-collection-bracket-access': [2],
|
|
'unicorn/no-computed-property-existence-check': [0],
|
|
'unicorn/no-conflicting-constraints': [2],
|
|
'unicorn/no-confusing-array-splice': [2],
|
|
'unicorn/no-confusing-array-with': [2],
|
|
'unicorn/no-console-spaces': [0],
|
|
'unicorn/no-constant-zero-expression': [2],
|
|
'unicorn/no-declarations-before-early-exit': [0],
|
|
'unicorn/no-document-cookie': [2],
|
|
'unicorn/no-double-comparison': [2],
|
|
'unicorn/no-duplicate-if-branches': [2],
|
|
'unicorn/no-duplicate-logical-operands': [2],
|
|
'unicorn/no-duplicate-loops': [0],
|
|
'unicorn/no-duplicate-set-values': [2],
|
|
'unicorn/no-empty-file': [2],
|
|
'unicorn/no-empty-link-text': [0], // only applies to markdown language
|
|
'unicorn/no-error-property-assignment': [2],
|
|
'unicorn/no-exports-in-scripts': [2],
|
|
'unicorn/no-for-each': [2],
|
|
'unicorn/no-for-loop': [0],
|
|
'unicorn/no-global-object-property-assignment': [0],
|
|
'unicorn/no-immediate-mutation': [0],
|
|
'unicorn/no-impossible-length-comparison': [2],
|
|
'unicorn/no-incomplete-accessor-override': [2],
|
|
'unicorn/no-incorrect-query-selector': [2],
|
|
'unicorn/no-incorrect-template-string-interpolation': [0],
|
|
'unicorn/no-ineffective-csp-directives': [2],
|
|
'unicorn/no-instanceof-builtins': [2],
|
|
'unicorn/no-invalid-argument-count': [2],
|
|
'unicorn/no-invalid-boolean-attribute-value': [2],
|
|
'unicorn/no-invalid-character-comparison': [2],
|
|
'unicorn/no-invalid-dom-token': [2],
|
|
'unicorn/no-invalid-fetch-options': [2],
|
|
'unicorn/no-invalid-file-input-accept': [2],
|
|
'unicorn/no-invalid-integrity': [2],
|
|
'unicorn/no-invalid-intl-options': [2],
|
|
'unicorn/no-invalid-property-descriptor': [2],
|
|
'unicorn/no-invalid-remove-event-listener': [2],
|
|
'unicorn/no-invalid-response-options': [2],
|
|
'unicorn/no-invalid-style-set-property': [2],
|
|
'unicorn/no-invalid-temporal-arithmetic': [2],
|
|
'unicorn/no-invalid-url-protocol-comparison': [2],
|
|
'unicorn/no-invalid-well-known-symbol-methods': [2],
|
|
'unicorn/no-javascript-url': [0], // only applies to markdown language
|
|
'unicorn/no-keyword-prefix': [0],
|
|
'unicorn/no-late-current-target-access': [2],
|
|
'unicorn/no-late-event-control': [2],
|
|
'unicorn/no-leading-empty-lines': [0], // handled by @stylistic/no-multiple-empty-lines
|
|
'unicorn/no-lonely-if': [2],
|
|
'unicorn/no-loop-iterable-mutation': [2],
|
|
'unicorn/no-loss-of-precision': [0], // only applies to json, toml and css languages
|
|
'unicorn/no-magic-array-flat-depth': [0],
|
|
'unicorn/no-manually-wrapped-comments': [0], // too opinionated
|
|
'unicorn/no-mismatched-map-key': [2],
|
|
'unicorn/no-misrefactored-assignment': [2],
|
|
'unicorn/no-missing-local-resource': [0], // only applies to html/css/markdown languages
|
|
'unicorn/no-multiple-promise-resolver-calls': [2],
|
|
'unicorn/no-named-default': [2],
|
|
'unicorn/no-negated-array-predicate': [2],
|
|
'unicorn/no-negated-comparison': [2],
|
|
'unicorn/no-negated-condition': [0],
|
|
'unicorn/no-negation-in-equality-check': [2],
|
|
'unicorn/no-nested-ternary': [0],
|
|
'unicorn/no-new-array': [0],
|
|
'unicorn/no-new-buffer': [2],
|
|
'unicorn/no-non-function-verb-prefix': [0],
|
|
'unicorn/no-nonstandard-builtin-properties': [2],
|
|
'unicorn/no-null': [0],
|
|
'unicorn/no-object-as-default-parameter': [0],
|
|
'unicorn/no-object-methods-with-collections': [2],
|
|
'unicorn/no-optional-chaining-on-undeclared-variable': [2],
|
|
'unicorn/no-prevent-default-in-passive-listener': [2],
|
|
'unicorn/no-process-exit': [0],
|
|
'unicorn/no-redundant-comparison': [2],
|
|
'unicorn/no-repeated-call-wrappers': [0],
|
|
'unicorn/no-return-array-push': [2],
|
|
'unicorn/no-selector-as-dom-name': [2],
|
|
'unicorn/no-shorthand-property-overrides': [0], // only applies to css language
|
|
'unicorn/no-single-promise-in-promise-methods': [2],
|
|
'unicorn/no-static-only-class': [2],
|
|
'unicorn/no-subtraction-comparison': [2],
|
|
'unicorn/no-thenable': [2],
|
|
'unicorn/no-this-assignment': [2],
|
|
'unicorn/no-this-outside-of-class': [0], // gitea uses `this` in non-class functions
|
|
'unicorn/no-top-level-assignment-in-function': [0],
|
|
'unicorn/no-top-level-side-effects': [0],
|
|
'unicorn/no-transition-all': [2],
|
|
'unicorn/no-typeof-undefined': [2],
|
|
'unicorn/no-uncalled-method': [2],
|
|
'unicorn/no-undeclared-class-members': [2],
|
|
'unicorn/no-unnecessary-array-flat-depth': [2],
|
|
'unicorn/no-unnecessary-array-flat-map': [2],
|
|
'unicorn/no-unnecessary-array-splice-count': [2],
|
|
'unicorn/no-unnecessary-await': [2],
|
|
'unicorn/no-unnecessary-boolean-comparison': [2],
|
|
'unicorn/no-unnecessary-default-arguments': [0],
|
|
'unicorn/no-unnecessary-fetch-options': [0],
|
|
'unicorn/no-unnecessary-global-this': [0],
|
|
'unicorn/no-unnecessary-nested-ternary': [2],
|
|
'unicorn/no-unnecessary-parameters': [0],
|
|
'unicorn/no-unnecessary-polyfills': [2],
|
|
'unicorn/no-unnecessary-slice-end': [2],
|
|
'unicorn/no-unnecessary-splice': [2],
|
|
'unicorn/no-unnecessary-string-trim': [2],
|
|
'unicorn/no-unreadable-array-destructuring': [2],
|
|
'unicorn/no-unreadable-for-of-expression': [0],
|
|
'unicorn/no-unreadable-iife': [0],
|
|
'unicorn/no-unreadable-new-expression': [0],
|
|
'unicorn/no-unreadable-object-destructuring': [0],
|
|
'unicorn/no-unsafe-buffer-conversion': [2],
|
|
'unicorn/no-unsafe-dom-html': [0],
|
|
'unicorn/no-unsafe-json-serialization': [2],
|
|
'unicorn/no-unsafe-promise-all-settled-values': [2],
|
|
'unicorn/no-unsafe-property-key': [0],
|
|
'unicorn/no-unsafe-sqlite-interpolation': [2],
|
|
'unicorn/no-unsafe-string-replacement': [2],
|
|
'unicorn/no-unused-builtin-method-return': [2],
|
|
'unicorn/no-unused-iterator-helper': [2],
|
|
'unicorn/no-unused-properties': [2],
|
|
'unicorn/no-url-in-search-params': [2],
|
|
'unicorn/no-useless-boolean-cast': [2],
|
|
'unicorn/no-useless-coercion': [2],
|
|
'unicorn/no-useless-collection-argument': [2],
|
|
'unicorn/no-useless-compound-assignment': [2],
|
|
'unicorn/no-useless-concat': [2],
|
|
'unicorn/no-useless-continue': [2],
|
|
'unicorn/no-useless-delete-check': [2],
|
|
'unicorn/no-useless-else': [0],
|
|
'unicorn/no-useless-error-capture-stack-trace': [2],
|
|
'unicorn/no-useless-fallback-in-spread': [2],
|
|
'unicorn/no-useless-iterator-to-array': [2],
|
|
'unicorn/no-useless-length-check': [2],
|
|
'unicorn/no-useless-logical-operand': [2],
|
|
'unicorn/no-useless-override': [2],
|
|
'unicorn/no-useless-promise-resolve-reject': [2],
|
|
'unicorn/no-useless-re-export': [2],
|
|
'unicorn/no-useless-recursion': [0],
|
|
'unicorn/no-useless-set-construction': [2],
|
|
'unicorn/no-useless-spread': [2],
|
|
'unicorn/no-useless-switch-case': [2],
|
|
'unicorn/no-useless-template-literals': [2],
|
|
'unicorn/no-useless-undefined': [0],
|
|
'unicorn/no-using-resource-escape': [2],
|
|
'unicorn/no-xor-as-exponentiation': [2],
|
|
'unicorn/no-zero-fractions': [2],
|
|
'unicorn/number-literal-case': [0],
|
|
'unicorn/numeric-separators-style': [0],
|
|
'unicorn/operator-assignment': [2],
|
|
'unicorn/prefer-abort-signal-any': [2],
|
|
'unicorn/prefer-abort-signal-timeout': [2],
|
|
'unicorn/prefer-add-event-listener': [2],
|
|
'unicorn/prefer-add-event-listener-options': [2],
|
|
'unicorn/prefer-aggregate-error': [2],
|
|
'unicorn/prefer-array-find': [0], // handled by @typescript-eslint/prefer-find
|
|
'unicorn/prefer-array-flat': [2],
|
|
'unicorn/prefer-array-flat-map': [2],
|
|
'unicorn/prefer-array-from-async': [0], // Array.fromAsync requires ES2026
|
|
'unicorn/prefer-array-from-map': [2],
|
|
'unicorn/prefer-array-from-range': [2],
|
|
'unicorn/prefer-array-index-of': [2],
|
|
'unicorn/prefer-array-iterable-methods': [2],
|
|
'unicorn/prefer-array-last-methods': [0], // Array#findLast/findLastIndex requires ES2023
|
|
'unicorn/prefer-array-slice': [2],
|
|
'unicorn/prefer-array-some': [2],
|
|
'unicorn/prefer-at': [0],
|
|
'unicorn/prefer-await': [2],
|
|
'unicorn/prefer-bigint-literals': [2],
|
|
'unicorn/prefer-blob-reading-methods': [2],
|
|
'unicorn/prefer-block-statement-over-iife': [2],
|
|
'unicorn/prefer-boolean-return': [2],
|
|
'unicorn/prefer-class-fields': [2],
|
|
'unicorn/prefer-classlist-toggle': [2],
|
|
'unicorn/prefer-code-point': [0],
|
|
'unicorn/prefer-combined-guards': [0],
|
|
'unicorn/prefer-continue': [0],
|
|
'unicorn/prefer-date-now': [2],
|
|
'unicorn/prefer-default-parameters': [0],
|
|
'unicorn/prefer-direct-iteration': [2],
|
|
'unicorn/prefer-dispose': [0], // `using` requires ES2027
|
|
'unicorn/prefer-dom-node-append': [2],
|
|
'unicorn/prefer-dom-node-html-methods': [0],
|
|
'unicorn/prefer-dom-node-remove': [2],
|
|
'unicorn/prefer-dom-node-replace-children': [2],
|
|
'unicorn/prefer-dom-node-text-content': [2],
|
|
'unicorn/prefer-early-return': [0],
|
|
'unicorn/prefer-else-if': [2],
|
|
'unicorn/prefer-error-is-error': [0],
|
|
'unicorn/prefer-escaped-irregular-whitespace': [2],
|
|
'unicorn/prefer-event-target': [2],
|
|
'unicorn/prefer-export-from': [0],
|
|
'unicorn/prefer-flat-math-min-max': [2],
|
|
'unicorn/prefer-get-or-insert-computed': [0], // Map#getOrInsertComputed requires ES2026
|
|
'unicorn/prefer-global-number-constants': [2],
|
|
'unicorn/prefer-global-this': [0],
|
|
'unicorn/prefer-group-by': [0], // Object.groupBy/Map.groupBy requires ES2024
|
|
'unicorn/prefer-has-check': [2],
|
|
'unicorn/prefer-hoisting-branch-code': [2],
|
|
'unicorn/prefer-https': [0], // false-positives on namespace and schema URIs
|
|
'unicorn/prefer-identifier-import-export-specifiers': [2],
|
|
'unicorn/prefer-import-meta-properties': [2],
|
|
'unicorn/prefer-includes': [0], // handled by @typescript-eslint/prefer-includes
|
|
'unicorn/prefer-includes-over-repeated-comparisons': [0], // too opinionated
|
|
'unicorn/prefer-iterable-in-constructor': [2],
|
|
'unicorn/prefer-iterator-concat': [0], // too opinionated
|
|
'unicorn/prefer-iterator-helpers': [0],
|
|
'unicorn/prefer-iterator-to-array': [0], // Iterator#toArray requires ES2025
|
|
'unicorn/prefer-iterator-to-array-at-end': [2],
|
|
'unicorn/prefer-iterator-zip': [0],
|
|
'unicorn/prefer-json-import': [0],
|
|
'unicorn/prefer-keyboard-event-key': [2],
|
|
'unicorn/prefer-literal-ascii': [2],
|
|
'unicorn/prefer-location-assign': [2],
|
|
'unicorn/prefer-logical-operator-over-ternary': [0],
|
|
'unicorn/prefer-map-from-entries': [0],
|
|
'unicorn/prefer-math-abs': [2],
|
|
'unicorn/prefer-math-constants': [2],
|
|
'unicorn/prefer-math-min-max': [2],
|
|
'unicorn/prefer-math-trunc': [2],
|
|
'unicorn/prefer-minimal-ternary': [0],
|
|
'unicorn/prefer-modern-dom-apis': [0],
|
|
'unicorn/prefer-modern-math-apis': [2],
|
|
'unicorn/prefer-module': [2],
|
|
'unicorn/prefer-native-coercion-functions': [2],
|
|
'unicorn/prefer-negative-index': [2],
|
|
'unicorn/prefer-node-protocol': [2],
|
|
'unicorn/prefer-number-coercion': [0],
|
|
'unicorn/prefer-number-is-safe-integer': [0],
|
|
'unicorn/prefer-number-properties': [0],
|
|
'unicorn/prefer-object-define-properties': [2],
|
|
'unicorn/prefer-object-destructuring-defaults': [2],
|
|
'unicorn/prefer-object-from-entries': [2],
|
|
'unicorn/prefer-object-iterable-methods': [2],
|
|
'unicorn/prefer-observer-apis': [2],
|
|
'unicorn/prefer-optional-catch-binding': [2],
|
|
'unicorn/prefer-path2d': [2],
|
|
'unicorn/prefer-private-class-fields': [0],
|
|
'unicorn/prefer-promise-static-methods': [2],
|
|
'unicorn/prefer-promise-try': [0], // Promise.try requires ES2025
|
|
'unicorn/prefer-promise-with-resolvers': [0], // Promise.withResolvers requires ES2024
|
|
'unicorn/prefer-prototype-methods': [2],
|
|
'unicorn/prefer-query-selector': [2],
|
|
'unicorn/prefer-queue-microtask': [2],
|
|
'unicorn/prefer-reflect-apply': [0],
|
|
'unicorn/prefer-regexp-escape': [0],
|
|
'unicorn/prefer-regexp-test': [2],
|
|
'unicorn/prefer-response-static-json': [2],
|
|
'unicorn/prefer-scoped-selector': [0],
|
|
'unicorn/prefer-set-has': [0],
|
|
'unicorn/prefer-set-methods': [0],
|
|
'unicorn/prefer-set-size': [2],
|
|
'unicorn/prefer-short-arrow-method': [2],
|
|
'unicorn/prefer-short-escape-sequences': [2],
|
|
'unicorn/prefer-simple-condition-first': [0],
|
|
'unicorn/prefer-simple-sort-comparator': [2],
|
|
'unicorn/prefer-simplified-conditions': [2],
|
|
'unicorn/prefer-single-array-predicate': [2],
|
|
'unicorn/prefer-single-call': [2],
|
|
'unicorn/prefer-single-object-destructuring': [2],
|
|
'unicorn/prefer-single-replace': [2],
|
|
'unicorn/prefer-smaller-scope': [0],
|
|
'unicorn/prefer-split-limit': [0], // too opinionated
|
|
'unicorn/prefer-spread': [0],
|
|
'unicorn/prefer-string-match-all': [2],
|
|
'unicorn/prefer-string-pad-start-end': [2],
|
|
'unicorn/prefer-string-raw': [0],
|
|
'unicorn/prefer-string-repeat': [2],
|
|
'unicorn/prefer-string-replace-all': [0],
|
|
'unicorn/prefer-string-slice': [0],
|
|
'unicorn/prefer-string-starts-ends-with': [0], // handled by @typescript-eslint/prefer-string-starts-ends-with
|
|
'unicorn/prefer-string-trim-start-end': [2],
|
|
'unicorn/prefer-structured-clone': [2],
|
|
'unicorn/prefer-switch': [0],
|
|
'unicorn/prefer-temporal': [0],
|
|
'unicorn/prefer-temporal-conversion': [0], // Temporal requires ES2027
|
|
'unicorn/prefer-ternary': [0],
|
|
'unicorn/prefer-then-catch': [2],
|
|
'unicorn/prefer-toggle-attribute': [2],
|
|
'unicorn/prefer-top-level-await': [0],
|
|
'unicorn/prefer-type-error': [0],
|
|
'unicorn/prefer-type-literal-last': [0],
|
|
'unicorn/prefer-uint8array-base64': [0],
|
|
'unicorn/prefer-uint8array-hex': [0],
|
|
'unicorn/prefer-unary-minus': [2],
|
|
'unicorn/prefer-unicode-code-point-escapes': [0],
|
|
'unicorn/prefer-url-can-parse': [2],
|
|
'unicorn/prefer-url-href': [2],
|
|
'unicorn/prefer-url-search-parameters': [2],
|
|
'unicorn/prefer-while-loop-condition': [2],
|
|
'unicorn/relative-url-style': [2],
|
|
'unicorn/require-array-join-separator': [2],
|
|
'unicorn/require-array-sort-compare': [0],
|
|
'unicorn/require-css-escape': [2],
|
|
'unicorn/require-frontmatter-fields': [0], // only applies to markdown language
|
|
'unicorn/require-module-attributes': [2],
|
|
'unicorn/require-module-specifiers': [0],
|
|
'unicorn/require-number-to-fixed-digits-argument': [2],
|
|
'unicorn/require-passive-events': [2],
|
|
'unicorn/require-post-message-target-origin': [0],
|
|
'unicorn/require-proxy-trap-boolean-return': [2],
|
|
'unicorn/require-text-decoder-streaming': [2],
|
|
'unicorn/single-line-block-comment-style': [0],
|
|
'unicorn/string-content': [0],
|
|
'unicorn/switch-case-braces': [0],
|
|
'unicorn/switch-case-break-position': [2],
|
|
'unicorn/template-indent': [2],
|
|
'unicorn/text-encoding-identifier-case': [0],
|
|
'unicorn/throw-new-error': [2],
|
|
'unicorn/try-complexity': [0],
|
|
'use-isnan': [2],
|
|
'valid-typeof': [2, {requireStringLiterals: true}],
|
|
'vars-on-top': [0],
|
|
'wc/attach-shadow-constructor': [2],
|
|
'wc/define-tag-after-class-definition': [0],
|
|
'wc/expose-class-on-global': [0],
|
|
'wc/file-name-matches-element': [2],
|
|
'wc/guard-define-call': [0],
|
|
'wc/guard-super-call': [2],
|
|
'wc/max-elements-per-file': [0],
|
|
'wc/no-child-traversal-in-attributechangedcallback': [2],
|
|
'wc/no-child-traversal-in-connectedcallback': [2],
|
|
'wc/no-closed-shadow-root': [2],
|
|
'wc/no-constructor-attributes': [2],
|
|
'wc/no-constructor-params': [2],
|
|
'wc/no-constructor': [2],
|
|
'wc/no-customized-built-in-elements': [2],
|
|
'wc/no-exports-with-element': [0],
|
|
'wc/no-invalid-element-name': [2],
|
|
'wc/no-invalid-extends': [2],
|
|
'wc/no-method-prefixed-with-on': [2],
|
|
'wc/no-self-class': [2],
|
|
'wc/no-typos': [2],
|
|
'wc/require-listener-teardown': [2],
|
|
'wc/tag-name-matches-class': [2],
|
|
'yoda': [2, 'never'],
|
|
},
|
|
},
|
|
{
|
|
...playwright.configs['flat/recommended'],
|
|
files: ['tests/e2e/**/*.test.ts'],
|
|
languageOptions: {globals: {...globals.nodeBuiltin, ...globals.browser}},
|
|
rules: {
|
|
...playwright.configs['flat/recommended'].rules,
|
|
'playwright/expect-expect': [0],
|
|
},
|
|
},
|
|
{
|
|
files: vueExts.map((ext) => `**/*.${ext}`),
|
|
extends: [
|
|
vue.configs['flat/recommended'],
|
|
vueScopedCss.configs.recommended,
|
|
],
|
|
rules: {
|
|
'@typescript-eslint/no-redundant-type-constituents': [0], // types imported from .vue files resolve to any via typescript-eslint's *.vue shim
|
|
'vue/attributes-order': [0],
|
|
'vue/html-closing-bracket-spacing': [2, {startTag: 'never', endTag: 'never', selfClosingTag: 'never'}],
|
|
'vue/max-attributes-per-line': [0],
|
|
'vue/no-potential-component-option-typo': [2],
|
|
'vue/no-ref-object-reactivity-loss': [2],
|
|
'vue/no-undef-directives': [2],
|
|
'vue/no-undef-properties': [2],
|
|
'vue/singleline-html-element-content-newline': [0],
|
|
'vue/require-typed-ref': [2],
|
|
},
|
|
},
|
|
{
|
|
files: ['**/*.test.ts', 'web_src/js/vitest.setup.ts'],
|
|
ignores: ['tests/e2e/**'],
|
|
plugins: {vitest},
|
|
languageOptions: {globals: globals.vitest},
|
|
rules: {
|
|
'gitea/unescaped-html-literal': [0],
|
|
'unicorn/no-error-property-assignment': [0],
|
|
'vitest/consistent-each-for': [0],
|
|
'vitest/consistent-test-filename': [0],
|
|
'vitest/consistent-test-it': [0],
|
|
'vitest/consistent-vitest-vi': [0],
|
|
'vitest/expect-expect': [0],
|
|
'vitest/hoisted-apis-on-top': [2],
|
|
'vitest/max-expects': [0],
|
|
'vitest/max-nested-describe': [0],
|
|
'vitest/no-alias-methods': [0],
|
|
'vitest/no-commented-out-tests': [0],
|
|
'vitest/no-conditional-expect': [0],
|
|
'vitest/no-conditional-in-test': [0],
|
|
'vitest/no-conditional-tests': [0],
|
|
'vitest/no-disabled-tests': [0],
|
|
'vitest/no-duplicate-hooks': [0],
|
|
'vitest/no-focused-tests': [2],
|
|
'vitest/no-hooks': [0],
|
|
'vitest/no-identical-title': [2],
|
|
'vitest/no-import-node-test': [2],
|
|
'vitest/no-importing-vitest-globals': [2],
|
|
'vitest/no-interpolation-in-snapshots': [0],
|
|
'vitest/no-large-snapshots': [0],
|
|
'vitest/no-mocks-import': [0],
|
|
'vitest/no-restricted-matchers': [0],
|
|
'vitest/no-restricted-vi-methods': [0],
|
|
'vitest/no-standalone-expect': [2],
|
|
'vitest/no-test-prefixes': [0],
|
|
'vitest/no-test-return-statement': [0],
|
|
'vitest/no-unneeded-async-expect-function': [2],
|
|
'vitest/padding-around-after-all-blocks': [0],
|
|
'vitest/padding-around-after-each-blocks': [0],
|
|
'vitest/padding-around-all': [0],
|
|
'vitest/padding-around-before-all-blocks': [0],
|
|
'vitest/padding-around-before-each-blocks': [0],
|
|
'vitest/padding-around-describe-blocks': [0],
|
|
'vitest/padding-around-expect-groups': [0],
|
|
'vitest/padding-around-test-blocks': [0],
|
|
'vitest/prefer-called-exactly-once-with': [0],
|
|
'vitest/prefer-called-once': [0],
|
|
'vitest/prefer-called-times': [0],
|
|
'vitest/prefer-called-with': [0],
|
|
'vitest/prefer-comparison-matcher': [0],
|
|
'vitest/prefer-describe-function-title': [0],
|
|
'vitest/prefer-each': [0],
|
|
'vitest/prefer-equality-matcher': [0],
|
|
'vitest/prefer-expect-assertions': [0],
|
|
'vitest/prefer-expect-resolves': [0],
|
|
'vitest/prefer-expect-type-of': [0],
|
|
'vitest/prefer-hooks-in-order': [0],
|
|
'vitest/prefer-hooks-on-top': [2],
|
|
'vitest/prefer-import-in-mock': [0],
|
|
'vitest/prefer-importing-vitest-globals': [0],
|
|
'vitest/prefer-lowercase-title': [0],
|
|
'vitest/prefer-mock-promise-shorthand': [0],
|
|
'vitest/prefer-mock-return-shorthand': [0],
|
|
'vitest/prefer-snapshot-hint': [0],
|
|
'vitest/prefer-spy-on': [0],
|
|
'vitest/prefer-strict-boolean-matchers': [0],
|
|
'vitest/prefer-strict-equal': [0],
|
|
'vitest/prefer-to-be': [0],
|
|
'vitest/prefer-to-be-falsy': [0],
|
|
'vitest/prefer-to-be-object': [0],
|
|
'vitest/prefer-to-be-truthy': [0],
|
|
'vitest/prefer-to-contain': [0],
|
|
'vitest/prefer-to-have-been-called-times': [0],
|
|
'vitest/prefer-to-have-length': [0],
|
|
'vitest/prefer-todo': [0],
|
|
'vitest/prefer-vi-mocked': [0],
|
|
'vitest/require-awaited-expect-poll': [2],
|
|
'vitest/require-hook': [0],
|
|
'vitest/require-local-test-context-for-concurrent-snapshots': [2],
|
|
'vitest/require-mock-type-parameters': [0],
|
|
'vitest/require-test-timeout': [0],
|
|
'vitest/require-to-throw-message': [0],
|
|
'vitest/require-top-level-describe': [0],
|
|
'vitest/unbound-method': [0],
|
|
'vitest/valid-describe-callback': [2],
|
|
'vitest/valid-expect': [2, {maxArgs: 2}],
|
|
'vitest/valid-expect-in-promise': [2],
|
|
'vitest/valid-title': [2],
|
|
'vitest/warn-todo': [0],
|
|
},
|
|
},
|
|
{
|
|
files: ['**/*.d.ts'],
|
|
rules: {
|
|
'@typescript-eslint/consistent-type-definitions': [0],
|
|
'@typescript-eslint/consistent-type-imports': [0],
|
|
},
|
|
},
|
|
{
|
|
files: ['*', 'tools/**/*', 'tests/**/*'],
|
|
languageOptions: {globals: globals.nodeBuiltin},
|
|
rules: {
|
|
'gitea/unescaped-html-literal': [0],
|
|
},
|
|
},
|
|
{
|
|
files: ['web_src/**/*'],
|
|
languageOptions: {globals: {...globals.browser, ...globals.jquery}},
|
|
rules: {
|
|
'no-restricted-globals': [2, 'self', ...restrictedGlobals],
|
|
'no-restricted-properties': [2, ...restrictedProperties],
|
|
},
|
|
},
|
|
{
|
|
files: ['**/*.worker.*', '**/*.sharedworker.*'],
|
|
rules: {
|
|
'no-restricted-globals': [2, 'window', ...restrictedGlobals],
|
|
},
|
|
},
|
|
]);
|