Skip to content

Commit dcbedb9

Browse files
content: #255 year ahead drafting
1 parent f3abc6a commit dcbedb9

File tree

1 file changed

+52
-1
lines changed

1 file changed

+52
-1
lines changed

src/pages/blog/state-of-greenwood-2025.md

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,58 @@ Taking into consideration that there are many methods and options for deploying
112112
113113
## The Year Ahead
114114

115-
TODO:
115+
As the team looks to the coming year ahead, we're currently in progress on the next Greenwood release; [v0.34.0](https://github.com/ProjectEvergreen/greenwood/issues/1597), which we aim to release with a key feature being dynamic routes, which will allow file-system based routing like below, including for our serverless adapter plugins:
116+
117+
```shell
118+
src/
119+
pages/
120+
blog/
121+
[slug].js
122+
```
123+
124+
Although dependent on compatibility and upstream needs on these platforms and runtimes, we are actively working on **Bun** runtime support as well as an official **Cloudflare** adapter. Both of these are in various stages of development and testing, and we hope to close out our current ecosystem milestone with by delivering on them in some capacity.
125+
126+
Lastly, and already [supported in **WCC**](https://merry-caramel-524e61.netlify.app/docs/#tsx), TSX support will be coming to Greenwood for scripts and SSR pages, enabling JSX for templating through a custom `render` function, enabling **type-safe** HTML!
127+
128+
```tsx
129+
export default class Card extends HTMLElement {
130+
selectItem() {
131+
alert(`selected item is => ${this.title}!`);
132+
}
133+
134+
connectedCallback() {
135+
if (!this.shadowRoot) {
136+
this.thumbnail = this.getAttribute("thumbnail");
137+
this.title = this.getAttribute("title");
138+
139+
this.attachShadow({ mode: "open" });
140+
this.shadowRoot.adoptedStyleSheets = [sheet];
141+
142+
this.render();
143+
}
144+
}
145+
146+
render() {
147+
const { thumbnail, title } = this;
148+
149+
return (
150+
<div class="card">
151+
<h3>{title}</h3>
152+
<img src={thumbnail} alt={title} loading="lazy" width={200} height={200} />
153+
<button onclick={this.selectItem}>View Item Details</button>
154+
</div>
155+
);
156+
}
157+
}
158+
159+
customElements.define("x-card", Card);
160+
```
161+
162+
<video width="100%" controls>
163+
<source src="//dzsbnrzvzfaq5.cloudfront.net/wcc-type-safe-html-demo.mov" type="video/mp4">
164+
</video>
165+
166+
---
116167

117168
The Greenwood team is very eager to wrap up our current efforts to release v0.34.0 and continue our ongoing march towards a [1.0 release](https://github.com/ProjectEvergreen/greenwood/milestone/3).
118169

0 commit comments

Comments
 (0)