Skip to content

feat(linter): auto generate oxlint.config.ts types#18597

Merged
graphite-app[bot] merged 1 commit intomainfrom
c/01-26-feat_linter_auto_generate_oxlint.config.ts_types
Feb 1, 2026
Merged

feat(linter): auto generate oxlint.config.ts types#18597
graphite-app[bot] merged 1 commit intomainfrom
c/01-26-feat_linter_auto_generate_oxlint.config.ts_types

Conversation

@camc314
Copy link
Contributor

@camc314 camc314 commented Jan 26, 2026

No description provided.

@github-actions github-actions bot added A-linter Area - Linter A-cli Area - CLI A-linter-plugins Area - Linter JS plugins C-enhancement Category - New feature or request labels Jan 26, 2026
Copy link
Contributor Author

camc314 commented Jan 26, 2026


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

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.

@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from a2e021c to e7a8e8d Compare January 26, 2026 20:06
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch from 5d9b34d to c14d1e8 Compare January 26, 2026 20:06
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch 2 times, most recently from 296765f to ca06b52 Compare January 26, 2026 20:15
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch 2 times, most recently from 96f46ab to a1c8987 Compare January 26, 2026 20:17
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch from ca06b52 to 4cba6e2 Compare January 26, 2026 20:17
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from a1c8987 to 6366c63 Compare January 26, 2026 20:29
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch from 4cba6e2 to 2c39fde Compare January 26, 2026 20:29
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from 5bb84b9 to c8b3456 Compare January 26, 2026 20:32
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch 2 times, most recently from 7f4d16f to efd8e8a Compare January 26, 2026 20:32
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch 2 times, most recently from 6c30b25 to f79a359 Compare January 27, 2026 00:20
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch from efd8e8a to 20c266b Compare January 27, 2026 00:20
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from f79a359 to a657b5a Compare January 27, 2026 00:22
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch from 20c266b to d7c91eb Compare January 27, 2026 00:22
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from a657b5a to b55af5a Compare January 28, 2026 13:39
@graphite-app graphite-app bot force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from b71f752 to ce3b889 Compare January 28, 2026 14:57
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from ce3b889 to 1f5ffdb Compare January 28, 2026 14:57
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch from d34b326 to 17266c8 Compare January 28, 2026 14:57
@graphite-app graphite-app bot force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch from 17266c8 to 89d73b1 Compare January 28, 2026 14:57
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from 1a141e9 to 83212e8 Compare January 28, 2026 15:03
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch from 89d73b1 to 78eb463 Compare January 28, 2026 15:03
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from 17a279f to 992304d Compare January 28, 2026 15:10
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch from 78eb463 to 9e891fe Compare January 28, 2026 15:10
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from 992304d to b76b816 Compare February 1, 2026 22:16
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch from 9e891fe to 66a84d5 Compare February 1, 2026 22:16
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from b76b816 to e7dd108 Compare February 1, 2026 22:24
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch from 66a84d5 to 2e74026 Compare February 1, 2026 22:24
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from e7dd108 to f46fa8d Compare February 1, 2026 22:25
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch 2 times, most recently from d48cdd8 to fb3ec54 Compare February 1, 2026 22:25
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch 2 times, most recently from 9a0b06b to cb7ab8b Compare February 1, 2026 22:28
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch 2 times, most recently from 5d2e111 to d1f4672 Compare February 1, 2026 22:28
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from cb7ab8b to 3b152f1 Compare February 1, 2026 22:28
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch from d1f4672 to d02e1d6 Compare February 1, 2026 22:33
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from 3b152f1 to 99f5427 Compare February 1, 2026 22:33
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch from d02e1d6 to b3441e2 Compare February 1, 2026 22:36
@camc314 camc314 force-pushed the c/01-26-feat_oxlint_introduce_defineconfig_helper branch from 99f5427 to 2b0ca3c Compare February 1, 2026 22:36
@camc314 camc314 force-pushed the c/01-26-feat_linter_auto_generate_oxlint.config.ts_types branch from b3441e2 to 92a2998 Compare February 1, 2026 22:38
Copy link
Contributor Author

camc314 commented Feb 1, 2026

Merge activity

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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-typescript dependency to generate TypeScript types from the JSON schema
  • Created a generation script and just command to regenerate types when the schema changes
  • Exported defineConfig helper 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-cli Area - CLI A-linter Area - Linter A-linter-plugins Area - Linter JS plugins C-enhancement Category - New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants