feat(linter): init note field boilerplate #17589
Conversation
e00f07e to
5b131b4
Compare
CodSpeed Performance ReportMerging #17589 will not alter performanceComparing Summary
Footnotes
|
Signed-off-by: Shrey Sudhir <shrey.somaiya@gmail.com>
0328ca9 to
c6d164e
Compare
camc314
left a comment
There was a problem hiding this comment.
This looks good!
Could you add the note to oxc/no-accumulating-spread just so we can check it works as expected?
diff --git a/crates/oxc_linter/src/rules/oxc/no_accumulating_spread.rs b/crates/oxc_linter/src/rules/oxc/no_accumulating_spread.rs
index e714cc4b7c..8c28dee8ce 100644
--- a/crates/oxc_linter/src/rules/oxc/no_accumulating_spread.rs
+++ b/crates/oxc_linter/src/rules/oxc/no_accumulating_spread.rs
@@ -19,7 +19,8 @@ use crate::{
fn reduce_likely_array_spread_diagnostic(spread_span: Span, reduce_span: Span) -> OxcDiagnostic {
OxcDiagnostic::warn("Do not spread accumulators in Array.prototype.reduce()")
- .with_help("It looks like you're spreading an `Array`. Consider using the `Array.push` or `Array.concat` methods to mutate the accumulator instead.\nUsing spreads within accumulators leads to `O(n^2)` time complexity.")
+ .with_help("It looks like you're spreading an `Array`. Consider using the `Array.push` or `Array.concat` methods to mutate the accumulator instead.")
+ .with_node("Using spreads within accumulators leads to `O(n^2)` time complexity.")
.with_labels([
spread_span.label("From this spread"),
reduce_span.label("For this reduce")…ting_spread to use note
|
@camchenry Done! Added to all of them while I was there, for consistency. Let me know if there are any outstanding thoughts on this I assume we'll need to follow #17589 (comment) this ordering of events to merge this PR, pointing to a new oxc-miette release rather than my branch 😁 |
fa8f6ff to
2da055a
Compare
|
@camc314 I've updated this branch to now point at the new oxc-miette release 🎉 |
### 🚀 Features - 659c23e linter: Init note field boilerplate (#17589) (Shrey Sudhir) - 6870b64 parser: Add TS1363 error code (#17609) (Sysix) - 23680a3 mangler: Skip mangling only in scopes affected by direct eval (#17612) (camc314) - a7e1643 parser: Add TS2528 error code to duplicate_default_export diagnostic (#17558) (camc314) ### 🐛 Bug Fixes - 1044116 ecmascript: Mark `new Symbol` as non side-effect free (#17568) (camc314) - ab5e4ca isolated-declarations: Strip default values from rest parameter binding patterns (#17602) (camc314) - 68b2e54 minifier: Prevent incorrect ??= transformation when member base is mutated (#17472) (copilot-swe-agent) ### ⚡ Performance - 6067143 semantic: Remove hash when checking identifier (#17564) (camchenry) - a28ab3d semantic: Avoid bounds check when checking string literal (#17545) (camc314) - 04809d1 semantic: Use SIMD for finding backslashes in `check_string_literal` (#17534) (camchenry) - 49ad2f0 semantic: Mark all diagnostic functions as `#[cold]` (#17487) (camc314) - ea82b50 transformer: Mark all diagnostic functions as `#[cold]` (#17486) (camc314) - d968e51 semantic: Mark `checker::check` as `inline(always)` (#17459) (camc314)
# Oxlint ### 💥 BREAKING CHANGES - f7da875 oxlint: [**BREAKING**] Remove oxc_language_server binary (#17457) (Boshen) ### 🚀 Features - 659c23e linter: Init note field boilerplate (#17589) (Shrey Sudhir) - 6870b64 parser: Add TS1363 error code (#17609) (Sysix) - 6154c8c linter/eslint-plugin-vitest: Implemented vitest/warn-todo rule (#17228) (Said Atrahouch) - 0043cd6 linter/eslint-plugin-vitest: Implement consistent-vitest-vi rule (#17389) (Said Atrahouch) - a6d773d linter: Add full TS support to eslint/no-useless-constructor (#17592) (camc314) - f02c0e7 linter/eslint: Implement complexity (#17569) (Nguyen Tran) - bc7aae7 linter/no-unused-vars: Add fixer to remove unused catch bindings (#17567) (Don Isaac) - 9e8ec78 linter/only-throw-error rule: Add `allowRethrowing` option for (#17554) (camc314) - b67e819 linter: Add fixer for `unicorn/prefer-response-static-json` rule (#17559) (Mikhail Baev) - 44b0361 linter/vue: Implement no-this-in-before-route-enter (#17525) (yefan) - ee34716 linter/react: Implement no-will-update-set-state (#17530) (Kenzo Wada) - 3088e1d linter/react: Implement no-this-in-sfc (#17535) (Kenzo Wada) - 29a2868 linter/jsx-a11y: Implement no-static-element-interactions (#17538) (Kenzo Wada) - eadf057 linter: Enable tsconfig auto discovery by default (#17489) (Boshen) - 12a7d6e website_linter: Add a count of rules with fixes available to rules table. (#17476) (Connor Shea) ### 🐛 Bug Fixes - a702f13 oxlint/lsp: Correct position for "disable for this file" with shebang (#17613) (Sysix) - 19fdfb6 linter: Panic in `sort-keys` rule with Unicode numeric characters (#17629) (Adel Rodríguez) - 2e8f469 vscode: Search for `node_modules/.bin/oxlint.exe` too (bun setup) (#17597) (Sysix) - be39906 linter/aria-proptypes: Allow template literals with expressions for string-type ARIA props (#17460) (Jökull Sólberg Auðunsson) - 529901c linter: Include JS plugin rules when calculating total rule count (#17520) (connorshea) - 96ef2cc linter: Print total rule # when using a single nested config (#17517) (connorshea) - 9ad0f29 oxlint: Do not enable external plugin store when no external linter is passed (#17498) (Sysix) - 174375d oxfmt,oxlint: Disable mimalloc for 32-bit Arm targets (#17473) (Yaksh Bariya) - ff70fe9 linter/no-standalone-expect: Allows expect in wrapper functions passed to test blocks (#17427) (Copilot) - dab232f linter/catch-or-return: Handle arrow functions with implicit returns correctly (#17440) (Copilot) - a38892a linter: Update no-unnecessary-template-expression docs and test case (#17453) (camc314) ### ⚡ Performance - 605dbf1 vscode: Restrict searching for oxlint/oxfmt binaries only 3 levels deep + 10s timeout (#17345) (Sysix) ### 📚 Documentation - 884fb63 linter/react: Improve docs for jsx-curly-brace-presence (#17579) (connorshea) - 1d3ee07 linter: Improve rule explanation for `vue/no-this-in-before-route-enter`. (#17581) (connorshea) - 5f189f8 linter/arrow-body-style: Correctly document default mode option (#17566) (Rägnar O'ock) - bb2e8e4 linter: Add a note to the `typescript/no-var-requires` rule about the missing `allow` option (#17551) (connorshea) - 655afc1 linter: Improve docs for `import/extensions` and add a few more tests (#17539) (connorshea) - 7e5fc90 linter: Update list of plugins that are reserved. (#17516) (connorshea) # Oxfmt ### 💥 BREAKING CHANGES - f7da875 oxlint: [**BREAKING**] Remove oxc_language_server binary (#17457) (Boshen) ### 🚀 Features - 8fd4ea9 oxfmt: `options.embeddedLanguageFormatting` is now `"auto"` by default (#17649) (leaysgur) ### 🐛 Bug Fixes - c9b5d7d formatter/sort_imports: Handle alignable_comment correctly (#17646) (leaysgur) - 453222d formatter: Missing comment handling for end-of-line comments in member chains (#17659) (Dunqing) - 0805ff2 formatter: Incorrect inline comment placement in try-catch (#17657) (Dunqing) - 3a0c782 formatter: Don't move comments into optional call parentheses (#17582) (magic-akari) - 174375d oxfmt,oxlint: Disable mimalloc for 32-bit Arm targets (#17473) (Yaksh Bariya) ### ⚡ Performance - abb28dc oxfmt: Turn of pretty print from sort-package-json (#17452) (Boshen)
Consumes miette changes in oxc-project/oxc-miette#124 for #17443
For now, simple
notefield with appropriatenote()andwith_note()helpersHaven't explicitly tested it out just yet, but putting up the PR early before weekend gets busy 😀
Though this isn't doing much now, probably a good idea to snapshot test a simple example?