-
-
Notifications
You must be signed in to change notification settings - Fork 149
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(convention): rewrite runtime-html decorators #1960
feat(convention): rewrite runtime-html decorators #1960
Conversation
Codecov ReportAll modified and coverable lines are covered by tests β
Additional details and impacted files@@ Coverage Diff @@
## master #1960 +/- ##
==========================================
- Coverage 88.62% 88.62% -0.01%
==========================================
Files 272 272
Lines 22825 22823 -2
Branches 5292 5292
==========================================
- Hits 20229 20226 -3
- Misses 2596 2597 +1 β View full report in Codecov by Sentry. |
@CollinHerber Do these changes cover most of your use-cases? |
Yeah only one I think might be missing is @Inject |
Question, are we going to switch to #1939 in future for conventions code rewrite? Not sure whether it covers all the use cases. |
And @CustomElement |
@CollinHerber The resource decorators such as custom element, attribute etc. are already taken care of. I'll try to do something for the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@CollinHerber you can test it out with the latest dev version, thanks everyone, nice work π |
2.0.0-beta.17 (2024-05-11) **BREAKING CHANGES:** * **template:** auto infer binding expression when empty (#1963) ([3359939](3359939)) Previously only the expression of binding to element bindables get auto inferred, now it's expanded to all bindings with `.bind`/`.to-view`/`.from-view`/`.two-way`/`.one-time` Examples: ```html <div some-prop.bind=""> means <div some-prop.bind="someProp"> <div some-prop.bind> means <div some-prop.bind="someProp"> <div some-prop.one-time> means <div some-prop.one-time="someProp"> ... ``` * **convention:** rewrite runtime-html decorators (#1960) ([eaf2cd7](eaf2cd7)) With tooling in the instable state for the tc39 decorator support, we will generate standard fn call code instead of decorator. This will likely be changed when browsers start officially supporting it, or at least when the tooling (both spec & tooling stability + compat) gets better **Features:** * **template:** support spread syntax with `spread` command and ... (#1965) ([ccae63b](ccae63b)) * **repeat:** allow custom repeatable value (#1962) ([c47df91](c47df91)) **Bug Fixes:** * **compiler:** fix order when spreading custom attribute into element bindable ([ccae63b](ccae63b)) * **au-slot:** separate parent scope selection from host scope selection (#1961) ([ff605fb](ff605fb)) **Refactorings:** * **kernel:** mark side effect free (#1964) ([22c8f71](22c8f71))
Pull Request
π Description
As the wide support for TC39 decorators are still lacking, this PR refactors the convention-plugin to rewrite the following decorators:
Discord thread: https://discord.com/channels/448698263508615178/1230047298084409464
π« Issues
π©βπ» Reviewer Notes
π Test Plan
β Next Steps