mirror of
https://github.com/go-gitea/gitea.git
synced 2026-11-09 17:37:20 -06: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`](d25ce68df9)
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],
|
|
},
|
|
},
|
|
]);
|