greenwood

Greenwood is your workbench for the web, embracing web standards from the ground up to empower your stack from front to back.

MIT License

Downloads
4.6K
Stars
97
Committers
8

Bot releases are visible (Hide)

greenwood - v0.27.0-alpha.4

Published by thescientist13 almost 2 years ago

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(-)
greenwood - v0.27.0-alpha.3

Published by thescientist13 almost 2 years ago

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(-)
greenwood - v0.27.0-alpha.2

Published by thescientist13 almost 2 years ago

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(-)
greenwood - v0.26.2

Published by thescientist13 almost 2 years ago

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(-)
greenwood - v0.26.1

Published by thescientist13 about 2 years ago

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(-)
greenwood - v0.27.0-alpha.1

Published by thescientist13 about 2 years ago

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(-)
greenwood - v0.27.0-alpha.0

Published by thescientist13 about 2 years ago

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
    (https://github.com/ProjectEvergreen/greenwood/issues/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(-)
greenwood - v0.26.0

Published by thescientist13 about 2 years ago

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    |  27 ++
 .../src/lib/browser.js                             |   3 +-
 .../src/plugins/resource.js                        |  48 ++++
 .../src/plugins/server.js                          |  23 ++
 .../src/puppeteer-handler.js                       |  60 ++++
 .../test/cases/build.default/build.default.spec.js | 313 +++++++++++++++++++++
 .../test/cases/build.default/greenwood.config.js   |   7 +
 .../test/cases/build.default/package.json          |  12 +
 .../cases/build.default/src/components/header.js   |  24 ++
 .../test/cases/build.default/src/pages/index.html  |  26 ++
 .../test/cases/build.default/src/scripts/main.js   |  13 +
 packages/plugin-typescript/README.md               |   4 +
 packages/plugin-typescript/package.json            |   4 +-
 .../test/cases/default/default.spec.js             |   2 +-
 .../options.extend-config.spec.js                  |   2 +-
 test/smoke-test.js                                 |   1 -
 test/utils.js                                      |  51 ----
 yarn.lock                                          |  69 +++--
 163 files changed, 2548 insertions(+), 1091 deletions(-)
greenwood - v0.26.0-alpha.1

Published by thescientist13 over 2 years ago

Overview

This second release for v0.26.0 introduces some exciting new features for Greenwood

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

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%3Aalpha.1+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.26.0-alpha.0 v0.26.0-alpha.1 --stat | grep -v "www"
.c8rc.json                                         |   2 +-
 greenwood.config.js                                |   4 +-
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |  14 +-
 packages/cli/src/commands/build.js                 |  66 ++---
 packages/cli/src/index.js                          |  37 ---
 packages/cli/src/lib/ssr-route-worker.js           |  44 +--
 packages/cli/src/lifecycles/prerender.js           |  90 ++----
 .../src/plugins/resource/plugin-standard-html.js   |   3 -
 .../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.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 +-
 .../greenwood.config.js                            |   3 -
 ...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 +-
 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/package.json             |   4 +-
 .../test/cases/default/default.spec.js             |   4 +-
 .../plugin-polyfills/test/cases/lit/lit.spec.js    |   2 +-
 packages/plugin-postcss/package.json               |   4 +-
 .../test/cases/default/default.spec.js             |   2 +-
 .../options.extend-config.spec.js                  |   2 +-
 packages/plugin-renderer-lit/package.json          |   4 +-
 .../build.prerender.getting-started.spec.js        |   2 +-
 packages/plugin-renderer-puppeteer/README.md       |  40 +++
 packages/plugin-renderer-puppeteer/package.json    |  32 +++
 packages/plugin-renderer-puppeteer/src/index.js    |  27 ++
 .../src/lib/browser.js                             |   3 +-
 .../src/plugins/resource.js                        |  48 ++++
 .../src/plugins/server.js                          |  23 ++
 .../src/puppeteer-handler.js                       |  60 ++++
 .../test/cases/build.default/build.default.spec.js | 313 +++++++++++++++++++++
 .../test/cases/build.default/greenwood.config.js   |   7 +
 .../test/cases/build.default/package.json          |  12 +
 .../cases/build.default/src/components/header.js   |  24 ++
 .../test/cases/build.default/src/pages/index.html  |  26 ++
 .../test/cases/build.default/src/scripts/main.js   |  13 +
 packages/plugin-typescript/README.md               |   4 +
 packages/plugin-typescript/package.json            |   4 +-
 .../test/cases/default/default.spec.js             |   2 +-
 .../options.extend-config.spec.js                  |   2 +-
 test/smoke-test.js                                 |   1 -
 test/utils.js                                      |  51 ----
 yarn.lock                                          |  46 +--
 112 files changed, 1016 insertions(+), 696 deletions(-)
greenwood - v0.26.0-alpha.0

Published by thescientist13 over 2 years ago

Overview

This initial release for v0.26.0 introduces some exciting new features for Greenwood

  • Native HTMLElement SSR support
  • Custom Elements as pages!
  • Statically export server rendered routes as HTML

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%3Aalpha.0+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

N / A

Known Issues

N / A

Diff

% git diff v0.25.2 v0.26.0-alpha.0 --stat | grep -v "www"
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   5 +-
 packages/cli/src/commands/serve.js                 |   4 +-
 packages/cli/src/lib/ssr-route-worker.js           |  21 +-
 packages/cli/src/lifecycles/bundle.js              |   6 +-
 packages/cli/src/lifecycles/prerender.js           |   2 +-
 packages/cli/src/lifecycles/serve.js               |   9 +-
 ...nderer-string.js => plugin-renderer-default.js} |   6 +-
 .../build.default.ssr-static-export.spec.js        | 230 +++++++++++++++++++++
 .../greenwood.config.js                            |   3 +
 .../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    | 170 +++++++--------
 .../cases/build.default.ssr/src/components/card.js |  43 ++++
 .../cases/build.default.ssr/src/pages/artists.js   |   3 +-
 .../cases/build.default.ssr/src/pages/users.js     |  21 ++
 .../cases/build.default.ssr/src/templates/app.html |   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/README.md                |  28 ++-
 packages/plugin-polyfills/package.json             |   4 +-
 packages/plugin-polyfills/src/index.js             |  78 ++++---
 .../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    |  62 ++----
 packages/plugin-postcss/package.json               |   4 +-
 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 +++
 packages/plugin-typescript/package.json            |   4 +-
 yarn.lock                                          |  19 ++
 50 files changed, 1037 insertions(+), 264 deletions(-)
