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

Published by thescientist13 over 2 years ago

Overview

This patch release fixes a small regression SPA prerendering from the last release and fixes a couple other small bugs related to the merging of app and page templates.

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

  1. SPA prerenders by default when no greenwood.config.js is present
  2. inline <script> tags in app templates are breaking page layouts with <script> tags
  3. inline optimization config is superseding static optimization attribute

Breaking Changes

N / A

Known Issues

N / A

Diff

% git diff v0.23.0 v0.23.1 --stat | grep -v "www/"
 .github/workflows/ci-win.yml                       |  2 +-
 lerna.json                                         |  2 +-
 packages/cli/package.json                          |  2 +-
 packages/cli/src/config/rollup.config.js           | 15 ++++---
 packages/cli/src/lifecycles/config.js              |  5 +++
 .../src/plugins/resource/plugin-standard-html.js   |  2 +-
 .../src/pages/index.html                           |  4 ++
 .../cases/build.default.spa/greenwood.config.js    |  3 --
 ...default.workspace-template-page-and-app.spec.js |  4 +-
 .../src/templates/app.html                         |  4 ++
 packages/init/package.json                         |  4 +-
 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          |  6 +--
 packages/plugin-typescript/package.json            |  4 +-
 yarn.lock                                          | 49 ++++------------------
 30 files changed, 76 insertions(+), 84 deletions(-)
greenwood - v0.23.0

Published by thescientist13 over 2 years ago

Overview

This release of Greenwood introduces support for Server Side Rendering and the ability to customize the renderer through a plugin including Lit! 🎉

We consider this to be a "soft launch" of this feature as we continue to improve and enhance this feature but you can read more in our release blog post as well as our new interpolateFrontmatter feature. Please try it out and let us know your feedback!


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

  1. Introduce an SSR mode for Greenwood
  2. Add support for additional (SSR) rendering options through a render plugin type
  3. Create a Lit based render plugin that provides Lit based SSR
  4. have Greenwood auto detect project workspaces ("hybrid" workspaces)
  5. build time interpolation of front matter in markdown / HTML
  6. add configuration for prod server port

Breaking Changes

Mode

The mode setting has been removed and is no longer supported in greenwood.config.js. Greenwood will automatically detect the type of workspace for you from SSG <> SPA <> SSR.

MPA

For the mpa configuration, it has instead been renamed to staticRouter.

// before
export default {
  mode: 'mpa'
}

// after
export default {
  staticRender: true
}

Known Issues

Diff

% git diff v0.22.1 v0.23.0 --stat | grep -v "www/"
 .c8rc.json                                         |   4 +-
 README.md                                          |   8 +-
 greenwood.config.js                                |   4 +-
 lerna.json                                         |   2 +-
 package.json                                       |   5 +-
 packages/cli/package.json                          |   2 +-
 packages/cli/src/commands/build.js                 |   4 +-
 packages/cli/src/commands/develop.js               |   4 +-
 packages/cli/src/commands/serve.js                 |  12 +-
 packages/cli/src/lib/browser.js                    |   2 -
 packages/cli/src/lib/resource-interface.js         |   4 +-
 packages/cli/src/lib/ssr-route-worker.js           |  29 +++
 packages/cli/src/lifecycles/bundle.js              |   3 +-
 packages/cli/src/lifecycles/config.js              |  70 ++++--
 packages/cli/src/lifecycles/graph.js               | 234 +++++++++++-------
 packages/cli/src/lifecycles/prerender.js           |  96 +++++++-
 packages/cli/src/lifecycles/serve.js               | 127 ++++++++--
 .../src/plugins/renderer/plugin-renderer-string.js |  11 +
 .../plugins/resource/plugin-optimization-mpa.js    |   7 +-
 .../src/plugins/resource/plugin-standard-html.js   | 124 +++++++---
 .../build.config.error-mode.spec.js                |  49 ----
 .../build.config.error-mode/greenwood.config.js    |   3 -
 .../build.config.error-optimization.spec.js        |   2 +-
 .../build.config.interpolate-frontmatter.spec.js   |  84 +++++++
 .../greenwood.config.js                            |   3 +
 .../src/pages/blog/first-post.md                   |  13 +
 .../src/templates/blog.html                        |  12 +
 .../build.config.mode-mpa/greenwood.config.js      |   3 -
 .../build.config.mode-spa/greenwood.config.js      |   4 -
 .../build.config.static-router.spec.js}            |  10 +-
 .../build.config.static-router/greenwood.config.js |   3 +
 .../src/pages/about.md                             |   0
 .../src/pages/index.md                             |   0
 .../src/pages/regex-test.html                      |   0
 .../build.default.import-node-modules.spec.js      |   4 +-
 .../build.default.spa.spec.js}                     |  13 +-
 .../cases/build.default.spa/greenwood.config.js    |   3 +
 .../package.json                                   |   0
 .../src/components/footer.js                       |   0
 .../src/index.html                                 |   0
 .../src/index.js                                   |   0
 .../src/routes/about.js                            |   0
 .../src/routes/home.js                             |   0
 .../build.default.ssr/build.default.ssr.spec.js    | 265 +++++++++++++++++++++
 .../cli/test/cases/build.default.ssr/package.json  |   6 +
 .../build.default.ssr/src/components/counter.js    |  42 ++++
 .../build.default.ssr/src/components/footer.js     |  49 ++++
 .../cases/build.default.ssr/src/pages/artists.js   | 111 +++++++++
 .../cases/build.default.ssr/src/pages/index.md     |   3 +
 .../cases/build.default.ssr/src/templates/app.html |  14 ++
 .../build.plugins.error-type.spec.js               |   4 +-
 .../cli/test/cases/develop.spa/develop.spa.spec.js |  10 +-
 .../cli/test/cases/develop.spa/greenwood.config.js |   3 -
 .../cli/test/cases/develop.ssr/develop.ssr.spec.js | 246 +++++++++++++++++++
 packages/cli/test/cases/develop.ssr/package.json   |   6 +
 .../cases/develop.ssr/src/components/counter.js    |  42 ++++
 .../cases/develop.ssr/src/components/footer.js     |  49 ++++
 .../test/cases/develop.ssr/src/pages/artists.js    | 110 +++++++++
 .../test/cases/develop.ssr/src/templates/app.html  |  14 ++
 .../test/cases/serve.default/greenwood.config.js   |   3 +-
 .../test/cases/serve.default/serve.default.spec.js |  11 +-
 packages/init/package.json                         |   2 +-
 packages/plugin-babel/README.md                    |   4 +-
 packages/plugin-babel/package.json                 |   4 +-
 packages/plugin-google-analytics/README.md         |  12 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 packages/plugin-graphql/README.md                  |   6 +-
 packages/plugin-graphql/package.json               |   4 +-
 packages/plugin-graphql/src/index.js               |   4 +-
 packages/plugin-graphql/src/queries/config.gql     |   2 +-
 packages/plugin-graphql/src/schema/config.js       |   2 +-
 packages/plugin-import-commonjs/README.md          |   2 +-
 packages/plugin-import-commonjs/package.json       |   4 +-
 packages/plugin-import-css/README.md               |   4 +-
 packages/plugin-import-css/package.json            |   4 +-
 packages/plugin-import-json/package.json           |   4 +-
 packages/plugin-include-html/README.md             |  18 +-
 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                |   2 +-
 packages/plugin-polyfills/package.json             |   4 +-
 packages/plugin-polyfills/src/index.js             |   4 +-
 packages/plugin-postcss/README.md                  |   6 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-renderer-lit/README.md             | 116 +++++++++
 packages/plugin-renderer-lit/package.json          |  33 +++
 packages/plugin-renderer-lit/src/index.js          |  16 ++
 .../src/ssr-route-worker-lit.js                    |  66 +++++
 .../test/cases/build.default/artists.json          | 134 +++++++++++
 .../test/cases/build.default/build.default.spec.js | 253 ++++++++++++++++++++
 .../test/cases/build.default/greenwood.config.js   |   7 +
 .../test/cases/build.default/package.json          |   7 +
 .../cases/build.default/src/components/footer.js   |  49 ++++
 .../cases/build.default/src/components/greeting.js |  24 ++
 .../test/cases/build.default/src/pages/artists.js  |  84 +++++++
 .../cases/build.default/src/templates/app.html     |  12 +
 .../build.prerender.getting-started.spec.js        | 205 ++++++++++++++++
 .../greenwood.config.js                            |   9 +
 .../build.prerender.getting-started/package.json   |   7 +
 .../src/assets/greenwood-logo.png                  | Bin 0 -> 15037 bytes
 .../src/components/footer.js                       |  16 ++
 .../src/components/header.js                       |  15 ++
 .../src/pages/blog/first-post.md                   |   8 +
 .../src/pages/blog/second-post.md                  |   8 +
 .../src/pages/index.md                             |   7 +
 .../src/styles/theme.css                           |   7 +
 .../src/templates/blog.html                        |  24 ++
 .../src/templates/page.html                        |  31 +++
 packages/plugin-typescript/README.md               |   6 +-
 packages/plugin-typescript/package.json            |   4 +-
 test/smoke-test.js                                 |   2 +-
 yarn.lock                                          | 114 +++++++--
 162 files changed, 3565 insertions(+), 521 deletions(-)
greenwood - v0.23.0-alpha.1

Published by thescientist13 over 2 years ago

Overview

This is a second alpha release of the v0.23.0 release line introducing support for Server Side Rendering. This second alpha release eliminates the need to set the mode configuration as it has been removed because Greenwood will auto-detect the workspace for you! We also introduced the interpolateFrontmatter feature configuration, and you can now configure the port for the production server.

We consider this to be a "soft launch" of the SSR feature as we continue to improve and enhance this feature but try it out and let us know your feedback!


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

  1. have Greenwood auto detect project workspaces ("hybrid" workspaces)
  2. build time interpolation of front matter in markdown / HTML
  3. add configuration for prod server port

