feat(linter): auto generate oxlint.config.ts types#18597
feat(linter): auto generate oxlint.config.ts types#18597graphite-app[bot] merged 1 commit intomainfrom
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
a2e021c to
e7a8e8d
Compare
5d9b34d to
c14d1e8
Compare
296765f to
ca06b52
Compare
96f46ab to
a1c8987
Compare
ca06b52 to
4cba6e2
Compare
a1c8987 to
6366c63
Compare
4cba6e2 to
2c39fde
Compare
5bb84b9 to
c8b3456
Compare
7f4d16f to
efd8e8a
Compare
6c30b25 to
f79a359
Compare
efd8e8a to
20c266b
Compare
f79a359 to
a657b5a
Compare
20c266b to
d7c91eb
Compare
a657b5a to
b55af5a
Compare
b71f752 to
ce3b889
Compare
ce3b889 to
1f5ffdb
Compare
d34b326 to
17266c8
Compare
17266c8 to
89d73b1
Compare
1a141e9 to
83212e8
Compare
89d73b1 to
78eb463
Compare
17a279f to
992304d
Compare
78eb463 to
9e891fe
Compare
992304d to
b76b816
Compare
9e891fe to
66a84d5
Compare
b76b816 to
e7dd108
Compare
66a84d5 to
2e74026
Compare
e7dd108 to
f46fa8d
Compare
d48cdd8 to
fb3ec54
Compare
9a0b06b to
cb7ab8b
Compare
5d2e111 to
d1f4672
Compare
cb7ab8b to
3b152f1
Compare
d1f4672 to
d02e1d6
Compare
3b152f1 to
99f5427
Compare
d02e1d6 to
b3441e2
Compare
99f5427 to
2b0ca3c
Compare
b3441e2 to
92a2998
Compare
Merge activity
|
There was a problem hiding this comment.
Pull request overview
This PR adds automatic generation of TypeScript types for oxlint.config.ts from the JSON schema, enabling type-safe configuration files with IDE support.
Changes:
- Added
json-schema-to-typescriptdependency to generate TypeScript types from the JSON schema - Created a generation script and just command to regenerate types when the schema changes
- Exported
defineConfighelper and config types from the main package for user consumption
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| pnpm-lock.yaml | Added json-schema-to-typescript and its dependencies to support type generation |
| justfile | Added linter-config-ts command to regenerate config types |
| apps/oxlint/test/fixtures/js_config_define_config/oxlint.config.ts | Test fixture demonstrating defineConfig usage with type inference |
| apps/oxlint/test/fixtures/js_config_define_config/output.snap.md | Expected test output for the defineConfig fixture |
| apps/oxlint/test/fixtures/js_config_define_config/files/test.js | Test input file with linting issues |
| apps/oxlint/src-js/package/config.ts | Defines defineConfig helper and re-exports types, omitting $schema and extends from the public API |
| apps/oxlint/src-js/package/config.generated.ts | Auto-generated TypeScript types from the JSON schema |
| apps/oxlint/src-js/index.ts | Exports defineConfig and config types from the main package entry point |
| apps/oxlint/scripts/generate-config-types.ts | Script that generates TypeScript types from the JSON schema using json-schema-to-typescript |
| apps/oxlint/package.json | Added generate-config-types script and json-schema-to-typescript dev dependency |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

No description provided.