-
-
Notifications
You must be signed in to change notification settings - Fork 482
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
perf(linter): change react rules and utils to use Cow
and CompactStr
instead of String
#4603
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DonIsaac
added
A-linter
Area - Linter
C-performance
Category - Solution not expected to change functional behavior, only performance
labels
Aug 2, 2024
Your org has enabled the Graphite merge queue for merging into mainAdd the label “merge” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “hotfix” to add to the merge queue as a hot fix. You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link. |
CodSpeed Performance ReportMerging #4603 will not alter performanceComparing Summary
|
Boshen
reviewed
Aug 2, 2024
Merge activity
|
Boshen
pushed a commit
that referenced
this pull request
Aug 2, 2024
…tr` instead of `String` (#4603)
Boshen
force-pushed
the
don/linter/perf/react-remove-strings
branch
from
August 2, 2024 22:35
3b069e3
to
cd9cda0
Compare
…tr` instead of `String` (#4603)
overlookmotel
force-pushed
the
don/linter/perf/react-remove-strings
branch
from
August 3, 2024 21:26
cf662a5
to
6ff200d
Compare
Merged
Boshen
added a commit
that referenced
this pull request
Aug 5, 2024
## [0.7.0] - 2024-08-05 - 85a7cea semantic: [**BREAKING**] Remove name from `reference` (#4329) (Dunqing) ### Features - aaee07e ast: Add `AstKind::AssignmentTargetPattern`, `AstKind::ArrayAssignmentTarget` and `AstKind::ObjectAssignmentTarget` (#4456) (Dunqing) - 9df7b56 jsx-a11y/no-autofocus: Implement fixer support (#4171) (Jelle van der Waa) - b87bf70 linter: Add fix capabilties to existing lint rules (#4560) (DonIsaac) - ddd8b27 linter: Support conditional fix capabilities (#4559) (DonIsaac) - b952942 linter: Add eslint/no-unused-vars (⭐ attempt 3.2) (#4445) (DonIsaac) - 6543958 linter: Add auto-fix metadata to RuleMeta (#4557) (Don Isaac) - 85e8418 linter: Add react/jsx-curly-brace-presence (#3949) (Don Isaac) - 4c4da56 linter: Add typescript-eslint/prefer-keyword-namespce (#4438) (Aza Walker) - d8c2a83 linter: Eslint-plugin-vitest/no-import-node-test (#4440) (cinchen) - e3b0c40 linter: Eslint-plugin-vitest/no-identical-title (#4422) (cinchen) - c936782 linter: Eslint-plugin-vitest/no-conditional-expect (#4425) (cinchen) - 27fdd69 linter: Eslint-plugin-vitest/no-commented-out-tests (#4424) (cinchen) - 51f5025 linter: Add fixer for unicorn/prefer-string-starts-ends-with (#4378) (DonIsaac) - 3c0c709 linter: Add typescript-eslint/no-extraneous-class (#4357) (Jaden Rodriguez) - 7afa1f0 linter: Support suggestions and dangerous fixes (#4223) (DonIsaac) - acc5729 linter: Eslint-plugin-vitest/expect-expect (#4299) (cinchen) - 2213f93 linter: Eslint-plugin-vitest/no-alias-methods (#4301) (cinchen) - c296bc3 linter/eslint: Implement func-names (#4618) (Alexander S.) - e116ae0 linter/eslint: Implement fixer for prefer-numeric-literals (#4591) (Jelle van der Waa) - eaf834f linter/eslint: Implement prefer-numeric-literals (#4109) (Jelle van der Waa) - db2fd70 linter/eslint-plugin-promise: Implement no-webpack-loader-syntax (#4331) (Jelle van der Waa) - 5f1e070 linter/eslint-plugin-unicorn: Add fixer for prefer-code-point (#4353) (Jelle van der Waa) - ed49e16 linter/eslint-plugin-unicorn: Implement fixer for prefer-dom-node-append (#4306) (Jelle van der Waa) - e2b15ac linter/react: Implement react-jsx-boolean-value (#4613) (Jelle van der Waa) - 68efcd4 linter/react-perf: Handle new objects and arrays in prop assignment patterns (#4396) (DonIsaac) ### Bug Fixes - 368112c ast: Remove `#[visit(ignore)]` from `ExportDefaultDeclarationKind`'s `TSInterfaceDeclaration` (#4497) (Dunqing) - d384f60 ci: Remove unused(?) .html file (#4545) (Yuji Sugiura) - 06aec77 linter: Invalid binary expression with overflow (#4647) (DonIsaac) - b2da22b linter: Invalid tags in rule docs (#4646) (DonIsaac) - 94440ad linter: Panic on invalid lang in `a11y/lang`. (#4630) (rzvxa) - e0b03f8 linter: Improve the boundary for eslint/for-direction (#4590) (heygsc) - 70b8cfa linter: Missing return in no-obj-calls recursion (#4594) (DonIsaac) - fe1356d linter: Change no-unused-vars to nursery (#4588) (DonIsaac) - 72337b1 linter: Change typescript-eslint/no-namespace to restriction (#4539) (Don Isaac) - 732f4e2 linter: Fix `oxlint` allocator cfg (#4527) (overlookmotel) - 289dc39 linter: Overflow in no-obj-calls (#4397) (DonIsaac) - a664715 linter/eslint: Fix invalid regexp in no_regex_spaces test (#4605) (Yuji Sugiura) - 74fa75a linter/eslint: Drop quotes around max-params lint warning (#4608) (Jelle van der Waa) - 9fcd9ae linter/eslint: Fix invalid regexp in no_control_regex test (#4544) (leaysgur) - ac08de8 linter/react_perf: Allow new objects, array, fns, etc in top scope (#4395) (DonIsaac) - 0fba738 npm: SyntaxError caused by optional chaining in low version node (#4650) (heygsc) - 73d2558 oxlint: Fix oxlint failed to build due to missing feature (Boshen) ### Performance - 6ff200d linter: Change react rules and utils to use `Cow` and `CompactStr` instead of `String` (#4603) (DonIsaac) - f259df0 linter: Make img-redundant-alt only build a regex once (#4604) (DonIsaac) - 7585e16 linter: Remove allocations for string comparisons (#4570) (DonIsaac) - b60bdf1 linter: `no_shadow_restricted_names` only look up name in hashmap once (#4472) (overlookmotel) - 81384f5 linter: Avoid unnecessary work in `nextjs:no_duplicate_head` rule (#4465) (overlookmotel) - f7da22d linter: Disable lint rules by file type (#4380) (DonIsaac) - 348c1ad semantic: Remove `span` field from `Reference` (#4464) (overlookmotel) - 6a9f4db semantic: Reduce storage size for symbol redeclarations (#4463) (overlookmotel)- a207923 Replace some CompactStr usages with Cows (#4377) (DonIsaac) ### Refactor - 7a75e0f linter: Use diagnostic codes in lint rules (#4349) (DonIsaac) - ccb1835 semantic: Methods take `Span` as param, not `&Span` (#4470) (overlookmotel) - 7cd53f3 semantic: Var hoisting (#4379) (Dunqing) - c99b3eb syntax: Give `ScopeId` a niche (#4468) (overlookmotel) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
Merged
Boshen
added a commit
that referenced
this pull request
Aug 6, 2024
## [0.23.1] - 2024-08-06 ### Features - fd2d9da ast: Improve `AstKind::debug_name` (#4553) (DonIsaac) - b3b7028 ast: Implement missing Clone, Hash, and Display traits for literals (#4552) (DonIsaac) - 54047e0 ast: `GetSpanMut` trait (#4609) (overlookmotel) - eae401c ast, ast_macros: Apply stable repr to all `#[ast]` enums (#4373) (rzvxa) - 0c52c0d ast_codegen: Add alignment and size data to the schema. (#4615) (rzvxa) - 229a0e9 minifier: Implement dot define for member expressions (#3959) (camc314) - e42ac3a sourcemap: Add `ConcatSourceMapBuilder::from_sourcemaps` (#4639) (overlookmotel) ### Bug Fixes - 4a56954 codegen: Print raw if value is number is Infinity (#4676) (Boshen) - bf48c7f minifier: Fix `keep_var` keeping vars from arrow functions (#4680) (Boshen) - 9be29af minifier: Temporarily fix shadowed `undefined` variable (#4678) (Boshen) - e8b662a minifier: Various fixes to pass minifier conformance (#4667) (Boshen) - a40a217 parser: Parse `assert` keyword in `TSImportAttributes` (#4610) (Boshen) - 03c643a semantic: Incorrect `scope_id` for catch parameter symbols (#4659) (Dunqing) - 6c612d1 semantic/jsdoc: Handle whitespace absence (#4642) (leaysgur) - 0d2c41a semantic/jsdoc: Panic on parsing `type_name_comment`. (#4632) (rzvxa) - 9f8f299 syntax: Prevent creating invalid u32 IDs (#4675) (overlookmotel) - 5327acd transformer/react: The `require` IdentifierReference does not have a `reference_id` (#4658) (Dunqing) - 3987665 transformer/typescript: Incorrect enum-related `symbol_id`/`reference_id` (#4660) (Dunqing) - 4efd54b transformer/typescript: Incorrect `SymbolFlags` for jsx imports (#4549) (Dunqing) ### Performance - 8dd76e4 codegen: Reduce size of `LineOffsetTable` (#4643) (overlookmotel) - b8e6753 codegen: `u32` indexes in `LineOffsetTable` for source maps (#4641) (overlookmotel) - 6ff200d linter: Change react rules and utils to use `Cow` and `CompactStr` instead of `String` (#4603) (DonIsaac) - 0f5e982 minifier: Only visit arrow expression after dropping `console.log` (#4677) (Boshen) - ff43dff sourcemap: Speed up VLQ encoding (#4633) (overlookmotel) - a330773 sourcemap: Reduce string copying in `ConcatSourceMapBuilder` (#4638) (overlookmotel) - 372316b sourcemap: `ConcatSourceMapBuilder` extend `source_contents` in separate loop (#4634) (overlookmotel) - c7f1d48 sourcemap: Keep local copy of previous token in VLQ encode (#4596) (overlookmotel) - 590d795 sourcemap: Shorten main loop encoding VLQ (#4586) (overlookmotel) ### Documentation - c69ada4 ast: Improve AST node documentation (#4051) (Rintaro Itokawa) ### Refactor - ba70001 ast: Put `assert_layouts.rs` behind `debug_assertions` (#4621) (rzvxa) - 3f53b6f ast: Make AST structs `repr(C)`. (#4614) (rzvxa) - 452e0ee ast: Remove defunct `visit_as` + `visit_args` attrs from `#[ast]` macro (#4599) (overlookmotel) - e78cba6 minifier: Ast passes infrastructure (#4625) (Boshen) - d25dea7 parser: Use `ast_builder` in more places. (#4612) (rzvxa) - 09d9822 semantic: Simplify setting scope flags (#4674) (overlookmotel) - 6e453db semantic: Simplify inherit scope flags from parent scope (#4664) (Dunqing)- 9b51e04 Overhaul napi transformer package (#4592) (DonIsaac) ### Testing - 49d5196 ast: Fix `assert_layouts.rs` offset tests on 32bit platforms. (#4620) (rzvxa) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
Merged
Boshen
added a commit
that referenced
this pull request
Aug 8, 2024
## [0.24.0] - 2024-08-08 - 75f2207 traverse: [**BREAKING**] Replace `find_scope` with `ancestor_scopes` returning iterator (#4693) (overlookmotel) - 506709f traverse: [**BREAKING**] Replace `find_ancestor` with `ancestors` returning iterator (#4692) (overlookmotel) ### Features - 23b0040 allocator: Introduce `CloneIn` trait. (#4726) (rzvxa) - 51c1ca0 ast: Derive `CloneIn` for AST types, using `generate_derive`. (#4732) (rzvxa) - e12bd1e ast: Allow conversion from TSAccessibility into &'static str (#4711) (DonIsaac) - fd2d9da ast: Improve `AstKind::debug_name` (#4553) (DonIsaac) - b3b7028 ast: Implement missing Clone, Hash, and Display traits for literals (#4552) (DonIsaac) - 54047e0 ast: `GetSpanMut` trait (#4609) (overlookmotel) - eae401c ast, ast_macros: Apply stable repr to all `#[ast]` enums (#4373) (rzvxa) - ec0b4cb ast_codegen: Add `derive_clone_in` generator. (#4731) (rzvxa) - 2e91ad6 ast_codegen: Support for `generate_derive` marker. (#4728) (rzvxa) - 82e2f6b ast_codegen: Process AST-related `syntax` types. (#4694) (rzvxa) - 0c52c0d ast_codegen: Add alignment and size data to the schema. (#4615) (rzvxa) - 07607d3 ast_codegen, span: Process `Span` through ast_codegen (#4703) (overlookmotel) - 125c5fd ast_codegen, span: Process `SourceType` through ast_codegen. (#4696) (rzvxa) - eaddc8f linter: Add fixer for eslint/func_names (#4714) (DonIsaac) - 229a0e9 minifier: Implement dot define for member expressions (#3959) (camc314) - 33f1312 semantic: Impl GetSpan for AstNode (#4717) (DonIsaac) - e42ac3a sourcemap: Add `ConcatSourceMapBuilder::from_sourcemaps` (#4639) (overlookmotel) - 2e63618 span: Implement `CloneIn` for the AST-related items. (#4729) (rzvxa) - 6a36616 syntax: Derive `CloneIn` for the AST-related items. (#4730) (rzvxa) ### Bug Fixes - 4a56954 codegen: Print raw if value is number is Infinity (#4676) (Boshen) - 94d3c31 minifier: Avoid removing function declaration from `KeepVar` (#4722) (Boshen) - bf43148 minifier: Do not `remove_syntax` in dead_code_elimination (Boshen) - bf48c7f minifier: Fix `keep_var` keeping vars from arrow functions (#4680) (Boshen) - 9be29af minifier: Temporarily fix shadowed `undefined` variable (#4678) (Boshen) - e8b662a minifier: Various fixes to pass minifier conformance (#4667) (Boshen) - 01d85de napi/transform: Update napi files (Boshen) - f290191 oxc_ast_macros: Fix `syn` lacking features to build (Boshen) - a40a217 parser: Parse `assert` keyword in `TSImportAttributes` (#4610) (Boshen) - 03c643a semantic: Incorrect `scope_id` for catch parameter symbols (#4659) (Dunqing) - 6c612d1 semantic/jsdoc: Handle whitespace absence (#4642) (leaysgur) - 0d2c41a semantic/jsdoc: Panic on parsing `type_name_comment`. (#4632) (rzvxa) - 9f8f299 syntax: Prevent creating invalid u32 IDs (#4675) (overlookmotel) - 4797eaa transformer: Strip TS statements from for in/of statement bodies (#4686) (overlookmotel) - 5327acd transformer/react: The `require` IdentifierReference does not have a `reference_id` (#4658) (Dunqing) - 3987665 transformer/typescript: Incorrect enum-related `symbol_id`/`reference_id` (#4660) (Dunqing) - 4efd54b transformer/typescript: Incorrect `SymbolFlags` for jsx imports (#4549) (Dunqing) ### Performance - 8dd76e4 codegen: Reduce size of `LineOffsetTable` (#4643) (overlookmotel) - b8e6753 codegen: `u32` indexes in `LineOffsetTable` for source maps (#4641) (overlookmotel) - 6ff200d linter: Change react rules and utils to use `Cow` and `CompactStr` instead of `String` (#4603) (DonIsaac) - 0f5e982 minifier: Only visit arrow expression after dropping `console.log` (#4677) (Boshen) - ff43dff sourcemap: Speed up VLQ encoding (#4633) (overlookmotel) - a330773 sourcemap: Reduce string copying in `ConcatSourceMapBuilder` (#4638) (overlookmotel) - 372316b sourcemap: `ConcatSourceMapBuilder` extend `source_contents` in separate loop (#4634) (overlookmotel) - c7f1d48 sourcemap: Keep local copy of previous token in VLQ encode (#4596) (overlookmotel) - 590d795 sourcemap: Shorten main loop encoding VLQ (#4586) (overlookmotel) ### Documentation - c69ada4 ast: Improve AST node documentation (#4051) (Rintaro Itokawa) ### Refactor - 579b797 ast: Use type identifier instead of `CloneIn::Cloned` GAT. (#4738) (rzvxa) - 475266d ast: Use correct lifetimes for name-related methods (#4712) (DonIsaac) - 83b6ca9 ast: Add explicit enum discriminants. (#4689) (rzvxa) - ba70001 ast: Put `assert_layouts.rs` behind `debug_assertions` (#4621) (rzvxa) - 3f53b6f ast: Make AST structs `repr(C)`. (#4614) (rzvxa) - 452e0ee ast: Remove defunct `visit_as` + `visit_args` attrs from `#[ast]` macro (#4599) (overlookmotel) - 2218340 ast, ast_codegen: Use `generate_derive` for implementing `GetSpan` and `GetSpanMut` traits. (#4735) (rzvxa) - fbfd852 minifier: Add `NodeUtil` trait for accessing symbols on ast nodes (#4734) (Boshen) - e0832f8 minifier: Use `oxc_traverse` for AST passes (#4725) (Boshen) - 17602db minifier: Move tests and files around (Boshen) - 3289477 minifier: Clean up tests (#4724) (Boshen) - e78cba6 minifier: Ast passes infrastructure (#4625) (Boshen) - d25dea7 parser: Use `ast_builder` in more places. (#4612) (rzvxa) - 09d9822 semantic: Simplify setting scope flags (#4674) (overlookmotel) - 6e453db semantic: Simplify inherit scope flags from parent scope (#4664) (Dunqing) - e1429e5 span: Reduce #[cfg_attr] boilerplate in type defs (#4702) (overlookmotel) - e24fb5b syntax: Add explicit enum discriminants to AST related types. (#4691) (rzvxa) - 3f3cb62 syntax, span: Reduce #[cfg_attr] boilerplate in type defs (#4698) (overlookmotel) - 54f9897 traverse: Simpler code for entering/exiting unconditional scopes (#4685) (overlookmotel) - 83546d3 traverse: Enter node before entering scope (#4684) (overlookmotel)- 9b51e04 Overhaul napi transformer package (#4592) (DonIsaac) ### Testing - 49d5196 ast: Fix `assert_layouts.rs` offset tests on 32bit platforms. (#4620) (rzvxa) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
0-merge
Merge with Graphite Merge Queue
A-linter
Area - Linter
C-performance
Category - Solution not expected to change functional behavior, only performance
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.