Breaking Changes

Mode

The mode setting has been removed and is no longer supported in greenwood.config.js. Greenwood will automatically detect the type of workspace for you from SSG <> SPA <> SSR.

MPA

For the mpa configuration, it has instead been renamed to staticRouter.

// before
export default {
  mode: 'mpa'
}

// after
export default {
  staticRender: true
}

Routes

In the last release, it was documented that SSR pages needed to go in a routes/ directory, as a sibling to the pages/ directory in your workspace. This is no longer required! You can now co-mingle both all in the pages/ directory.

# before
src/
  pages/
    index.md
  routes/
    artists.js
# after
src/
  pages/
    artists.js
    index.md

Known Issues

N / A

Diff

% git diff v0.23.0-alpha.0 v0.23.0-alpha.1 --stat | grep -v "www/"
 greenwood.config.js                                |   2 +-
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   2 +-
 packages/cli/src/commands/serve.js                 |   5 +-
 packages/cli/src/lifecycles/config.js              |  61 ++--
 packages/cli/src/lifecycles/context.js             |   4 +-
 packages/cli/src/lifecycles/graph.js               | 334 ++++++++++-----------
 packages/cli/src/lifecycles/serve.js               |   8 +-
 .../plugins/resource/plugin-optimization-mpa.js    |   2 +-
 .../src/plugins/resource/plugin-standard-html.js   |  58 ++--
 .../build.config.error-mode.spec.js                |  49 ---
 .../build.config.error-mode/greenwood.config.js    |   3 -
 .../build.config.error-optimization.spec.js        |   2 +-
 .../build.config.interpolate-frontmatter.spec.js   |  84 ++++++
 .../greenwood.config.js                            |   3 +
 .../src/pages/blog/first-post.md                   |  13 +
 .../src/templates/blog.html                        |  12 +
 .../build.config.mode-mpa/greenwood.config.js      |   3 -
 .../build.config.mode-spa/greenwood.config.js      |   4 -
 .../build.config.mode-ssr/greenwood.config.js      |   3 -
 .../build.config.static-router.spec.js}            |   8 +-
 .../build.config.static-router/greenwood.config.js |   3 +
 .../src/pages/about.md                             |   0
 .../src/pages/index.md                             |   0
 .../src/pages/regex-test.html                      |   0
 .../build.default.spa.spec.js}                     |  13 +-
 .../cases/build.default.spa/greenwood.config.js    |   3 +
 .../package.json                                   |   0
 .../src/components/footer.js                       |   0
 .../src/index.html                                 |   0
 .../src/index.js                                   |   0
 .../src/routes/about.js                            |   0
 .../src/routes/home.js                             |   0
 .../build.default.ssr.spec.js}                     |  10 +-
 .../package.json                                   |   0
 .../src/components/counter.js                      |   0
 .../src/components/footer.js                       |   0
 .../src/pages}/artists.js                          |   0
 .../cases/build.default.ssr/src/pages/index.md     |   3 +
 .../src/templates/app.html                         |   0
 .../develop.config.mode-ssr/greenwood.config.js    |   3 -
 .../cli/test/cases/develop.spa/develop.spa.spec.js |  10 +-
 .../cli/test/cases/develop.spa/greenwood.config.js |   3 -
 .../develop.ssr.spec.js}                           |  10 +-
 .../package.json                                   |   0
 .../src/components/counter.js                      |   0
 .../src/components/footer.js                       |   0
 .../routes => develop.ssr/src/pages}/artists.js    |   0
 .../src/templates/app.html                         |   0
 .../test/cases/serve.default/greenwood.config.js   |   3 +-
 .../test/cases/serve.default/serve.default.spec.js |  11 +-
 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-graphql/src/queries/config.gql     |   2 +-
 packages/plugin-graphql/src/schema/config.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 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-renderer-lit/package.json          |   4 +-
 .../test/cases/build.default/build.default.spec.js |  13 +-
 .../test/cases/build.default/greenwood.config.js   |   1 -
 .../build.default/src/{routes => pages}/artists.js |   0
 packages/plugin-typescript/package.json            |   4 +-
 72 files changed, 502 insertions(+), 408 deletions(-)
greenwood - v0.23.0-alpha.0

Published by thescientist13 over 2 years ago

Overview

This is an alpha release of Greenwood that introduces support for Server Side Rendering and the ability to customize the renderer through a plugin including Lit! 🎉

We consider this to be a "soft launch" of this feature as we continue to improve and enhance this feature but try it out and let us know your feedback!


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

  1. Introduce an SSR mode for Greenwood
  2. Add support for additional (SSR) rendering options through a render plugin type
  3. Create a Lit based render plugin that provides Lit based SSR

Breaking Changes

N / A

Known Issues

N / A

Diff

% git diff v0.22.1 v0.23.0-alpha.0 --stat | grep -v "www/"
  .c8rc.json                                         |   4 +-
 README.md                                          |   6 +-
 greenwood.config.js                                |   4 +-
 lerna.json                                         |   2 +-
 package.json                                       |   3 +
 packages/cli/package.json                          |   2 +-
 packages/cli/src/commands/build.js                 |   4 +-
 packages/cli/src/commands/develop.js               |   4 +-
 packages/cli/src/commands/serve.js                 |   9 +-
 packages/cli/src/lib/browser.js                    |   2 -
 packages/cli/src/lib/resource-interface.js         |   4 +-
 packages/cli/src/lib/ssr-route-worker.js           |  29 +++
 packages/cli/src/lifecycles/bundle.js              |   3 +-
 packages/cli/src/lifecycles/config.js              |  15 +-
 packages/cli/src/lifecycles/context.js             |   4 +-
 packages/cli/src/lifecycles/graph.js               | 108 ++++++++-
 packages/cli/src/lifecycles/prerender.js           |  96 +++++++-
 packages/cli/src/lifecycles/serve.js               | 123 +++++++++-
 .../src/plugins/renderer/plugin-renderer-string.js |  11 +
 .../plugins/resource/plugin-optimization-mpa.js    |   7 +-
 .../src/plugins/resource/plugin-standard-html.js   |  80 +++++-
 .../build.config.error-mode.spec.js                |   2 +-
 .../build.config.mode-mpa.spec.js                  |   4 +-
 .../build.config.mode-spa.spec.js                  |   2 +-
 .../build.config.mode-ssr.spec.js                  | 267 +++++++++++++++++++++
 .../build.config.mode-ssr/greenwood.config.js      |   3 +
 .../test/cases/build.config.mode-ssr/package.json  |   6 +
 .../src/components/counter.js                      |  42 ++++
 .../build.config.mode-ssr/src/components/footer.js |  49 ++++
 .../build.config.mode-ssr/src/routes/artists.js    | 111 +++++++++
 .../build.config.mode-ssr/src/templates/app.html   |  14 ++
 .../build.default.import-node-modules.spec.js      |   4 +-
 .../build.plugins.error-type.spec.js               |   4 +-
 .../develop.config.mode-ssr.spec.js                | 248 +++++++++++++++++++
 .../develop.config.mode-ssr/greenwood.config.js    |   3 +
 .../cases/develop.config.mode-ssr/package.json     |   6 +
 .../src/components/counter.js                      |  42 ++++
 .../src/components/footer.js                       |  49 ++++
 .../develop.config.mode-ssr/src/routes/artists.js  | 110 +++++++++
 .../develop.config.mode-ssr/src/templates/app.html |  14 ++
 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-graphql/src/index.js               |   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 +-
 .../build.default.custom-element.spec.js           |   2 +-
 .../build.default.link-tag.spec.js                 |   2 +-
 packages/plugin-polyfills/package.json             |   4 +-
 packages/plugin-polyfills/src/index.js             |   4 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-renderer-lit/README.md             | 116 +++++++++
 packages/plugin-renderer-lit/package.json          |  33 +++
 packages/plugin-renderer-lit/src/index.js          |  16 ++
 .../src/ssr-route-worker-lit.js                    |  66 +++++
 .../test/cases/build.default/artists.json          | 134 +++++++++++
 .../test/cases/build.default/build.default.spec.js | 258 ++++++++++++++++++++
 .../test/cases/build.default/greenwood.config.js   |   8 +
 .../test/cases/build.default/package.json          |   7 +
 .../cases/build.default/src/components/footer.js   |  49 ++++
 .../cases/build.default/src/components/greeting.js |  24 ++
 .../test/cases/build.default/src/routes/artists.js |  84 +++++++
 .../cases/build.default/src/templates/app.html     |  12 +
 .../build.prerender.getting-started.spec.js        | 205 ++++++++++++++++
 .../greenwood.config.js                            |   9 +
 .../build.prerender.getting-started/package.json   |   7 +
 .../src/assets/greenwood-logo.png                  | Bin 0 -> 15037 bytes
 .../src/components/footer.js                       |  16 ++
 .../src/components/header.js                       |  15 ++
 .../src/pages/blog/first-post.md                   |   8 +
 .../src/pages/blog/second-post.md                  |   8 +
 .../src/pages/index.md                             |   7 +
 .../src/styles/theme.css                           |   7 +
 .../src/templates/blog.html                        |  24 ++
 .../src/templates/page.html                        |  31 +++
 packages/plugin-typescript/package.json            |   4 +-
 test/smoke-test.js                                 |   2 +-
 yarn.lock                                          | 114 +++++++--
 95 files changed, 2959 insertions(+), 131 deletions(-)
greenwood - v0.22.1

Published by thescientist13 almost 3 years ago

Overview

Fixes the regressions identified in the prior 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.22.1

  1. SPA application breaking when running build (after latest v0.22.0 release)
  2. Google Analytics plugin breaking and causing down stream file resolving issues

Breaking Changes

N / A

Known Issues

N / A

Diff

% git diff v0.22.0 v0.22.1 --stat | grep -v "www/"
 lerna.json                                    | 2 +-
 packages/cli/package.json                     | 2 +-
 packages/cli/src/lifecycles/prerender.js      | 6 +++---
 packages/init/package.json                    | 2 +-
 packages/plugin-babel/package.json            | 4 ++--
 packages/plugin-google-analytics/package.json | 4 ++--
 packages/plugin-google-analytics/src/index.js | 2 +-
 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-typescript/package.json       | 4 ++--
 16 files changed, 28 insertions(+), 28 deletions(-)
greenwood - v0.22.0

Published by thescientist13 almost 3 years ago

Overview

This release adds a few small features and bug fixes including adding support for modern image formats (.avif and .webp) and auto copying common meta files (favicon.ico and robots.txt) if they are in the root of your workspace.


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

  1. extend format support for modern font and image extensions
  2. support copying common project meta files (robots.txt and favicon.ico)
  3. ga is not defined error when using Google Analytics plugin for development
  4. intercept lifecycle for HTML based resource plugins not getting called during static compilation (when prerender: false)
  5. setting prerender: false creates two closing </head> tags in a template with a <style> tag

Breaking Changes

(Plugins) Google Analytics

The Google Analytics plugin was fixed so that ga calls will work during development. For this reason, make sure you either

  1. Filter out only your production domain from GA (recommended)
  2. Conditionally exclude the plugin based on develop vs build commands

Known Issues

  1. SPA application breaking when running build (after latest v0.22.0 release)
  2. Google Analytics plugin breaking and causing down stream file resolving issues

Diff

% git diff v0.21.1 v0.22.0 --stat | grep -v "www/"
 .gitattributes                                     |   6 +-
 greenwood.config.js                                |   2 +-
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   2 +-
 packages/cli/src/lib/resource-interface.js         |   2 +-
 packages/cli/src/lifecycles/prerender.js           |  29 +++++-
 .../cli/src/plugins/copy/plugin-copy-favicon.js    |  24 +++++
 .../cli/src/plugins/copy/plugin-copy-robots.js     |  24 +++++
 .../src/plugins/resource/plugin-standard-font.js   |   7 +-
 .../src/plugins/resource/plugin-standard-html.js   | 102 +++++++++------------
 .../src/plugins/resource/plugin-standard-image.js  |   6 +-
 .../build.default.meta-files.spec.js               |  79 ++++++++++++++++
 .../build.default.meta-files/src}/favicon.ico      | Bin
 .../cases/build.default.meta-files/src/robots.txt  |   2 +
 .../build.default.workspace-template-page.spec.js  |   7 +-
 .../greenwood.config.js                            |   3 +
 .../cases/develop.default/develop.default.spec.js  |  75 ++++++++++++++-
 .../test/cases/develop.default/src/assets/fox.avif | Bin 0 -> 83040 bytes
 .../develop.default/src/assets/river-valley.webp   | Bin 0 -> 30320 bytes
 packages/init/package.json                         |   2 +-
 packages/plugin-babel/package.json                 |   4 +-
 packages/plugin-google-analytics/README.md         |   5 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 packages/plugin-google-analytics/src/index.js      |  11 ++-
 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 +-
 .../greenwood.config.js                            |   1 +
 .../build.default-link-tag/greenwood.config.js     |   1 +
 packages/plugin-polyfills/package.json             |   4 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-typescript/package.json            |   4 +-
 36 files changed, 332 insertions(+), 102 deletions(-)
greenwood - v0.21.1

Published by thescientist13 almost 3 years ago

Overview

Patch release to fix a critical blocking bug with the @greenwood/init package.


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

  1. @greenwood/init failing due to missing dependency

Breaking Changes

None

Known Issues

None

Diff

% git diff v0.21.0 v0.21.1 --stat | grep -v "www/"
 greenwood.config.js                           |  3 +-
 lerna.json                                    |  2 +-
 packages/cli/package.json                     |  2 +-
 packages/init/package.json                    |  3 +-
 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-typescript/package.json       |  4 +-
 yarn.lock                                     | 69 +++++++++++++++++++++++++--
 18 files changed, 93 insertions(+), 35 deletions(-)
greenwood - v0.21.0

Published by thescientist13 almost 3 years ago

Overview

This release introduces the capability to pull in content from external sources as part of generating a site. This is perfect for integrating with a Headless CMS, custom API, database, or even the filesystem. It's really up to you! We also improved the @greenwood/init command with the ability to scaffold from a template now, which for this release includes a blog post type. (thanks @hutchgrant 🙌 )

Read more in our release blog post.


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

  1. External Data Sources
  2. Init Templates

Breaking Changes

None

Known Issues

  1. @Greenwood/init breaking due to missing inquirer dependency

Diff

% git diff v0.20.3 v0.21.0 --stat | grep -v "www/"
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   2 +-
 packages/cli/src/lifecycles/config.js              |   2 +-
 packages/cli/src/lifecycles/graph.js               |  31 ++++-
 packages/cli/src/lifecycles/prerender.js           |   2 +-
 .../plugins/resource/plugin-optimization-mpa.js    |   2 +-
 .../src/plugins/resource/plugin-standard-html.js   |  19 ++-
 .../build.plugins.error-type.spec.js               |   2 +-
 .../build.plugins-source.spec.js                   | 148 +++++++++++++++++++++
 .../cli/test/cases/build.plugins.source/data.json  |  34 +++++
 .../cases/build.plugins.source/greenwood.config.js |  37 ++++++
 .../cases/build.plugins.source/src/pages/about.md  |   3 +
 .../cases/build.plugins.source/src/pages/index.md  |   3 +
 .../build.plugins.source/src/templates/artist.html |   8 ++
 packages/init/README.md                            |  29 +++-
 packages/init/package.json                         |   6 +-
 packages/init/src/index.js                         | 129 +++++++++++++++++-
 .../test/cases/init.template/init.template.spec.js |  66 +++++++++
 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-typescript/package.json            |   4 +-
 yarn.lock                                          |  61 +++++++++
 38 files changed, 759 insertions(+), 43 deletions(-)
greenwood - v0.20.3

Published by thescientist13 almost 3 years ago

Overview

Big fix for broken optimization feature in PostCSS plugin.


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

  1. PostCSS plugin: error finding path to optimize

Breaking Changes

None

Known Issues

  1. N / A

Diff

% git diff v0.20.2 v0.20.3 --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/package.json          | 4 ++--
 packages/plugin-postcss/src/index.js          | 4 +---
 packages/plugin-typescript/package.json       | 4 ++--
 15 files changed, 25 insertions(+), 27 deletions(-)
greenwood - v0.20.2

Published by thescientist13 almost 3 years ago

Overview

Big fix for missing cssnano dependency for PostCSS plugin in npm >= 7 projects.


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

  1. PostCSS plugin with npm v7 breaking on cssnano dependency

Breaking Changes

None

Known Issues

  1. PostCSS plugin: error finding path to optimize

Diff

% git diff v0.20.1 v0.20.2 --stat | grep -v "www/"
 .github/CONTRIBUTING.md                       | 25 +++++++-
 .nvmrc                                        |  1 +
 lerna.json                                    |  2 +-
 package.json                                  |  5 +-
 packages/cli/package.json                     |  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          |  5 +-
 packages/plugin-typescript/package.json       |  4 +-
 yarn.lock                                     | 86 +++++++++++++--------------
 18 files changed, 95 insertions(+), 75 deletions(-)
greenwood - v0.20.1

Published by thescientist13 almost 3 years ago

Overview

Big fix for <link> tag handling and minor optimization for PostCSS plugin.


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

  1. setting prerender: false and optimization: inline leads to broken and missing styles
  2. reset PostCSS plugins when optimizing

Breaking Changes

None

Known Issues

  1. PostCSS plugin with npm v7 breaking on cssnano dependency

Diff

% git diff v0.20.0 v0.20.1 --stat | grep -v "www/"
lerna.json                                         |   2 +-
 packages/cli/package.json                          |   2 +-
 packages/cli/src/config/rollup.config.js           |   8 +
 .../build.config-optimization-inline.spec.js       |  21 +-
 .../src/pages/index.html                           |   3 +-
 .../src/styles/page.css                            |   3 +
 .../src/templates/app.html                         |   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/package.json               |   4 +-
 packages/plugin-postcss/src/index.js               |   4 +-
 packages/plugin-typescript/package.json            |   4 +-
 yarn.lock                                          | 340 ++++++++++-----------
 21 files changed, 226 insertions(+), 209 deletions(-)
greenwood - v0.20.0

Published by thescientist13 almost 3 years ago

Overview

In preparation for some big new features coming to Greenwood, we are making the jump to ESM! All of Greenwood is now authored and exports ESM, which means that any projects using Greenwood, will also need to be in ESM. However, this does not mean all your project's dependencies need to be in ESM, CJS still works except in a few cases, mostly with configuration files, as documented below.

We are also dropping Node 12, with Node >= 14.17.0 being our recommendation going forward.


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

  1. Migrate project to ESM
  2. make all exports explicit by making them named exports
  3. keep init command in sync with latest stable Greenwood CLI version when scaffolding package.json

Breaking Changes

NodeJS

You will now want to make sure all your environments are supporting NodeJS >= 14.17.0.

Named Exports / Plugins

With the exception config files, in particular for plugins, they have all moved to using named exports. For plugins. they are also prefixed with greenwoodPlugin.

// before
const { myNameForThePlugin } = require('@greenwood/plugin-typescript');

// after
// greenwoodPluginTheName
const { greenwoodPluginTypeScript } from '@greenwood/plugin-typescript';

File Extensions

With ESM, you need to provide a file extension for any import. Bare modules are an exception to this (since they automatically get resolved to node_modules)

# before
const { ResourceInterface } = require('@greenwood/cli/src/lib/resource-interface');

# after
import { ResourceInterface } = from '@greenwood/cli/src/lib/resource-interface.js';

Greenwood Config

In addition to all the plugin name changes, you will need to write your greenwood.config.js in ESM AND export the config as default.

// before
module.exports = {
  title: 'My Site'
};

