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

fix(isolated_declarations): Fix readonly specifier on class constructor params #4030

Merged
merged 4 commits into from
Jul 2, 2024

Conversation

escaton
Copy link
Contributor

@escaton escaton commented Jul 2, 2024

No description provided.

Copy link

graphite-app bot commented Jul 2, 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.

@escaton
Copy link
Contributor Author

escaton commented Jul 2, 2024

@Dunqing Here is one more :)

@Dunqing
Copy link
Member

Dunqing commented Jul 2, 2024

@escaton
Copy link
Contributor Author

escaton commented Jul 2, 2024

You are right, I missed that. If you have an idea where is the problem, I'm happy to fix it in this PR

Copy link

codspeed-hq bot commented Jul 2, 2024

CodSpeed Performance Report

Merging #4030 will not alter performance

Comparing escaton:fixes-3 (c233c31) with main (da62839)

Summary

✅ 28 untouched benchmarks

@Dunqing
Copy link
Member

Dunqing commented Jul 2, 2024

You are right, I missed that. If you have an idea where is the problem, I'm happy to fix it in this PR

We need to replace this with if param.accessibility.is_some() || param.readonly {

if param.accessibility.is_some() {

@escaton
Copy link
Contributor Author

escaton commented Jul 2, 2024

Done.
There is still a little difference: TSC emits no type for private prop2
Oxc:

export declare class Boo {
	readonly prop: number;
	private readonly prop2: number;
	readonly prop3: number;
	constructor(prop?: number, prop2?: number, prop3?: number);
}

TSC:

export declare class Boo {
    readonly prop: number;
    private readonly prop2;
    readonly prop3: number;
    constructor(prop?: number, prop2?: number, prop3?: number);
}

But I don't think it is critical. Let me create a separate issue for that.
#4033

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.

Thank you!

@Dunqing Dunqing merged commit b007553 into oxc-project:main Jul 2, 2024
25 checks passed
@github-actions github-actions bot mentioned this pull request Jul 5, 2024
Boshen added a commit that referenced this pull request Jul 5, 2024
## [0.17.0] - 2024-07-05

- e32b4bc ast: [**BREAKING**] Store trivia comments in a sorted slice
(#4045) (Luca Bruno)

- 1df6ac0 ast: [**BREAKING**] Rename `visit_enum_memeber` to
`visit_ts_enum_member`. (#4000) (rzvxa)

- 4a0eaa0 ast: [**BREAKING**] Rename `visit_enum` to
`visit_ts_enum_declaration`. (#3998) (rzvxa)

- c98d8aa ast: [**BREAKING**] Rename `visit_arrow_expression` to
`visit_arrow_function_expression`. (#3995) (rzvxa)

### Features

- 1854a52 ast_codegen: Introduce the `#[span]` hint. (#4012) (rzvxa)
- 7538af1 ast_codegen: Add visit generator (#3954) (rzvxa)
- 7768d23 isolated-declarations: Support optional class methods (#4035)
(Egor Blinov)
- 0da9dfb minifier: Add constant folding to remove dead code (#4058)
(Boshen)

### Bug Fixes

- aaac2d8 codegen: Preserve parentheses from AST instead calculating
from operator precedence (#4055) (Boshen)
- 5e5b1b1 codegen: Correct accessibility emit for class
formal-parameters/methods/properties (#4042) (Egor Blinov)
- 7844734 codegen: Missing const keyword in TSTypeParamter (#4022)
(Dunqing)
- 6254a41 codegen: Missing TypeParamters in TSCallSignature (#4021)
(Dunqing)
- 3d29e9c isolated-declarations: Eliminate imports incorrectly when they
are used in `TSInferType` (#4043) (Dunqing)
- 02ea19a isolated-declarations: Should emit `export {}` when only
having `ImportDeclaration` (#4026) (Dunqing)
- 7c915f4 isolated-declarations: Binding elements with export should
report an error (#4025) (Dunqing)
- 05a047c isolated-declarations: Method following an abstract method
gets dropped (#4024) (Dunqing)
- c043bec isolated_declarations: Add mapped-type constraint to the scope
(#4037) (Egor Blinov)
- b007553 isolated_declarations: Fix readonly specifier on class
constructor params (#4030) (Egor Blinov)
- da62839 isolated_declarations: Inferring literal types for readonly
class fileds (#4027) (Egor Blinov)

### Refactor

- b51f75b ast_codegen: No longer outputs discard variable for empty
visitors. (#4008) (rzvxa)
- edb557c minifier: Add a folder struct for constant folding (#4057)
(Boshen)
- 243c9f3 parser: Use function instead of trait to parse list with rest
element (#4028) (Boshen)
- 1dacb1f parser: Use function instead of trait to parse delimited lists
(#4014) (Boshen)

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
A-isolated-declarations Isolated Declarations
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants