Skip to content

Releases: ProjectEvergreen/greenwood

v0.27.0-alpha.6

19 Nov 02:23
Compare
Choose a tag to compare
v0.27.0-alpha.6 Pre-release
Pre-release

Overview

Restored a reverted a commit around preserving expectations around default configuration for the PostCSS plugin. See the last release notes for prior breaking changes.

In development docs 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.27.0+label%3Aalpha.6

  1. Revert "Revert "Enhancement/issue 763 restore postcss import""

Breaking Changes

None

Known Issues

N / A

Diff

$ git diff v0.27.0-alpha.5 v0.27.0-alpha.6 --stat | grep -v "www"
 lerna.json                                         |  2 +-
 packages/cli/package.json                          |  2 +-
 packages/init/package.json                         |  2 +-
 packages/plugin-babel/package.json                 |  4 +--
 packages/plugin-google-analytics/package.json      |  4 +--
 packages/plugin-graphql/package.json               |  4 +--
 packages/plugin-import-commonjs/package.json       |  4 +--
 packages/plugin-import-css/package.json            |  4 +--
 packages/plugin-import-json/package.json           |  4 +--
 packages/plugin-include-html/package.json          |  4 +--
 packages/plugin-polyfills/package.json             |  4 +--
 packages/plugin-postcss/README.md                  |  1 +
 packages/plugin-postcss/package.json               |  5 +--
 packages/plugin-postcss/src/postcss.config.js      |  1 +
 .../options.extend-config.spec.js                  |  2 +-
 .../options.extend-config/src/styles/main.css      |  2 ++
 .../options.extend-config/src/styles/theme.css     |  3 ++
 packages/plugin-renderer-lit/package.json          |  4 +--
 packages/plugin-renderer-puppeteer/package.json    |  4 +--
 packages/plugin-typescript/package.json            |  4 +--
 yarn.lock                                          | 37 ++++++++++++++++++++++
 22 files changed, 74 insertions(+), 29 deletions(-)

v0.27.0-alpha.5

19 Nov 01:37
Compare
Choose a tag to compare
v0.27.0-alpha.5 Pre-release
Pre-release

Overview

Inadvertently reverted a commit that removed intended functionality around intended default configuration for the PostCSS plugin. Next release will restore it. See the last release notes for prior breaking changes.

In development docs 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.27.0+label%3Aalpha.5

  1. Revert "Enhancement/issue 763 restore postcss import"

Breaking Changes

None

Known Issues

  1. Need to restore removal of postcss-import to default PostCSS configuration

Diff

$ git diff v0.27.0-alpha.4 v0.27.0-alpha.5 --stat | grep -v "www"
 lerna.json                                         |  2 +-
 packages/cli/package.json                          |  2 +-
 packages/init/package.json                         |  2 +-
 packages/plugin-babel/package.json                 |  4 +--
 packages/plugin-google-analytics/package.json      |  4 +--
 packages/plugin-graphql/package.json               |  4 +--
 packages/plugin-import-commonjs/package.json       |  4 +--
 packages/plugin-import-css/package.json            |  4 +--
 packages/plugin-import-json/package.json           |  4 +--
 packages/plugin-include-html/package.json          |  4 +--
 packages/plugin-polyfills/package.json             |  4 +--
 packages/plugin-postcss/README.md                  |  1 -
 packages/plugin-postcss/package.json               |  5 ++-
 packages/plugin-postcss/src/postcss.config.js      |  1 -
 .../options.extend-config.spec.js                  |  2 +-
 .../options.extend-config/src/styles/main.css      |  2 --
 .../options.extend-config/src/styles/theme.css     |  3 --
 packages/plugin-renderer-lit/package.json          |  4 +--
 packages/plugin-renderer-puppeteer/package.json    |  4 +--
 packages/plugin-typescript/package.json            |  4 +--
 yarn.lock                                          | 37 ----------------------
 22 files changed, 29 insertions(+), 74 deletions(-)

v0.27.0-alpha.4

18 Nov 02:30
Compare
Choose a tag to compare
v0.27.0-alpha.4 Pre-release
Pre-release

Overview

This alpha release fixes some issues with @ rule declarations with Greenwood's new custom solution for CSS minification and bundling. This release also mistakenly introduced postcss-import into the PostCSS plugin default configuration, which will be rolled back in a fast-follow alpha.. See the last release notes for prior breaking changes.

In development docs 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.27.0+label%3Aalpha.4

  1. refine @ rule handling