// after
export default {
  title: 'My Site'
}

PostCSS Configuration

If you use a custom postcss.config.js, you will need to make two changes

  1. Rename postcss.config.js -> postcss.config.cjs
  2. Create an ESM version called postcss.config.mjs
    // postcss.config.cjs
    module.exports = {
      plugins: [
        require('postcss-nested')
      ]
    };
    
    // postcss.config.mjs
    export default {
      plugins: [
        (await import('postcss-nested')).default
      ]
    };
    

Babel Configuration

You will need to rename your configuration from .js to .cjs.

Other / Developement Configurations

All tools will vary, but for the popular tools out there like ESLint, StyleLint, etc, they currently only support CJS configuration files, so effectively for these, you will have to rename them all to end in .cjs.

# eslint before
.eslintrc.js

# eslint before
.eslintrc.cjs

# stylelint before
stylelint.config.js

# stylelint before
stylelint.config.cjs

ESLint

Moving to ESM, you may need to add babel-parser to your ESLint config for the parser option to support newer syntax like Top Level Await and import.meta.

__dirname

When going from CJS -> ESM, aside from require -> import one thing to keep in mind is that __dirname is longer available and also the scheme of a file is not consistent between platforms on NodeJS, but it is easy to get that functionality back with import.meta.url.

// before
const path = require('path');

const myPath = path.join(__dirname, '/path/to/thing');

// after
import { fileURLToPath, URL } from  path = require('path');

const myPath = fileURLToPath(new URL('/path/to/thing', import.meta.url));

Known Issues

  1. PostCSS plugin with npm v7 breaking on cssnano dependency

Diff