greenwood - v0.25.2

Published by thescientist13 over 2 years ago

Overview

Fixed a handful of issues with navigation functionality not working as expected as when using staticRouter configuration or hybrid workspaces.

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

  1. hash navigation fails to navigate to correct heading/page with staticRouter
  2. staticRouter used with a hybrid workspaces is breaks SSR route navigation and serving
  3. SSR page with getFrontmatter.title not being replace when using with interpolateFrontmatter

Breaking Changes

N / A

Known Issues

N / A

Diff

$ git diff v0.25.1 v0.25.2 --stat | grep -v "www"
.github/CONTRIBUTING.md                            |  38 +++----
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   2 +-
 packages/cli/src/lib/router.js                     |  43 ++++----
 .../src/plugins/resource/plugin-standard-html.js   |  18 ++--
 ...optimization-mpa.js => plugin-static-router.js} |  36 +++----
 .../build.config.static-router.spec.js             |  26 ++---
 .../src/pages/artists.js                           |  17 ++++
 .../build.default.ssr/build.default.ssr.spec.js    |  46 ++++-----
 .../cases/build.default.ssr/greenwood.config.js    |   3 +
 .../cases/build.default.ssr/src/pages/artists.js   |   5 +-
 .../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/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-typescript/package.json            |   4 +-
 yarn.lock                                          |  12 +--
 32 files changed, 307 insertions(+), 150 deletions(-)
greenwood - v0.25.1

Published by thescientist13 over 2 years ago

Overview

Fixed a major issue with backwards navigation functionality not working as expected as when using staticRouter configuration.

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

  1. staticRouter not loading content when using browser back button

Breaking Changes

N / A

Known Issues

N / A

Diff

% git diff v0.25.0 v0.25.1 --stat | grep -v "www"
 lerna.json                                         |  2 +-
 packages/cli/package.json                          |  2 +-
 packages/cli/src/lib/router.js                     | 28 ++++++++++++++++++----
 .../plugins/resource/plugin-optimization-mpa.js    |  1 +
 .../build.config.static-router.spec.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 ++--
 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-typescript/package.json            |  4 ++--
 18 files changed, 52 insertions(+), 30 deletions(-)