Breaking Changes

None

Known Issues

  1. Need to revert addition of postcss-import to default PostCSS configuration

Diff

$ git diff v0.27.0-alpha.3 v0.27.0-alpha.4 --stat | grep -v "www"
 lerna.json                                         |  2 +-
 packages/cli/package.json                          |  2 +-
 .../src/plugins/resource/plugin-standard-css.js    | 18 +++++++---
 .../fixtures/expected.css                          | 42 ++++++++++++++--------
 .../src/styles/main.css                            | 32 +++++++++++++++++
 .../src/styles/theme.css                           |  7 +++-
 .../build.config-optimization-inline.spec.js       |  2 +-
 .../build.config-optimization-overrides.spec.js    |  2 +-
 .../build.default.workspace-javascript-css.spec.js |  4 +--
 ...default.workspace-template-page-and-app.spec.js |  8 ++---
 .../cases/develop.default/develop.default.spec.js  |  7 ++--
 .../test/cases/develop.default/greenwood.config.js |  2 +-
 .../test/cases/serve.default/greenwood.config.js   |  2 +-
 .../test/cases/serve.default/serve.default.spec.js |  7 ++--
 packages/init/package.json                         |  2 +-
 packages/plugin-babel/package.json                 |  4 +--
 packages/plugin-google-analytics/package.json      |  4 +--
 packages/plugin-graphql/package.json               |  4 +--
 packages/plugin-import-commonjs/package.json       |  4 +--
 packages/plugin-import-css/package.json            |  4 +--
 packages/plugin-import-json/package.json           |  4 +--
 packages/plugin-include-html/package.json          |  4 +--
 packages/plugin-polyfills/package.json             |  4 +--
 packages/plugin-postcss/README.md                  |  1 +
 packages/plugin-postcss/package.json               |  5 +--
 packages/plugin-postcss/src/postcss.config.js      |  1 +
 .../test/cases/default/default.spec.js             |  2 +-
 .../options.extend-config.spec.js                  |  2 +-
 .../options.extend-config/src/styles/main.css      |  2 ++
 .../options.extend-config/src/styles/theme.css     |  3 ++
 packages/plugin-renderer-lit/package.json          |  4 +--
 packages/plugin-renderer-puppeteer/package.json    |  4 +--
 packages/plugin-typescript/package.json            |  4 +--
 yarn.lock                                          | 37 +++++++++++++++++++
 35 files changed, 170 insertions(+), 68 deletions(-)

v0.27.0-alpha.3

12 Nov 21:52
Compare
Choose a tag to compare
v0.27.0-alpha.3 Pre-release
Pre-release

Overview

This alpha release introduces a custom solution for CSS minification and bundling, replacing PostCSS within the core of Greenwood. See the last release notes for prior breaking changes.

In development docs 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.27.0+label%3Aalpha.3

  1. Custom CSS minification and bundling

Breaking Changes

None

Known Issues

  1. Need to refine support for more @ rules when optimizing CSS
  2. Need to restore support for postcss-import

Diff

$ git diff v0.27.0-alpha.2 v0.27.0-alpha.3 --stat | grep -v "www"
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   6 +-
 packages/cli/src/lifecycles/bundle.js              |   9 +-
 .../src/plugins/resource/plugin-standard-css.js    | 194 +++++++-
 .../build.config-optimization-default.spec.js      |  15 +-
 .../fixtures/expected.css                          |  43 ++
 .../src/pages/index.html                           |   2 +-
 .../src/styles/main.css                            |  90 ++++
 .../src/styles/theme.css                           |   6 +-
 .../src/system/variables.css                       |  16 +
 .../build.config-optimization-inline.spec.js       |   4 +-
 .../build.config-optimization-overrides.spec.js    |   2 +-
 .../build.default.workspace-javascript-css.spec.js |   4 +-
 ...default.workspace-template-page-and-app.spec.js |   8 +-
 packages/init/package.json                         |   2 +-
 packages/plugin-babel/package.json                 |   4 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 packages/plugin-graphql/package.json               |   4 +-
 packages/plugin-import-commonjs/package.json       |   4 +-
 packages/plugin-import-css/package.json            |   4 +-
 packages/plugin-import-json/package.json           |   4 +-
 packages/plugin-include-html/package.json          |   4 +-
 packages/plugin-polyfills/package.json             |   4 +-
 packages/plugin-postcss/README.md                  |   1 -
 packages/plugin-postcss/package.json               |  10 +-
 packages/plugin-postcss/src/index.js               |  20 -
 .../test/cases/default/default.spec.js             |   2 +-
 .../options.extend-config.spec.js                  |   2 +-
 packages/plugin-renderer-lit/package.json          |   4 +-
 packages/plugin-renderer-puppeteer/package.json    |   4 +-
 packages/plugin-typescript/package.json            |   4 +-
 yarn.lock                                          | 510 ++-------------------
 35 files changed, 424 insertions(+), 580 deletions(-)

