lightningcss
hound
lightningcss | hound | |
---|---|---|
11 | 10 | |
5,966 | 5,573 | |
2.0% | 0.6% | |
8.7 | 4.9 | |
5 days ago | 5 months ago | |
Rust | JavaScript | |
Mozilla Public License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
lightningcss
-
I'm fed up with it, so I'm writing a browser
Would you consider using some libraries in your project? There are lots of good ones in the Rust ecosystem, and many of them are not part of any existing browsers.
For example:
- https://github.com/servo/html5ever (HTML parsing - note: this is used in Servo)
- https://github.com/parcel-bundler/lightningcss (CSS parsing)
- https://github.com/DioxusLabs/taffy (web layout)
- https://github.com/pop-os/cosmic-text (text layout and rendering)
Obviously you should be free to work on whatever you like, but just as a benchmark on the scope of your project: I spent ~6 months implementing just the CSS Grid algorithm in Taffy last year. An entire browser from literal scratch is probably a 10 year project for one person.
- LightningCSS Benchmark
-
We're building a browser when it's supposed to be impossible
Libraries for a lot of this stuff exist (albeit in many cases not very mature yet):
- https://github.com/pop-os/cosmic-text does text layout (which Taffy explicitly considers out of scope)
- https://github.com/AccessKit/accesskit does accessibility
- https://github.com/servo/rust-cssparser does value-agnostic CSS parsing (it will parse the general syntax but leaves value parsing up to the user, meaning you can easily add support for whatever properties you what). Libraries like https://github.com/parcel-bundler/lightningcss implement parsing for the standard css properties.
- There are crates like https://github.com/BurntSushi/bstr and https://docs.rs/wtf8/latest/wtf8/ for working with non-unicode text
We are planning to add a C API to Taffy, but tbh I feel like C is not very good for this kind of modularised approach. You really want to be able to expose complex APIs with enforced type safety and this isn't possible with C.
-
Help with "returns a value referencing data owned by the current function"
Background: I encountered this problem using lightningcss.
-
On Using Rust in Parcel and Vitest
You can do it - that's actually exactly what my project is doing. I have a single repository with a Rust project, that builds the .wasm file (+ .d.ts + .js) using wasm-pack, and a Node.js project, that uses this .wasm file. There's no problem in packing that and exposing as a npm package. See parcel-bundler/lightningcss for a full blown example (it's not using wasm-pack but builds the Rust project directly).
- An fast CSS parser, transformer, bundler, and minifier written in Rust
- Parcel-Css - A CSS parser, transformer, and minifier written in Rust.
- ParcelCSS – A CSS parser, transformer, and minifier written in Rust
-
Parcel CSS: A new CSS parser, compiler, and minifier
Initial commit, 9 Oct 2021. That is pretty new.
hound
-
Code Search at Google: The Story of Han-Wen and Zoekt
The same algorithm is also used in Hound (https://github.com/hound-search/hound) though I have to say the best implementation of code search by far that I've seen is https://grep.app
You really should check it out if you haven't already. It's incredibly useful; I used it all the time. Not open source though.
- Hound: Fast code searching made easy
-
Sourcegraph is no longer Open Source
There is also Hound [8].
[8]: https://github.com/hound-search/hound
-
DockerHub replacement stratagy and options
Agreed, I already have Hound setup to search across all the different repos I pull from (bitbucket, gh, gitlab, gitea etc) but now I need to find a docker equivalent.
-
Gitlab to lay off 7% of staff
i know you're looking for first-party tools that is part of the whole package, but hound does this fantastically and is extremely easy to setup, and is ridiculously fast.
-
Ask HN: How do you search large code-base before adding a feature or fixing bug?
Especially if this is long term, this is a great tool:
https://github.com/hound-search/hound#hound
It would be great if someone integrated this with tree-sitter plus something to make the search semantics a bit smarter about usages of X:
https://www.etsy.com/codeascraft/announcing-hound-a-lightnin...
Screenshots:
https://jaxenter.com/hound-go-react-code-search-engine-15008...
Another trick I use for Java: javap all the Enums out of the compiled artifacts; these indicate weird things like "modes" that you can use to start asking questions relevant to the domain. Like "why are there four ways to reprice an invoice" or finding the "types" of fees or w/e in a billing system. (assuming enum classes are used)
-
Parcel CSS: A new CSS parser, compiler, and minifier
Nice too that it's a compiled language, so you get the end tool in a nice static binary. As a non-Node dev, I hate the experience of hacking on some project and having to install a giant pool of NPM stuff just run some minifier or linter. Hound is an example of this— the guts of the project are golang, but it has a frontend that uses webpack, jest, etc: https://github.com/hound-search/hound
Which is fine, I guess; definitely use the right tool for the job. And maybe Node developers hate finding my Python projects and needing to set up a virtualenv to run them in. But all the same, I approve a direction where more of this kind of tooling is available without a build-time Node dependency.
- Grep.app: search across a half million Git repos
-
Ask HN: What are you using to introspect your code base
[2] https://about.sourcegraph.com/
[3] https://oracle.github.io/opengrok/
[4] https://github.com/hound-search/hound
What are some alternatives?
PostCSS - Transforming styles with JS plugins
opengrok - OpenGrok is a fast and usable source code search and cross reference engine, written in Java
swc - Rust-based platform for the Web
codesearch - Fast, indexed regexp search over large file trees
rust-cssparser - Rust implementation of CSS Syntax Level 3
Gitlab CI - GitLab CE Mirror | Please open new issues in our issue tracker on GitLab.com
parse5 - HTML parsing/serialization toolset for Node.js. WHATWG HTML Living Standard (aka HTML5)-compliant.
septum - Context-based code search tool
x-ray - The next web scraper. See through the <html> noise.
dropcss - An exceptionally fast, thorough and tiny unused-CSS cleaner
excel-stream