Skip to content

v0.31.0-alpha.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@thescientist13 thescientist13 released this 28 Dec 19:08
· 1 commit to master since this release

Overview

This pre-release in the v0.31.0 resolves a bunch of bug fixes and edge cases, as well as normalizing the relationship the prerender configuration setting with renderer plugins.

You can find the top-level tracking issue for this release here and if you have any questions, please feel free to reach out in Discord in the Greenwood #general channel.

To test the alpha, either manually bump all the versions in your package.json or you can use your package manager to upgrade each of your Greenwood dependencies to the alpha line (either way, all Greenwood dependencies need to be one the same version).

# npm
$ npm i @greenwood/cli@alpha

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

# pnpm
$ pnpm i @greenwood/cli@alpha

Changelog

https://github.com/ProjectEvergreen/greenwood/issues?q=label%3Av0.31.0+label%3Aalpha.2

  1. standardize on Greenwood config as single source for prerender behavior for all renderer plugins
  2. CSS bundling optimization not handling transitive relative url(...) references
  3. enhancement/update init scaffolding to use unified website Discord link
  4. unable to resolve packages with a nested package.json
  5. intermittent Response.clone: Body has already been consumed error from the dev server
  6. frontmatter content breaking graph data parsing in SSR pages
  7. none optimization setting leads to broken resource requests in production builds
  8. getting a Cannot read properties of null (reading 'rawAttrs') error
  9. data client not working on production builds (when not using prerender option)
  10. PostCSS plugin breaks bundling of SSR CSS-based import attributes
  11. SSR pages are not have resource plugin optimization lifecycles applied

Breaking Changes

prerender configuration and renderer plugins

Although Greenwood has a "top-level" configuration setting for prerender in greenwood.config.js, some renderer plugins also exposed a prerender option through their plugin configuration. As per #1343 , having multiple options for the same thing is confusing, additionally since there can only ever be one renderer at a time, so it's not like there is an option to mix and match.

So going forward, prerender configuration must be explicitly set in your greenwood.config.js. All relevant Greenwood plugins will just ignore the option if passed in to a plugins options.

Known Issues

  1. bundling for CSS relative node_modules based url references breaks
    • As a workaround for now, you can use the "shortcut" alias, e.g. /node_modules/path/to/thing

Diff

v0.31.0-alpha.1...v0.31.0-alpha.2