v0.27.0-alpha.2

05 Nov 01:08
Compare
Choose a tag to compare
v0.27.0-alpha.2 Pre-release
Pre-release

Overview

This alpha release brings the v0.27.0 release branch in line with the mainline (so up to v0.26.2), adds support for Worker thread pools to prevent Greenwood from crashing when building thousands of pages, upgraded WCC to v0.6.1 and fixed a regression. See the last release notes for prior breaking changes.

In development docs 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.27.0+label%3Aalpha.2

  1. <script> tags in the <body> are not getting bundled
  2. introduce worker thread pools for SSR page generation
  3. upgrade to WCC 0.6.x
  4. update rollup preserveEntrySignatures to neutral setting to silence warning output

Breaking Changes

None

Known Issues

None

Diff

$ git diff v0.27.0-alpha.1 v0.27.0-alpha.2 --stat | grep -v "www"
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   4 +-
 packages/cli/src/commands/serve.js                 |   2 +-
 packages/cli/src/config/rollup.config.js           |   1 +
 packages/cli/src/lib/ssr-route-worker.js           |   6 +-
 packages/cli/src/lib/threadpool.js                 |  79 +++++++++++
 packages/cli/src/lifecycles/bundle.js              |   2 +-
 packages/cli/src/lifecycles/graph.js               |  83 ++++++------
 packages/cli/src/lifecycles/prerender.js           |  50 ++++---
 .../src/plugins/resource/plugin-standard-html.js   | 147 ++++++++++-----------
 .../build.default.meta/build.default.meta.spec.js  |   9 ++
 .../cases/build.default.meta/src/pages/index.md    |   4 +
 .../build.default.ssr-prerender.spec.js            |  88 ++++++++++++
 .../greenwood.config.js                            |   3 +
 .../src/components/footer.js                       |  16 +++
 .../build.default.ssr-prerender/src/pages/index.js |   7 +
 .../src/templates/app.html                         |  13 ++
 .../build.default.ssr-static-export.spec.js        |   9 +-
 .../build.default.ssr/build.default.ssr.spec.js    |  40 ++++--
 .../cases/build.default.ssr/src/pages/about.md     |   3 +
 .../cases/build.default.ssr/src/pages/index.js     |   9 ++
 .../cases/build.default.ssr/src/pages/index.md     |   3 -
 .../build.default.workspace-javascript-css.spec.js |  35 ++++-
 .../src/pages/index.html                           |   7 +
 .../src/scripts/popup.js                           |   1 +
 packages/init/package.json                         |   2 +-
 packages/plugin-babel/package.json                 |   4 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 packages/plugin-graphql/package.json               |   4 +-
 .../plugin-graphql/test/unit/schema/graph.spec.js  |   2 +-
 packages/plugin-import-commonjs/package.json       |   4 +-
 packages/plugin-import-css/package.json            |   4 +-
 packages/plugin-import-json/package.json           |   4 +-
 packages/plugin-include-html/package.json          |   4 +-
 packages/plugin-polyfills/package.json             |   4 +-
 .../plugin-polyfills/test/cases/dsd/dsd.spec.js    |   2 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-renderer-lit/package.json          |   4 +-
 .../src/ssr-route-worker-lit.js                    |   6 +-
 packages/plugin-renderer-puppeteer/package.json    |   4 +-
 packages/plugin-typescript/package.json            |   4 +-
 yarn.lock                                          |  15 ++-
 43 files changed, 489 insertions(+), 211 deletions(-)

v0.26.2

23 Oct 18:34
Compare
Choose a tag to compare

Overview

This patch fix address an issue with SSR pages not pre-rendering static HTML correctly for the build task.

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.26.2

  1. prerender configuration for SSR pages not generating output HTML

Breaking Changes

N / A

Known Issues

  1. warnings emitted about undefined page level custom element tags when pre-rendering SSR pages

Diff

