Repository navigation
chore(config): Replace ESLint to OXLint - #854
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
React Doctor found no new issues. 🎉 Reviewed by React Doctor for commit |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f43cbdc02e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| export default defineConfig({ | ||
| plugins: ["typescript", "unicorn"], | ||
| jsPlugins: [resolvePlugin("eslint-plugin-perfectionist")], |
There was a problem hiding this comment.
Load JS plugins in each consuming Oxlint config
Load this plugin from the project-level configs rather than only from the shared object: Oxlint's extends mechanism inherits only rules, plugins, and overrides, not top-level jsPlugins (Oxlint nested-config documentation). Consequently every workspace that merely does extends: [vitnode] inherits the perfectionist/* rules without loading eslint-plugin-perfectionist, so its new oxlint --type-aware script fails on unknown plugin rules; the top-level @eslint-react/eslint-plugin declaration in oxlint.react.config.mjs has the same problem.
Useful? React with 👍 / 👎.
| { | ||
| "semi": false, | ||
| "singleQuote": true, | ||
| "trailingComma": "all", | ||
| "printWidth": 80, |
There was a problem hiding this comment.
Carry generated-file ignores into the web formatter config
Add the generated/build ignores to this nested config. Oxfmt uses the nearest configuration for each file rather than merging it with the root config (Oxfmt configuration documentation), so the root **/*.gen.ts ignore no longer applies under apps/web. The generators in packages/vitnode/src/framework/*/generate.ts deliberately emit files marked “do not format,” and this commit already reformats those outputs; after they are regenerated, the root format:check glob sees them through this config and reports formatting differences.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a3ee026bf4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| output: Output.array({ element: z.string() }), | ||
| temperature: 0, | ||
| system: [ | ||
| instructions: [ |
There was a problem hiding this comment.
Use
system for the translation instructions
When vitnode i18n update-ai processes a locale, generateText receives the target language and all translation constraints through the unsupported instructions property; the AI SDK exposes this option as system (official generateText reference). The model therefore sees only the raw JSON array in prompt, so it can return untranslated English strings with the expected array length; those values then pass the existing length check and are written into the locale files.
Useful? React with 👍 / 👎.
|
|
||
| export default defineConfig({ | ||
| ...vitnode, | ||
| ignorePatterns: [".nitro", ".output", ".tanstack", "dist", "src/*.gen.ts"], |
There was a problem hiding this comment.
Ignore generated plugin declarations in the Oxfmt template
When this React template is copied into a newly scaffolded plugin, the nearest formatter config does not ignore the plugin-only generated output types/api-registry.gen.d.ts; unlike the corrected web config, it only excludes generated files directly under src. vitnode build deliberately regenerates that declaration with single quotes and no semicolons, while the shared Oxfmt config selects the opposite style, so a root formatting check fails after generation (or formatting rewrites the file only for the next build to reverse it). Add a recursive *.gen.d.ts ignore alongside the existing generated-source pattern.
Useful? React with 👍 / 👎.
Improving Documentation
pnpm lint:fixto fix formatting issues before opening the PR.Description
What?
Why?