Commit Graph

21 Commits

Author SHA1 Message Date
Sebastian Poxhofer 9717259ffc refactor(oxlint): enable no-else-return and unicorn/no-lonely-if (#44553)
Enable no-else-return (with allowElseIf: false) and unicorn/no-lonely-if
as errors in .oxlintrc.json and fix all 131 pre-existing violations
(91 no-else-return, 40 unicorn/no-lonely-if) across 98 files.

The no-else-return violations were fixed with the oxlint autofix
(iterated to a fixpoint, plus two else-if chains that required
--fix-dangerously) followed by Prettier formatting. One comment dropped
by the autofix in lib/modules/manager/pub/artifacts.ts was restored
manually. The unicorn/no-lonely-if violations were merged by hand,
preserving comments and coverage-ignore hints.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 12:11:21 +00:00
Sebastian Poxhofer b106668a95 refactor(oxlint): enable typescript/no-useless-default-assignment (#44419)
- Convert `param: T | undefined = undefined` to optional `param?: T`.
- Drop dead `= false` defaults on the required cache-provider options.
- Make `GraphqlPaginatedContent.nodes/edges` optional so the `= []`
  fallbacks (load-bearing for partial GraphQL connections) are valid.
- Type the unchecked `default_branch` response field as optional so
  the `'HEAD'` fallback is retained.
- Drop `tag = undefined` from the Forgejo/Gitea/GitLab preset configs.

Part of #43845

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 16:38:48 +00:00
Sebastian Poxhofer 03baf6ee4a test(noNewURL): add new rule enforcing parseUrl() from 'lib/util/url.ts' (#43247)
* test(noNewURL): add new rule enforcing parseUrl() from 'lib/util/url.ts'

* replace newURL with parseUrl

* remove non-null assertions marks if appropiate

* test: add additional tests

* test: add additional tests and ignore where it makes sense

* implement suggestions

* test: further improve coverage

* apply suggestion
2026-05-13 16:23:10 +00:00
Sergei Zharinov 7df11ed734 chore(lint): add enforce-ts-extension oxlint rule (#42389)
* refactor(lint): extract custom oxlint rules into separate files

Split `tools/lint/rules.js` into one file per rule under
`tools/lint/rules/`. Also simplify `test-root-describe` with
early-exit guard clauses.

* feat(lint): add `enforce-ts-extension` oxlint rule

Add a custom JS-based oxlint rule that enforces `.ts` extensions on
local imports. The rule catches two problems:

- `.js` extension used instead of `.ts` (auto-fixable)
- missing file extension entirely (report only)

Checked locations:
- static import/export declarations
- dynamic `import()` expressions
- vitest module APIs: `vi.mock`, `vi.doMock`, `vi.unmock`,
  `vi.doUnmock`, `vi.importActual`, `vi.importMock`

Both relative paths (`./`, `../`) and path aliases (`~test/`)
are treated as local. Package imports are ignored.

Also fixes 26 pre-existing violations across 18 spec files.

* Update tools/lint/rules/enforce-ts-extension.js

Co-authored-by: Anne Stellingwerf <1637358+astellingwerf@users.noreply.github.com>

---------

Co-authored-by: Anne Stellingwerf <1637358+astellingwerf@users.noreply.github.com>
2026-04-07 15:36:16 +00:00
Sergei Zharinov b57fc5dd13 feat: enable vitest plugin in oxlint (#41579)
* chore: Add vitest plugin to oxlint

* Remove unused line in versioning spec

* Remove coverage threshold check job

The coverage threshold check has been removed from the build workflow. This job was redundant as
coverage is already handled by the codecov job.

* Refine versioning API schema with existence check

* Revert "Remove coverage threshold check job"

This reverts commit f2c9dd872b.

* Remove vitest ESLint plugin

The vitest ESLint plugin and its configurations have been removed. ESLint will no longer enforce
vitest-specific rules.

* Remove unused vitest eslint plugin

The `@vitest/eslint-plugin` is no longer used and can be safely removed.
2026-03-02 13:02:25 +00:00
Sergei Zharinov 9d857c1f68 refactor(lint): Organize imports with biome (#40966) 2026-02-06 13:40:01 +00:00
Sergei Zharinov 930cf6633c refactor: Rewrite imports with .ts extensions (#40700)
fix: Additional vi.mock path corrections and prettier formatting
2026-01-26 22:48:17 +00:00
jana-lemke e934191bbe fix(bitbucket-server): properly support gitUrl=endpoint (#39531)
* Fix handling of giturl

* fix handling of undefined credentials

(This was never called before and was now failing).
2026-01-11 16:58:29 +00:00
Simon Hänisch 99af75579d fix(azure,bitbucket-server): bearer auth for cloning repos sets extra header correctly (#37235) 2025-07-31 11:12:03 +00:00
Rhys Arkins 6dee68227c chore(eslint): report unused directives error (#35124) 2025-04-01 12:47:33 +00:00
Michael Kriese 4f60a8b7fe test: mock git globally (#34783) 2025-03-13 15:48:02 +00:00
Johannes Feichtner 032171c60d refactor(bitbucket-server): replace utils.accumulateValues with paginate calls (#34473)
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2025-02-27 08:46:41 +00:00
Michael Kriese 997c23502e test: migrate to vitest (#34475)
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
2025-02-26 09:35:54 +00:00
Gagarmel 771b91f69f feat(bitbucket-server): Add bitbucket http access token support (#28093)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2024-04-12 07:17:44 +00:00
Sergei Zharinov b69416ce17 refactor(prettier): Force trailing commas (#25631) 2023-11-07 15:50:29 +00:00
RahulGautamSingh 7ff4b53439 test: replace as with partial (#20252)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2023-02-07 11:38:59 +00:00
RahulGautamSingh 1657c16136 chore(lint): add object shortand rule (#18080) 2022-10-02 21:20:24 +02:00
Sergei Zharinov d18538dc4d feat(platform): Provide repoFingerprint field on repository init (#17288)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2022-08-22 07:50:55 +00:00
jatladams e1bb2581ef feat(bitbucket-server): Support gitUrl (#13875) 2022-07-01 11:59:58 +02:00
Michael Kriese e24bf474ef refactor(platform): more strict null checks (#15247) 2022-04-22 14:13:14 +00:00
Rhys Arkins dca3418bbd refactor: lib/modules (#14488)
Moves datasource, manager, platform and versioning code from lib/ into new lib/modules/

BREAKING CHANGE: External tools must update paths to datasource, manager, platform and versioning
2022-03-04 09:04:02 +01:00