Skip to content
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

feat(minifier): fold String::charAt / String::charCodeAt more precisely #9082

Conversation

sapphi-red
Copy link
Contributor

No description provided.

Copy link
Contributor Author

sapphi-red commented Feb 13, 2025


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.

@github-actions github-actions bot added A-linter Area - Linter A-minifier Area - Minifier C-enhancement Category - New feature or request labels Feb 13, 2025
@sapphi-red sapphi-red marked this pull request as ready for review February 13, 2025 08:15
Copy link

codspeed-hq bot commented Feb 13, 2025

CodSpeed Performance Report

Merging #9082 will not alter performance

Comparing 02-11-feat_minifier_fold_string_charat___string_charcodeat_more_precisely (125d610) with main (9edfb1d)

Summary

✅ 33 untouched benchmarks

Copy link

graphite-app bot commented Feb 13, 2025

Merge activity

@graphite-app graphite-app bot force-pushed the 02-11-feat_minifier_fold_bitwise_binary_expressions_with_negative_bigints branch from c1ca6a5 to 237ffba Compare February 13, 2025 13:59
@graphite-app graphite-app bot force-pushed the 02-11-feat_minifier_fold_string_charat___string_charcodeat_more_precisely branch from 763a11a to 125d610 Compare February 13, 2025 14:00
Base automatically changed from 02-11-feat_minifier_fold_bitwise_binary_expressions_with_negative_bigints to main February 13, 2025 14:11
@graphite-app graphite-app bot merged commit 125d610 into main Feb 13, 2025
27 checks passed
@graphite-app graphite-app bot deleted the 02-11-feat_minifier_fold_string_charat___string_charcodeat_more_precisely branch February 13, 2025 14:16
Boshen added a commit that referenced this pull request Feb 15, 2025
## [0.51.0] - 2025-02-15

- 21a9476 ast: [**BREAKING**] Remove `TSLiteral::RegExpLiteral` (#9056)
(Dunqing)

- 9091387 ast: [**BREAKING**] Remove `TSType::TSQualifiedName` (#9051)
(Dunqing)

### Features

- f74d462 ast_tools: Introduce meta types (#9117) (overlookmotel)
- 36c8640 ecmascript: Support more string concatenation (#9121)
(sapphi-red)
- 6936b08 ecmascript: Fold `typeof` with ValueType information (#9086)
(sapphi-red)
- b25b84b minifier: Substitute redundant assignment target bindings
(#9096) (camchenry)
- 125d610 minifier: Fold String::charAt / String::charCodeAt more
precisely (#9082) (sapphi-red)
- 237ffba minifier: Fold bitwise binary expressions with negative
BigInts (#9081) (sapphi-red)
- 24830e6 minifier: Fold `a + 'a' + 1` to `a + 'a1'` (#9080)
(sapphi-red)
- b5eb6e5 minifier: Improve `remove_unused_expression` (#9071) (Boshen)
- fef82ff transformer/helper-loader: Replace `@babel/runtime` with
`@oxc-project/runtime` (#9059) (Dunqing)

### Bug Fixes

- 38f81af ast/estree: Order fields same as Acorn (#9128) (overlookmotel)
- 67f8932 ast/estree: `CatchParameter` do not include `type` and `Span`
twice (#9125) (overlookmotel)
- 1b02fe0 ast/estree: `FormalParameter` do not include `Span` twice
(#9124) (overlookmotel)
- d3b5fb0 ast/estree: Fix TS type for
`AssignmentTargetPropertyIdentifier` (#9092) (overlookmotel)
- d8d80a9 ast/estree: Fix TS types for `BigIntLiteral` and
`RegExpLiteral` (#9091) (overlookmotel)
- d9684af codegen: Fix missing StringLiteral sourcemap (#9064)
(hi-ogawa)
- eb7cd62 ecmascript: To_number for shadowed undefined (#9106)
(sapphi-red)
- 8cbdf00 ecmascript: To_boolean for shadowed undefined (#9105)
(sapphi-red)
- 17c745c ecmascript: To_string for object with toString (#9104)
(sapphi-red)
- cfc71f9 ecmascript: To_string for shadowed undefined (#9103)
(sapphi-red)
- 2ab2a8f ecmascript: Handle shadowed global variables in `ValueType`
(#9085) (sapphi-red)
- bc64c9d lexer: Fix decoding lone `\r` in template literals (#9066)
(overlookmotel)
- 2fd1589 minifier: Compress computed string literals in method/property
definitions (#9126) (camchenry)
- 0937a55 napi/parser: Utf16 span for errors (#9112) (hi-ogawa)
- 15f23f1 napi/parser: Utf16 span for module record (#9093) (hi-ogawa)
- 9edfb1d napi/parser: Fix unicode comment panic (#9084) (hi-ogawa)
- 5f15605 npm/runtime: Incorrect file paths in `exports` (#9069)
(Dunqing)
- b8278d8 parser: Parse `let _: null` as `TSNullKeyword` (#9133)
(Boshen)

### Performance

- af59945 napi/parser: Do not convert comment spans twice (#9087)
(overlookmotel)

### Documentation

- 896d770 ast: Add missing docs and fix broken code for assignment
targets (#9095) (camchenry)

### Refactor

- 08b2d80 ast/estree: Define TS types for extra fields on converters
(#9118) (overlookmotel)
- 6c5a435 ast/estree: Define types for `#[estree(add_fields)]`
converters (#9116) (overlookmotel)
- 8bd6eef ecmascript: Merge constant evaluation logics (#9120)
(sapphi-red)
- b164072 ecmascript: Extract to_numeric (#9111) (sapphi-red)
- fc53cdd ecmascript: Generalize ToPrimitive (#9109) (sapphi-red)
- d951390 ecmascript: Use value_type in to_primitive (#9108)
(sapphi-red)
- 8f79012 ecmascript: Pass IsGlobalReference to DetermineValueType
instead of extending it (#9107) (sapphi-red)
- db1744c ecmascript: Remove "constant_evaluation" / "side_effects"
features (#9114) (sapphi-red)
- 329de94 ecmascript: Extract ToPrimitive (#9102) (sapphi-red)
- d670ec7 ecmascript: Pass IsGlobalReference to MayHaveSideEffects
instead of extending it (#9101) (sapphi-red)
- f4e2d4e ecmascript: Allow IsGlobalReference to return None (#9100)
(sapphi-red)
- 29be94d minifier: Inline more minification methods (#9088) (Boshen)
- 80f719e minifier: Clean up minimize_statements.rs (#9076) (Boshen)
- d5edde0 minifier: Minimize `if (!foo) foo = bar;` -> `foo ||= bar` in
the same AST pass (#9075) (Boshen)

### Styling

- 23f53c0 syntax: Name trait method param without underscore (#9119)
(overlookmotel)

### Testing

- eaff3d9 napi/parser: Split tests for `convertSpanUtf16` (#9113)
(hi-ogawa)

Co-authored-by: Boshen <[email protected]>
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 A-minifier Area - Minifier C-enhancement Category - New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant