A super fast style sheet language for cool kids! (WIP)
George Lemon
Posted on June 27, 2023
This is Bro — A super fast style sheet language, alternative to SassC, DartSass, SassJS and Less.
Warning! Bro is still under development. Expect bugs and incomplete features.
Key features
- 🍃 Lightweight, tiny executable
- 🐱 Dependency Free / No Virtual Machine
- 🌍 Works on Linux, macOS, Windows
- 💪 Strong Typed = Perfect Cascading Style Sheets 🤩
- 🎁 CSS Minifier
- 🗺 CSS SourceMap Generator
- 🔄 CSS Reload & Browser sync Setup info
- 🖌
JSON
/YAML
stream to Stylesheet - 🌴 Abstract Syntax Tree binary serialization via MessagePack
- 🎉 Built-in
HTML
Documentation Generator - 🔥 Works with NodeJS & BunJS via
NAPI
- 🎩 Open Source | LGPLv3 license
- 👑 Written in Nim language
- 😋 Made for Cool Kids
What makes Bro fast?
First of all, Bro is fully written in Nim, a state-of-the-art programming language well-suited for systems and application programming. It offers high performance with type and memory safety while keeping the source code short and readable. Wanna know more about it? Check "Computer Programming with Nim" written by Dr. Stefan Salewski.
Benchmark
1.572.876 lines of
button_0
background: yellow
Benchmark 1: ./dart sass.snapshot big.sass:big.css --no-source-map --style=compressed
Time (abs ≡): 5.009 s [User: 6.379 s, System: 0.278 s]
Benchmark 2: sassc big.sass big.css --style=compressed
Time (abs ≡): 6.448 s [User: 5.881 s, System: 0.564 s]
Benchmark 3: bro big.sass --minify
Time (abs ≡): 1.066 s [User: 0.697 s, System: 0.367 s]
Benchmark 4: node bro.js
Time (abs ≡): 1.598 s [User: 1.226 s, System: 0.373 s]
Benchmark 5: bun bro.js
Time (abs ≡): 1.396 s [User: 1.088 s, System: 0.308 s]
Benchmark 6: node sass.js
Time (abs ≡): 14.910 s [User: 22.484 s, System: 1.483 s]
Benchmark 7: bun sass.js
Time (abs ≡): 11.963 s [User: 20.004 s, System: 1.236 s]
Summary
'bro big.sass --minify' ran
1.31 times faster than 'bun bro.js'
1.50 times faster than 'node bro.js'
4.70 times faster than './dart sass.snapshot big.sass:big.css --no-source-map --style=compressed'
6.05 times faster than 'sassc big.sass big.css --style=compressed'
11.22 times faster than 'bun sass.js'
13.98 times faster than 'node sass.js'
Learn Bro in 5 minutes
https://github.com/openpeeps/bro/wiki/Learn-Bro-in-5-minutes
Follow us on GitHub for more!
https://github.com/openpeeps/bro
💖 💪 🙅 🚩
George Lemon
Posted on June 27, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.