Skip to content

v0.34.0-alpha.7

Pre-release
Pre-release

Choose a tag to compare

@thescientist13 thescientist13 released this 28 Jun 01:53
· 54 commits to master since this release

Overview

This release in the v0.34.0 release line bumps WCC to v0.22.1, adds support for dynamic route prerendering, and add general improvements and fixes around Lit + SSR support.

# npm
$ npm i -D @greenwood/cli@alpha

# Yarn 1.x (classic)
$ yarn upgrade @greenwood/cli@alpha --dev

# pnpm
$ pnpm i -D @greenwood/cli@alpha

Changelog

https://github.com/ProjectEvergreen/greenwood/issues?q=label%3Av0.34.0%20label%3Aalpha.7%20-label%3Adependencies

  1. feature(cli): #1622 support pre-rendering for dynamic routes (getStaticPaths and getStaticParams)
  2. feat(cli): #1694 enable custom renderer plugin SSR contexts for API routes
  3. enhancement(cli): #1690 eliminate api route instantiation during greenwood lifecycles
  4. enhancement(deps): bump wcc to v0.22.1
  5. fix(cli): #1572 refactor serve lifecycle for response body consumed error
  6. fix(plugins): #1633 lit css module scripts not emitting style tag content in ssr output

Features (Early Access)

Prerender Dynamic Routes

You can now prerender dynamic routes to static HTML using getStaticPaths and getStaticParams

// src/pages/products/[id].js
import { getProducts } from '#src/services/products.js'

export async function getStaticPaths() {
  const products = await getProducts();

  return products.map((product) => {
    return {
      params: {
        id: product.id,
        name: product.name.replace(/ /g, "-").toLowerCase(),
      },
    };
  });
}

export async function getStaticParams({ params }) {
  const product = products.find((product) => product.id === params.id);

  return { product };
}

export async function getBody(compilation, request, page, params) {
  return `<h1>${params.product.name}</h1>`;
}

Breaking Changes

N / A

Known Issues

  1. fix get static params types
  2. fix resource linking for pages when using get static paths
  3. (WCC) fix <svg> types

Diff

v0.34.0-alpha.6...v0.34.0-alpha.7