greenwood - v0.25.0

Published by thescientist13 over 2 years ago

Overview

This minor introduced some breaking changes around how prerender configuration is handled by default. Going forward:

  1. it will be false by default, and for the rest of this release line, the plan is to make puppeteer opt-in by default, this expecting the user to install it themselves, but Greenwood will try and auto install if it can!).
  2. Puppeteer will not be installed by default, unless needed when running greenwood build, at which point Greenwood will try and auto-detect and install it

Puppeteer was also upgrade to v13.x.

The motivation with these changes is mainly to move puppeteer out of the critical dependency chain as Greenwood introduces more rendering options, and ensures that the out of the box development experience is as balanced as possible.

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

  1. make prerender config option false by default
  2. auto-detect and install puppeteer dependency for default prerendering
  3. node modules resolver should return a fallback path for package not located by require.resolve
  4. upgrade puppeteer version

Breaking Changes

Prerender (Configuration)

Going forward, if you would like to prerender your application, you will need to explicitely set it in your greenwood.config.js

export default {
  prerender: true
}

Prerender (Puppeteer)

Going forward, if you are using prerender: true as the default prerender, you will need to make sure puppeteer is installed, if Greenwood can't automatically detect and install it. This can be done bu just using npm / yarn / etc.

# npm
$ npm install puppeteer --dave-dev

# yarn
$ yarn add puppeteer --dev

Known Issues

N / A

Diff

% git diff v0.24.2 v0.25.0 --stat | grep -v "www"
 .gitignore                                         |   2 +
 README.md                                          |   4 +-
 greenwood.config.js                                |   1 +
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |  12 +-
 packages/cli/src/commands/build.js                 |  79 +++----
 packages/cli/src/commands/develop.js               |   4 +-
 packages/cli/src/commands/eject.js                 |   4 +-
 packages/cli/src/commands/serve.js                 |   4 +-
 packages/cli/src/index.js                          |  69 ++++--
 packages/cli/src/lib/node-modules-utils.js         |   4 +-
 packages/cli/src/lib/walker-package-ranger.js      | 235 +++++++++++++++++++++
 packages/cli/src/lifecycles/config.js              |   2 +-
 packages/cli/src/lifecycles/prerender.js           | 149 ++++++-------
 packages/cli/src/lifecycles/serve.js               |   9 -
 .../src/plugins/resource/plugin-node-modules.js    | 221 +------------------
 .../build.config-optimization-default.spec.js      |   7 -
 .../build.config-optimization-inline.spec.js       |  16 +-
 .../build.config-optimization-none.spec.js         |   5 +-
 .../build.config-optimization-overrides.spec.js    |  17 +-
 .../build.config-optimization-static.spec.js       |  10 +-
 .../greenwood.config.js                            |   3 +-
 .../build.config.prerender.spec.js                 |  26 ++-
 .../build.config.prerender/greenwood.config.js     |   2 +-
 .../build.default.import-node-modules.spec.js      |  16 +-
 .../greenwood.config.js                            |   3 +
 .../build.default.import-node-modules/package.json |   1 +
 .../build.default.quick-start-npx.spec.js          |  14 --
 .../build.default.workspace-404-markdown.spec.js   |   5 +-
 .../build.default.workspace-404.spec.js            |   5 +-
 ...d.default.workspace-frontmatter-imports.spec.js |  10 +-
 .../greenwood.config.js                            |   3 +
 ...build.default.workspace-getting-started.spec.js |  56 ++---
 .../build.default.workspace-javascript-css.spec.js |  12 +-
 .../greenwood.config.js                            |   3 +
 ...default.workspace-template-page-and-app.spec.js |  13 +-
 .../build.default.workspace-template-page.spec.js  |   2 +-
 ...ault.workspace-templates-relative-paths.spec.js |  19 +-
 ...efault.workspace-user-directory-mapping.spec.js |  10 +-
 .../build.plugins.context.spec.js                  |   6 +-
 .../build.config.plugins-resource.spec.js          |   8 +-
 .../build.plugins.resource/greenwood.config.js     |   1 +
 .../develop.plugins.context/greenwood.config.js    |   6 +-
 .../cli/test/cases/theme-pack/greenwood.config.js  |   6 +-
 .../test/cases/theme-pack/theme-pack.build.spec.js |   6 +-
 .../cases/theme-pack/theme-pack.develop.spec.js    |   2 +-
 packages/init/package.json                         |   2 +-
 .../test/cases/init.template/init.template.spec.js |   4 -
 packages/plugin-babel/package.json                 |   4 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 packages/plugin-graphql/package.json               |   4 +-
 packages/plugin-graphql/src/index.js               |  52 +++--
 .../test/cases/query-children/greenwood.config.js  |   2 +
 .../cases/query-children/query-children.spec.js    |   9 +-
 .../test/cases/query-config/greenwood.config.js    |   2 +
 .../test/cases/query-config/query-config.spec.js   |   9 +-
 .../query-custom-frontmatter/greenwood.config.js   |   1 +
 .../query-custom-frontmatter.spec.js               |   9 +-
 .../cases/query-custom-schema/greenwood.config.js  |   1 +
 .../query-custom-schema.spec.js                    |  10 +-
 .../test/cases/query-graph/greenwood.config.js     |   1 +
 .../test/cases/query-graph/query-graph.spec.js     |   9 +-
 .../test/cases/query-menu/greenwood.config.js      |   1 +
 .../test/cases/query-menu/query-menu.spec.js       |  11 +-
 packages/plugin-import-commonjs/package.json       |   4 +-
 .../test/cases/default/default.spec.js             |   8 +-
 .../test/cases/default/greenwood.config.js         |   2 +
 packages/plugin-import-css/package.json            |   4 +-
 .../test/cases/default/default.spec.js             |   8 +-
 .../test/cases/default/greenwood.config.js         |   2 +
 packages/plugin-import-json/package.json           |   4 +-
 .../test/cases/default/default.spec.js             |   8 +-
 .../test/cases/default/greenwood.config.js         |   3 +-
 packages/plugin-include-html/package.json          |   4 +-
 .../greenwood.config.js                            |   1 -
 .../build.default.link-tag.spec.js                 |   2 +-
 .../build.default-link-tag/greenwood.config.js     |   1 -
 packages/plugin-polyfills/package.json             |   4 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-renderer-lit/package.json          |   4 +-
 packages/plugin-typescript/package.json            |   4 +-
 test/utils.js                                      |  51 +++++
 .../greenwood-getting-started-repo-optimized.webp  | Bin 0 -> 36216 bytes
 yarn.lock                                          | 113 +++++-----
 89 files changed, 889 insertions(+), 668 deletions(-)
greenwood - v0.25.0-alpha.3

Published by thescientist13 over 2 years ago

Overview

Final tweaks and enhancements before final release. Last release in this line before official v0.25.0 release.

This minor prerelease introduced some breaking changes around how prerender configuration is handled by default. Going forward, it will be false by default, and now with this release, puppeteer is now opt-in by default. This means as a user of Greenwood, puppeteer will need to be installed manually, But, that is only as a fallback, as Greenwood will auto-detect and install it if it is needed, but missing in node_modules.

The motivation with these changes is mainly to move puppeteer out of the critical dependency chain as Greenwood introduces more rendering options, and ensures that the out of the box development experience is as balanced as possible.

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.25.0+label%3Aalpha.3

  1. include puppeteer version expectation in output and only auto-detect on build or serve commands
  2. node modules resolver should return a fallback path for package not located by require.resolve

Breaking Changes

N / A

Known Issues

N / A

Diff

% git diff v0.25.0-alpha.2 v0.25.0-alpha.3 --stat | grep -v "www"
 lerna.json                                         |  2 +-
 packages/cli/package.json                          |  2 +-
 packages/cli/src/index.js                          | 68 ++++++++++++----------
 packages/cli/src/lib/node-modules-utils.js         |  4 +-
 .../build.default.import-node-modules.spec.js      |  2 +-
 .../develop.plugins.context/greenwood.config.js    |  6 +-
 .../cli/test/cases/theme-pack/greenwood.config.js  |  6 +-
 .../cases/theme-pack/theme-pack.develop.spec.js    |  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/package.json               |  4 +-
 packages/plugin-renderer-lit/package.json          |  4 +-
 packages/plugin-typescript/package.json            |  4 +-
 21 files changed, 73 insertions(+), 67 deletions(-)
greenwood - v0.25.0-alpha.2

Published by thescientist13 over 2 years ago

Overview

Fixes a bug with certain projects not being able to run due to missing puppeteer dependency checking after alpha.1.

This minor prerelease introduced some breaking changes around how prerender configuration is handled by default. Going forward, it will be false by default, and now with this release, puppeteer is now opt-in by default. This means as a user of Greenwood, puppeteer will need to be installed manually, But, that is only as a fallback, as Greenwood will auto-detect and install it if it is needed, but missing in node_modules.

The motivation with these changes is mainly to move puppeteer out of the critical dependency chain as Greenwood introduces more rendering options, and ensures that the out of the box development experience is as balanced as possible.

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.25.0+label%3Aalpha.2

  1. async import() puppeteer only if used when default prerendering

Breaking Changes

N / A

Known Issues

N / A

Diff

% git diff v0.25.0-alpha.1 v0.25.0-alpha.2 --stat | grep -v "www"
 lerna.json                                    | 2 +-
 packages/cli/package.json                     | 2 +-
 packages/cli/src/lifecycles/prerender.js      | 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/package.json          | 4 ++--
 packages/plugin-renderer-lit/package.json     | 4 ++--
 packages/plugin-typescript/package.json       | 4 ++--
 16 files changed, 27 insertions(+), 27 deletions(-)
greenwood - v0.25.0-alpha.1

Published by thescientist13 over 2 years ago

Overview

This minor prerelease introduced some breaking changes around how prerender configuration is handled by default. Going forward, it will be false by default, and now with this release, puppeteer is now opt-in by default. This means as a user of Greenwood, puppeteer will need to be installed manually, But, that is only as a fallback, as Greenwood will auto-detect and install it if it is needed, but missing in node_modules.

The motivation with these changes is mainly to move puppeteer out of the critical dependency chain as Greenwood introduces more rendering options, and ensures that the out of the box development experience is as balanced as possible.

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.25.0+label%3Aalpha.1

  1. auto-detect and install puppeteer dependency for default prerendering

Breaking Changes

Prerender

Going forward, if you are using prerender: true as the default prerender, you will need to make sure puppeteer is installed, if Greenwood can't automatically detect and install it. This can be done bu just using npm / yarn / etc.

# npm
$ npm install puppeteer --dave-dev

# yarn
$ yarn add puppeteer --dev

Known Issues

  1. static compilations breaking due to puppeteer not found

Diff

% git diff v0.25.0-alpha.0 v0.25.0-alpha.1 --stat | grep -v "www"
 .gitignore                                         |  2 +
 lerna.json                                         |  2 +-
 packages/cli/package.json                          | 12 ++++-
 packages/cli/src/commands/build.js                 |  4 +-
 packages/cli/src/commands/develop.js               |  4 +-
 packages/cli/src/commands/eject.js                 |  4 +-
 packages/cli/src/commands/serve.js                 |  4 +-
 packages/cli/src/index.js                          | 63 ++++++++++++++++------
 packages/cli/src/lifecycles/serve.js               |  9 ----
 .../build.config-optimization-static.spec.js       |  5 +-
 .../build.config.prerender.spec.js                 | 15 ++++--
 .../build.default.import-node-modules.spec.js      | 11 +++-
 .../build.default.import-node-modules/package.json |  1 +
 ...d.default.workspace-frontmatter-imports.spec.js |  5 +-
 .../build.default.workspace-javascript-css.spec.js |  5 +-
 .../build.config.plugins-resource.spec.js          |  5 +-
 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    |  5 +-
 .../test/cases/query-config/query-config.spec.js   |  5 +-
 .../query-custom-frontmatter.spec.js               |  5 +-
 .../query-custom-schema.spec.js                    |  5 +-
 .../test/cases/query-graph/query-graph.spec.js     |  5 +-
 .../test/cases/query-menu/query-menu.spec.js       |  5 +-
 packages/plugin-import-commonjs/package.json       |  4 +-
 .../test/cases/default/default.spec.js             |  5 +-
 packages/plugin-import-css/package.json            |  4 +-
 .../test/cases/default/default.spec.js             |  5 +-
 packages/plugin-import-json/package.json           |  4 +-
 .../test/cases/default/default.spec.js             |  5 +-
 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-typescript/package.json            |  4 +-
 test/utils.js                                      | 51 ++++++++++++++++++
 40 files changed, 223 insertions(+), 85 deletions(-)
greenwood - v0.25.0-alpha.0

Published by thescientist13 over 2 years ago

Overview

This minor prerelease introduced some breaking changes around how prerender configuration is handled by default. Going forward, it will be false by default, and for the rest of this release line, the plan is to make puppeteer opt-in by default, this expecting the user to install it themselves, but Greenwood will try and auto install if it can!).

The motivation with these changes is mainly to move puppeteer out of the critical dependency chain as Greenwood introduces more rendering options, and ensures that the out of the box development experience is as balanced as possible.

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.25.0+label%3Aalpha.0

  1. make prerender config option false by default

Breaking Changes

Prerender

Going forward, if you would like to prerender your application, you will need to explicitely set it in your greenwood.config.js

export default {
  prerender: true
}

Known Issues

N / A

Diff

% git diff v0.24.2 v0.25.0-alpha.0 --stat | grep -v "www"
 README.md                                          |   4 +-
 greenwood.config.js                                |   1 +
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   2 +-
 packages/cli/src/commands/build.js                 |  75 ++++---
 packages/cli/src/lib/walker-package-ranger.js      | 235 +++++++++++++++++++++
 packages/cli/src/lifecycles/config.js              |   2 +-
 packages/cli/src/lifecycles/prerender.js           | 147 ++++++-------
 .../src/plugins/resource/plugin-node-modules.js    | 221 +------------------
 .../build.config-optimization-default.spec.js      |   7 -
 .../build.config-optimization-inline.spec.js       |  16 +-
 .../build.config-optimization-none.spec.js         |   5 +-
 .../build.config-optimization-overrides.spec.js    |  17 +-
 .../build.config-optimization-static.spec.js       |   5 +-
 .../greenwood.config.js                            |   3 +-
 .../build.config.prerender.spec.js                 |  11 +-
 .../build.config.prerender/greenwood.config.js     |   2 +-
 .../build.default.import-node-modules.spec.js      |   3 +-
 .../greenwood.config.js                            |   3 +
 .../build.default.quick-start-npx.spec.js          |  14 --
 .../build.default.workspace-404-markdown.spec.js   |   5 +-
 .../build.default.workspace-404.spec.js            |   5 +-
 ...d.default.workspace-frontmatter-imports.spec.js |   5 +-
 .../greenwood.config.js                            |   3 +
 ...build.default.workspace-getting-started.spec.js |  56 ++---
 .../build.default.workspace-javascript-css.spec.js |   7 +-
 .../greenwood.config.js                            |   3 +
 ...default.workspace-template-page-and-app.spec.js |  13 +-
 .../build.default.workspace-template-page.spec.js  |   2 +-
 ...ault.workspace-templates-relative-paths.spec.js |  19 +-
 ...efault.workspace-user-directory-mapping.spec.js |  10 +-
 .../build.plugins.context.spec.js                  |   6 +-
 .../build.config.plugins-resource.spec.js          |   3 +-
 .../build.plugins.resource/greenwood.config.js     |   1 +
 .../test/cases/theme-pack/theme-pack.build.spec.js |   6 +-
 packages/init/package.json                         |   2 +-
 .../test/cases/init.template/init.template.spec.js |   4 -
 packages/plugin-babel/package.json                 |   4 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 packages/plugin-graphql/package.json               |   4 +-
 packages/plugin-graphql/src/index.js               |  52 +++--
 .../test/cases/query-children/greenwood.config.js  |   2 +
 .../cases/query-children/query-children.spec.js    |   4 +-
 .../test/cases/query-config/greenwood.config.js    |   2 +
 .../test/cases/query-config/query-config.spec.js   |   4 +-
 .../query-custom-frontmatter/greenwood.config.js   |   1 +
 .../query-custom-frontmatter.spec.js               |   4 +-
 .../cases/query-custom-schema/greenwood.config.js  |   1 +
 .../query-custom-schema.spec.js                    |   5 +-
 .../test/cases/query-graph/greenwood.config.js     |   1 +
 .../test/cases/query-graph/query-graph.spec.js     |   4 +-
 .../test/cases/query-menu/greenwood.config.js      |   1 +
 .../test/cases/query-menu/query-menu.spec.js       |   6 +-
 packages/plugin-import-commonjs/package.json       |   4 +-
 .../test/cases/default/default.spec.js             |   3 +-
 .../test/cases/default/greenwood.config.js         |   2 +
 packages/plugin-import-css/package.json            |   4 +-
 .../test/cases/default/default.spec.js             |   3 +-
 .../test/cases/default/greenwood.config.js         |   2 +
 packages/plugin-import-json/package.json           |   4 +-
 .../test/cases/default/default.spec.js             |   3 +-
 .../test/cases/default/greenwood.config.js         |   3 +-
 packages/plugin-include-html/package.json          |   4 +-
 .../greenwood.config.js                            |   1 -
 .../build.default.link-tag.spec.js                 |   2 +-
 .../build.default-link-tag/greenwood.config.js     |   1 -
 packages/plugin-polyfills/package.json             |   4 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-renderer-lit/package.json          |   4 +-
 packages/plugin-typescript/package.json            |   4 +-
 .../greenwood-getting-started-repo-optimized.webp  | Bin 0 -> 36216 bytes
 76 files changed, 615 insertions(+), 547 deletions(-)