$ git diff v0.26.1 v0.26.2 --stat | grep -v "www"
 lerna.json                                         |  2 +-
 packages/cli/package.json                          |  2 +-
 packages/cli/src/commands/serve.js                 |  2 +-
 packages/cli/src/lifecycles/bundle.js              |  2 +-
 packages/cli/src/lifecycles/prerender.js           |  2 +-
 .../build.default.ssr-prerender.spec.js            | 88 ++++++++++++++++++++++
 .../greenwood.config.js                            |  3 +
 .../src/components/footer.js                       | 16 ++++
 .../build.default.ssr-prerender/src/pages/index.js |  7 ++
 .../src/templates/app.html                         | 13 ++++
 .../build.default.ssr-static-export.spec.js        |  9 +--
 .../build.default.ssr/build.default.ssr.spec.js    |  3 +-
 packages/init/package.json                         |  2 +-
 packages/plugin-babel/package.json                 |  4 +-
 packages/plugin-google-analytics/package.json      |  4 +-
 packages/plugin-graphql/package.json               |  4 +-
 packages/plugin-import-commonjs/package.json       |  4 +-
 packages/plugin-import-css/package.json            |  4 +-
 packages/plugin-import-json/package.json           |  4 +-
 packages/plugin-include-html/package.json          |  4 +-
 packages/plugin-polyfills/package.json             |  4 +-
 packages/plugin-postcss/package.json               |  4 +-
 packages/plugin-renderer-lit/package.json          |  4 +-
 packages/plugin-renderer-puppeteer/package.json    |  4 +-
 packages/plugin-typescript/package.json            |  4 +-
 26 files changed, 161 insertions(+), 40 deletions(-)

v0.26.1

20 Oct 12:20
Compare
Choose a tag to compare

Overview

This patch fix address an issue with "index" SSR pages not generating correctly in development, as well as some other maintenance and chore related tasks.

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.26.1

  1. SSR index pages are generating the wrong route and not loading correctly in development
  2. add cloud IDE caveat to puppeteer renderer plugin readme

Breaking Changes

N / A

Known Issues

  1. prerender configuration for SSR pages not generating output HTML
  2. warnings emitted about undefined page level custom element tags when pre-rendering SSR pages

Diff

$ git diff v0.26.0 v0.26.1 --stat | grep -v "www"
 lerna.json                                         |   2 +-
 package.json                                       |   2 +-
 packages/cli/package.json                          |   2 +-
 packages/cli/src/lifecycles/graph.js               |  69 +++--
 .../build.config-optimization-inline.spec.js       |  10 +-
 .../build.config-optimization-none.spec.js         |   4 +-
 .../build.config.static-router.spec.js             |   2 +-
 .../build.default.meta/build.default.meta.spec.js  |   9 +
 .../cases/build.default.meta/src/pages/index.md    |   4 +
 .../build.default.ssr/build.default.ssr.spec.js    |  32 ++-
 .../cases/build.default.ssr/src/pages/about.md     |   3 +
 .../cases/build.default.ssr/src/pages/index.js     |   9 +
 .../cases/build.default.ssr/src/pages/index.md     |   3 -
 .../build.default.workspace-javascript-css.spec.js |  10 +-
 packages/init/package.json                         |   2 +-
 packages/plugin-babel/package.json                 |   4 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 packages/plugin-graphql/package.json               |   4 +-
 .../cases/query-children/query-children.spec.js    |   4 +-
 .../query-custom-schema.spec.js                    |   4 +-
 .../test/cases/query-graph/query-graph.spec.js     |   8 +-
 .../plugin-graphql/test/unit/schema/graph.spec.js  |   2 +-
 packages/plugin-import-commonjs/package.json       |   4 +-
 packages/plugin-import-css/package.json            |   4 +-
 .../test/cases/default/default.spec.js             |   2 +-
 packages/plugin-import-json/package.json           |   4 +-
 .../test/cases/default/default.spec.js             |   2 +-
 packages/plugin-include-html/package.json          |   4 +-
 packages/plugin-polyfills/package.json             |   4 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-renderer-lit/package.json          |   4 +-
 packages/plugin-renderer-puppeteer/README.md       |   3 +
 packages/plugin-renderer-puppeteer/package.json    |   4 +-
 packages/plugin-typescript/package.json            |   4 +-
 yarn.lock                                          | 290 +++++++++++----------
 37 files changed, 300 insertions(+), 230 deletions(-)

v0.27.0-alpha.1

15 Oct 16:36
Compare
Choose a tag to compare
v0.27.0-alpha.1 Pre-release
Pre-release

Overview

This fixes a regression with <link> tags starting with a / in the href attribute. See previous release notes for prior breaking changes.

In development docs 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.27.0+label%3Aalpha.1

  1. Bug/leading slash in CSS (<link>) paths break bundling

Breaking Changes

None

Known Issues

  1. Theme pack resolution not working with serve task

Diff

$ % git diff v0.27.0-alpha.0 v0.27.0-alpha.1 --stat | grep -v "www"
 lerna.json                                                     |  2 +-
 packages/cli/package.json                                      |  2 +-
 packages/cli/src/lifecycles/bundle.js                          |  3 ++-
 .../build.default.workspace-javascript-css.spec.js             | 10 ++++++++--
 .../src/pages/index.html                                       |  4 ++--
 packages/init/package.json                                     |  2 +-
 packages/plugin-babel/package.json                             |  4 ++--
 packages/plugin-google-analytics/package.json                  |  4 ++--
 packages/plugin-graphql/package.json                           |  4 ++--
 packages/plugin-import-commonjs/package.json                   |  4 ++--
 packages/plugin-import-css/package.json                        |  4 ++--
 packages/plugin-import-json/package.json                       |  4 ++--
 packages/plugin-include-html/package.json                      |  4 ++--
 packages/plugin-polyfills/package.json                         |  4 ++--
 packages/plugin-postcss/package.json                           |  4 ++--
 packages/plugin-renderer-lit/package.json                      |  4 ++--
 packages/plugin-renderer-puppeteer/package.json                |  4 ++--
 packages/plugin-typescript/package.json                        |  4 ++--
 19 files changed, 40 insertions(+), 33 deletions(-)

v0.27.0-alpha.0

01 Oct 20:27
Compare
Choose a tag to compare
v0.27.0-alpha.0 Pre-release
Pre-release

Overview

This initial release for v0.27.0 introduces some internal refactoring around bundling and (hopefully) some performance enhancements, and misc. bug fixes.

