Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 0 additions & 40 deletions .eslintrc.js

This file was deleted.

3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ jobs:

- uses: ./.github/actions/ci-setup

- name: Codegen
run: pnpm codegen:github

- name: Lint
run: pnpm lint

Expand Down
20 changes: 20 additions & 0 deletions .oxlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"options": {
"typeAware": true,
"typeCheck": true,
"maxWarnings": 0
},
"plugins": [
"eslint",
"typescript",
"unicorn",
"oxc",
"import",
"node",
"vitest"
],
Comment on lines +8 to +16
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note for reviewers:

I enabled all default plugins, plus some other useful plugins. See https://oxc.rs/docs/guide/usage/linter/plugins.html#supported-plugins for a full list of plugins.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer to not have unicorn since it's a bunch of random lints but since it doesn't affect any code right now I'm fine with it.

"rules": {
"vitest/expect-expect": "off"
}
}
10 changes: 3 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
"codegen:github": "graphql-codegen --config src/github/codegen.ts",
"format:check": "prettier --check \"**/*.{ts,tsx,md}\"",
"format:fix": "prettier --write \"**/*.{ts,tsx,md}\"",
"lint": "eslint . --max-warnings 0",
"lint": "oxlint",
"test:integration": "vitest -c vitest.integration.config.ts"
},
"devDependencies": {
Expand All @@ -60,14 +60,10 @@
"@octokit/core": "^6.1.2",
"@octokit/graphql": "^8.1.1",
"@octokit/graphql-schema": "^14.56.0",
"@types/eslint": "^8.56.5",
"@types/node": "^20.11.24",
"@typescript-eslint/eslint-plugin": "^7.16.0",
"@typescript-eslint/parser": "^7.16.0",
"dotenv": "^16.4.5",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-only-warn": "^1.1.0",
"oxlint": "^1.63.0",
"oxlint-tsgolint": "^0.22.1",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hm, I think we are still not using TS Go (deliberately) in the main repo - perhaps it would be best to match the main repo for now and upgrade all repos at once at some point

Copy link
Copy Markdown
Contributor Author

@ocavue ocavue May 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to enable type-aware linting so that I can find more errors, like the floating promise issue (e.g., missing await) that I have fixed, as shown in this PR.

For type-aware linting on ESLint, we can just enable type-aware linting with the already installed TypeScript v5 by enabling projectService.

For type-aware linting on oxlint, we have to install oxlint-tsgolint.

Just to be clear, installing oxlint-tsgolint won't install tsgo (@typescript/native-preview) in our repo. oxlint-tsgolint itself bundles the code from tsgo. Therefore, we won't have two different TypeScript versions installed in the repo.

"pino": "^9.3.2",
"pino-pretty": "^11.2.2",
"prettier": "^3.3.3",
Expand Down
Loading
Loading