Skip to content

Releases: ProjectEvergreen/greenwood

v0.29.4

23 May 00:44
Compare
Choose a tag to compare

Overview

This patch release fixes a bug with bundling of script tags of type application/json from breaking the build.

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

  1. <script> tags of type application/json are breaking production builds

Breaking Changes

None

Known Issues

  1. Nested SSR pages not working for adapters

Diff

$ git diff v0.29.3 v0.29.4 --stat | grep -v "www"
 lerna.json                                                       | 2 +-
 packages/cli/package.json                                        | 2 +-
 packages/cli/src/lib/resource-utils.js                           | 3 ++-
 .../build.default.workspace-javascript-css.spec.js               | 9 ++++++++-
 .../build.default.workspace-javascript-css/src/pages/index.html  | 4 ++++
 packages/plugin-adapter-netlify/package.json                     | 4 ++--
 packages/plugin-adapter-vercel/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-import-jsx/package.json                          | 4 ++--
 packages/plugin-include-html/package.json                        | 4 ++--
 packages/plugin-polyfills/package.json                           | 4 ++--
 packages/plugin-postcss/package.json                             | 4 ++--
 packages/plugin-renderer-lit/package.json                        | 4 ++--
 packages/plugin-renderer-puppeteer/package.json                  | 4 ++--
 packages/plugin-typescript/package.json                          | 4 ++--
 20 files changed, 46 insertions(+), 34 deletions(-)

v0.3.0-alpha.2

06 May 20:34
Compare
Choose a tag to compare
v0.3.0-alpha.2 Pre-release
Pre-release

Overview

This release in the v0.30.0 release line adds support for native CSS and JSON imports within Greenwood and bundling of static assets referenced within CSS files.

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

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

$ yarn upgrade --scope @greenwood --latest

Changelog

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

  1. support resource plugin based transformations for standard module formats (ex: import JSON, CSS)
  2. support bundling of url properties (like for @font-face + src) during CSS file optimization

Breaking Changes

Minimum NodeJS Version

The new minimum NodeJS version for Greenwood is now v18.20.0. Make sure to update your CI and hosting scripts accordingly.

Custom Imports

This now means that using custom imports no longer requires the experimental flag, though a flag is still needed

# before
$ node --experimental-loader ./node_modules/@greenwood/cli/src/loader.js ./node_modules/.bin/greenwood <command>

# after
$ node --loader ./node_modules/@greenwood/cli/src/loader.js ./node_modules/.bin/greenwood <command>

Note

We hope that before our 1.0 release this flag will not be required.

Import CSS / JSON deprecations

Now that loading CSS and JSON are web standards, the following plugins will no longer be recieving updates and will be deprecated as part of this release.

Import Raw

However, if you still need to load arbitrary content as an ES Module like the CSS plugin provided, there is now a general purpose plugin called plugin-import-raw which can provided this functionality, e.g.