In development docs 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.27.0+label%3Aalpha.0

  1. refactor bundling lifecycle and resource optimizations
  2. avoid Rollup double bundling for pre-bundled static assets for server routes
  3. ensure inline <script> and <style> tags are getting minified / optimized when running build command
  4. fix incorrect HUD noopener implementation
  5. auto spread arrays of plugins
  6. remove hardcoded directory references in rollup configuration
    (#990)

Breaking Changes

Configuration for Plugins

Not a breaking change, but now all plugins can be added to a greenwood.config.js without needing to spread them.

// before
export default {
  plugins: [
    ...someGreenwoodPlugin()
  ]
}

// after
export default {
  plugins: [
    someGreenwoodPlugin()
  ]
}

Known Issues

  1. Bug/leading slash in CSS (<link>) paths break bundling
  2. Theme pack resolution not working with serve task

Diff

$ git diff v0.26.2 v0.27.0-alpha.0 --stat | grep -v "www"
 greenwood.config.js                                |  12 +-
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   2 +-
 packages/cli/src/commands/build.js                 |  17 +-
 packages/cli/src/commands/serve.js                 |   2 +-
 packages/cli/src/config/rollup.config.js           | 617 ++++-----------------
 packages/cli/src/index.js                          |   2 +-
 packages/cli/src/lib/resource-utils.js             |  50 ++
 packages/cli/src/lifecycles/bundle.js              | 148 ++++-
 packages/cli/src/lifecycles/compile.js             |   3 +-
 packages/cli/src/lifecycles/config.js              |  25 +-
 packages/cli/src/lifecycles/context.js             |   2 +-
 packages/cli/src/lifecycles/graph.js               |  76 ++-
 packages/cli/src/lifecycles/prerender.js           | 161 ++++--
 packages/cli/src/lifecycles/serve.js               |  14 -
 .../src/plugins/resource/plugin-node-modules.js    |   3 +-
 .../src/plugins/resource/plugin-standard-css.js    |   6 +-
 .../src/plugins/resource/plugin-standard-html.js   | 297 +++++-----
 .../src/plugins/resource/plugin-standard-json.js   |   8 +
 .../src/plugins/resource/plugin-static-router.js   |  57 +-
 .../build.config.interpolate-frontmatter.spec.js   |   4 +-
 .../build.config-optimization-default.spec.js      |   2 +-
 .../build.config-optimization-none.spec.js         |  10 +-
 .../build.config.static-router.spec.js             |   3 +-
 .../build.default.import-node-modules.spec.js      |   7 +-
 .../build.default.meta/build.default.meta.spec.js  |   9 -
 .../cases/build.default.meta/src/pages/index.md    |   4 -
 .../build.default.spa/build.default.spa.spec.js    |   3 +-
 .../build.default.ssr-prerender.spec.js            |  88 ---
 .../greenwood.config.js                            |   3 -
 .../src/components/footer.js                       |  16 -
 .../build.default.ssr-prerender/src/pages/index.js |   7 -
 .../src/templates/app.html                         |  13 -
 .../build.default.ssr-static-export.spec.js        |  18 +-
 .../build.default.ssr/build.default.ssr.spec.js    |  37 +-
 .../cases/build.default.ssr/src/pages/about.md     |   3 -
 .../cases/build.default.ssr/src/pages/index.js     |   9 -
 .../cases/build.default.ssr/src/pages/index.md     |   3 +
 .../build.default.workspace-javascript-css.spec.js |  25 +-
 ...default.workspace-template-page-and-app.spec.js |  15 +-
 .../build.default.workspace-template-page.spec.js  |   2 +-
 .../cli/test/cases/develop.ssr/develop.ssr.spec.js |   2 +-
 .../test/cases/theme-pack/theme-pack.build.spec.js |   2 +-
 packages/init/package.json                         |   2 +-
 packages/plugin-babel/README.md                    |   5 +-
 packages/plugin-babel/package.json                 |   4 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 packages/plugin-google-analytics/src/index.js      |   2 +-
 .../test/cases/default/default.spec.js             |   2 +-
 .../option-anonymous/option-anonymous.spec.js      |   2 +-
 packages/plugin-graphql/README.md                  |   4 +-
 packages/plugin-graphql/package.json               |   4 +-
 packages/plugin-graphql/src/index.js               |  10 +-
 .../plugin-graphql/test/unit/schema/graph.spec.js  |   2 +-
 packages/plugin-import-commonjs/README.md          |   2 +-
 packages/plugin-import-commonjs/package.json       |   4 +-
 packages/plugin-import-css/README.md               |   2 +-
 packages/plugin-import-css/package.json            |  10 +-
 packages/plugin-import-css/src/index.js            |  30 +-
 .../test/cases/default/default.spec.js             |   3 +-
 packages/plugin-import-json/README.md              |   2 +-
 packages/plugin-import-json/package.json           |   7 +-
 packages/plugin-import-json/src/index.js           |  25 +-
 .../test/cases/default/default.spec.js             |   2 +-
 .../cases/develop.default/develop.default.spec.js  |   4 +-
 packages/plugin-include-html/README.md             |   2 +-
 packages/plugin-include-html/package.json          |   4 +-
 packages/plugin-polyfills/README.md                |   2 +-
 packages/plugin-polyfills/package.json             |   4 +-
 packages/plugin-polyfills/src/index.js             |   8 +-
 .../plugin-polyfills/test/cases/lit/lit.spec.js    |   4 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-postcss/src/index.js               |   7 +-
 packages/plugin-renderer-lit/package.json          |   4 +-
 packages/plugin-renderer-puppeteer/README.md       |   2 +-
 packages/plugin-renderer-puppeteer/package.json    |   4 +-
 .../src/plugins/resource.js                        |  20 -
 .../src/puppeteer-handler.js                       |   9 +-
 .../test/cases/build.default/build.default.spec.js |   7 +-
 packages/plugin-typescript/README.md               |   5 +-
 packages/plugin-typescript/package.json            |   8 +-
 packages/plugin-typescript/src/index.js            |  15 +-
 .../test/cases/default/default.spec.js             |   5 +-
 .../options.extend-config.spec.js                  |   2 +-
 test/smoke-test.js                                 |  28 +-
 yarn.lock                                          | 210 +------
 92 files changed, 871 insertions(+), 1434 deletions(-)

v0.26.0

27 Jul 01:52
Compare
Choose a tag to compare

Overview

This release of Greenwood introduces some exciting new features for Greenwood 🥳

  • Custom Elements as pages
  • WCC is now the default server and prerendering solution
  • Puppeteer is now its own plugin (breaking)

Checkout the accompanying blog post for more information on all these features.

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.26.0

  1. support server rendering a native HTMLElement and export default for custom elements as pages
  2. should have the ability to statically export server rendered routes as just HTML
  3. add Declarative Shadow DOM polyfill support to polyfill plugin

Breaking Changes

Puppeteer + Prerendering

This was a big breaking change but should be fairly easy to adapt to.

If you can, see this PR as an example for how to adopt WCC instead.

  1. Install the Puppeteer renderer plugin
    $ npm install @greenwood/plugin-renderer-puppeteer --save-dev
  2. Add the plugin to your greenwood.config.js. You can also remove prerender: true.
    import { greenwoodPluginRendererPuppeteer } from '@greenwood/plugin-renderer-puppeteer';
    
    export default {
      plugins: [
        ...greenwoodPluginRendererPuppeteer()
      ]
    }
  3. You can also delete the puppeteer package from your package.json

Plugin Import CommonJS

You may not have noticed but there was a typo in the named export!

// before
import { greenwodPluginImportCommonJs } from '@greenwood/plugin-import-commonjs';

// after
import { greenwoodPluginImportCommonJs } from '@greenwood/plugin-import-commonjs';

Known Issues

N / A

Diff

$ git diff v0.25.0 v0.26.0 --stat | grep -v "www"
.c8rc.json                                         |   2 +-
 .github/CONTRIBUTING.md                            |  38 +--
 greenwood.config.js                                |   4 +-
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |  15 +-
 packages/cli/src/commands/build.js                 |  66 ++---
 packages/cli/src/commands/serve.js                 |   4 +-
 packages/cli/src/index.js                          |  37 ---
 packages/cli/src/lib/router.js                     |  47 +++-
 packages/cli/src/lib/ssr-route-worker.js           |  39 ++-
 packages/cli/src/lifecycles/bundle.js              |   6 +-
 packages/cli/src/lifecycles/prerender.js           |  92 ++----
 packages/cli/src/lifecycles/serve.js               |   9 +-
 ...nderer-string.js => plugin-renderer-default.js} |   6 +-
 .../src/plugins/resource/plugin-standard-html.js   |  21 +-
 ...optimization-mpa.js => plugin-static-router.js} |  35 +--
 .../build.config.default.spec.js                   |   2 +-
 .../build.config-optimization-static.spec.js       |  17 +-
 .../greenwood.config.js                            |   3 +-
 .../build.config.prerender.spec.js                 |  17 +-
 .../src/components/header.js                       |   4 +-
 .../build.config.static-router.spec.js             |  25 +-
 .../src/pages/artists.js                           |  17 ++
 .../build.default.import-node-modules.spec.js      |  61 +---
 .../greenwood.config.js                            |   3 -
 .../src/pages/index.html                           |  14 -
 .../build.default.quick-start-npx.spec.js          |   2 +-
 .../build.default.spa/build.default.spa.spec.js    |   4 +-
 .../build.default.ssr-static-export.spec.js        | 230 +++++++++++++++
 .../package.json                                   |   0
 .../src/components/counter.js                      |  42 +++
 .../src/components/footer.js                       |   0
 .../src/pages/artists.js                           |  92 ++++++
 .../src/pages/index.md                             |   3 +
 .../src/templates/app.html                         |  13 +
 .../build.default.ssr/build.default.ssr.spec.js    | 190 ++++++-------
 .../cases/build.default.ssr/greenwood.config.js    |   3 +
 .../cases/build.default.ssr/src/components/card.js |  43 +++
 .../cases/build.default.ssr/src/pages/artists.js   |   8 +-
 .../cases/build.default.ssr/src/pages/users.js     |  21 ++
 .../cases/build.default.ssr/src/templates/app.html |   2 -
 ...d.default.workspace-frontmatter-imports.spec.js |  59 ++--
 .../src/components/counter/counter.js              |  13 +-
 .../src/components/multi-hyphen/multi-hyphen.js    |  16 ++
 .../src/pages/examples/counter.md                  |  14 -
 .../src/pages/examples/demo.md                     |  13 +
 ...default.workspace-javascript-css-remote.spec.js |   2 +-
 .../build.default.workspace-javascript-css.spec.js |  64 +----
 .../greenwood.config.js                            |   3 -
 .../src/pages/index.html                           |   1 -
 .../src/scripts/main.js                            |   1 -
 .../build.config.plugins-resource.spec.js          |  27 +-
 .../build.plugins.resource/greenwood.config.js     |   1 -
 .../build.plugins-source.spec.js                   |   2 +-
 .../cases/develop.default/develop.default.spec.js  |   2 +-
 .../serve.config.static-router/greenwood.config.js |   3 +
 .../serve.config.static-router.spec.js             | 113 ++++++++
 .../serve.config.static-router/src/pages/about.md  |   7 +
 .../src/pages/artists.js                           |  17 ++
 .../serve.config.static-router/src/pages/index.md  |   3 +
 packages/init/README.md                            |  12 +-
 packages/init/package.json                         |   2 +-
 .../test/cases/build.default/build.default.spec.js |   1 +
 .../cases/develop.default/develop.default.spec.js  |   1 +
 .../init/test/cases/init.yarn/init.yarn.spec.js    |   1 +
 packages/plugin-babel/package.json                 |   4 +-
 .../test/cases/default/default.spec.js             |   2 +-
 .../options.extend-config.spec.js                  |   2 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 .../test/cases/default/default.spec.js             |   4 +-
 .../error-analytics-id/error-analytics-id.spec.js  |   4 +-
 .../option-anonymous/option-anonymous.spec.js      |   4 +-
 packages/plugin-graphql/README.md                  |  26 +-
 packages/plugin-graphql/package.json               |   4 +-
 .../test/cases/query-children/greenwood.config.js  |   8 +-
 .../cases/query-children/query-children.spec.js    |   7 +-
 .../test/cases/query-config/greenwood.config.js    |   6 +-
 .../test/cases/query-config/query-config.spec.js   |   5 +-
 .../query-custom-frontmatter/greenwood.config.js   |   5 +-
 .../query-custom-frontmatter.spec.js               |   5 +-
 .../cases/query-custom-schema/greenwood.config.js  |   5 +-
 .../query-custom-schema.spec.js                    |   5 +-
 .../test/cases/query-graph/greenwood.config.js     |   5 +-
 .../test/cases/query-graph/query-graph.spec.js     |   7 +-
 .../test/cases/query-menu/greenwood.config.js      |   5 +-
 .../test/cases/query-menu/query-menu.spec.js       |   5 +-
 packages/plugin-import-commonjs/package.json       |   4 +-
 packages/plugin-import-commonjs/src/index.js       |   4 +-
 .../test/cases/default/default.spec.js             |  26 +-
 .../test/cases/default/greenwood.config.js         |   5 +-
 packages/plugin-import-css/README.md               |   4 +
 packages/plugin-import-css/package.json            |   4 +-
 .../test/cases/default/default.spec.js             |  30 +-
 .../test/cases/default/greenwood.config.js         |   1 -
 .../cases/develop.default/develop.default.spec.js  |   2 +-
 packages/plugin-import-json/README.md              |   4 +
 packages/plugin-import-json/package.json           |   4 +-
 .../test/cases/default/default.spec.js             |  27 +-
 .../test/cases/default/greenwood.config.js         |   1 -
 .../cases/develop.default/develop.default.spec.js  |   2 +-
 packages/plugin-include-html/package.json          |   4 +-
 .../build.default.custom-element.spec.js           |   2 +-
 .../build.default.link-tag.spec.js                 |   2 +-
 packages/plugin-polyfills/README.md                |  28 +-
 packages/plugin-polyfills/package.json             |   4 +-
 packages/plugin-polyfills/src/index.js             |  78 +++--
 .../test/cases/default/default.spec.js             |   4 +-
 .../plugin-polyfills/test/cases/dsd/dsd.spec.js    |  86 ++++++
 .../test/cases/dsd/greenwood.config.js             |  10 +
 .../test/cases/lit/greenwood.config.js             |   5 +-
 .../plugin-polyfills/test/cases/lit/lit.spec.js    |  64 ++---
 packages/plugin-postcss/package.json               |   4 +-
 .../test/cases/default/default.spec.js             |   2 +-
 .../options.extend-config.spec.js                  |   2 +-
 packages/plugin-renderer-lit/README.md             |  63 ++---
 packages/plugin-renderer-lit/package.json          |   4 +-
 .../src/ssr-route-worker-lit.js                    |  22 +-
 .../test/cases/build.default/build.default.spec.js |  35 ++-
 .../test/cases/build.default/src/pages/users.js    |  24 ++
 .../build.prerender.getting-started.spec.js        |   2 +-
 packages/plugin-renderer-puppeteer/README.md       |  80 ++++++
 packages/plugin-renderer-puppeteer/package.json    |  32 +++
 packages/plugin-renderer-puppeteer/src/index.js    | ...
Read more