% git diff v0.19.4 v0.20.0 --stat | grep -v "www/"
 .c8rc.json                                         |   32 +
 .eslintignore                                      |    2 +-
 .eslintrc.js => .eslintrc.cjs                      |    0
 .github/workflows/ci-win.yml                       |    2 +-
 .github/workflows/ci.yml                           |    2 +-
 .mocharc.js => .mocharc.cjs                        |    0
 README.md                                          |   15 +-
 greenwood.config.js                                |   32 +-
 lerna.json                                         |    2 +-
 nyc.config.js                                      |   33 -
 package.json                                       |    7 +-
 packages/cli/README.md                             |   13 +-
 packages/cli/package.json                          |   11 +-
 packages/cli/src/commands/build.js                 |   24 +-
 packages/cli/src/commands/develop.js               |   16 +-
 packages/cli/src/commands/eject.js                 |   22 +-
 packages/cli/src/commands/serve.js                 |   12 +-
 packages/cli/src/config/rollup.config.js           |   17 +-
 packages/cli/src/index.js                          |   15 +-
 packages/cli/src/lib/browser.js                    |    4 +-
 packages/cli/src/lib/node-modules-utils.js         |   12 +-
 packages/cli/src/lib/resource-interface.js         |    8 +-
 packages/cli/src/lib/server-interface.js           |    4 +-
 packages/cli/src/lifecycles/bundle.js              |   12 +-
 packages/cli/src/lifecycles/compile.js             |   12 +-
 packages/cli/src/lifecycles/config.js              |   54 +-
 packages/cli/src/lifecycles/context.js             |   17 +-
 packages/cli/src/lifecycles/copy.js                |   16 +-
 packages/cli/src/lifecycles/graph.js               |   17 +-
 packages/cli/src/lifecycles/prerender.js           |    8 +-
 packages/cli/src/lifecycles/serve.js               |   27 +-
 .../cli/src/plugins/copy/plugin-copy-assets.js     |   10 +-
 .../cli/src/plugins/copy/plugin-copy-graph-json.js |    8 +-
 .../cli/src/plugins/resource/plugin-dev-proxy.js   |   10 +-
 .../src/plugins/resource/plugin-node-modules.js    |   73 +-
 .../plugins/resource/plugin-optimization-mpa.js    |   15 +-
 .../cli/src/plugins/resource/plugin-source-maps.js |   12 +-
 .../src/plugins/resource/plugin-standard-css.js    |   16 +-
 .../src/plugins/resource/plugin-standard-font.js   |   12 +-
 .../src/plugins/resource/plugin-standard-html.js   |   47 +-
 .../src/plugins/resource/plugin-standard-image.js  |   12 +-
 .../plugins/resource/plugin-standard-javascript.js |   12 +-
 .../src/plugins/resource/plugin-standard-json.js   |   10 +-
 .../src/plugins/resource/plugin-user-workspace.js  |   12 +-
 .../cli/src/plugins/server/plugin-livereload.js    |   31 +-
 .../build.config.default.spec.js                   |   11 +-
 ...uild.config.error-dev-server-extensions.spec.js |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.error-dev-server-hud.spec.js      |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.error-mode.spec.js                |   11 +-
 .../build.config.error-mode/greenwood.config.js    |    2 +-
 .../build.config.error-optimization.spec.js        |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.error-pages-directory.spec.js     |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.error-prerender.spec.js           |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.error-templates-directory.spec.js |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.error-title.spec.js               |   11 +-
 .../build.config.error-title/greenwood.config.js   |    2 +-
 .../build.config.error-workspace-absolute.spec.js  |   13 +-
 .../greenwood.config.js                            |    6 +-
 .../build.config.error-workspace.spec.js           |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.markdown-custom.spec.js           |   17 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.markdown-custom.settings.spec.js  |   15 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.meta/build.config.meta.spec.js    |   21 +-
 .../cases/build.config.meta/greenwood.config.js    |    2 +-
 .../build.config.mode-mpa.spec.js                  |   20 +-
 .../build.config.mode-mpa/greenwood.config.js      |    2 +-
 .../build.config.mode-spa.spec.js                  |   19 +-
 .../build.config.mode-spa/greenwood.config.js      |    2 +-
 .../test/cases/build.config.mode-spa/package.json  |    1 +
 .../build.config-optimization-default.spec.js      |   17 +-
 .../build.config-optimization-inline.spec.js       |   19 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config-optimization-none.spec.js         |   19 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config-optimization-overrides.spec.js    |   19 +-
 .../build.config-optimization-static.spec.js       |   17 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.pages-directory.spec.js           |   19 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.prerender.spec.js                 |   17 +-
 .../build.config.prerender/greenwood.config.js     |    2 +-
 .../build.config.templates-directory.spec.js       |   19 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.title/build.config.title.spec.js  |   21 +-
 .../cases/build.config.title/greenwood.config.js   |    2 +-
 .../build.config.workspace-custom.spec.js          |   21 +-
 .../greenwood.config.js                            |    6 +-
 .../build.default.import-node-modules.spec.js      |   17 +-
 .../build.default.import-node-modules/package.json |    1 +
 .../build.default.markdown.spec.js                 |   17 +-
 .../build.default.markdown/greenwood.config.js     |    2 +-
 .../build.default.quick-start-npx.spec.js          |   17 +-
 .../build.default.workspace-404-markdown.spec.js   |   24 +-
 .../build.default.workspace-404.spec.js            |   24 +-
 .../build.default.workspace-assets.spec.js         |   17 +-
 ...d.default.workspace-frontmatter-imports.spec.js |   21 +-
 ...build.default.workspace-getting-started.spec.js |   22 +-
 ...default.workspace-javascript-css-remote.spec.js |   17 +-
 .../build.default.workspace-javascript-css.spec.js |   17 +-
 .../build.default.workspace-nested.spec.js         |   18 +-
 .../build.default.workspace-template-app.spec.js   |   18 +-
 ...default.workspace-template-page-and-app.spec.js |   17 +-
 ...lt.workspace-template-page-bare-merging.spec.js |   17 +-
 .../build.default.workspace-template-page.spec.js  |   17 +-
 ...build.default.workspace-templates-empty.spec.js |   17 +-
 ...ault.workspace-templates-relative-paths.spec.js |   19 +-
 ...build.default.workspace-top-level-pages.spec.js |   18 +-
 ...efault.workspace-user-directory-mapping.spec.js |   21 +-
 .../test/cases/build.default/build.default.spec.js |   17 +-
 .../build.plugins.context.spec.js                  |   24 +-
 .../build.plugins.context/greenwood.config.js      |    4 +-
 .../test/cases/build.plugins.context/package.json  |    3 +-
 .../theme-pack-context-plugin.js                   |   20 +-
 .../build.plugins.error-name.spec.js               |   11 +-
 .../build.plugins.error-name/greenwood.config.js   |    2 +-
 .../build.plugins.error-provider.spec.js           |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.plugins.error-type.spec.js               |   11 +-
 .../build.plugins.error-type/greenwood.config.js   |    2 +-
 .../build.config.plugins-resource.spec.js          |   15 +-
 .../build.plugins.resource/greenwood.config.js     |    6 +-
 .../develop.default.hud-disabled.spec.js           |   23 +-
 .../greenwood.config.js                            |    2 +-
 .../develop.default.hud.spec.js                    |   23 +-
 .../cases/develop.default/develop.default.spec.js  |   29 +-
 .../test/cases/develop.default/greenwood.config.js |    2 +-
 .../cli/test/cases/develop.default/package.json    |    1 +
 .../develop.plugins.context.spec.js                |   20 +-
 .../develop.plugins.context/greenwood.config.js    |   13 +-
 .../cases/develop.plugins.context/package.json     |    3 +-
 .../cli/test/cases/develop.spa/develop.spa.spec.js |   34 +-
 .../cli/test/cases/develop.spa/greenwood.config.js |    2 +-
 .../test/cases/eject.default/eject.default.spec.js |   24 +-
 .../test/cases/serve.default/greenwood.config.js   |    2 +-
 .../test/cases/serve.default/serve.default.spec.js |   17 +-
 .../cli/test/cases/theme-pack/greenwood.config.js  |   13 +-
 .../cli/test/cases/theme-pack/my-theme-pack.js     |   16 +-
 packages/cli/test/cases/theme-pack/package.json    |    3 +-
 .../test/cases/theme-pack/theme-pack.build.spec.js |   25 +-
 .../cases/theme-pack/theme-pack.develop.spec.js    |   20 +-
 packages/init/package.json                         |    3 +-
 packages/init/src/copy-folder.js                   |    8 +-
 packages/init/src/index.js                         |   39 +-
 packages/init/src/template/greenwood.config.js     |    2 +-
 packages/init/src/template/package.json            |    3 +-
 .../test/cases/build.default/build.default.spec.js |   15 +-
 .../cases/develop.default/develop.default.spec.js  |   21 +-
 .../test/cases/init.default/init.default.spec.js   |   39 +-
 .../init/test/cases/init.yarn/init.yarn.spec.js    |   15 +-
 packages/plugin-babel/README.md                    |   18 +-
 packages/plugin-babel/package.json                 |    5 +-
 .../src/{babel.config.js => babel.config.mjs}      |    4 +-
 packages/plugin-babel/src/index.js                 |   34 +-
 .../default/{babel.config.js => babel.config.cjs}  |    0
 .../test/cases/default/default.spec.js             |   19 +-
 .../test/cases/default/greenwood.config.js         |    6 +-
 .../{babel.config.js => babel.config.cjs}          |    0
 .../options.extend-config/greenwood.config.js      |    6 +-
 .../options.extend-config.spec.js                  |   19 +-
 packages/plugin-google-analytics/README.md         |    6 +-
 packages/plugin-google-analytics/package.json      |    5 +-
 packages/plugin-google-analytics/src/index.js      |   10 +-
 .../test/cases/default/default.spec.js             |   21 +-
 .../test/cases/default/greenwood.config.js         |    6 +-
 .../error-analytics-id/error-analytics-id.spec.js  |   15 +-
 .../cases/error-analytics-id/greenwood.config.js   |    6 +-
 .../cases/option-anonymous/greenwood.config.js     |    6 +-
 .../option-anonymous/option-anonymous.spec.js      |   21 +-
 packages/plugin-graphql/README.md                  |   15 +-
 packages/plugin-graphql/package.json               |    5 +-
 packages/plugin-graphql/src/core/cache.js          |   22 +-
 .../src/core/{common.client.js => common.js}       |    0
 packages/plugin-graphql/src/core/common.server.js  |   23 -
 packages/plugin-graphql/src/core/server.js         |   14 +-
 packages/plugin-graphql/src/index.js               |   24 +-
 packages/plugin-graphql/src/schema/config.js       |    4 +-
 packages/plugin-graphql/src/schema/graph.js        |    4 +-
 packages/plugin-graphql/src/schema/schema.js       |   35 +-
 .../cases/develop.default/develop.default.spec.js  |   27 +-
 .../test/cases/develop.default/greenwood.config.js |    6 +-
 .../test/cases/develop.default/package.json        |    3 +-
 .../cases/qraphql-server/graphql-server.spec.js    |   13 +-
 .../test/cases/qraphql-server/greenwood.config.js  |    6 +-
 .../test/cases/query-children/greenwood.config.js  |   10 +-
 .../test/cases/query-children/package.json         |    1 +
 .../cases/query-children/query-children.spec.js    |   25 +-
 .../test/cases/query-config/greenwood.config.js    |    8 +-
 .../test/cases/query-config/query-config.spec.js   |   26 +-
 .../query-custom-frontmatter/greenwood.config.js   |    8 +-
 .../cases/query-custom-frontmatter/package.json    |    1 +
 .../query-custom-frontmatter.spec.js               |   25 +-
 .../cases/query-custom-schema/greenwood.config.js  |    8 +-
 .../query-custom-schema.spec.js                    |   25 +-
 .../query-custom-schema/src/data/schema/gallery.js |    8 +-
 .../test/cases/query-graph/greenwood.config.js     |    8 +-
 .../test/cases/query-graph/package.json            |    1 +
 .../test/cases/query-graph/query-graph.spec.js     |   25 +-
 .../test/cases/query-menu/greenwood.config.js      |    8 +-
 .../test/cases/query-menu/package.json             |    1 +
 .../test/cases/query-menu/query-menu.spec.js       |   25 +-
 packages/plugin-graphql/test/unit/common.spec.js   |    6 +-
 packages/plugin-graphql/test/unit/mocks/config.js  |    4 +-
 packages/plugin-graphql/test/unit/mocks/graph.js   |    6 +-
 .../plugin-graphql/test/unit/schema/config.spec.js |    8 +-
 .../test/unit/schema/graph.menu.spec.js            |    8 +-
 .../plugin-graphql/test/unit/schema/graph.spec.js  |    8 +-
 packages/plugin-import-commonjs/README.md          |    6 +-
 packages/plugin-import-commonjs/package.json       |    5 +-
 packages/plugin-import-commonjs/src/index.js       |   19 +-
 .../test/cases/default/default.spec.js             |   23 +-
 .../test/cases/default/greenwood.config.js         |    6 +-
 .../test/cases/default/package.json                |    1 +
 packages/plugin-import-css/README.md               |   21 +-
 packages/plugin-import-css/package.json            |   10 +-
 packages/plugin-import-css/src/index.js            |   14 +-
 .../test/cases/default/default.spec.js             |   21 +-
 .../test/cases/default/greenwood.config.js         |    6 +-
 .../cases/develop.default/develop.default.spec.js  |   23 +-
 .../test/cases/develop.default/greenwood.config.js |    8 +-
 .../test/cases/develop.default/package.json        |    3 +-
 packages/plugin-import-json/README.md              |    6 +-
 packages/plugin-import-json/package.json           |    5 +-
 packages/plugin-import-json/src/index.js           |   14 +-
 .../test/cases/default/default.spec.js             |   21 +-
 .../test/cases/default/greenwood.config.js         |    8 +-
 .../cases/develop.default/develop.default.spec.js  |   28 +-
 .../test/cases/develop.default/greenwood.config.js |    6 +-
 .../test/cases/develop.default/package.json        |    3 +-
 packages/plugin-include-html/README.md             |    8 +-
 packages/plugin-include-html/package.json          |    5 +-
 packages/plugin-include-html/src/index.js          |   15 +-
 .../build.default.custom-element.spec.js           |   26 +-
 .../greenwood.config.js                            |    6 +-
 .../build.default-custom-element/package.json      |    3 +-
 .../src/components/footer.js                       |   10 +-
 .../build.default.link-tag.spec.js                 |   26 +-
 .../build.default-link-tag/greenwood.config.js     |    6 +-
 packages/plugin-polyfills/README.md                |    6 +-
 packages/plugin-polyfills/package.json             |    5 +-
 packages/plugin-polyfills/src/index.js             |   20 +-
 .../test/cases/default/default.spec.js             |   22 +-
 .../test/cases/default/greenwood.config.js         |    6 +-
 .../test/cases/lit/greenwood.config.js             |    6 +-
 .../plugin-polyfills/test/cases/lit/lit.spec.js    |   23 +-
 .../plugin-polyfills/test/cases/lit/package.json   |    1 +
 packages/plugin-postcss/README.md                  |   32 +-
 packages/plugin-postcss/package.json               |    9 +-
 packages/plugin-postcss/src/index.js               |   31 +-
 packages/plugin-postcss/src/postcss.config.js      |    4 +-
 .../test/cases/default/default.spec.js             |   21 +-
 .../test/cases/default/greenwood.config.js         |    6 +-
 .../options.extend-config/greenwood.config.js      |    6 +-
 .../options.extend-config.spec.js                  |   21 +-
 .../{postcss.config.js => postcss.config.cjs}      |    0
 .../cases/options.extend-config/postcss.config.mjs |    5 +
 packages/plugin-typescript/README.md               |   14 +-
 packages/plugin-typescript/package.json            |    5 +-
 packages/plugin-typescript/src/index.js            |   22 +-
 .../test/cases/default/default.spec.js             |   19 +-
 .../test/cases/default/greenwood.config.js         |    8 +-
 .../cases/develop.default/develop.default.spec.js  |   21 +-
 .../test/cases/develop.default/greenwood.config.js |    6 +-
 .../test/cases/develop.default/package.json        |    3 +-
 .../options.extend-config/greenwood.config.js      |    8 +-
 .../options.extend-config.spec.js                  |   19 +-
 postcss.config.js => postcss.config.cjs            |    0
 postcss.config.mjs                                 |    5 +
 stylelint.config.js => stylelint.config.cjs        |    0
 test/smoke-test.js                                 |   22 +-
 test/utils.js                                      |    6 +-
 yarn.lock                                          | 2370 +++++++++-----------
 305 files changed, 3270 insertions(+), 2934 deletions(-)
greenwood - v0.20.0-alpha.1

Published by thescientist13 almost 3 years ago

Overview

In preparation for some big new features coming to Greenwood, we are making the jump to ESM! All of Greenwood is now authored and exports ESM, which means that any projects using Greenwood, will also need to be in ESM. However, this does not mean all your project's dependencies need to be in ESM, CJS still works except in a few cases, mostly with configuration files, as documented below.

We are also dropping Node 12, with Node >= 14.17.0 being our recommendation going forward.

See the previous pre-release notes for more information.


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

  1. Set Node v14 as minimum version
  2. Restore greenwood-plugin-babel config extending
  3. Keep @npx @greenwood/init updated with latest version of Greenwood

Breaking Changes

NodeJS Version

You will need to upgrade to a minimum version of NodeJS ?= 14.17.0.

Plugin Babel

You will need to rename your configuration from .js to .cjs.

Known Issues

  1. N / A

Diff

% git diff v0.20.0-alpha.0 v0.20.0-alpha.1 --stat | grep -v "www/"
 .c8rc.json                                         |  32 ++
 .github/workflows/ci-win.yml                       |   2 +-
 .github/workflows/ci.yml                           |   2 +-
 lerna.json                                         |   2 +-
 nyc.config.cjs                                     |  33 --
 package.json                                       |   4 +-
 packages/cli/package.json                          |   5 +-
 packages/init/package.json                         |   2 +-
 packages/init/src/index.js                         |   5 +
 packages/init/src/template/package.json            |   2 +-
 .../test/cases/init.default/init.default.spec.js   |   4 +-
 packages/plugin-babel/README.md                    |   6 +-
 packages/plugin-babel/package.json                 |   4 +-
 packages/plugin-babel/src/index.js                 |   2 +-
 .../{babel.config.js => babel.config.cjs}          |   0
 .../options.extend-config.spec.js                  |   2 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 packages/plugin-graphql/package.json               |   7 +-
 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/README.md             |   4 +-
 packages/plugin-include-html/package.json          |   4 +-
 packages/plugin-polyfills/package.json             |   4 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-typescript/package.json            |   4 +-
 yarn.lock                                          | 385 +++++----------------
 30 files changed, 177 insertions(+), 364 deletions(-)
greenwood - v0.19.4

Published by thescientist13 almost 3 years ago

Overview

Adding a missing dependency not tracked in correctly in @greenwood/cli.

Given that Node v12 is in maintenance (LTS) mode, we recommend users to start migrating to Node v14 as this will become the new minimum version in Greenwood >= 0.20.0


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

  1. node-fetch package is not being correctly tracked as a dependency

Breaking Changes

N / A

Known Issues

N / A

Diff

% git diff v0.19.3 v0.19.4 --stat | grep -v "www/"
 .github/CONTRIBUTING.md                       |  73 ++++++++---
 .github/ISSUE_TEMPLATE.md                     |   4 +-
 lerna.json                                    |   2 +-
 packages/cli/package.json                     |   3 +-
 packages/init/package.json                    |   2 +-
 packages/plugin-babel/package.json            |   4 +-
 packages/plugin-google-analytics/package.json |   4 +-
 packages/plugin-graphql/package.json          |   7 +-
 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/README.md        |   4 +-
 packages/plugin-include-html/package.json     |   4 +-
 packages/plugin-include-html/src/index.js     |   7 +-
 packages/plugin-polyfills/package.json        |   4 +-
 packages/plugin-postcss/package.json          |   4 +-
 packages/plugin-typescript/package.json       |   4 +-
 test/smoke-test.js                            | 167 +++++++++++++-------------
 21 files changed, 185 insertions(+), 135 deletions(-)
greenwood - v0.20.0-alpha.0

Published by thescientist13 almost 3 years ago

Overview

In preparation for some big new features coming to Greenwood, we are making the jump to ESM! All of Greenwood is now authored and exports ESM, which means that any projects using Greenwood, will also need to be in ESM. However, this does not mean all your project's dependencies need to be in ESM, CJS still works except in a few cases, mostly with configuration files, as documented below.

We are also dropping Node 12, with Node >= 14.17.0 being our recommendation going forward.


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

  1. Migrate project to ESM

Breaking Changes

NodeJS

You will now want to make sure all your environments are supporting NodeJS >= 14.17.0.

Named Exports / Plugins

With the exception config files, in particular for plugins, they have all moved to using named exports. For plugins. they are also prefixed with greenwoodPlugin.

// before
const { myNameForThePlugin } = require('@greenwood/plugin-typescript');

// after
// greenwoodPluginTheName
const { greenwoodPluginTypeScript } from '@greenwood/plugin-typescript';

File Extensions

With ESM, you need to provide a file extension for any import. Bare modules are an exception to this (since they automatically get resolved to node_modules)

# before
const { ResourceInterface } = require('@greenwood/cli/src/lib/resource-interface');

# after
import { ResourceInterface } = from '@greenwood/cli/src/lib/resource-interface.js';

Greenwood Config

In addition to all the plugin name changes, you will need to write your greenwood.config.js in ESM AND export the config as default.

// before
module.exports = {
  title: 'My Site'
};

// after
export default {
  title: 'My Site'
}

PostCSS Configuration

If you use a custom postcss.config.js, you will need to make two changes

  1. Rename postcss.config.js -> postcss.config.cjs
  2. Create an ESM version called postcss.config.mjs
    // postcss.config.cjs
    module.exports = {
      plugins: [
        require('postcss-nested')
      ]
    };
    
    // postcss.config.mjs
    export default {
      plugins: [
        (await import('postcss-nested')).default
      ]
    };
    

Other Configurations

All tools will vary, but for the popular tools out there like ESLint, StyleLint, etc, they currently only support CJS configuration files, so effectively for these, you will have to rename them all to end in .cjs.

# eslint before
.eslintrc.js

# eslint before
.eslintrc.cjs

# stylelint before
stylelint.config.js

# stylelint before
stylelint.config.cjs

ESLint

Moving to ESM, you may need to add babel-parser to your ESLint config for the parser option to support newer syntax like Top Level Await and import.meta.

__dirname

When going from CJS -> ESM, aside from require -> import one thing to keep in mind is that __dirname is longer available and also the scheme of a file is not consistent between platforms on NodeJS, but it is easy to get that functionality back with import.meta.url.

// before
const path = require('path');

const myPath = path.join(__dirname, '/path/to/thing');

// after
import { fileURLToPath, URL } from  path = require('path');

const myPath = fileURLToPath(new URL('/path/to/thing', import.meta.url));

Known Issues

  1. There is one open item now regarding greenwood-plugin-babel when extending a config, but we hope to have it fixed by the time of the final release.
  2. The init command is not running the latest version of Greenwood - #781

Diff

