-
-
Notifications
You must be signed in to change notification settings - Fork 755
refactor(linter): compute lintable extensions at compile time #10090
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor(linter): compute lintable extensions at compile time #10090
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. |
CodSpeed Instrumentation Performance ReportMerging #10090 will not alter performanceComparing Summary
|
4d973b9 to
2c80858
Compare
612a20a to
3ca18db
Compare
3ca18db to
014adf6
Compare
Sysix
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Don't know if constcat is really needed or not
Would love to know if there's a solution in the standard library for concatening |
Merge activity
|
Previously, we were wasting some time creating a `Vec` at runtime with the lintable extensions, which is all of the JS/TS extensions plus other frameworks extensions like `.vue`. Now, we precompute this as a static string slice at compile time. This also ensures that we are using the same extensions list between `oxlint` and the language server too. Theoretically this is a very minor perf win possibly?
014adf6 to
c9dbbf8
Compare
Previously, we were wasting some time creating a `Vec` at runtime with the lintable extensions, which is all of the JS/TS extensions plus other frameworks extensions like `.vue`. Now, we precompute this as a static string slice at compile time. This also ensures that we are using the same extensions list between `oxlint` and the language server too. Theoretically this is a very minor perf win possibly?
ea0830b to
d8e49a1
Compare
## [0.16.4] - 2025-04-01 - da6336c language_server: [**BREAKING**] Remove `enable` configuration, the client should shutdown the server instead (#9990) (Sysix) ### Features - 06e3db9 linter: Support `multipleFileExtensions` option for `unicorn/filename-case` (#10118) (shulaoda) - dbe0e46 linter: Support `ignore` option for `unicorn/filename-case` (#10107) (shulaoda) ### Bug Fixes - 0a33e27 editor: Update `initializationOptions` for a possible restart (#10121) (Sysix) - ac780a2 editor: Repair filewatchers when no custom config provided (#10104) (Sysix) - 4303ace editor: Dont send `didChangeConfiguration` request to the server when it is shutdown (#10084) (Sysix) - 07f2a25 editor: Enable regex parsing in language server (#10035) (camchenry) - fcf7702 language_server: Start from a default oxlint configuration + SafeFix for nested configuration (#10043) (Sysix) - aba3654 linter: Span disable directive correctly on next line (#10141) (Ulrich Stark 🦀) - 2c80858 linter: Enable multi-file analysis for nested configs (#10089) (camchenry) ### Performance - 566be59 linter: Replace `phf_set` with `array` in `eslint/func-names` (#10119) (shulaoda) - 5e14fe9 linter: Inline `PRE_DEFINE_VAR` and use `array` format (#10079) (shulaoda) ### Refactor - 327be53 editor: `LanguageClient` can be undefined (#10112) (Sysix) - 5ec477c editor: Make `onConfigChange` async (#10110) (Sysix) - a278d73 editor: Use warning background when the plugin is deactived (#10085) (Sysix) - c0e5251 language_server: Set `null` as a default value for `configPath` (#10047) (Sysix) - 09c0ac6 linter: Improve `unicorn/filename-case` (#10117) (shulaoda) - d8e49a1 linter: Compute lintable extensions at compile time (#10090) (camchenry) - b3ec235 linter: Use items of `oxc_ast::ast` module directly (#10100) (Ulrich Stark 🦀) - 93e6c0b linter: Use `FormalParameter::has_modifier` to detect parameter properties (#10097) (Ulrich Stark 🦀) - 5d829c2 semantic: Align handling of declaring symbol for function with TypeScript (#10086) (Dunqing) ### Testing - 410b8d6 editor: Use debug build of the language server (#10083) (Sysix) - 500add0 editor: Add test for `oxc.fixAll` command (#10045) (Sysix) Co-authored-by: Boshen <[email protected]>

Previously, we were wasting some time creating a
Vecat runtime with the lintable extensions, which is all of the JS/TS extensions plus other frameworks extensions like.vue. Now, we precompute this as a static string slice at compile time. This also ensures that we are using the same extensions list betweenoxlintand the language server too. Theoretically this is a very minor perf win possibly?