/* my-component.css */
h1 {
  color: red;
}
import styles from './my-component.css?type=raw'`;

console.log(styles); // h1 { color: red; }

Tip

If you were using these plugins within something like WTR, you'll want to modify your customizations accordingly by making sure to pass the Sec-Fetch-Dest header. See this file for reference.

Known Issues

  1. (still triaging) nested assets from an optimized CSS file are breaking the build
  2. theme pack CSS not being handled as raw CSS

Diff

$ git diff v0.30.0-alpha.1 v0.30.0-alpha.2 --stat | grep -v "www"
 .eslintrc.cjs                                      |  23 +-
 .github/workflows/{ci-exp.yml => ci-loaders.yml}   |   4 +-
 .../{ci-win-exp.yml => ci-win-loaders.yml}         |   4 +-
 .gitignore                                         |   1 +
 .ls-lint.yml                                       |   1 +
 .nvmrc                                             |   2 +-
 greenwood.config.js                                |  11 +-
 lerna.json                                         |   2 +-
 package.json                                       |  16 +-
 packages/cli/package.json                          |   9 +-
 packages/cli/src/commands/build.js                 |   4 +
 packages/cli/src/config/rollup.config.js           |  75 +++-
 packages/cli/src/lib/resource-utils.js             |  11 +-
 packages/cli/src/lifecycles/bundle.js              |  25 +-
 packages/cli/src/lifecycles/prerender.js           |   4 +
 packages/cli/src/lifecycles/serve.js               |  36 ++
 packages/cli/src/loader.js                         |  49 ++-
 .../src/plugins/resource/plugin-node-modules.js    |   7 +-
 .../src/plugins/resource/plugin-standard-css.js    |  63 ++-
 .../src/plugins/resource/plugin-standard-json.js   |  18 +
 .../build.config-optimization-default.spec.js      |  63 ++-
 .../fixtures/expected.css                          |   4 +-
 .../src/images/link.png                            | Bin 0 -> 4777 bytes
 .../src/images/webcomponents.jpg                   | Bin 0 -> 8143 bytes
 .../src/pages/index.html                           |   9 +
 .../src/styles/main.css                            |   1 +
 .../src/system/variables.css                       |   6 +-
 .../theme-pack-context-plugin.js                   |  13 +-
 .../develop.plugins.context/greenwood.config.js    |   4 +-
 .../loaders-build.import-attributes.spec.js        |  77 ++++
 .../src/components/card/card.css                   |   3 +
 .../src/components/card/card.js                    |  27 ++
 .../src/components/card/card.json                  |   5 +
 .../src/pages/index.html                           |  11 +
 .../greenwood.config.js                            |   3 +
 ...aders-build.prerender-import-attributes.spec.js |  97 +++++
 .../package.json                                   |   3 +
 .../src/components/hero/hero.css                   |  18 +
 .../src/components/hero/hero.js                    |  40 ++
 .../src/components/hero/hero.json                  |   3 +
 .../src/index.html                                 |  12 +
 .../loaders-develop.ssr-import-attributes.spec.js  | 186 +++++++++
 .../src/api/fragment.js                            |  17 +
 .../src/components/card/card.css                   |   3 +
 .../src/components/card/card.js                    |  27 ++
 .../src/components/card/card.json                  |   5 +
 .../src/pages/greeting.js                          |  10 +
 ...ers-serve.default.ssr-import-attributes.spec.js | 167 ++++++++
 .../src/api/fragment.js                            |  17 +
 .../src/components/card/card.css                   |   3 +
 .../src/components/card/card.js                    |  27 ++
 .../src/components/card/card.json                  |   5 +
 .../src/pages/greeting.js                          |  10 +
 .../serve.config.base-path.spec.js                 |   4 +-
 .../src/images/webcomponents.jpg                   | Bin 0 -> 8143 bytes
 .../serve.config.base-path/src/styles/main.css     |   1 +
 packages/init/package.json                         |   2 +-
 packages/plugin-adapter-netlify/package.json       |   4 +-
 packages/plugin-adapter-vercel/package.json        |   4 +-
 packages/plugin-babel/package.json                 |   4 +-
 packages/plugin-babel/src/index.js                 |   4 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 packages/plugin-graphql/README.md                  |   4 +-
 packages/plugin-graphql/package.json               |   4 +-
 .../greenwood.config.js                            |   0
 .../loaders-prerender.query-children.spec.js}      |   0
 .../package.json                                   |   0
 .../src/components/posts-list.js                   |   2 +-
 .../src/pages/blog/first-post/index.md             |   0
 .../src/pages/blog/second-post/index.md            |   0
 .../src/pages/index.html                           |   0
 packages/plugin-import-commonjs/package.json       |   4 +-
 packages/plugin-import-css/README.md               |   2 +
 packages/plugin-import-css/package.json            |   8 +-
 .../test/cases/default/default.spec.js             |   2 +-
 .../cases/develop.default/develop.default.spec.js  |   2 +-
 .../exp-build.prerender.spec.js                    |   2 +-
 .../test/cases/exp-serve.ssr/exp-serve.ssr.spec.js |   2 +-
 packages/plugin-import-json/README.md              |   2 +
 packages/plugin-import-json/package.json           |   8 +-
 .../test/cases/default/default.spec.js             |   2 +-
 .../cases/develop.default/develop.default.spec.js  |   2 +-
 .../exp-build.prerender.spec.js                    |   2 +-
 .../test/cases/exp-serve.ssr/exp-serve.ssr.spec.js |   2 +-
 packages/plugin-import-jsx/README.md               |  11 +-
 packages/plugin-import-jsx/package.json            |   6 +-
 packages/plugin-import-jsx/src/index.js            |   7 +-
 .../test/cases/default/src/templates/app.html      |   2 +-
 .../greenwood.config.js                            |   0
 .../loaders-build.prerender.spec.js}               |   3 +-
 .../package.json                                   |   0
 .../src/components/footer.jsx                      |   0
 .../test/cases/loaders-build.prerender/src/main.js |   1 +
 .../src/pages/index.md                             |   0
 .../src/templates/app.html                         |   2 +-
 packages/plugin-import-raw/README.md               |  63 +++
 packages/plugin-import-raw/package.json            |  31 ++
 packages/plugin-import-raw/src/index.js            |  67 +++
 .../cases/build.matchers/build.matchers.spec.js    |  84 ++++
 .../test/cases/build.matchers/greenwood.config.js  |  12 +
 .../test/cases/build.matchers/src/main.js          |   3 +
 .../test/cases/build.matchers/src/pages/index.html |  12 +
 .../test/cases/default/default.spec.js             |  83 ++++
 .../test/cases/default/greenwood.config.js         |   8 +
 .../test/cases/default/src/main.js                 |   3 +
 .../test/cases/default/src/pages/index.html        |  12 +
 .../test/cases/de...
Read more

v0.29.3

04 May 13:24
Compare
Choose a tag to compare

Overview

This patch release fixes a bug with nested SSR pages not loading correctly.

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

  1. nested SSR pages throwing a module not found error

Breaking Changes

None

Known Issues

  1. Nested SSR pages not working for adapters

Diff

$ git diff v0.29.2 v0.29.3 --stat | grep -v "www"
 lerna.json                                         |  2 +-
 package.json                                       |  2 +-
 packages/cli/package.json                          |  2 +-
 packages/cli/src/config/rollup.config.js           | 29 +++++--
 packages/cli/src/lifecycles/bundle.js              | 15 +++-
 packages/cli/src/lifecycles/graph.js               |  2 +
 packages/cli/src/lifecycles/serve.js               |  2 +-
 .../src/plugins/resource/plugin-standard-html.js   |  2 +-
 .../theme-pack-context-plugin.js                   | 13 +---
 .../develop.plugins.context/greenwood.config.js    |  4 +-
 .../cli/test/cases/develop.ssr/develop.ssr.spec.js | 91 ++++++++++++++++++++++
 .../cases/develop.ssr/src/pages/blog/first-post.js |  7 ++
 .../test/cases/develop.ssr/src/pages/blog/index.js |  7 ++
 .../serve.default.ssr/serve.default.ssr.spec.js    | 91 ++++++++++++++++++++++
 .../serve.default.ssr/src/pages/blog/first-post.js |  7 ++
 .../serve.default.ssr/src/pages/blog/index.js      |  7 ++
 packages/init/package.json                         |  2 +-
 packages/plugin-adapter-netlify/package.json       |  4 +-
 packages/plugin-adapter-vercel/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-import-jsx/package.json            |  4 +-
 packages/plugin-include-html/package.json          |  4 +-
 packages/plugin-polyfills/package.json             |  4 +-
 packages/plugin-postcss/package.json               |  4 +-
 packages/plugin-renderer-lit/package.json          |  4 +-
 packages/plugin-renderer-puppeteer/package.json    |  4 +-
 packages/plugin-typescript/package.json            |  4 +-
 yarn.lock                                          |  8 +-
 35 files changed, 294 insertions(+), 63 deletions(-)

v0.30.0-alpha.1

16 Mar 23:54
Compare
Choose a tag to compare
v0.30.0-alpha.1 Pre-release
Pre-release

Overview

This release in the v0.30.0 release line provides addresses known issues seen coming out of the initial v0.30.0-alpha.0 release.

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

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

$ yarn upgrade --scope @greenwood --latest

Changelog

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

  1. ensure minimum compatible version of WCC 0.12.1
  2. SSR pages are missing URL chunks of route chunk

Breaking Changes

N / A

Known Issues

N / A

Diff

$ git diff v0.30.0-alpha.0 v0.30.0-alpha.1 --stat | grep -v "www"
 lerna.json                                      |  2 +-
 packages/cli/package.json                       |  4 ++--
 packages/cli/src/config/rollup.config.js        |  4 ++--
 packages/init/package.json                      |  2 +-
 packages/plugin-adapter-netlify/package.json    |  4 ++--
 packages/plugin-adapter-netlify/src/index.js    | 12 ++++++------
 packages/plugin-adapter-vercel/package.json     |  4 ++--
 packages/plugin-adapter-vercel/src/index.js     | 12 ++++++------
 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-import-jsx/package.json         |  6 +++---
 packages/plugin-include-html/package.json       |  4 ++--
 packages/plugin-polyfills/package.json          |  4 ++--
 packages/plugin-postcss/package.json            |  4 ++--
 packages/plugin-renderer-lit/package.json       |  4 ++--
 packages/plugin-renderer-puppeteer/package.json |  4 ++--
 packages/plugin-typescript/package.json         |  4 ++--
 yarn.lock                                       |  8 ++++----
 23 files changed, 54 insertions(+), 54 deletions(-)

v0.30.0-alpha.0

10 Mar 23:38
Compare
Choose a tag to compare
v0.30.0-alpha.0 Pre-release
Pre-release

Overview

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

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

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

$ yarn upgrade --scope @greenwood --latest

Changelog

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

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

Breaking Changes

Lit Renderer Plugin

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

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

See a working example here

Known Issues

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

Diff

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

v0.29.2

20 Jan 16:59
Compare
Choose a tag to compare

Overview

This patch release bumps the version of WCC to support the standards compliant shadowrootmode attribute when generated Declarative Shadow DOM 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.29.2

  1. enhancement/upgrade to WCC v0.10.0 with spec compliant support shadowrootmode attribute support

Breaking Changes

None

Known Issues

N / A

Diff

$ git diff v0.29.1 v0.29.2 --stat | grep -v "www"
 lerna.json                                               |  2 +-
 package.json                                             |  4 ++--
 packages/cli/package.json                                |  4 ++--
 .../build.config.default/build.config.default.spec.js    |  6 +++---
 .../build.config.error-dev-server-extensions.spec.js     |  8 ++++----
 .../build.config.error-dev-server-hud.spec.js            |  6 +++---
 .../build.config.error-optimization.spec.js              |  8 ++++----
 .../build.config.error-pages-directory.spec.js           |  8 ++++----
 .../build.config.error-prerender.spec.js                 |  8 ++++----
 .../build.config.error-templates-directory.spec.js       |  8 ++++----
 .../build.config.error-workspace-absolute.spec.js        |  8 ++++----
 .../build.config.error-workspace.spec.js                 |  8 ++++----
 .../build.config.interpolate-frontmatter.spec.js         |  6 +++---
 .../build.config.markdown-custom.spec.js                 |  6 +++---
 .../build.config.markdown-custom.settings.spec.js        |  8 ++++----
 .../build.config-optimization-default.spec.js            |  4 ++--
 .../build.config-optimization-inline.spec.js             |  8 ++++----
 .../build.config-optimization-none.spec.js               |  6 +++---
 .../build.config-optimization-overrides.spec.js          |  8 ++++----
 .../build.config-optimization-static.spec.js             |  8 ++++----
 .../build.config.pages-directory.spec.js                 |  6 +++---
 .../build.config.prerender.spec.js                       |  6 +++---
 .../build.config.static-router.spec.js                   |  6 +++---
 .../build.config.templates-directory.spec.js             |  6 +++---
 .../build.config.workspace-custom.spec.js                |  6 +++---
 .../build.default.import-node-modules.spec.js            |  6 +++---
 .../build.default.markdown.spec.js                       |  8 ++++----
 .../build.default.meta-files.spec.js                     |  6 +++---
 .../cases/build.default.meta/build.default.meta.spec.js  |  6 +++---
 .../build.default.quick-start-npx.spec.js                |  6 +++---
 .../cases/build.default.spa/build.default.spa.spec.js    |  6 +++---
 .../build.default.ssr-prerender.spec.js                  | 12 ++++++------
 .../build.default.ssr-static-export.spec.js              |  6 +++---
 .../build.default.title/build.default.title.spec.js      |  6 +++---
 .../build.default.workspace-404-markdown.spec.js         |  6 +++---
 .../build.default.workspace-404.spec.js                  |  6 +++---
 .../build.default.workspace-assets.spec.js               |  6 +++---
 .../build.default.workspace-frontmatter-imports.spec.js  |  8 ++++----
 .../build.default.workspace-getting-started.spec.js      |  6 +++---
 ...build.default.workspace-javascript-css-remote.spec.js |  4 ++--
 .../build.default.workspace-javascript-css.spec.js       |  4 ++--
 .../build.default.workspace-nested.spec.js               |  6 +++---
 .../build.default.workspace-template-app.spec.js         |  6 +++---
 ...build.default.workspace-template-page-and-app.spec.js |  6 +++---
 ....default.workspace-template-page-bare-merging.spec.js |  4 ++--
 .../build.default.workspace-template-page.spec.js        |  8 ++++----
 .../build.default.workspace-templates-empty.spec.js      |  6 +++---
 ...ld.default.workspace-templates-relative-paths.spec.js |  4 ++--
 .../build.default.workspace-top-level-pages.spec.js      |  6 +++---
 ...uild.default.workspace-user-directory-mapping.spec.js |  6 +++---
 .../cli/test/cases/build.default/build.default.spec.js   |  6 +++---
 .../build.config.plugins-adapter.spec.js                 |  6 +++---
 .../build.plugins.context/build.plugins.context.spec.js  |  4 ++--
 .../cases/build.plugins.copy/build.plugins.copy.spec.js  |  4 ++--
 .../build.plugins.error-name.spec.js                     |  8 ++++----
 .../build.plugins.error-provider.spec.js                 |  8 ++++----
 .../build.plugins.error-type.spec.js                     |  8 ++++----
 .../build.config.plugins-resource.spec.js                |  6 +++---
 .../build.plugins.source/build.plugins-source.spec.js    |  6 +++---
 .../develop.config.base-path.spec.js                     |  6 +++---
 .../develop.default.hud-disabled.spec.js                 |  6 +++---
 .../develop.default.hud/develop.default.hud.spec.js      |  6 +++---
 .../test/cases/develop.default/develop.default.spec.js   |  6 +++---
 .../develop.plugins.context.spec.js                      |  6 +++---
 packages/cli/test/cases/develop.spa/develop.spa.spec.js  |  6 +++---
 packages/cli/test/cases/develop.ssr/develop.ssr.spec.js  |  8 ++++----
 .../cli/test/cases/eject.default/eject.default.spec.js   | 14 +++++++-------
 .../serve.config.base-path.spec.js                       |  8 ++++----
 .../serve.config.static-router.spec.js                   |  8 ++++----
 .../cases/serve.default.api/serve.default.api.spec.js    |  8 ++++----
 .../serve.default.error/serve.default.error.spec.js      |  8 ++++----
 .../serve.default.ssr-prerender-api-hybrid.spec.js       |  8 ++++----
 .../serve.default.ssr-prerender.spec.js                  | 10 +++++-----
 .../serve.default.ssr-static-export.spec.js              | 12 ++++++------
 .../cases/serve.default.ssr/serve.default.ssr.spec.js    | 12 ++++++------
 .../cli/test/cases/serve.default/serve.default.spec.js   |  8 ++++----
 packages/cli/test/cases/serve.spa/serve.spa.spec.js      |  8 ++++----
 .../cli/test/cases/theme-pack/theme-pack.build.spec.js   |  4 ++--
 .../cli/test/cases/theme-pack/theme-pack.develop.spec.js |  6 +++---
 packages/init/package.json                               |  2 +-
 .../init/test/cases/build.default/build.default.spec.js  | 12 ++++++------
 .../test/cases/develop.default/develop.default.spec.js   | 12 ++++++------
 .../init/test/cases/init.default/init.default.spec.js    |  4 ++--
 .../init/test/cases/init.template/init.template.spec.js  |  6 +++---
 packages/init/test/cases/init.yarn/init.yarn.spec.js     | 10 +++++-----
 packages/plugin-adapter-netlify/package.json             |  4 ++--
 .../build.config.base-path.spec.js                       |  8 ++++----
 .../test/cases/build.default/build.default.spec.js       |  8 ++++----
 packages/plugin-adapter-vercel/package.json              |  4 ++--
 .../build.config.base-path.spec.js                       |  6 +++---
 .../test/cases/build.default/build.default.spec.js       |  8 ++++----
 packages/plugin-babel/package.json                       |  4 ++--
 packages/plugin-babel/test/cases/default/default.spec.js |  8 ++++----
 .../options.extend-config/options.extend-config.spec.js  |  8 ++++----
 packages/plugin-google-analytics/package.json            |  4 ++--
 .../test/cases/default/default.spec.js                   |  8 ++++----
 .../cases/error-analytics-id/error-analytics-id.spec.js  |  6 +++---
 .../test/cases/option-anonymous/option-anonymous.spec.js |  6 +++---
 packages/plugin-graphql/package.json                     |  4 ++--
 .../test/cases/develop.default/develop.default.spec.js   |  6 +++---
 .../exp-prerender.query-children.spec.js                 |  4 ++--
 .../test/cases/qraphql-server/graphql-server.spec.js     |  6 +++---
 .../test/cases/query-children/query-children.spec.js     |  4 ++--
 .../test/cases/query-config/query-config.spec.js         |  4 ++--
 .../query-custom-frontmatter.spec.js                     |  4 ++--
 .../query-custom-schema/query-custom-schema.spec.js      |  4 ++--
 .../test/cases/query-graph/query-graph.spec.js           |  4 ++--
 .../test/cases/query-menu/query-menu.spec.js             |  4 ++--
 packages/plugin-import-commonjs/package.json             |  4 ++--
 .../test/cases/default/default.spec.js                   |  6 +++---
 packages/plugin-import-css/package.json                  |  4 ++--
 .../plugin-import-css/test/cases/default/default.spec.js |  8 ++++----
 .../test/cases/develop.default/develop.default.spec.js   |  6 +++---
 .../exp-build.prerender/exp-build.prerender.spec.js      |  8 ++++----
 .../test/cases/exp-serve.ssr/exp-serve.ssr.spec.js       | 10 +++++-----
 packages/plugin-import-json/package.json                 |  4 ++--
 .../test/cases/default/default.spec.js                   |  8 ++++----
 .../test/cases/develop.default/develop.default.spec.js   |  6 +++---
 .../exp-build.prerender/exp-build.prerender.spec.js      |  8 ++++----
 .../test/cases/exp-serve.ssr/exp-serve.ssr.spec.js       | 10 +++++-----
 packages/plugin-import-jsx/package.json                  |  6 +++---
 .../test/cases/default/default.prerender.spec.js         |  8 ++++----
 .../exp-build.prerender/exp-build.prerender.spec.js      |  8 ++++----
 packages/plugin-include-html/package.json                |  4 ++--
 .../build.default.custom-element.spec.js                 |  6 +++---
 .../build.default.link-tag.spec.js                       |  6 +++---
 packages/plugin-polyfills/package.json                   |  4 ++--
 .../plugin-polyfills/test/cases/default/default.spec.js  |  8 ++++----
 packages/plugin-polyfills/te...
Read more

v0.29.1

21 Dec 13:51
Compare
Choose a tag to compare

Overview

This patch release fixes an issue with import map generation in development when using Node >= 18.19.0 and cleans up some debug logging from WCC.

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

  1. develop command fails on creating import map with Failed to parse URL error (Node >= 18.19.0)
  2. "no custom element class found for this file" warning when prerendering with WCC

Breaking Changes

None

Known Issues

N / A

Diff

$ git diff v0.29.0 v0.29.1 --stat | grep -v "www"
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   4 +-
 packages/cli/src/lib/node-modules-utils.js         |  54 ++--
 .../src/pages/artists.js                           |   4 +-
 .../develop.config.base-path/src/pages/users.js    |   2 +-
 .../test/cases/develop.ssr/src/pages/artists.js    |   4 +-
 .../serve.config.base-path/src/pages/users.js      |   2 +-
 .../src/pages/artists.js                           |   4 +-
 .../cases/serve.default.ssr/src/pages/artists.js   |   4 +-
 .../cases/serve.default.ssr/src/pages/users.js     |   2 +-
 packages/init/package.json                         |   2 +-
 packages/plugin-adapter-netlify/package.json       |   4 +-
 packages/plugin-adapter-vercel/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-import-jsx/package.json            |   6 +-
 packages/plugin-include-html/package.json          |   4 +-
 packages/plugin-polyfills/package.json             |   4 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-renderer-lit/package.json          |   4 +-
 packages/plugin-renderer-puppeteer/package.json    |   4 +-
 packages/plugin-typescript/package.json            |   4 +-
 yarn.lock                                          | 310 +++++++++------------
 28 files changed, 202 insertions(+), 256 deletions(-)

v0.29.0

09 Nov 02:51
Compare
Choose a tag to compare

Overview

The v0.29.0 release is here! Please check out our blog post to learn about some of the great new features now available.

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

  1. Adapter Plugin API
  2. Vercel Adapter Plugin
  3. Netlify Adapter Plugin
  4. Data Loading Strategies
  5. refactor Workers out of SSR builds
  6. adapter SSR pages are rendering with incorrect content type header
  7. handle merging additional Request / Response instance properties
  8. custom loader hook not handling bare specifiers when resolving URLs (invalid URL)
  9. devServer proxy not returning content (when proxied response includes a content-encoding header)
  10. templates with (inline) template strings breaks bundling of SSR pages
  11. custom imports bundling breaks when used in API routes and SSR pages
  12. upgrade plugin-typescript to TypeScript 5.x
  13. add support for optimizing the CSS :has / :is pseudo-selectors
  14. add support for configuring a base path
  15. support resource plugin based transformations for non "standard" module formats (ex: TypeScript, GraphQL) for SSR
  16. Support "active links" in terminal output for server URLs - thanks @DevLab2425 !

Breaking Changes

Renderer Plugin

As part of the refactor for how Greenwood handles Worker threads, the API for creating a renderer plugin has changed a bit.

  1. The options have changed and workerUrl has been renamed to executeModuleUrl.
  2. For the params into executeRouteModule now has route, label and id replaced with just the page graph data (which includes all of those and more)
  3. The URL for executeModuleUrl is now simply a function that produces the output the same way it did before, no need to bother with the Workers abstraction. Just export now.

Before

import { parentPort } from 'worker_threads';
// ...

async function executeRouteModule({ moduleUrl, compilation, route, label, id, prerender, htmlContents, scripts }) {
  // ...
  parentPort.postMessage(data);
}

parentPort.on('message', async (task) => {
  await executeRouteModule(task);
});

After

// ...

async function executeRouteModule({ moduleUrl, compilation, page = {}, prerender = false, htmlContents = null, scripts = [] }) {
  // ...
  return data
}

export { executeRouteModule };

GraphQL Plugin

Package Imports

All import statements for queries will have to have their import reference slightly updated to reference the full path in the package and will require an extension, e.x

// before
import client from '@greenwood/plugin-graphql/core/client';
import MenuQuery from '@greenwood/plugin-graphql/queries/menu';
// after
import client from '@greenwood/plugin-graphql/src/core/client.js';
import MenuQuery from '@greenwood/plugin-graphql/src/queries/menu.gql';

Children Query

ChildrenQuery calls will now expect a leading / slash for the parent variable

// before
const response = await client.query({
  query: ChildrenQuery,
  variables: {
    parent: 'blog'
  }
});
// after
const response = await client.query({
  query: ChildrenQuery,
  variables: {
    parent: '/blog'
  }
});

Known Issues

N / A

Diff

Diff looks big because repo was formatted post v0.28.4 release - #1119

$ git diff v0.28.5 v0.29.0 --stat | grep -v "www"
 .eslintignore                                      |    3 +-
 .gitignore                                         |    6 +-
 .ls-lint.yml                                       |    3 +-
 lerna.json                                         |    2 +-
 package.json                                       |    8 +-
 packages/cli/package.json                          |    6 +-
 packages/cli/src/commands/build.js                 |    9 +-
 packages/cli/src/commands/develop.js               |    6 +-
 packages/cli/src/commands/serve.js                 |    7 +-
 packages/cli/src/config/rollup.config.js           |  237 +-
 packages/cli/src/lib/api-route-worker.js           |   23 +-
 packages/cli/src/lib/execute-route-module.js       |   44 +
 packages/cli/src/lib/resource-utils.js             |  100 +-
 packages/cli/src/lib/ssr-route-worker.js           |   42 +-
 packages/cli/src/lib/templating-utils.js           |   13 +-
 packages/cli/src/lifecycles/bundle.js              |  141 +-
 packages/cli/src/lifecycles/compile.js             |    4 -
 packages/cli/src/lifecycles/config.js              |   14 +-
 packages/cli/src/lifecycles/graph.js               |   54 +-
 packages/cli/src/lifecycles/prerender.js           |   26 +-
 packages/cli/src/lifecycles/serve.js               |  118 +-
 packages/cli/src/loader.js                         |   24 +-
 .../plugins/renderer/plugin-renderer-default.js    |    2 +-
 .../cli/src/plugins/resource/plugin-api-routes.js  |   48 +-
 .../cli/src/plugins/resource/plugin-dev-proxy.js   |   20 +-
 .../src/plugins/resource/plugin-standard-css.js    |    4 +
 .../src/plugins/resource/plugin-standard-font.js   |    2 +-
 .../src/plugins/resource/plugin-standard-html.js   |   27 +-
 .../src/plugins/resource/plugin-standard-json.js   |    6 +-
 .../src/plugins/resource/plugin-static-router.js   |   24 +-
 .../build.config-optimization-default.spec.js      |    2 +-
 .../fixtures/expected.css                          |    6 +-
 .../src/styles/main.css                            |    8 +
 .../build.config-optimization-inline.spec.js       |    8 +-
 .../build.config-optimization-none.spec.js         |    2 +-
 .../build.config-optimization-overrides.spec.js    |    2 +-
 .../build.config.static-router.spec.js             |    9 +-
 .../build.default.import-node-modules.spec.js      |    4 +-
 .../build.default.ssr-static-export.spec.js        |    3 +-
 .../src/pages/artists.js                           |    7 +-
 .../build.default.workspace-404-markdown.spec.js   |    2 +-
 .../build.default.workspace-404.spec.js            |    2 +-
 ...build.default.workspace-getting-started.spec.js |    6 +-
 .../build.default.workspace-javascript-css.spec.js |    8 +-
 ...default.workspace-template-page-and-app.spec.js |    2 +-
 .../build.default.workspace-template-page.spec.js  |    2 +-
 ...build.default.workspace-templates-empty.spec.js |    8 +-
 ...efault.workspace-user-directory-mapping.spec.js |    4 +-
 .../test/cases/build.default/build.default.spec.js |   11 +
 .../build.config.plugins-adapter.spec.js           |  125 +
 .../cases/build.plugins.adapter/generic-adapter.js |   58 +
 .../build.plugins.adapter/greenwood.config.js      |    7 +
 .../build.plugins.adapter/src/api/greeting.js      |   12 +
 .../build.plugins.adapter/src/components/card.js   |   22 +
 .../cases/build.plugins.adapter/src/pages/index.js |   24 +
 .../build.plugins.context.spec.js                  |    5 +-
 .../build.plugins.error-type.spec.js               |    2 +-
 .../develop.config.base-path.spec.js               |  324 +
 .../develop.config.base-path/greenwood.config.js   |    8 +
 .../cases/develop.config.base-path/package.json    |    4 +
 .../develop.config.base-path/src/api/greeting.js   |   11 +
 .../develop.config.base-path/src/assets/logo.png   |  Bin 0 -> 2171 bytes
 .../src/components/card.js                         |   22 +
 .../develop.config.base-path/src/pages/index.html  |   16 +
 .../develop.config.base-path/src/pages/users.js    |   18 +
 .../develop.config.base-path/src/styles/main.css   |    3 +
 .../develop.default.hud-disabled.spec.js           |   36 +-
 .../develop.default.hud.spec.js                    |   36 +-
 .../cases/develop.default/develop.default.spec.js  |  672 +--
 .../test/cases/develop.default/src/api/fragment.js |   18 +
 .../test/cases/develop.default/src/api/missing.js  |    3 +
 .../test/cases/develop.default/src/api/nothing.js  |    6 +-
 .../develop.default/src/api/submit-form-data.js    |   11 +
 .../cases/develop.default/src/api/submit-json.js   |   12 +
 .../cases/develop.default/src/components/card.js   |   11 +
 .../develop.plugins.context.spec.js                |   69 +-
 .../cli/test/cases/develop.spa/develop.spa.spec.js |  125 +-
 .../cli/test/cases/develop.ssr/develop.ssr.spec.js |  100 +-
 .../test/cases/develop.ssr/src/pages/artists.js    |    4 +-
 .../cli/test/cases/develop.ssr/src/pages/post.js   |   20 +
 .../serve.config.base-path/greenwood.config.js     |    9 +
 .../serve.config.base-path.spec.js                 |  471 ++
 .../serve.config.base-path/src/api/greeting.js     |   11 +
 .../serve.config.base-path/src/assets/logo.png     |  Bin 0 -> 2171 bytes
 .../serve.config.base...
Read more

v0.29.0-alpha.6

04 Nov 15:06
Compare
Choose a tag to compare
v0.29.0-alpha.6 Pre-release
Pre-release

Overview

This last alpha release of the v0.29.0 release line extends support for request handing in SSR pages, adds support for configuring a base path, and stablizing support for importing non standard import formats on the server side.

In development docs here, full release blog will come out with the final release.

Changelog

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

  1. Data Loading Strategies
  2. add support for optimizing the CSS :has / :is pseudo-selectors
  3. add support for configuring a base path
  4. support resource plugin based transformations for non "standard" module formats (ex: TypeScript, GraphQL) for SSR
  5. Support "active links" in terminal output for server URLs - thanks @DevLab2425 !

Breaking Changes

GraphQL Plugin

Package Imports

All import statements for queries will have to have their import reference slightly updated to reference the full path in the package and will require an extension, e.x

// before
import client from '@greenwood/plugin-graphql/core/client';
import MenuQuery from '@greenwood/plugin-graphql/queries/menu';
// after
import client from '@greenwood/plugin-graphql/src/core/client.js';
import MenuQuery from '@greenwood/plugin-graphql/src/queries/menu.gql';

Children Query

ChildrenQuery calls will now expect a leading / slash for the parent variable

// before
const response = await client.query({
  query: ChildrenQuery,
  variables: {
    parent: 'blog'
  }
});
// after
const response = await client.query({
  query: ChildrenQuery,
  variables: {
    parent: '/blog'
  }
});

Known Issues

  1. ensure resolving graph.json respects base path configuration

Diff

$ git diff v0.29.0-alpha.5 v0.29.0-alpha.6 --stat | grep -v "www"
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   4 +-
 packages/cli/src/commands/develop.js               |   6 +-
 packages/cli/src/commands/serve.js                 |   7 +-
 packages/cli/src/lib/execute-route-module.js       |  10 +-
 packages/cli/src/lib/resource-utils.js             |  52 +++
 packages/cli/src/lib/ssr-route-worker.js           |   4 +-
 packages/cli/src/lib/templating-utils.js           |  11 +-
 packages/cli/src/lifecycles/bundle.js              |  15 +-
 packages/cli/src/lifecycles/config.js              |  12 +-
 packages/cli/src/lifecycles/graph.js               |  40 +-
 packages/cli/src/lifecycles/prerender.js           |  21 +-
 packages/cli/src/lifecycles/serve.js               |  11 +-
 .../cli/src/plugins/resource/plugin-api-routes.js  |  52 +--
 .../cli/src/plugins/resource/plugin-dev-proxy.js   |   8 +-
 .../src/plugins/resource/plugin-standard-css.js    |   4 +
 .../src/plugins/resource/plugin-standard-html.js   |  22 +-
 .../src/plugins/resource/plugin-static-router.js   |  24 +-
 .../build.config-optimization-default.spec.js      |   2 +-
 .../fixtures/expected.css                          |   6 +-
 .../src/styles/main.css                            |   8 +
 .../build.config-optimization-inline.spec.js       |   8 +-
 .../build.config-optimization-none.spec.js         |   2 +-
 .../build.config-optimization-overrides.spec.js    |   2 +-
 .../build.config.static-router.spec.js             |   9 +-
 .../build.default.import-node-modules.spec.js      |   4 +-
 .../build.default.ssr-static-export.spec.js        |   3 +-
 .../src/pages/artists.js                           |   5 +-
 .../build.default.workspace-404-markdown.spec.js   |   2 +-
 .../build.default.workspace-404.spec.js            |   2 +-
 ...build.default.workspace-getting-started.spec.js |   6 +-
 .../build.default.workspace-javascript-css.spec.js |   8 +-
 ...default.workspace-template-page-and-app.spec.js |   2 +-
 .../build.default.workspace-template-page.spec.js  |   2 +-
 ...build.default.workspace-templates-empty.spec.js |   8 +-
 ...efault.workspace-user-directory-mapping.spec.js |   4 +-
 .../test/cases/build.default/build.default.spec.js |  11 +
 .../build.plugins.context.spec.js                  |   5 +-
 .../develop.config.base-path.spec.js               | 299 ++++++++++++++
 .../develop.config.base-path/greenwood.config.js   |   8 +
 .../cases/develop.config.base-path/package.json    |   4 +
 .../develop.config.base-path/src/api/greeting.js   |  11 +
 .../develop.config.base-path/src/assets/logo.png   | Bin 0 -> 2171 bytes
 .../src/components/card.js                         |  22 +
 .../develop.config.base-path/src/pages/index.html  |  16 +
 .../develop.config.base-path/src/pages/users.js    |  18 +
 .../develop.config.base-path/src/styles/main.css   |   3 +
 .../cases/develop.default/develop.default.spec.js  |  11 +
 .../cli/test/cases/develop.ssr/develop.ssr.spec.js | 104 ++++-
 .../cli/test/cases/develop.ssr/src/pages/post.js   |  20 +
 .../serve.config.base-path/greenwood.config.js     |   9 +
 .../serve.config.base-path.spec.js                 | 446 +++++++++++++++++++++
 .../serve.config.base-path/src/api/greeting.js     |  11 +
 .../serve.config.base-path/src/assets/logo.png     | Bin 0 -> 2171 bytes
 .../serve.config.base-path/src/components/card.js  |  22 +
 .../serve.config.base-path/src/pages/about.md      |   7 +
 .../serve.config.base-path/src/pages/index.html    |  16 +
 .../serve.config.base-path/src/pages/users.js      |  18 +
 .../serve.config.base-path/src/styles/main.css     |   3 +
 .../serve.default.ssr-prerender-api-hybrid.spec.js |   4 +-
 .../serve.default.ssr-static-export.spec.js        |   4 +-
 .../src/pages/artists.js                           |   5 +-
 .../serve.default.ssr/serve.default.ssr.spec.js    |  59 ++-
 .../test/cases/serve.default.ssr/src/pages/post.js |  20 +
 .../test/cases/theme-pack/theme-pack.build.spec.js |   5 +-
 packages/init/package.json                         |   2 +-
 packages/plugin-adapter-netlify/package.json       |   4 +-
 packages/plugin-adapter-netlify/src/index.js       |   7 +-
 .../build.config.base-path.spec.js                 | 180 +++++++++
 .../build.config.base-path/greenwood.config.js     |   8 +
 .../build.config.base-path/src/api/greeting.js     |  11 +
 .../build.config.base-path/src/pages/users.js      |  24 ++
 .../test/cases/build.default/build.default.spec.js |  64 ++-
 .../test/cases/build.default/src/pages/post.js     |  20 +
 packages/plugin-adapter-vercel/package.json        |   4 +-
 packages/plugin-adapter-vercel/src/index.js        |   7 +-
 .../build.config.base-path.spec.js                 | 191 +++++++++
 .../build.config.base-path/greenwood.config.js     |   8 +
 .../build.config.base-path/src/api/greeting.js     |  11 +
 .../build.config.base-path/src/pages/users.js      |  24 ++
 .../test/cases/build.default/build.default.spec.js |  73 +++-
 .../test/cases/build.default/src/pages/post.js     |  20 +
 packages/plugin-babel/package.json                 |   4 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 .../test/cases/default/default.spec.js             |   2 +-
 .../option-anonymous/option-anonymous.spec.js      |   2 +-
 packages/plugin-graphql/README.md                  |  30 +-
 packages/plugin-graphql/package.json               |   5 +-
 packages/plugin-graphql/src/core/client.js         |   7 +-
 packages/plugin-graphql/src/index.js               |  28 +-
 packages/plugin-graphql/src/schema/graph.js        |  20 +-
 .../cases/develop.default/develop.default.spec.js  |  12 +-
 .../exp-prerender.query-children.spec.js           | 143 +++++++
 .../greenwood.config.js                            |   8 +
 .../exp-prerender.query-children/package.json      |   4 +
 .../src/components/posts-list.js                   |  34 ++
 .../src/pages/blog/first-post/index.md             |   8 +
 .../src/pages/blog/second-post/index.md            |   8 +
 .../src/pages/index.html                           |  12 +
 .../query-children/src/components/posts-list.js    |   6 +-
 .../cases/query-config/src/components/footer.js    |   4 +-
 .../src/components/posts-list.js                   |   2 +-
 .../cases/query-custom-schema/src/pages/index.html |   2 +-
 .../query-graph/src/components/debug-output.js     |   4 +-
 .../test/cases/query-menu/src/components/header.js |   4 +-
 .../test/unit/schema/graph.menu.spec.js            | 116 +++++-
 .../plugin-graphql/test/unit/schema/graph.spec.js  |   9 +-
 packages/plugin-import-commonjs/package.json       |   4 +-
 packages/plugin-import-css/package.json            |   4 +-
 .../exp-build.prerender.spec.js                    |   1 +
 packages/plugin-import-json/package.json           |   4 +-
 .../exp-build.prerender.spec.js                    |   1 +
 packages/plugin-import-jsx/package.json            |   6 +-
 .../test/cases/default/default.prerender.spec.js   |   2 +-
 .../exp-build.prerender.spec.js                    |   1 +
 packages/plugin-include-html/package.json          |   4 +-
 packages/plugin-polyfills/package.json             |   4 +-
 .../plugin-polyfills/test/cases/dsd/dsd.spec.js    |   2 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-renderer-lit/README.md             |  11 +-
 packages/plugin-renderer-lit/package.json          |   4 +-
 .../test/cases/serve.default/serve.def...
Read more

v0.29.0-alpha.5

14 Oct 01:47
Compare
Choose a tag to compare
v0.29.0-alpha.5 Pre-release
Pre-release

Overview

This alpha release of the v0.29.0 release line fixes a number of bugs and known issues as well as upgrades the TypeScript plugin to 5.x.

In development docs here, full release blog will come out with the final release.

Changelog

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

  1. check for api assets build output directory before copying for vercel adapter
  2. custom loader hook not handling bare specifiers when resolve URLs (invalid URL)
  3. devServer proxy not returning content (when proxied response includes a content-encoding header)
  4. templates with (inline) template strings breaks bundling of SSR pages
  5. custom imports bundling breaks when used in API routes and SSR pages
  6. upgrade plugin-typescript to TypeScript 5.x

Breaking Changes

TypeScript Plugin

The upgrade to 5.x will likely require changes to your tsconfig.json.

Known Issues

N / A

Diff

$ git diff v0.29.0-alpha.4 v0.29.0-alpha.5 --stat | grep -v "www"
 .eslintignore                                      |   3 +-
 .ls-lint.yml                                       |   3 +-
 lerna.json                                         |   2 +-
 package.json                                       |  10 +-
 packages/cli/package.json                          |   3 +-
 packages/cli/src/config/rollup.config.js           | 183 ++++-
 packages/cli/src/lifecycles/bundle.js              |   1 +
 packages/cli/src/lifecycles/serve.js               |   2 +
 packages/cli/src/loader.js                         |  24 +-
 .../cli/src/plugins/resource/plugin-dev-proxy.js   |  12 +-
 .../cases/develop.default/develop.default.spec.js  |   6 +
 .../serve.default.ssr/serve.default.ssr.spec.js    |  64 +-
 .../cases/serve.default.ssr/src/components/card.js |   2 +
 .../cases/serve.default.ssr/src/images/logo.svg    |  45 +
 .../cases/serve.default.ssr/src/templates/app.html |   6 +
 packages/init/package.json                         |   2 +-
 packages/plugin-adapter-netlify/package.json       |   4 +-
 packages/plugin-adapter-vercel/package.json        |   4 +-
 packages/plugin-adapter-vercel/src/index.js        |  13 +-
 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 +-
 .../test/cases/exp-serve.ssr/exp-serve.ssr.spec.js | 178 ++++
 .../test/cases/exp-serve.ssr/greenwood.config.js   |   7 +
 .../test/cases/exp-serve.ssr/package.json          |   4 +
 .../test/cases/exp-serve.ssr/src/api/fragment.js   |  28 +
 .../cases/exp-serve.ssr/src/components/card.css    |  44 +
 .../cases/exp-serve.ssr/src/components/card.js     |  31 +
 .../test/cases/exp-serve.ssr/src/pages/products.js |  31 +
 .../cases/exp-serve.ssr/src/services/products.js   |  11 +
 .../test/cases/exp-serve.ssr/src/styles/some.css   |   3 +
 packages/plugin-import-json/package.json           |   4 +-
 .../test/cases/exp-serve.ssr/exp-serve.ssr.spec.js | 161 ++++
 .../test/cases/exp-serve.ssr/greenwood.config.js   |   7 +
 .../test/cases/exp-serve.ssr/package.json          |   4 +
 .../test/cases/exp-serve.ssr/src/api/fragment.js   |  27 +
 .../cases/exp-serve.ssr/src/components/card.js     |  26 +
 .../cases/exp-serve.ssr/src/data/products.json     |   7 +
 .../test/cases/exp-serve.ssr/src/pages/products.js |  26 +
 packages/plugin-import-jsx/package.json            |   4 +-
 packages/plugin-include-html/package.json          |   4 +-
 packages/plugin-polyfills/package.json             |   4 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-renderer-lit/package.json          |   4 +-
 packages/plugin-renderer-puppeteer/package.json    |   4 +-
 packages/plugin-typescript/package.json            |   6 +-
 .../test/cases/exp-serve.ssr/exp-serve.ssr.spec.js | 118 +++
 .../test/cases/exp-serve.ssr/greenwood.config.js   |   7 +
 .../test/cases/exp-serve.ssr/package.json          |   4 +
 .../test/cases/exp-serve.ssr/src/api/fragment.js   |  33 +
 .../exp-serve.ssr/src/components/card/card.ts      |  33 +
 .../exp-serve.ssr/src/components/card/logo.png     | Bin 0 -> 2171 bytes
 .../exp-serve.ssr/src/components/card/styles.ts    |   7 +
 .../test/cases/exp-serve.ssr/src/pages/index.html  |  16 +
 .../options.extend-config/src/scripts/main.ts      |  12 +-
 yarn.lock                                          | 905 +++++++++++----------
 61 files changed, 1688 insertions(+), 543 deletions(-)