%  git diff v0.19.3 v0.20.0-alpha.0 --stat | grep -v "www/"
 .eslintignore                                      |    2 +-
 .eslintrc.js => .eslintrc.cjs                      |    0
 .github/CONTRIBUTING.md                            |   73 +-
 .github/ISSUE_TEMPLATE.md                          |    4 +-
 .mocharc.js => .mocharc.cjs                        |    0
 README.md                                          |   15 +-
 greenwood.config.js                                |   32 +-
 lerna.json                                         |    2 +-
 nyc.config.js => nyc.config.cjs                    |    0
 package.json                                       |    3 +-
 packages/cli/README.md                             |   13 +-
 packages/cli/package.json                          |    9 +-
 packages/cli/src/commands/build.js                 |   24 +-
 packages/cli/src/commands/develop.js               |   16 +-
 packages/cli/src/commands/eject.js                 |   22 +-
 packages/cli/src/commands/serve.js                 |   12 +-
 packages/cli/src/config/rollup.config.js           |   17 +-
 packages/cli/src/index.js                          |   15 +-
 packages/cli/src/lib/browser.js                    |    4 +-
 packages/cli/src/lib/node-modules-utils.js         |   12 +-
 packages/cli/src/lib/resource-interface.js         |    8 +-
 packages/cli/src/lib/server-interface.js           |    4 +-
 packages/cli/src/lifecycles/bundle.js              |   12 +-
 packages/cli/src/lifecycles/compile.js             |   12 +-
 packages/cli/src/lifecycles/config.js              |   54 +-
 packages/cli/src/lifecycles/context.js             |   17 +-
 packages/cli/src/lifecycles/copy.js                |   16 +-
 packages/cli/src/lifecycles/graph.js               |   17 +-
 packages/cli/src/lifecycles/prerender.js           |    8 +-
 packages/cli/src/lifecycles/serve.js               |   27 +-
 .../cli/src/plugins/copy/plugin-copy-assets.js     |   10 +-
 .../cli/src/plugins/copy/plugin-copy-graph-json.js |    8 +-
 .../cli/src/plugins/resource/plugin-dev-proxy.js   |   10 +-
 .../src/plugins/resource/plugin-node-modules.js    |   73 +-
 .../plugins/resource/plugin-optimization-mpa.js    |   15 +-
 .../cli/src/plugins/resource/plugin-source-maps.js |   12 +-
 .../src/plugins/resource/plugin-standard-css.js    |   16 +-
 .../src/plugins/resource/plugin-standard-font.js   |   12 +-
 .../src/plugins/resource/plugin-standard-html.js   |   47 +-
 .../src/plugins/resource/plugin-standard-image.js  |   12 +-
 .../plugins/resource/plugin-standard-javascript.js |   12 +-
 .../src/plugins/resource/plugin-standard-json.js   |   10 +-
 .../src/plugins/resource/plugin-user-workspace.js  |   12 +-
 .../cli/src/plugins/server/plugin-livereload.js    |   31 +-
 .../build.config.default.spec.js                   |   11 +-
 ...uild.config.error-dev-server-extensions.spec.js |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.error-dev-server-hud.spec.js      |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.error-mode.spec.js                |   11 +-
 .../build.config.error-mode/greenwood.config.js    |    2 +-
 .../build.config.error-optimization.spec.js        |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.error-pages-directory.spec.js     |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.error-prerender.spec.js           |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.error-templates-directory.spec.js |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.error-title.spec.js               |   11 +-
 .../build.config.error-title/greenwood.config.js   |    2 +-
 .../build.config.error-workspace-absolute.spec.js  |   13 +-
 .../greenwood.config.js                            |    6 +-
 .../build.config.error-workspace.spec.js           |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.markdown-custom.spec.js           |   17 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.markdown-custom.settings.spec.js  |   15 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.meta/build.config.meta.spec.js    |   21 +-
 .../cases/build.config.meta/greenwood.config.js    |    2 +-
 .../build.config.mode-mpa.spec.js                  |   20 +-
 .../build.config.mode-mpa/greenwood.config.js      |    2 +-
 .../build.config.mode-spa.spec.js                  |   19 +-
 .../build.config.mode-spa/greenwood.config.js      |    2 +-
 .../test/cases/build.config.mode-spa/package.json  |    1 +
 .../build.config-optimization-default.spec.js      |   17 +-
 .../build.config-optimization-inline.spec.js       |   19 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config-optimization-none.spec.js         |   19 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config-optimization-overrides.spec.js    |   19 +-
 .../build.config-optimization-static.spec.js       |   17 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.pages-directory.spec.js           |   19 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.prerender.spec.js                 |   17 +-
 .../build.config.prerender/greenwood.config.js     |    2 +-
 .../build.config.templates-directory.spec.js       |   19 +-
 .../greenwood.config.js                            |    2 +-
 .../build.config.title/build.config.title.spec.js  |   21 +-
 .../cases/build.config.title/greenwood.config.js   |    2 +-
 .../build.config.workspace-custom.spec.js          |   21 +-
 .../greenwood.config.js                            |    6 +-
 .../build.default.import-node-modules.spec.js      |   17 +-
 .../build.default.import-node-modules/package.json |    1 +
 .../build.default.markdown.spec.js                 |   17 +-
 .../build.default.markdown/greenwood.config.js     |    2 +-
 .../build.default.quick-start-npx.spec.js          |   17 +-
 .../build.default.workspace-404-markdown.spec.js   |   24 +-
 .../build.default.workspace-404.spec.js            |   24 +-
 .../build.default.workspace-assets.spec.js         |   17 +-
 ...d.default.workspace-frontmatter-imports.spec.js |   21 +-
 ...build.default.workspace-getting-started.spec.js |   22 +-
 ...default.workspace-javascript-css-remote.spec.js |   17 +-
 .../build.default.workspace-javascript-css.spec.js |   17 +-
 .../build.default.workspace-nested.spec.js         |   18 +-
 .../build.default.workspace-template-app.spec.js   |   18 +-
 ...default.workspace-template-page-and-app.spec.js |   17 +-
 ...lt.workspace-template-page-bare-merging.spec.js |   17 +-
 .../build.default.workspace-template-page.spec.js  |   17 +-
 ...build.default.workspace-templates-empty.spec.js |   17 +-
 ...ault.workspace-templates-relative-paths.spec.js |   19 +-
 ...build.default.workspace-top-level-pages.spec.js |   18 +-
 ...efault.workspace-user-directory-mapping.spec.js |   21 +-
 .../test/cases/build.default/build.default.spec.js |   17 +-
 .../build.plugins.context.spec.js                  |   24 +-
 .../build.plugins.context/greenwood.config.js      |    4 +-
 .../test/cases/build.plugins.context/package.json  |    3 +-
 .../theme-pack-context-plugin.js                   |   20 +-
 .../build.plugins.error-name.spec.js               |   11 +-
 .../build.plugins.error-name/greenwood.config.js   |    2 +-
 .../build.plugins.error-provider.spec.js           |   11 +-
 .../greenwood.config.js                            |    2 +-
 .../build.plugins.error-type.spec.js               |   11 +-
 .../build.plugins.error-type/greenwood.config.js   |    2 +-
 .../build.config.plugins-resource.spec.js          |   15 +-
 .../build.plugins.resource/greenwood.config.js     |    6 +-
 .../develop.default.hud-disabled.spec.js           |   23 +-
 .../greenwood.config.js                            |    2 +-
 .../develop.default.hud.spec.js                    |   23 +-
 .../cases/develop.default/develop.default.spec.js  |   29 +-
 .../test/cases/develop.default/greenwood.config.js |    2 +-
 .../cli/test/cases/develop.default/package.json    |    1 +
 .../develop.plugins.context.spec.js                |   20 +-
 .../develop.plugins.context/greenwood.config.js    |   13 +-
 .../cases/develop.plugins.context/package.json     |    3 +-
 .../cli/test/cases/develop.spa/develop.spa.spec.js |   34 +-
 .../cli/test/cases/develop.spa/greenwood.config.js |    2 +-
 .../test/cases/eject.default/eject.default.spec.js |   24 +-
 .../test/cases/serve.default/greenwood.config.js   |    2 +-
 .../test/cases/serve.default/serve.default.spec.js |   17 +-
 .../cli/test/cases/theme-pack/greenwood.config.js  |   13 +-
 .../cli/test/cases/theme-pack/my-theme-pack.js     |   16 +-
 packages/cli/test/cases/theme-pack/package.json    |    3 +-
 .../test/cases/theme-pack/theme-pack.build.spec.js |   25 +-
 .../cases/theme-pack/theme-pack.develop.spec.js    |   20 +-
 packages/init/package.json                         |    3 +-
 packages/init/src/copy-folder.js                   |    8 +-
 packages/init/src/index.js                         |   34 +-
 packages/init/src/template/greenwood.config.js     |    2 +-
 packages/init/src/template/package.json            |    1 +
 .../test/cases/build.default/build.default.spec.js |   15 +-
 .../cases/develop.default/develop.default.spec.js  |   21 +-
 .../test/cases/init.default/init.default.spec.js   |   39 +-
 .../init/test/cases/init.yarn/init.yarn.spec.js    |   15 +-
 packages/plugin-babel/README.md                    |   16 +-
 packages/plugin-babel/package.json                 |    5 +-
 .../src/{babel.config.js => babel.config.mjs}      |    4 +-
 packages/plugin-babel/src/index.js                 |   32 +-
 .../default/{babel.config.js => babel.config.cjs}  |    0
 .../test/cases/default/default.spec.js             |   19 +-
 .../test/cases/default/greenwood.config.js         |    6 +-
 .../options.extend-config/greenwood.config.js      |    6 +-
 .../options.extend-config.spec.js                  |   21 +-
 packages/plugin-google-analytics/README.md         |    6 +-
 packages/plugin-google-analytics/package.json      |    5 +-
 packages/plugin-google-analytics/src/index.js      |   10 +-
 .../test/cases/default/default.spec.js             |   21 +-
 .../test/cases/default/greenwood.config.js         |    6 +-
 .../error-analytics-id/error-analytics-id.spec.js  |   15 +-
 .../cases/error-analytics-id/greenwood.config.js   |    6 +-
 .../cases/option-anonymous/greenwood.config.js     |    6 +-
 .../option-anonymous/option-anonymous.spec.js      |   21 +-
 packages/plugin-graphql/README.md                  |   15 +-
 packages/plugin-graphql/package.json               |    5 +-
 packages/plugin-graphql/src/core/cache.js          |   22 +-
 .../src/core/{common.client.js => common.js}       |    0
 packages/plugin-graphql/src/core/common.server.js  |   23 -
 packages/plugin-graphql/src/core/server.js         |   14 +-
 packages/plugin-graphql/src/index.js               |   24 +-
 packages/plugin-graphql/src/schema/config.js       |    4 +-
 packages/plugin-graphql/src/schema/graph.js        |    4 +-
 packages/plugin-graphql/src/schema/schema.js       |   35 +-
 .../cases/develop.default/develop.default.spec.js  |   27 +-
 .../test/cases/develop.default/greenwood.config.js |    6 +-
 .../test/cases/develop.default/package.json        |    3 +-
 .../cases/qraphql-server/graphql-server.spec.js    |   13 +-
 .../test/cases/qraphql-server/greenwood.config.js  |    6 +-
 .../test/cases/query-children/greenwood.config.js  |   10 +-
 .../test/cases/query-children/package.json         |    1 +
 .../cases/query-children/query-children.spec.js    |   25 +-
 .../test/cases/query-config/greenwood.config.js    |    8 +-
 .../test/cases/query-config/query-config.spec.js   |   26 +-
 .../query-custom-frontmatter/greenwood.config.js   |    8 +-
 .../cases/query-custom-frontmatter/package.json    |    1 +
 .../query-custom-frontmatter.spec.js               |   25 +-
 .../cases/query-custom-schema/greenwood.config.js  |    8 +-
 .../query-custom-schema.spec.js                    |   25 +-
 .../query-custom-schema/src/data/schema/gallery.js |    8 +-
 .../test/cases/query-graph/greenwood.config.js     |    8 +-
 .../test/cases/query-graph/package.json            |    1 +
 .../test/cases/query-graph/query-graph.spec.js     |   25 +-
 .../test/cases/query-menu/greenwood.config.js      |    8 +-
 .../test/cases/query-menu/package.json             |    1 +
 .../test/cases/query-menu/query-menu.spec.js       |   25 +-
 packages/plugin-graphql/test/unit/common.spec.js   |    6 +-
 packages/plugin-graphql/test/unit/mocks/config.js  |    4 +-
 packages/plugin-graphql/test/unit/mocks/graph.js   |    6 +-
 .../plugin-graphql/test/unit/schema/config.spec.js |    8 +-
 .../test/unit/schema/graph.menu.spec.js            |    8 +-
 .../plugin-graphql/test/unit/schema/graph.spec.js  |    8 +-
 packages/plugin-import-commonjs/README.md          |    6 +-
 packages/plugin-import-commonjs/package.json       |    5 +-
 packages/plugin-import-commonjs/src/index.js       |   19 +-
 .../test/cases/default/default.spec.js             |   23 +-
 .../test/cases/default/greenwood.config.js         |    6 +-
 .../test/cases/default/package.json                |    1 +
 packages/plugin-import-css/README.md               |   21 +-
 packages/plugin-import-css/package.json            |   10 +-
 packages/plugin-import-css/src/index.js            |   14 +-
 .../test/cases/default/default.spec.js             |   21 +-
 .../test/cases/default/greenwood.config.js         |    6 +-
 .../cases/develop.default/develop.default.spec.js  |   23 +-
 .../test/cases/develop.default/greenwood.config.js |    8 +-
 .../test/cases/develop.default/package.json        |    3 +-
 packages/plugin-import-json/README.md              |    6 +-
 packages/plugin-import-json/package.json           |    5 +-
 packages/plugin-import-json/src/index.js           |   14 +-
 .../test/cases/default/default.spec.js             |   21 +-
 .../test/cases/default/greenwood.config.js         |    8 +-
 .../cases/develop.default/develop.default.spec.js  |   28 +-
 .../test/cases/develop.default/greenwood.config.js |    6 +-
 .../test/cases/develop.default/package.json        |    3 +-
 packages/plugin-include-html/README.md             |    8 +-
 packages/plugin-include-html/package.json          |    5 +-
 packages/plugin-include-html/src/index.js          |   22 +-
 .../build.default.custom-element.spec.js           |   26 +-
 .../greenwood.config.js                            |    6 +-
 .../build.default-custom-element/package.json      |    3 +-
 .../src/components/footer.js                       |   10 +-
 .../build.default.link-tag.spec.js                 |   26 +-
 .../build.default-link-tag/greenwood.config.js     |    6 +-
 packages/plugin-polyfills/README.md                |    6 +-
 packages/plugin-polyfills/package.json             |    5 +-
 packages/plugin-polyfills/src/index.js             |   20 +-
 .../test/cases/default/default.spec.js             |   22 +-
 .../test/cases/default/greenwood.config.js         |    6 +-
 .../test/cases/lit/greenwood.config.js             |    6 +-
 .../plugin-polyfills/test/cases/lit/lit.spec.js    |   23 +-
 .../plugin-polyfills/test/cases/lit/package.json   |    1 +
 packages/plugin-postcss/README.md                  |   32 +-
 packages/plugin-postcss/package.json               |    9 +-
 packages/plugin-postcss/src/index.js               |   31 +-
 packages/plugin-postcss/src/postcss.config.js      |    4 +-
 .../test/cases/default/default.spec.js             |   21 +-
 .../test/cases/default/greenwood.config.js         |    6 +-
 .../options.extend-config/greenwood.config.js      |    6 +-
 .../options.extend-config.spec.js                  |   21 +-
 .../{postcss.config.js => postcss.config.cjs}      |    0
 .../cases/options.extend-config/postcss.config.mjs |    5 +
 packages/plugin-typescript/README.md               |   14 +-
 packages/plugin-typescript/package.json            |    5 +-
 packages/plugin-typescript/src/index.js            |   22 +-
 .../test/cases/default/default.spec.js             |   19 +-
 .../test/cases/default/greenwood.config.js         |    8 +-
 .../cases/develop.default/develop.default.spec.js  |   21 +-
 .../test/cases/develop.default/greenwood.config.js |    6 +-
 .../test/cases/develop.default/package.json        |    3 +-
 .../options.extend-config/greenwood.config.js      |    8 +-
 .../options.extend-config.spec.js                  |   19 +-
 postcss.config.js => postcss.config.cjs            |    0
 postcss.config.mjs                                 |    5 +
 stylelint.config.js => stylelint.config.cjs        |    0
 test/smoke-test.js                                 |  191 +-
 test/utils.js                                      |    6 +-
 yarn.lock                                          | 2007 +++++++++-----------
 293 files changed, 3159 insertions(+), 2713 deletions(-)
