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

Current status of this project #116

Open
axyz opened this issue Jul 15, 2022 · 5 comments
Open

Current status of this project #116

axyz opened this issue Jul 15, 2022 · 5 comments

Comments

@axyz
Copy link

axyz commented Jul 15, 2022

Hi, I thought about a rust implementation of postCSS for quite some time and I'm glad this attempt exists.
I am a beginner in Rust and while I was able to put together a basic parser using nom, I recon when it comes to visiting and changing the AST I do lack lot of experience with some Rust idiomatic patterns and especially memory management...

I still would like to learn more of the language and I see this project is definitely one I'd like to keep an eye on and eventually contribute to, I do maintain a CSS framework based on postcss-modules and on the long term I'd love to migrate it to rust to make it faster.

I opened this ticket to try and get an overview of the status of the project and how to best contribute.

  1. Is the project currently actively developed? Is there a tentative roadmap or list of known issues/tasks beside the missing plugins?
  2. Would be great to have a contributing guide, a basic description of the architecture and especially a guide to write plugins that may be the most approachable area for external contributors
  3. I am also curious about the plugin API in general, in my mind I envisioned both a Rust API with some Plugin trait with a stable API, as well as maybe a way to use WASM compiled plugins as that may open the door to a larger community and possibly better integration with JS based pipelines (even though most likely lower speed). I wonder if this is something that was discussed and what are your thoughts about it
@justjavac
Copy link
Member

The bad news is that this project is no longer maintained

@CGQAQ
Copy link
Member

CGQAQ commented Jul 19, 2022

Is the project currently actively developed?

No, this project is currently NOT in active development anymore unfortunately, @justjavac started this project as a hobby project, @IWANABETHATGUY and I soon joined. we were so ambitious and hoped this project could grow up and eventually be one of the biggest players in the game. but soon as the project grow, I quickly realized that I am not ready at both the tech level and mental level, I talked to @justjavac, and then we decided to quit and let @IWANABETHATGUY take full control of this project. a short time later @IWANABETHATGUY also gives up on this project and decided to contribute to the ROME project, I suggest you took a look at Rome, they have done a great job so far.

@CGQAQ CGQAQ pinned this issue Jul 19, 2022
@CGQAQ CGQAQ changed the title contributing Current status of this project Jul 19, 2022
@IWANABETHATGUY
Copy link
Member

Hi, I thought about a rust implementation of postCSS for quite some time and I'm glad this attempt exists. I am a beginner in Rust and while I was able to put together a basic parser using nom, I recon when it comes to visiting and changing the AST I do lack lot of experience with some Rust idiomatic patterns and especially memory management...

I still would like to learn more of the language and I see this project is definitely one I'd like to keep an eye on and eventually contribute to, I do maintain a CSS framework based on postcss-modules and on the long term I'd love to migrate it to rust to make it faster.

I opened this ticket to try and get an overview of the status of the project and how to best contribute.

  1. Is the project currently actively developed? Is there a tentative roadmap or list of known issues/tasks beside the missing plugins?
  2. Would be great to have a contributing guide, a basic description of the architecture and especially a guide to write plugins that may be the most approachable area for external contributors
  3. I am also curious about the plugin API in general, in my mind I envisioned both a Rust API with some Plugin trait with a stable API, as well as maybe a way to use WASM compiled plugins as that may open the door to a larger community and possibly better integration with JS based pipelines (even though most likely lower speed). I wonder if this is something that was discussed and what are your thoughts about it

Glad to see that you are interested in this project, I will answer your question one by one.

  1. This project is not active for about half a year, the reason could list below:
    • All members of postcss-rs don't have too much time to maintain this project. Recently I have time to work on this project, I will get back in early August.
    • Currently, there are several CSS parsers written by rust or golang you could choose, esbuild/css, parcel-css, servo/css-parser and swc-css, write another CSS parser seems not valuable. But I found that they are both strict css parser and written by static type language, writing a transformer is pretty hard in some scenarios, that's why I am going to finish the postcss-rs parser and its plugin system.
  2. That's on my to-do list.
  3. That need to design carefully, I can't answer you for now.

@axyz
Copy link
Author

axyz commented Jul 19, 2022

yeah that was my impression as well. All the parsers out there are focused on spec compliant grammars, while postcss is much simpler and flexible (and that could also be a speed advantage compared to stricter grammars?).

I wonder if some of the work done in Rome could be relevant, in particular is there an established library to visit and transform generic AST? Is that the role of rowan, that seems to be forked as part of Rome?

Other than that I'm glad the project is not dead and I'm looking forward for any development

@IWANABETHATGUY
Copy link
Member

yeah that was my impression as well. All the parsers out there are focused on spec compliant grammars, while postcss is much simpler and flexible (and that could also be a speed advantage compared to stricter grammars?).

I wonder if some of the work done in Rome could be relevant, in particular is there an established library to visit and transform generic AST? Is that the role of rowan, that seems to be forked as part of Rome?

Other than that I'm glad the project is not dead and I'm looking forward for any development

Currently, I use the common recursive descent parser instead rowan parser(although this is recursive descent too, lol), because I found that rome parser has a huge performance penalty on transform or AST modification compares to the normal recursive descent parser.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants