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

refactor(ast): oxc_ast crate re-export AST types from other crates #4773

Conversation

overlookmotel
Copy link
Collaborator

@overlookmotel overlookmotel commented Aug 9, 2024

Some AST types are defined in crates outside oxc_ast crate. Re-export these types from oxc_ast crate for ease - so you don't need to remember where they're defined to use them.

Copy link

graphite-app bot commented Aug 9, 2024

Your org has enabled the Graphite merge queue for merging into main

Add 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.

@github-actions github-actions bot added the A-ast Area - AST label Aug 9, 2024
@overlookmotel overlookmotel marked this pull request as ready for review August 9, 2024 03:48
@overlookmotel
Copy link
Collaborator Author

@rzvxa @Dunqing I would have asked Boshen to review this, but he's off today. I can't see any downside to this, so I think safe to merge if one of you can confirm that you can't see a downside either.

Copy link

codspeed-hq bot commented Aug 9, 2024

CodSpeed Performance Report

Merging #4773 will not alter performance

Comparing 08-09-refactor_ast_oxc_ast_crate_re-export_ast_types_from_other_crates (daa0b2e) with main (abd83fa)

Summary

✅ 29 untouched benchmarks

Copy link
Member

@Dunqing Dunqing left a comment

Choose a reason for hiding this comment

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

Looks good!

Copy link
Collaborator

@rzvxa rzvxa left a comment

Choose a reason for hiding this comment

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

Good call, I think we should move stuff out of oxc_span later on. Atom makes sense to be there but I can't say the same thing for the SourceType and its sub-types.

This PR helps if we want to do that.

@rzvxa rzvxa added the 0-merge Merge with Graphite Merge Queue label Aug 9, 2024
Copy link

graphite-app bot commented Aug 9, 2024

Merge activity

  • Aug 9, 3:12 AM EDT: The merge label 'merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.
  • Aug 9, 3:13 AM EDT: rzvxa added this pull request to the Graphite merge queue.
  • Aug 9, 3:17 AM EDT: rzvxa merged this pull request with the Graphite merge queue.

…4773)

Some AST types are defined in crates outside `oxc_ast` crate. Re-export these types from `oxc_ast` crate for ease - so you don't need to remember where they're defined to use them.
@rzvxa rzvxa force-pushed the 08-09-refactor_ast_oxc_ast_crate_re-export_ast_types_from_other_crates branch from c697c35 to daa0b2e Compare August 9, 2024 07:14
@graphite-app graphite-app bot merged commit daa0b2e into main Aug 9, 2024
24 checks passed
@graphite-app graphite-app bot deleted the 08-09-refactor_ast_oxc_ast_crate_re-export_ast_types_from_other_crates branch August 9, 2024 07:17
@overlookmotel
Copy link
Collaborator Author

Thanks both for reviewing.

rzvxa pushed a commit that referenced this pull request Aug 9, 2024
#4774)

#4773 makes types like `Span` importable from `oxc_ast::ast`, so remove the imports from other crates in generated code.

I'm not sure why clippy's `wildcard_imports` rule was not being triggered for `use crate::ast::*;`, but add `#[allow(clippy::wildcard_imports)]` on these statements just to make sure.
@oxc-bot oxc-bot mentioned this pull request Aug 10, 2024
Boshen added a commit that referenced this pull request Aug 10, 2024
## [0.24.1] - 2024-08-10

### Features

- b3c3125 linter: Overhaul unicorn/no-useless-spread (#4791) (DonIsaac)
- c519295 minifier: Add `InjectGlobalVariables` plugin
(`@rollup/plugin-inject`) (#4759) (Boshen)

### Bug Fixes

- fff9da3 ast, ast_codegen: Use `generate_derive` instead of visitable
for generating span derives. (#4747) (rzvxa)
- f5eeebd ast_macros: Raise compile error on invalid `generate_derive`
input. (#4766) (rzvxa)
- 4d0b40a napi/transform: Fix wrong isolated declarations emit (Boshen)

### Refactor

- daa0b2e ast: `oxc_ast` crate re-export AST types from other crates
(#4773) (overlookmotel)
- d4a3be8 ast_codegen: Line breaks between types in layout assertions
(#4781) (overlookmotel)
- dbb5f4c ast_codegen: Remove unnecessary imports from generated files
(#4774) (overlookmotel)
- 7ea058d ast_codegen: Replace Windows-style line breaks with Unix-style
(#4769) (overlookmotel)
- 2dea0ca ast_codegen: Consistent import order (#4761) (overlookmotel)

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-ast Area - AST
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants