About
Greenwood's goal is to bring the power of the modern web right to your fingertips while staying out of your way, all backed by useful and minimal conventions that help you get the most out of the web platform. For those who want the option to just start with an HTML file, Greenwood aims to be a faithful and authentic gateway to web friendly runtimes everywhere, allowing you to leverage your knowledge of the web across the stack. It's why we consider Greenwood your workbench for the web, and not a framework per se; we don't mind going vanilla! 🍦
Whether you are building a blog or a single page application, a hobby project or passion project, we encourage you to give Greenwood a try!
Features
Some of Greenwood's feature include:
- Unbundled local development workflow, using
ETag
headers for efficient caching and live reloads - Out of the box support for ESM and Web APIs, on both the client and server
- Server Side Rendering of Web Components (Light and Shadow DOM)
- File-based routing, including API Routes
- Automatic code splitting through user defined
<script>
and<link>
tags - Self-host, or deploy to your favorite hosting platform
- Build with friends like Lit, Tailwind, and more!
- Hybrid rendering strategies (CSR, SSR, SSG, or mix and match!)
- Extensible through plugins
Greenwood aims to be a low point of friction as part of a general purpose web development workflow, and will strive to find a good balance between what tools and dependencies are considered core to Greenwood. We hope to avoid the common "meta" framework paradigm and instead want to hone in on a lean and efficient core with good extension points and output adaptability.
We would be remiss if we didn't call out what are probably some obvious influences; in particular Next.js, SvelteKit, and of course, Gatsby. We are in debt to amazing tools like Rollup, parse5, and acorn. 🙇
The JavaScript ecosystem is amazing, and we're very happy to be a part of it. 💚
Goals
First and foremost, Greenwood recognizes that too much magic and trust in node_modules can be both a blessing and a curse, and Greenwood wants to help you walk that line a little more safely. If there is a web standard, you can be assured it's supported by Greenwood out of the box, if not turned into an entire API! We want Greenwood to be a project that everyone can use without pre-existing knowledge of libraries and frameworks. Start with an index.html and work your way up to a completely server rendered application if you need.
As the web grows and evolves, so will Greenwood. We are active collaborators in the WCCG (Web Components Community Group) and participant in initiatives like the Interop Project and TPAC.
If we did our job well, the only docs you should need are MDN.
Roadmap
The Greenwood team are working hard towards a 1.0 release and are eager to get there quickly and provide a stable foundation to expand Greenwood's features and capabilities. We want to make sure Greenwood is the best experience it can be, for users and developers. If you have any issues or are curious to see what we're working on next, please feel free to checkout our GitHub repo and poke around.
We are also on Discord, so feel free to join us there to chat. 👋