greenwood - v0.24.2

Published by thescientist13 over 2 years ago

Overview

Fixes a regression introduced by the last release in support of local development unchanged file caching.

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

  1. fetching JSON content (e.g. graph.json) or 404 files are breaking local dev E-Tag caching mechanism

Breaking Changes

N / A

Known Issues

N / A

Diff

% git diff v0.24.1 v0.24.2 --stat | grep -v "www"
 lerna.json                                    | 2 +-
 packages/cli/package.json                     | 2 +-
 packages/cli/src/lifecycles/serve.js          | 6 ++++--
 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-typescript/package.json       | 4 ++--
 16 files changed, 30 insertions(+), 28 deletions(-)
greenwood - v0.24.1

Published by thescientist13 over 2 years ago

Overview

Fixes a regression introduced by the last 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.24.1

  1. fetching JSON content (e.g. graph.json) is breaking local dev E-Tag caching mechanism

Breaking Changes

N / A

Known Issues

  1. 404 / empty response bodies are breaking local dev E-Tag caching mechanism

Diff

% git diff v0.24.0 v0.24.1 --stat | grep -v "www"
 lerna.json                                    | 2 +-
 packages/cli/package.json                     | 2 +-
 packages/cli/src/lifecycles/serve.js          | 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-typescript/package.json       | 4 ++--
 19 files changed, 30 insertions(+), 29 deletions(-)
greenwood - v0.24.0

Published by thescientist13 over 2 years ago

Overview

This minor release of Greenwood brings along a handful of enhancements and fixes, most notably moving content out of configuration (breaking) and improving local development workflow speeds. Check out the release blog post for a deep dive on both of those!

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

  1. Favor Content over Configuration
  2. long term cache workspace and node module files in development
  3. dependencies that reference more than one directory level of traversal (../) in their ESM specifiers do not resolve correctly
  4. support bundling of non ESM scripts that use this at the top level
  5. short circuit depth check if current URL is already sufficient for ResourceInterface.resolveRelativeUrl

Breaking Changes

Favor Content Over Configuration

In this release, both the title and meta configuration options were dropped from support in a greenwood.config.js. Instead you should now put these in your templates directly.

Before

