Skip to content

Commit 9ded826

Browse files
content: #255 state of greenwood (2025) blog post
1 parent 6d46aa2 commit 9ded826

File tree

1 file changed

+130
-0
lines changed

1 file changed

+130
-0
lines changed
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
---
2+
title: State of Greenwood (2025)
3+
abstract: If you can believe, it's time for our annual year end roundup one again!
4+
published: 2025-12-02
5+
coverImage: /assets/greenwood-logo-g.svg
6+
layout: blog
7+
---
8+
9+
# State of Greenwood (2025)
10+
11+
<span class="publishDate">Published: Dec XXX, 2025<span>
12+
13+
<img
14+
src="/assets/blog/greenwood-logo-300w.webp"
15+
alt="Greenwood Logo"
16+
srcset="/assets/blog/greenwood-logo-300w.webp 350w,
17+
/assets/blog/greenwood-logo-500w.webp 500w,
18+
/assets/blog/greenwood-logo-750w.webp 750w,
19+
/assets/blog/greenwood-logo-1000w.webp 1000w,
20+
/assets/blog/greenwood-logo-1500w.webp 1500w"/>
21+
22+
TODO:
23+
24+
<!--
25+
As the year comes to a close, the Greenwood team would like to take a moment to reflect on its accomplishments and share with you what our plans look like going into the next one. First and foremost, you might have noticed we not only have a new domain name, but we also have a brand new website! A big part of our year was spent working on designing and developing this new website and, aside from the new look and feel, a considerable amount of effort was put into rethinking the home page and how we can best demonstrate what Greenwood can do, and do for you. In addition, we re-worked the information architecture of the site to make finding the content you need as easy possible. It's all [open source](https://github.com/ProjectEvergreen/www.greenwoodjs.dev), so please feel free to contribute and give us any feedback.
26+
27+
Outside of the project, the Greenwood team and its work was featured in a couple of outlets. Towards the start of the year, we were invited on the [**JavaScript Jabber** podcast](https://topenddevs.com/podcasts/javascript-jabber/episodes/embracing-web-standards-with-owen-buckley-jsj-626) to talk about web standards, Greenwood, and our vision of the web and the project as a whole. It was a great conversation with the panel, sharing our fondness for simplicity in web development and Greenwood's place as your _workbench for the web_. Most recently, our project [**WCC** (Web Components Compiler)](https://github.com/ProjectEvergreen/wcc) was featured in an installment of the [**Modern Web Weekly** newsletter](https://modern-web-weekly.ghost.io/modern-web-weekly-38/), showcasing its features and capabilities for easily server-rendering native Web Components, as well as opening the door to some useful suggestions and contributions which we are very excited to collaborate on. 🙌
28+
29+
We encourage you to check out those links and please stayed tuned as we'll have a full case study detailing in depth how the new Greenwood website was created.
30+
31+
Now, on to the year in review. 👇
32+
33+
-->
34+
35+
## The Year In Review
36+
37+
### TypeScript Support
38+
39+
Greenwood now provides built-in support for TypeScript, with the ability to fallback to using `tsc` if certain TypeScript features you're using (like Decorators, [enums, namespaces, etc](https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/#the---erasablesyntaxonly-option)) are not supported through just type stripping alone. This was motivated in part due to NodeJS adding support out of the box. This means you can write your entire project, including SSR pages and API routes, entirely in TypeScript with no configuration required!
40+
41+
This also means that you can author your Greenwood configuration files and plugins with TypeScript too:
42+
43+
```ts
44+
// greenwood.config.ts
45+
import type { Config } from "@greenwood/cli";
46+
47+
const config: Config = {
48+
// ...
49+
};
50+
51+
export default config;
52+
```
53+
54+
For actual _type-checking_, below is Greenwood's recommended _tsconfig.json_ settings so that you can run `tsc` during CI.
55+
56+
<!-- prettier-ignore-start -->
57+
58+
```json5
59+
{
60+
"compilerOptions": {
61+
// minimum required configuration
62+
"target": "es2020",
63+
"module": "preserve",
64+
"moduleResolution": "bundler",
65+
"allowImportingTsExtensions": true,
66+
"noEmit": true,
67+
68+
// additional recommended configuration
69+
"lib": ["ES2020", "DOM", "DOM.Iterable"],
70+
"verbatimModuleSyntax": true,
71+
"erasableSyntaxOnly": true,
72+
},
73+
74+
"exclude": ["./public/", "./greenwood/", "node_modules"],
75+
}
76+
```
77+
78+
<!-- prettier-ignore-end -->
79+
80+
> Check out our [TypeScript docs](/docs/resources/typescript/) to learn more about getting setup with TypeScript and Greenwood.
81+
82+
### New Project Scaffolding
83+
84+
The Init scaffolding CLI got an major overhaul this year, moving to a more robust, prompt based experience that will walk you through a number of options for creating and customizing your next Greenwood project. Now, when scaffolding out a new Greenwood project, you're able to specify the name / output directory, support for TypeScript, and package manager.
85+
86+
<video width="100%" controls>
87+
<source src="//dzsbnrzvzfaq5.cloudfront.net/greenwood-init-latest.mp4" type="video/mp4">
88+
</video>
89+
90+
It's as easy as running:
91+
92+
```shell
93+
$ npx @greenwood/init@latest
94+
```
95+
96+
> Read [the docs](/docs/introduction/setup/#init) to get started with your next Greenwood project today.
97+
98+
### AWS Adapter
99+
100+
This year we released an official adapter plugin for generating Lambda compatible function code for your SSR pages and API routes with AWS. ☁️
101+
102+
SimplY install the plugin and add it to your Greenwood config file:
103+
104+
```js
105+
import { greenwoodPluginAdapterAws } from "@greenwood/plugin-adapter-aws";
106+
107+
export default {
108+
plugins: [greenwoodPluginAdapterAws()],
109+
};
110+
```
111+
112+
Taking into consideration that there are many methods and options for deploying to AWS, this adapter plugin is primarily focused on generating consistent and predictable build output that can be complimented by some form of [**IaC (Infrastructure as Code)**](https://en.wikipedia.org/wiki/Infrastructure_as_code) or deployment tooling of your choice. The build output will look similar to Greenwood's own [standard build output](/docs/reference/appendix/#build-output) and will be available in the _.aws-output/_ folder at the root of your project after running the build command.
113+
114+
> To learn more, you can read our [v0.32.0 release blog post](https://greenwoodjs.dev/blog/release/v0-32-0/#aws-adapter) and checkout [the docs](https://greenwoodjs.dev/guides/hosting/aws/#serverless) to get started.
115+
116+
## The Year Ahead
117+
118+
TODO:
119+
120+
Now that we've got our new website launch behind us, the Greenwood team is very eager to wrap up our current efforts to release v0.34.0 and ongoing march towards a 1.0 release.
121+
122+
---
123+
124+
We hope to complete this effort over the next couple of months with the hope to spend the rest of our time in 2025 burning down our [1.0 milestone](https://github.com/ProjectEvergreen/greenwood/milestone/3).
125+
126+
## In Closing
127+
128+
Greenwood wants to be there every step of the way to help you get the most out of the web and ensure you have full ownership of your code and content. From SPA to SSG to SSR and everything in between, building vanilla or with friends, we want Greenwood to run wherever the web can run so the choice can always be yours.
129+
130+
Please come join us on [GitHub](https://github.com/ProjectEvergreen/greenwood) and [Discord](/discord/) and we can't wait to see what you build with Greenwood! <img style="width: 15px; display: inline-block; margin: 0;" src="/assets/blog/evergreen.svg" alt="Project Evergreen logo"/>

0 commit comments

Comments
 (0)