Skip to content

v0.30.0-alpha.0

Pre-release
Pre-release

Choose a tag to compare

@thescientist13 thescientist13 released this 10 Mar 23:38
· 329 commits to master since this release

Overview

This initial release for v0.30.0 provides improved support for Lit v3 + SSR, introduces Isolation Mode and makes some internal refactoring and dependency upgrades.

In progress docs available here. Full release blog will come out with the final release.

If using Yarn, you can can upgrade all your Greenwood packages at once

$ yarn upgrade --scope @greenwood --latest

Changelog

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

  1. Isolation Mode (v1)
  2. Lit v3 Upgrade and SSR Enhancements
  3. Single File Bundles (SFBs) for SSR pages and API routes - thanks @DevLab2425 🙌
  4. Upgrade Rollup (and friends) to 3.x - thanks @DevLab2425 🙌

Breaking Changes

Lit Renderer Plugin

The Lit Renderer has a few breaking changes to be aware of

  1. You must use the getBody API (Custom Elements as Pages are not support with Lit)
  2. The compatible version of Lit is now v3
  3. You'll want to use isolation mode for your API routes (in particular when using greenwood serve as it is also the default for SSR pages)

See a working example here

Known Issues

  1. SSR pages are missing chunks of route chunk
  2. ensure minimum compatible version of WCC at v0.12.1

Diff

$ git diff v0.29.2 v0.30.0-alpha.0 --stat | grep -v "www"
 .gitignore                                         |   2 +-
 greenwood.config.js                                |   4 +-
 lerna.json                                         |   2 +-
 package.json                                       |   4 +-
 packages/cli/package.json                          |  16 +-
 packages/cli/src/config/rollup.config.js           | 172 +++++----
 packages/cli/src/lib/execute-route-module.js       |   5 +-
 packages/cli/src/lib/resource-utils.js             |   3 +-
 .../cli/src/lib/ssr-route-worker-isolation-mode.js |  14 +
 packages/cli/src/lib/templating-utils.js           |  19 +-
 packages/cli/src/lifecycles/bundle.js              |  55 ++-
 packages/cli/src/lifecycles/config.js              |  11 +-
 packages/cli/src/lifecycles/graph.js               |  58 ++-
 packages/cli/src/lifecycles/serve.js               |  84 +++-
 .../src/plugins/resource/plugin-standard-html.js   |   1 +
 .../build.config.error-isolation.spec.js           |  49 +++
 .../greenwood.config.js                            |   3 +
 .../build.default.import-node-modules.spec.js      |   7 +-
 .../build.default.import-node-modules/package.json |   2 +-
 .../build.default.spa/build.default.spa.spec.js    |   3 +-
 .../cli/test/cases/build.default.spa/package.json  |   2 +-
 .../build.default.ssr-static-export.spec.js        |   3 +-
 .../build.default.ssr-static-export/package.json   |   2 +-
 .../cases/build.plugins.adapter/generic-adapter.js |   2 +-
 .../cases/develop.default/develop.default.spec.js  |   5 +
 .../cases/develop.default/import-map.snapshot.json |   4 -
 .../cli/test/cases/develop.default/package.json    |   2 +-
 .../cli/test/cases/develop.ssr/develop.ssr.spec.js |   5 +
 packages/cli/test/cases/develop.ssr/package.json   |   2 +-
 .../serve.config.base-path.spec.js                 |   2 +-
 .../serve.default.api/serve.default.api.spec.js    |   2 +-
 .../cases/serve.default.api/src/api/fragment.js    |   2 +
 .../serve.default.ssr-static-export/package.json   |   2 +-
 .../serve.default.ssr-static-export.spec.js        |   3 +-
 .../serve.default.ssr/serve.default.ssr.spec.js    |  19 +-
 .../cases/serve.default.ssr/src/pages/users.js     |   4 +-
 packages/init/package.json                         |   2 +-
 packages/plugin-adapter-netlify/package.json       |   4 +-
 packages/plugin-adapter-netlify/src/index.js       |  76 +---
 .../test/cases/build.default/build.default.spec.js |  32 ++
 packages/plugin-adapter-vercel/package.json        |   4 +-
 packages/plugin-adapter-vercel/src/index.js        |  65 +---
 .../test/cases/build.default/build.default.spec.js |  20 +
 packages/plugin-babel/package.json                 |   6 +-
 packages/plugin-babel/src/index.js                 |   2 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 packages/plugin-graphql/package.json               |   4 +-
 .../test/cases/query-children/package.json         |   2 +-
 .../cases/query-children/query-children.spec.js    |   5 +
 .../cases/query-custom-frontmatter/package.json    |   2 +-
 .../query-custom-frontmatter.spec.js               |   5 +
 .../test/cases/query-graph/package.json            |   2 +-
 .../test/cases/query-graph/query-graph.spec.js     |   5 +
 .../test/cases/query-menu/package.json             |   2 +-
 .../test/cases/query-menu/query-menu.spec.js       |   5 +
 packages/plugin-import-commonjs/package.json       |   8 +-
 .../test/cases/default/default.spec.js             |   4 +-
 packages/plugin-import-css/package.json            |   4 +-
 packages/plugin-import-json/package.json           |   4 +-
 packages/plugin-import-jsx/package.json            |   6 +-
 packages/plugin-include-html/package.json          |   4 +-
 packages/plugin-polyfills/package.json             |   4 +-
 .../plugin-polyfills/test/cases/lit/lit.spec.js    |   4 +-
 .../plugin-polyfills/test/cases/lit/package.json   |   2 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-renderer-lit/README.md             |  98 +++--
 packages/plugin-renderer-lit/package.json          |  11 +-
 .../src/execute-route-module.js                    |  50 +--
 packages/plugin-renderer-lit/src/index.js          |  43 ++-
 .../build.prerender.getting-started.spec.js        |  11 +
 .../build.prerender.getting-started/package.json   |   2 +-
 .../test/cases/serve.default/package.json          |   2 +-
 .../test/cases/serve.default/serve.default.spec.js | 105 ++++-
 .../test/cases/serve.default/src/api/search.js     |  41 ++
 .../cases/serve.default/src/components/card.js     |  82 ++++
 .../test/cases/serve.default/src/pages/artists.js  |   1 +
 .../test/cases/serve.default/src/pages/users.js    |  29 +-
 packages/plugin-renderer-puppeteer/package.json    |   4 +-
 .../test/cases/build.default/build.default.spec.js |   7 +-
 .../test/cases/build.default/package.json          |   2 +-
 packages/plugin-typescript/package.json            |   4 +-
 .../options.extend-config/src/scripts/main.ts      |   3 +-
 yarn.lock                                          | 422 ++++++++++++---------
 90 files changed, 1243 insertions(+), 665 deletions(-)