// greenwood.config.js
export default {
  title: 'My Website',

  meta: [
    { name: 'description', content: 'Description of My Website' },
    { property: 'og:title', content: 'My Website' },
    { rel: 'icon', href: '/favicon.ico }
   ...
  ]
}

After

<!-- app.html -->
<html>

  <head>
    <title>My Website</title>
    <meta name="description" content="Description of My Website.">
    <meta property="og:title" content="My Website">
    <link rel="icon" href="/favicon.ico">
    
    ...
  </head>
  
  ...
</html>

You should also delete <meta-outlet></meta-outlet> from any of your templates too.

Known Issues

Diff

% git diff v0.23.1 v0.24.0 --stat | grep -v "www/"
 README.md                                          |  11 +-
 greenwood.config.js                                |  16 +-
 lerna.json                                         |   2 +-
 package.json                                       |   2 +-
 packages/cli/package.json                          |   5 +-
 packages/cli/src/config/rollup.config.js           |   1 +
 packages/cli/src/lib/hashing-utils.js              |  14 ++
 packages/cli/src/lib/resource-interface.js         |   4 +
 packages/cli/src/lifecycles/config.js              |  17 +-
 packages/cli/src/lifecycles/graph.js               |   6 +-
 packages/cli/src/lifecycles/serve.js               |  33 ++-
 .../src/plugins/resource/plugin-node-modules.js    |  84 ++++----
 .../src/plugins/resource/plugin-standard-html.js   |  81 +++----
 packages/cli/src/templates/app.html                |   3 +-
 .../build.config.error-title.spec.js               |  49 -----
 .../build.config.error-title/greenwood.config.js   |   3 -
 .../cases/build.config.meta/greenwood.config.js    |  10 -
 .../build.config.prerender/src/pages/index.html    |   1 -
 .../cases/build.config.title/greenwood.config.js   |   3 -
 .../build.default.markdown.spec.js                 |  11 +-
 .../build.default.markdown/greenwood.config.js     |   3 -
 .../build.default.meta.spec.js}                    |  80 +++----
 .../src/pages/about/index.md                       |   0
 .../src/pages/hello.md                             |   0
 .../src/pages/index.md                             |   0
 .../build.default.meta/src/templates/page.html     |  14 ++
 .../build.default.spa/build.default.spa.spec.js    |   5 +-
 .../test/cases/build.default.spa/src/index.html    |   1 -
 .../build.default.ssr/build.default.ssr.spec.js    |   4 +-
 .../cases/build.default.ssr/src/pages/artists.js   |  57 ++---
 .../cases/build.default.ssr/src/templates/app.html |   3 +-
 .../build.default.title.spec.js}                   |  19 +-
 .../src/pages/about.md                             |   0
 .../src/pages/index.md                             |   0
 .../build.default.title/src/templates/page.html    |   5 +
 .../src/pages/index.html                           |   3 -
 .../src/templates/app.html                         |   1 +
 .../src/templates/app.html                         |   2 +-
 .../fixtures/layouts/app.html                      |   1 +
 .../cases/develop.default/develop.default.spec.js  |  17 +-
 .../cases/develop.default/import-map.snapshot.json |  10 +-
 .../cli/test/cases/develop.default/package.json    |   1 +
 .../fixtures/layouts/app.html                      |   1 +
 .../cli/test/cases/develop.ssr/develop.ssr.spec.js |   4 +-
 .../test/cases/develop.ssr/src/pages/artists.js    |  55 ++---
 .../test/cases/develop.ssr/src/templates/app.html  |   1 -
 packages/init/package.json                         |   2 +-
 packages/init/src/template/greenwood.config.js     |   3 -
 .../cases/develop.default/develop.default.spec.js  |   2 +-
 .../test/cases/init.default/init.default.spec.js   |  18 +-
 packages/plugin-babel/package.json                 |   4 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 packages/plugin-graphql/package.json               |   4 +-
 packages/plugin-graphql/src/core/common.js         |  11 +-
 packages/plugin-graphql/src/index.js               |   1 +
 packages/plugin-graphql/src/queries/config.gql     |   9 -
 packages/plugin-graphql/src/schema/config.js       |  11 -
 .../test/cases/query-config/greenwood.config.js    |   1 -
 .../test/cases/query-config/query-config.spec.js   |   5 +-
 .../cases/query-config/src/components/footer.js    |   2 +-
 packages/plugin-graphql/test/unit/mocks/config.js  |   5 -
 .../plugin-graphql/test/unit/schema/config.spec.js |  32 ---
 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 +-
 .../test/cases/build.default/build.default.spec.js |   2 +-
 .../test/cases/build.default/src/pages/artists.js  |   6 +-
 .../cases/build.default/src/templates/app.html     |   2 +-
 packages/plugin-typescript/package.json            |   4 +-
 test/smoke-test.js                                 |   2 +-
 yarn.lock                                          |  27 ++-
 98 files changed, 679 insertions(+), 608 deletions(-)
Package Rankings
Top 4.55% on Npmjs.org
Top 8.17% on Proxy.golang.org
Badges
Extracted from project README
Netlify Status GitHub release GitHub issues GitHub license lerna