Overview
This release introduces Dynamic Routing, makes significant enhancements to the Lit SSR plugin, and includes a handful of other enhancements and bug fixes.
Read the companion blog post for this release here
# npm
$ npm i -D @greenwood/cli@latest
# Yarn 1.x (classic)
$ yarn upgrade @greenwood/cli@latest --dev
# pnpm
$ pnpm i -D @greenwood/cli@latestChangelog
https://github.com/ProjectEvergreen/greenwood/issues?q=label%3Av0.34.0
- enhancement(cli): #1534 replace in-house hashString logic with Node
createHash(thank you @shyok21 🙌 ) - enhancement(plugins): #1429 upgrade GraphQL plugin to apollo v4
- bug(cli): #1483 expanding subpath export patterns for import map generation with
fs.glob - feature(plugins): #1605 add support for importing tsx
- feat(cli): #1602 support "deep" main entry points import for import map generation
- enhancement(cli): #1591 support array conditions in export maps for import map generation
- fix(cli): #1608 handle nested relative CSS @import references
- bug(cli): #1611 handle view transition psuedo selectors (thank you @EskiMojo14 🙌 )
- feature(cli): #882 dynamic SSR and API routing
- feature(adapters): #1533 add node 24 runtime option vercel adapter
- feature(plugins): #1539 import map extensions option for raw import plugin
- feature(cli): #1476 use
<output>tag for layout templating - feature(cli): #1635 svg favicon copying
- feat(cli): bump to wcc 0.19.0
- enhancement(plugins): #1463 refactor lit ssr plugin hydration script setup
- fix(plugins): #1637 frontmatter jsx and tsx imports being treated as stylesheets
- fix(cli): #1637 filter out frontmatter imports by content type
- feature(cli): #1039 add wasm as standard greenwood resource
- feature(plugins): support wcc signals in import jsx plugin
- enhancement(cli): #1575 replace cpus.length with proper method (thanks @KaiPrince 🙌 )
- enhancement(cli): #1639 configure rollup to emit import attributes
- enhancement(cli): #823 replace copydir workaround with node
cpin copy lifecycle
(thanks @KaiPrince 🙌 ) - fix(cli): #1575 resolve too many listeners with task queue (thanks @KaiPrince 🙌 )
- feature(plugins): #1646 support lit ssr default export for pages and layouts including dynamic routing
- feature(plugins): #1633 lit ssr and css module scripts support
- enhancement(cli): bump wcc 0.22.0
- fix(cli): #1679 handle spaces in relative import attributes pathnames and script tag links during bundle syncing
- feature(cli): #1622 support pre-rendering for dynamic routes (getStaticPaths and getStaticParams)
- feat(cli): #1694 enable custom renderer plugin SSR contexts for API routes
- enhancement(cli): #1690 eliminate api route instantiation during greenwood lifecycles
- enhancement(deps): bump wcc to v0.22.1
- fix(cli): #1572 refactor serve lifecycle for response body consumed error
- fix(plugins): #1633 lit css module scripts not emitting style tag content in ssr output
- enhancement(deps): bump wcc to 0.22.2
- fix(cli): #1622 fix resource linking for pages when using get static paths
- fix(cli): #1622 fix get static params types
- fix(plugins): #1667 scope jsx import plugin intercepting to pages
Breaking Changes
Vercel Adapter
To align with Vercel hosting, the default runtime version for the adapter is now node24.x.
Layouts Templating
To address issues with server-rendering and Web Components, the layout templating placeholder has been changed to something more semantic and valid HTML
<-- before -->
<content-outlet></content-outlet>
<page-outlet></page-outlet><!-- after -->
<output for="content"></outlet>
<output for="page"></outlet>Known Issues
N / A