greenwood - v0.19.3

Published by thescientist13 almost 3 years ago

Overview

Fixed an edge case bug when trying to load assets in node_modules directly in the browser while in SPA mode.

Given that Node v12 is in maintenance (LTS) mode, we recommend users to start migrating to Node v14.


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

  1. SPA mode client side routing detection is "hijacking" some browser tab resource requests as client side routes

Breaking Changes

N / A

Known Issues

N / A

Diff

% git diff v0.19.2 v0.19.3 --stat | grep -v "www/"
 lerna.json                                         |  2 +-
 packages/cli/package.json                          |  2 +-
 .../src/plugins/resource/plugin-standard-html.js   |  2 +-
 .../cli/test/cases/develop.spa/develop.spa.spec.js | 54 ++++++++++++++++++++--
 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-typescript/package.json            |  4 +-
 16 files changed, 76 insertions(+), 28 deletions(-)
greenwood - v0.19.2

Published by thescientist13 almost 3 years ago

Overview

Couple quick minor fixes to handle resolving of source maps with greenwood serve and properly handle 404 page partial generation in MPA mode.

Given that Node v12 is in maintenance (LTS) mode, we recommend users to start migrating to Node v14.


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

  1. source maps not resolving when running serve
  2. MPA mode generating malformed partial output file for 404 page

Breaking Changes

N / A

Known Issues

N / A

Diff

% git diff v0.19.1 v0.19.2 --stat | grep -v "www/"
 lerna.json                                         |  2 +-
 packages/cli/package.json                          |  2 +-
 packages/cli/src/lifecycles/serve.js               |  5 ++-
 .../plugins/resource/plugin-optimization-mpa.js    |  2 +-
 .../build.config.mode-mpa.spec.js                  | 10 +++++
 .../test/cases/serve.default/serve.default.spec.js | 45 +++++++++++++++++++---
 .../cases/serve.default/src/assets/router.js.map   |  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-typescript/package.json            |  4 +-
 19 files changed, 79 insertions(+), 32 deletions(-)
greenwood - v0.19.1

Published by thescientist13 almost 3 years ago

Overview

This fix for escape character support in plugin-import-css was meant to go out with the v0.19.0 release, so doing a fast follow to get it out

Given that Node v12 is in maintenance (LTS) mode, we recommend users to start migrating to Node v14.


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

  1. Octal literals and escape sequences are not allowed in template strings (only in development)

Breaking Changes

N / A

Known Issues

N / A

Diff

% git diff v0.19.0 v0.19.1 --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-css/src/index.js                        |  2 +-
 .../test/cases/develop.default/develop.default.spec.js         |  7 +++++--
 .../plugin-import-css/test/cases/develop.default/src/main.css  | 10 ++++++++--
 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-typescript/package.json                        |  4 ++--
 17 files changed, 38 insertions(+), 29 deletions(-)
greenwood - v0.19.0

Published by thescientist13 almost 3 years ago

Overview

In addition to some bug fixes, this minor releases two cool new features to Greenwood:

  • A new init package for scaffolding out a new Greenwood project! (Thanks @hutchgrant 🙌 )
  • An plugin for getting more (static) HTML from your JavaScript. HTML Imports* are back!

Check out our v0.19.0 release blog post to learn more about these new features!

Given that Node v12 is in maintenance (LTS) mode, we recommend users to start migrating to Node v14.


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

  1. Init Command and Package
  2. Plugin: HTML Include
  3. incorrect <head> tag assembly for app and page templates when page content also includes head "like" tags
  4. inline optimization is leaving behind tracking markers for inline <script> tags

Breaking Changes

N / A

Known Issues

N / A

Diff

%  git diff v0.18.0 v0.19.0 --stat | grep -v "www/"
 .ls-lint.yml                                       |   3 +-
 .mocharc.js                                        |   2 +-
 greenwood.config.js                                |   4 +-
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   2 +-
 packages/cli/src/config/rollup.config.js           |   3 +-
 .../src/plugins/resource/plugin-standard-html.js   | 162 +++++++++++----------
 .../build.config-optimization-inline.spec.js       |   2 +-
 ...default.workspace-template-page-and-app.spec.js |  26 +++-
 .../src/templates/app.html                         |   4 +
 packages/init/README.md                            |  43 ++++++
 packages/init/package.json                         |  28 ++++
 packages/init/src/copy-folder.js                   |  43 ++++++
 packages/init/src/index.js                         | 150 +++++++++++++++++++
 packages/init/src/template/greenwood.config.js     |   3 +
 packages/init/src/template/package.json            |  14 ++
 packages/init/src/template/src/pages/index.md      |   1 +
 .../test/cases/build.default/build.default.spec.js |  64 ++++++++
 .../cases/develop.default/develop.default.spec.js  | 146 +++++++++++++++++++
 .../test/cases/init.default/init.default.spec.js   | 106 ++++++++++++++
 .../init/test/cases/init.yarn/init.yarn.spec.js    |  67 +++++++++
 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/README.md             | 157 ++++++++++++++++++++
 packages/plugin-include-html/package.json          |  28 ++++
 packages/plugin-include-html/src/index.js          |  59 ++++++++
 .../build.default.custom-element.spec.js           |  81 +++++++++++
 .../greenwood.config.js                            |   7 +
 .../build.default-custom-element/package.json      |   3 +
 .../src/components/footer.js                       |  20 +++
 .../src/pages/index.html                           |   8 +
 .../build.default.link-tag.spec.js                 |  81 +++++++++++
 .../build.default-link-tag/greenwood.config.js     |   7 +
 .../src/includes/header.html                       |   5 +
 .../build.default-link-tag/src/pages/index.html    |   8 +
 packages/plugin-polyfills/package.json             |   4 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-typescript/package.json            |   4 +-
 yarn.lock                                          |  13 ++
 55 files changed, 1514 insertions(+), 168 deletions(-)
greenwood - v0.19.0-alpha.3

Published by thescientist13 almost 3 years ago

Overview

This minor pre-release introduces some bug fixes in preparation of the final v0.19.0 release. See the previous release notes to learn more about the new Init command.

Given that Node v12 is in maintenance (LTS) mode, we recommend users to start migrating to Node v14.

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

  1. Restore stdio as part of init command
  2. incorrect <head> tag assembly for app and page templates when page content also includes head "like" tags
  3. inline optimization is leaving behind tracking markers for inline <script> tags

Breaking Changes

N / A

Known Issues

N / A

Diff

% git diff v0.19.0-alpha.2 v0.19.0-alpha.3 --stat | grep -v "www/"
 README.md                                          |  11 +-
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   2 +-
 packages/cli/src/config/rollup.config.js           |   3 +-
 .../src/plugins/resource/plugin-standard-html.js   | 162 +++++++++++----------
 .../build.config-optimization-inline.spec.js       |   2 +-
 ...default.workspace-template-page-and-app.spec.js |  26 +++-
 .../src/templates/app.html                         |   4 +
 packages/init/package.json                         |   2 +-
 packages/init/src/index.js                         |  14 +-
 .../test/cases/build.default/build.default.spec.js |   2 +-
 .../cases/develop.default/develop.default.spec.js  |   2 +-
 .../init/test/cases/init.yarn/init.yarn.spec.js    |   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-polyfills/package.json             |   4 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-typescript/package.json            |   4 +-
 23 files changed, 160 insertions(+), 112 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