Skip to content

Releases: ProjectEvergreen/greenwood

v0.14.1

14 Jul 20:30
Compare
Choose a tag to compare

Overview

This release of Greenwood aims to fix a couple of bugs and improve error handling for puppeteer in cloud IDE environments.

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

  1. handle user JavaScript files that include lookahead patterns
  2. gracefully handle TypeScript 404 sourcemaps
  3. plugin-node-modeules not return a string from serve lifecycle

Breaking Changes

None

Known Issues

  1. N / A

Diff

% git diff v0.14.0 v0.14.1 --stat
 greenwood.config.js                                                  |  5 ++-
 lerna.json                                                           |  2 +-
 packages/cli/package.json                                            |  2 +-
 packages/cli/src/commands/build.js                                   | 58 +++++++++++++++++---------------
 packages/cli/src/config/rollup.config.js                             |  6 +++-
 packages/cli/src/lifecycles/prerender.js                             | 10 ++++--
 packages/cli/src/plugins/resource/plugin-node-modules.js             |  4 +--
 packages/cli/src/plugins/resource/plugin-source-maps.js              |  2 +-
 packages/cli/src/plugins/resource/plugin-standard-html.js            |  9 +++--
 .../build.config-optimization-inline.spec.js                         | 39 +++++++++++++++++----
 .../cases/build.config.optimization-inline/src/components/foobar.js  | 15 +++++++++
 .../test/cases/build.config.optimization-inline/src/pages/index.html | 19 +++++++++++
 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 +--
 www/package.json                                                     |  2 +-
 22 files changed, 142 insertions(+), 67 deletions(-)

v0.14.0

11 Jul 16:06
Compare
Choose a tag to compare

Overview

This is a new release of Greenwood which among other things, introduces a new plugin for being able to use TypeScript, improves and allows customizations for file watching and live reloading during local development, ands adds more options for optimization overrides as well as fixes a couple bugs.

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

  1. TypeScript Plugin
  2. output sourcemaps for production builds
  3. set <title> correctly for top level pages
  4. favor exports map in package.json
  5. extend dev server file watching and live reloading

Breaking Changes

None

Known Issues

  1. TypeScript sourcemaps not found / emitting

Diff

% git diff v0.13.0 v0.14.0 --stat
 .eslintrc.js                                                         |   5 +-
 .gitignore                                                           |   1 +
 README.md                                                            |  13 ++-
 greenwood.config.js                                                  |   8 +-
 lerna.json                                                           |   2 +-
 package.json                                                         |   5 +-
 packages/cli/package.json                                            |   2 +-
 packages/cli/src/config/rollup.config.js                             |  65 ++++++-----
 packages/cli/src/index.js                                            |   2 +-
 packages/cli/src/lifecycles/config.js                                |  11 +-
 packages/cli/src/lifecycles/prerender.js                             |  18 +++-
 packages/cli/src/plugins/resource/plugin-node-modules.js             |  39 +++++--
 packages/cli/src/plugins/resource/plugin-standard-html.js            |  20 +++-
 packages/cli/src/plugins/server/plugin-livereload.js                 |  43 ++++++--
 .../build.config.error-dev-server-extensions.spec.js                 |  48 +++++++++
 .../build.config.error-dev-server-extensions/greenwood.config.js     |   5 +
 .../test/cases/build.config.mode-mpa/build.config.mode-mpa.spec.js   |   6 +-
 .../test/cases/build.config.mode-spa/build.config.mode-spa.spec.js   |   7 ++
 packages/cli/test/cases/build.config.mode-spa/greenwood.config.js    |   1 +
 packages/cli/test/cases/build.config.mode-spa/src/index.html         |   1 +
 .../build.config-optimization-none.spec.js                           |   2 +-
 .../build.config-optimization-overrides.spec.js                      | 178 +++++++++++++++++++++++++++++++
 .../build.config.optimization-overrides/src/components/footer.js     |  16 +++
 .../build.config.optimization-overrides/src/components/header.js     |  18 ++++
 .../cases/build.config.optimization-overrides/src/pages/index.html   |  15 +++
 .../cases/build.config.optimization-overrides/src/styles/theme.css   |   3 +
 .../build.default.import-node-modules.spec.js                        |   5 +-
 .../test/cases/build.default.markdown/build.default.markdown.spec.js |  11 +-
 packages/cli/test/cases/build.default.markdown/greenwood.config.js   |   3 +
 packages/cli/test/cases/build.default.markdown/src/pages/index.md    |   4 +
 .../src/pages/index.html                                             |   2 +-
 .../build.default.workspace-top-level-pages.spec.js                  |   2 +-
 .../build.default.workspace-user-directory-mapping.spec.js           |   2 +-
 packages/plugin-babel/package.json                                   |   4 +-
 packages/plugin-babel/test/cases/default/default.spec.js             |  12 +--
 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/README.md                                 |  97 +++++++++++++++++
 packages/plugin-typescript/package.json                              |  32 ++++++
 packages/plugin-typescript/src/index.js                              |  74 +++++++++++++
 packages/plugin-typescript/test/cases/default/default.spec.js        |  86 +++++++++++++++
 packages/plugin-typescript/test/cases/default/greenwood.config.js    |   7 ++
 packages/plugin-typescript/test/cases/default/src/pages/index.html   |  12 +++
 packages/plugin-typescript/test/cases/default/src/scripts/main.ts    |  15 +++
 .../test/cases/options.extend-config/greenwood.config.js             |   9 ++
 .../test/cases/options.extend-config/options.extend-config.spec.js   |  89 ++++++++++++++++
 .../test/cases/options.extend-config/src/pages/index.html            |  12 +++
 .../test/cases/options.extend-config/src/scripts/main.ts             |  17 +++
 .../test/cases/options.extend-config/src/util/greeting.d.ts          |   6 ++
 .../plugin-typescript/test/cases/options.extend-config/tsconfig.json |   7 ++
 test/smoke-test.js                                                   |   9 ++
 tsconfig.json                                                        |   5 +
 www/components/card/card.js                                          |   2 +-
 www/components/footer/footer.css                                     |   2 +-
 www/package.json                                                     |   2 +-
 www/pages/docs/configuration.md                                      |  19 +++-
 www/pages/docs/css-and-images.md                                     |   2 +-
 www/pages/getting-started/quick-start.md                             |  25 ++++-
 www/pages/index.html                                                 |   2 +-
 www/pages/plugins/custom-plugins.md                                  |   1 +
 www/styles/page.css                                                  |  10 ++
 www/templates/app.html                                               |   4 +-
 yarn.lock                                                            | 166 ++++++++++++++++++++++++----
 68 files changed, 1188 insertions(+), 131 deletions(-)

Performance

After taking advantage of some of Greenwood's optimization settings as part of this release, we are seeing really great results on our home page!
website-inline-optimization-lighthouse-score-v0 14 0
website-inline-optimization-network-score-v0 14 0

v0.13.0

05 Jun 16:40
Compare
Choose a tag to compare

Overview

This is new feature release of Greenwood which introduces a new plugin for being able to use ESM (import) for JSON and improves resolving of relative paths in deeply nested pages / templates. In addition this release sets an (initial) precedent for usage of ESM for non JavaScript assets. (See Breaking Changes section below 👇 )

Changelog

https://github.com/ProjectEvergreen/greenwood/issues?q=label%3Av0.13.0

  1. have a plugin for being able to import JSON using ESM
  2. resolve (deeply) nested relative template paths to expected workspace path

Breaking Changes

Not breaking per se, but just want to highlight / clarify some expectations around using ESM for non-JavaScript assets, like JSON or CSS. A couple things to keep in mind

  1. Use relative paths (this is per ESM spec)
  2. Be explicit and add ?type=xxx

Examples

// CSS
import css from './styles.css?type=css';

console.log(css); // .my-css { ... }

// JSON
import json from '../path/to/data.json?type=json';

console.log(json);  // { ... }

We will try and adhere to the spec as close as possible, but as the above is not spec compliant, we want it to be familiar to prior art where / if possible. In this case, inspiration was found in the import assertions spec proposal.

Known Issues

None

Diff

$ git diff v0.12.4 v0.13.0 --stat
 README.md                                                               |   2 +-
 greenwood.config.js                                                     |   2 +
 lerna.json                                                              |   2 +-
 packages/cli/package.json                                               |   4 +-
 packages/cli/src/config/rollup.config.js                                |  77 +++++-----
 packages/cli/src/lib/resource-interface.js                              |  26 ++++
 packages/cli/src/plugins/resource/plugin-node-modules.js                |  16 +-
 packages/cli/src/plugins/resource/plugin-standard-json.js               |  31 +---
 packages/cli/src/plugins/resource/plugin-user-workspace.js              |  20 ++-
 .../build.default.workspace-javascript-css.spec.js                      |  17 ---
 .../cases/build.default.workspace-javascript-css/src/pages/index.html   |   1 -
 .../cases/build.default.workspace-javascript-css/src/scripts/main.js    |   5 -
 .../build.default.workspace-templates-relative-paths.spec.js            | 257 +++++++++++++++++++++++++++++++++
 .../src/assets/fonts/source-sans-pro-v13-latin-regular.ttf              | Bin 0 -> 40408 bytes
 .../src/assets/fonts/source-sans-pro-v13-latin-regular.woff             | Bin 0 -> 20179 bytes
 .../src/assets/fonts/source-sans-pro-v13-latin-regular.woff2            | Bin 0 -> 16112 bytes
 .../src/assets/fonts/source-sans-pro.css                                |  11 ++
 .../src/components/footer.js                                            |  18 +++
 .../src/components/greeting.js                                          |  18 +++
 .../src/components/header.js                                            |  18 +++
 .../src/pages/index.html                                                |  12 ++
 .../src/pages/one/two/three/index.md                                    |  10 ++
 .../src/styles/home.css                                                 |   3 +
 .../src/styles/page.css                                                 |   5 +
 .../src/styles/theme.css                                                |   9 ++
 .../src/templates/app.html                                              |  19 +++
 .../src/templates/page.html                                             |  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/README.md                                    |   8 +-
 packages/plugin-import-css/package.json                                 |   4 +-
 packages/plugin-import-css/src/index.js                                 |   9 +-
 packages/plugin-import-css/test/cases/default/src/main.js               |   2 +-
 packages/plugin-import-json/README.md                                   |  42 ++++++
 packages/plugin-import-json/package.json                                |  31 ++++
 packages/plugin-import-json/src/index.js                                |  53 +++++++
 packages/plugin-import-json/test/cases/default/default.spec.js          |  76 ++++++++++
 packages/plugin-import-json/test/cases/default/greenwood.config.js      |   7 +
 packages/plugin-import-json/test/cases/default/src/assets/data.json     |   4 +
 packages/plugin-import-json/test/cases/default/src/pages/index.html     |  12 ++
 packages/plugin-import-json/test/cases/default/src/scripts/main.js      |   4 +
 packages/plugin-polyfills/package.json                                  |   4 +-
 packages/plugin-postcss/package.json                                    |   4 +-
 www/components/banner/banner.js                                         |   4 +-
 www/components/card/card.js                                             |   2 +-
 www/components/footer/footer.js                                         |   2 +-
 www/components/header/header.js                                         |   2 +-
 www/components/shelf/shelf.js                                           |   2 +-
 www/components/social-icons/social-icons.js                             |   2 +-
 www/package.json                                                        |   2 +-
 www/pages/docs/layouts.md                                               |   2 +-
 www/pages/index.html                                                    |   2 +-
 www/pages/plugins/custom-plugins.md                                     |   1 +
 www/templates/app.html                                                  |   8 +-
 www/templates/page.html                                                 |   8 +-
 yarn.lock                                                               |  18 +--
 58 files changed, 765 insertions(+), 161 deletions(-)

Noteworthy

In creating a plugin for import with JSON and by rolling our own solution for getting our HTML entry points when bundling, we are able to drop two dependencies from the CLI package this release! 🎉
greenwood-cli-dependency-count-24

Compared to our v0.10.0 release, which had 26 dependencies.

v0.12.4

04 Jun 00:39
Compare
Choose a tag to compare

Overview

This release aims to fix an issue with using ESM for JSON on Windows, and add handles support for default entries in exportMaps for dependencies in node_modules.

Changelog

https://github.com/ProjectEvergreen/greenwood/issues?q=label%3Av0.12.4

  1. add exportMap default entry support in plugin-node-modules
  2. import JSON via ESM for the website is not bundling correctly on Windows

Breaking Changes

None

Known Issues

None

Diff

$ git diff v0.12.3 v0.12.4 --stat
 lerna.json                                                              |  2 +-
 package.json                                                            |  4 ++--
 packages/cli/package.json                                               |  2 +-
 packages/cli/src/config/rollup.config.js                                | 35 ++++++++++++++++++++++++++++------
 packages/cli/src/plugins/resource/plugin-node-modules.js                |  6 ++++--
 .../cases/build.default.workspace-javascript-css/src/scripts/main.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-polyfills/package.json                                  |  4 ++--
 packages/plugin-postcss/package.json                                    |  4 ++--
 www/package.json                                                        |  2 +-
 14 files changed, 53 insertions(+), 28 deletions(-)

v0.12.3

27 May 17:23
Compare
Choose a tag to compare

Overview

This release aims to fix a few newly reported / discovered bugs including ensuring cross platform support for Windows.

Changelog

https://github.com/ProjectEvergreen/greenwood/issues?q=label%3Av0.12.3

  1. CLI is not handling export * ... (wildcard) export formats
  2. fetching any JSON file that is not graph.json always returns an ES module
  3. TypeError: Cannot read property 'replace' of undefined (path separator checks breaking on Windows) - thanks for reporting @anlexN !

Breaking Changes

Not a breaking change, but going forward, using import syntax for anything but ESM (e.g. CSS, JSON) will require an explicit opt-in by users, as is being discussed in #606

Known Issues

None

Diff

$ git diff v0.12.2 v0.12.3 --stat
 .github/workflows/ci-win.yml                                 | 33 ++++++++++++
 .github/workflows/ci.yml                                     |  8 ++-
 .github/workflows/master.yml                                 |  8 ++-
 .github/workflows/release.yml                                |  6 +--
 greenwood.config.js                                          | 10 ++--
 lerna.json                                                   |  2 +-
 package.json                                                 |  3 +-
 packages/cli/package.json                                    |  4 +-
 packages/cli/src/config/rollup.config.js                     | 19 ++++++-
 packages/cli/src/lifecycles/graph.js                         | 22 ++++----
 packages/cli/src/lifecycles/serve.js                         |  5 ++
 packages/cli/src/plugins/resource/plugin-node-modules.js     | 27 +++++++---
 packages/cli/src/plugins/resource/plugin-optimization-mpa.js |  5 +-
 packages/cli/src/plugins/resource/plugin-standard-html.js    | 36 ++++++-------
 packages/cli/src/plugins/resource/plugin-standard-json.js    | 31 +++++------
 .../build.default.workspace-getting-started.spec.js          |  4 +-
 .../build.default.workspace-javascript-css.spec.js           | 18 ++++++-
 .../src/assets/data.json                                     |  4 ++
 .../src/pages/index.html                                     | 11 ++++
 .../src/scripts/main.js                                      |  5 ++
 .../build.default.workspace-nested.spec.js                   |  8 ++-
 packages/plugin-babel/package.json                           |  4 +-
 packages/plugin-google-analytics/package.json                |  4 +-
 packages/plugin-graphql/package.json                         |  4 +-
 .../query-custom-frontmatter.spec.js                         |  4 +-
 .../plugin-graphql/test/cases/query-menu/query-menu.spec.js  |  4 +-
 packages/plugin-import-commonjs/package.json                 |  4 +-
 packages/plugin-import-css/package.json                      |  4 +-
 packages/plugin-polyfills/package.json                       |  4 +-
 packages/plugin-postcss/package.json                         |  4 +-
 www/components/footer/footer.js                              |  2 +-
 www/package.json                                             |  2 +-
 yarn.lock                                                    | 80 +++++++++++++++++++---------
 33 files changed, 265 insertions(+), 124 deletions(-)

v0.12.2

15 May 23:22
Compare
Choose a tag to compare

Overview

This release aims to fix a bug that wasn't quite fixed as it was supposed to in the previous release.

Changelog

https://github.com/ProjectEvergreen/greenwood/issues?q=label%3Av0.12.2

  1. dev server proxy is not forwarding query params

Breaking Changes

None

Known Issues

  1. Greenwood not working on Windows
  2. fetching any JSON file that is not graph.json always returns as an ES module

Diff

$ git diff v0.12.1 v0.12.2 --stat
 lerna.json                                                 | 2 +-
 packages/cli/package.json                                  | 2 +-
 packages/cli/src/plugins/resource/plugin-user-workspace.js | 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-polyfills/package.json                     | 4 ++--
 packages/plugin-postcss/package.json                       | 4 ++--
 www/package.json                                           | 2 +-
 11 files changed, 19 insertions(+), 18 deletions(-)

v0.12.1

15 May 22:59
Compare
Choose a tag to compare

Overview

This release aims to fix some bugs observed during the last release.

Changelog

https://github.com/ProjectEvergreen/greenwood/issues?q=label%3Av0.12.1

  1. dev server proxy is not forwarding query params
  2. top level page or page template <meta> tags not showing up in output HTML

Breaking Changes

None

Known Issues

  1. Greenwood not working on Windows
  2. dev server proxy is not forwarding query params
  3. fetching any JSON file that is not graph.json always returns asan ES module

Diff

$ git diff v0.12.0 v0.12.1 --stat
 README.md                                                                     |  3 ++-
 lerna.json                                                                    |  2 +-
 packages/cli/package.json                                                     |  2 +-
 packages/cli/src/lifecycles/serve.js                                          |  2 +-
 packages/cli/src/plugins/resource/plugin-standard-html.js                     | 15 ++++++++++-----
 packages/cli/src/plugins/resource/plugin-user-workspace.js                    |  4 +++-
 packages/cli/test/cases/build.config.mode-spa/build.config.mode-spa.spec.js   |  8 ++++++++
 packages/cli/test/cases/build.config.mode-spa/src/index.html                  |  1 +
 .../build.default.workspace-template-page.spec.js                             |  8 ++++++++
 .../test/cases/build.default.workspace-template-page/src/templates/page.html  |  7 +++----
 .../build.default.workspace-top-level-pages.spec.js                           |  8 ++++++++
 .../test/cases/build.default.workspace-top-level-pages/src/pages/index.html   |  1 +
 .../build.default.workspace-user-directory-mapping/src/templates/page.html    |  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-polyfills/package.json                                        |  4 ++--
 packages/plugin-postcss/package.json                                          |  4 ++--
 test/smoke-test.js                                                            | 12 ++++++++----
 www/package.json                                                              |  2 +-
 22 files changed, 70 insertions(+), 35 deletions(-)

v0.12.0

08 May 16:13
Compare
Choose a tag to compare

Overview

This release aimed primarily to extend Greenwood's capabilities to handle Single Page Application (SPA) project types by adding it as a new mode configuration option, added support for being able to reverse proxy requests (like for API calls), and also made prerendering optional as a new (opt-out) configuration option. Additionally, if using plugin-graphql, you can now provide your own custom schema and resolvers.

Changelog

https://github.com/ProjectEvergreen/greenwood/issues?q=label%3Av0.12.0

  1. Fix inline <script> marker detection not correctly matching when Rollup bundles the inline source and changes its contents
  2. Added support for reverse proxy configuration for devServer
  3. Added configuration to allow pre-rendering to be optional
  4. Introduced a Single Page Application (SPA) configuration mode
  5. Support ad-hoc / custom GraphQL resolvers and definitions (schemas)
  6. add support for resolving sourcemaps (in development)

Breaking Changes

None

Known Issues

  1. Greenwood not working on Windows
  2. dev server proxy is not forwarding query params
  3. top level page or page template <meta> tags not showing up in output HTML

Diff

% git diff v0.11.1 v0.12.0 --stat
 .eslintrc.js                                                    |   1 +
 lerna.json                                                      |   2 +-
 nyc.config.js                                                   |   2 +-
 package.json                                                    |   1 +
 packages/cli/package.json                                       |   4 +-
 packages/cli/src/commands/build.js                              |  68 ++++----
 packages/cli/src/config/rollup.config.js                        |  23 +--
 packages/cli/src/lifecycles/config.js                           |  25 ++-
 packages/cli/src/lifecycles/graph.js                            |  23 ++-
 packages/cli/src/lifecycles/prerender.js                        | 111 +++++++++++++
 packages/cli/src/lifecycles/serialize.js                        |  83 ----------
 packages/cli/src/lifecycles/serve.js                            |  16 +-
 packages/cli/src/plugins/resource/plugin-dev-proxy.js           |  45 +++++
 packages/cli/src/plugins/resource/plugin-node-modules.js        |   6 +-
 packages/cli/src/plugins/resource/plugin-source-maps.js         |  40 +++++
 packages/cli/src/plugins/resource/plugin-standard-html.js       |  14 +-
 .../build.config.error-mode/build.config.error-mode.spec.js     |   2 +-
 .../build.config.error-prerender.spec.js                        |  46 ++++++
 .../test/cases/build.config.error-prerender/greenwood.config.js |   3 +
 .../cases/build.config.mode-mpa/build.config.mode-mpa.spec.js   |   2 +
 .../cases/build.config.mode-spa/build.config.mode-spa.spec.js   | 244 ++++++++++++++++++++++++++++
 .../cli/test/cases/build.config.mode-spa/greenwood.config.js    |   3 +
 packages/cli/test/cases/build.config.mode-spa/package.json      |   9 +
 .../test/cases/build.config.mode-spa/src/components/footer.js   |  49 ++++++
 packages/cli/test/cases/build.config.mode-spa/src/index.html    |  29 ++++
 packages/cli/test/cases/build.config.mode-spa/src/index.js      |  32 ++++
 .../cli/test/cases/build.config.mode-spa/src/routes/about.js    |   9 +
 .../cli/test/cases/build.config.mode-spa/src/routes/home.js     |   9 +
 .../cases/build.config.prerender/build.config.prerender.spec.js | 117 +++++++++++++
 .../cli/test/cases/build.config.prerender/greenwood.config.js   |   3 +
 .../test/cases/build.config.prerender/src/components/header.js  |  22 +++
 .../cli/test/cases/build.config.prerender/src/pages/index.html  |  13 ++
 .../build.default.import-node-modules.spec.js                   |  16 +-
 .../build.default.import-node-modules/src/pages/index.html      |   4 +-
 packages/plugin-babel/package.json                              |   4 +-
 packages/plugin-google-analytics/package.json                   |   4 +-
 packages/plugin-graphql/README.md                               |  91 ++++++++++-
 packages/plugin-graphql/package.json                            |   4 +-
 packages/plugin-graphql/src/core/server.js                      |   2 +-
 packages/plugin-graphql/src/queries/config.gql                  |   1 +
 packages/plugin-graphql/src/schema/config.js                    |   1 +
 packages/plugin-graphql/src/schema/schema.js                    | 104 +++++++-----
 .../test/cases/query-custom-schema/greenwood.config.js          |   9 +
 .../test/cases/query-custom-schema/query-custom-schema.spec.js  | 133 +++++++++++++++
 .../test/cases/query-custom-schema/src/assets/logo1.png         | Bin 0 -> 1150 bytes
 .../test/cases/query-custom-schema/src/assets/logo2.png         | Bin 0 -> 1150 bytes
 .../test/cases/query-custom-schema/src/assets/logo3.png         | Bin 0 -> 1150 bytes
 .../test/cases/query-custom-schema/src/data/queries/gallery.gql |   9 +
 .../test/cases/query-custom-schema/src/data/schema/gallery.js   |  44 +++++
 .../test/cases/query-custom-schema/src/pages/index.html         |  35 ++++
 packages/plugin-graphql/test/unit/schema/config.spec.js         |   8 +
 packages/plugin-import-commonjs/package.json                    |   4 +-
 packages/plugin-import-css/package.json                         |   8 +-
 packages/plugin-polyfills/package.json                          |   4 +-
 packages/plugin-postcss/package.json                            |   4 +-
 www/package.json                                                |   2 +-
 www/pages/docs/configuration.md                                 |  25 ++-
 www/pages/docs/data.md                                          |   2 +
 www/pages/docs/layouts.md                                       |  21 ++-
 www/pages/index.html                                            |   2 +-
 yarn.lock                                                       |  80 ++++++++-
 61 files changed, 1458 insertions(+), 219 deletions(-)

v0.11.1

29 Apr 01:12
Compare
Choose a tag to compare

Overview

This release aims to fix a couple recently identified important issues around multiple inline <script> tag optimizations during build time, and errors when using query strings in URLs with the server used for develop and serve commands.

Changelog

hhttps://github.com/ProjectEvergreen/greenwood/issues?q=label%3Av0.11.1

  1. query string parameters in browser URLs breaks develop / prod servers
  2. multiple inline <script> tags not getting correctly optimized - all tag tags show the same contents

Breaking Changes

None

Known Issues

N / A

Diff

% git diff v0.11.0 v0.11.1 --stat
 greenwood.config.js                                                   | 17 +++++++++++-
 lerna.json                                                            |  2 +-
 packages/cli/package.json                                             |  2 +-
 packages/cli/src/config/rollup.config.js                              | 43 +++++++++++++++++++++++--------
 packages/cli/src/lifecycles/serve.js                                  |  2 +-
 packages/cli/src/plugins/resource/plugin-user-workspace.js            |  9 +++++--
 .../build.default.import-node-modules.spec.js                         |  2 +-
 .../build.default.workspace-javascript-css.spec.js                    | 44 +++++++++++++++++++++++++++-----
 .../cases/build.default.workspace-javascript-css/src/pages/index.html | 27 ++++++++++++++++++--
 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-polyfills/package.json                                |  4 +--
 packages/plugin-postcss/package.json                                  |  4 +--
 www/package.json                                                      |  5 ++--
 www/pages/docs/component-model.md                                     |  2 +-
 yarn.lock                                                             |  5 ++++
 19 files changed, 146 insertions(+), 42 deletions(-)

v0.11.0

24 Apr 16:18
Compare
Choose a tag to compare

Overview

This release aims to close out our milestone towards achieving feature parity with our new "no bundle" philosophy introduced in v0.10.0. It also fixes a bug with duplicate <head> tag output when merging templates.

We also added a Code of Conduct (CoC) to the project.

Changelog

hhttps://github.com/ProjectEvergreen/greenwood/issues?q=label%3Av0.11.0

  1. restore ability to import <script> and <link> tags from frontmatter, including support for custom elements in markdown
  2. duplicate <head> tag output when merging templates

Breaking Changes

None

Known Issues

  1. multiple inline <script> tags not getting correctly optimized - all tag tags show the same contents
  2. query strings in URLs break servers

Diff

% git diff v0.10.1 v0.11.0 --stat
 .github/CONTRIBUTING.md                                               |   4 +-
 CODE_OF_CONDUCT.md                                                    | 133 +++++++++++++++++
 lerna.json                                                            |   2 +-
 package.json                                                          |   1 +
 packages/cli/package.json                                             |   2 +-
 packages/cli/src/lifecycles/graph.js                                  |   3 +
 packages/cli/src/plugins/resource/plugin-node-modules.js              |   6 +-
 packages/cli/src/plugins/resource/plugin-standard-html.js             |  55 ++++++-
 .../cli/test/cases/build.config.default/build.config.default.spec.js  |  23 +--
 packages/cli/test/cases/build.config.default/greenwood.config.js      |   1 -
 .../cases/build.config.error-mode/build.config.error-mode.spec.js     |  22 +--
 .../build.config.error-optimization.spec.js                           |  20 +--
 .../cases/build.config.error-title/build.config.error-title.spec.js   |  20 +--
 .../build.config.error-workspace-absolute.spec.js                     |  20 +--
 .../build.config.error-workspace/build.config.error-workspace.spec.js |  20 +--
 .../build.config.markdown-custom.spec.js                              |  21 +--
 .../build.config.markdown-custom.settings.spec.js                     |  21 +--
 packages/cli/test/cases/build.config.meta/build.config.meta.spec.js   |  20 ++-
 .../test/cases/build.config.mode-mpa/build.config.mode-mpa.spec.js    |  36 ++---
 .../build.config-optimization-default.spec.js                         |  22 +--
 .../build.config-optimization-inline.spec.js                          |  18 ++-
 .../build.config-optimization-none.spec.js                            |  22 +--
 .../build.config-optimization-static.spec.js                          |  18 ++-
 packages/cli/test/cases/build.config.title/build.config.title.spec.js |  20 ++-
 .../build.config.workspace-custom.spec.js                             |  20 ++-
 .../build.default.import-node-modules.spec.js                         | 237 ++++++++++++++++---------------
 .../test/cases/build.default.markdown/build.default.markdown.spec.js  |  19 ++-
 .../build.default.quick-start-npx.spec.js                             |  22 +--
 .../build.default.workspace-assets.spec.js                            |  22 +--
 .../build.default.workspace-frontmatter-imports.spec.js               | 143 +++++++++++++++++++
 .../src/components/counter/counter.css                                |   3 +
 .../src/components/counter/counter.js                                 |  42 ++++++
 .../src/pages/examples/counter.md                                     |  14 ++
 .../build.default.workspace-frontmatter-imports/src/pages/index.md    |   3 +
 .../build.default.workspace-getting-started.spec.js                   |  22 +--
 .../build.default.workspace-javascript-css-remote.spec.js             |  24 ++--
 .../build.default.workspace-javascript-css.spec.js                    |  24 ++--
 .../build.default.workspace-nested.spec.js                            |  20 ++-
 .../build.default.workspace-template-app.spec.js                      |  20 ++-
 .../build.default.workspace-template-page-and-app.spec.js             |  24 ++--
 .../build.default.workspace-template-page-bare-merging.spec.js        |  22 +--
 .../build.default.workspace-template-page.spec.js                     |  19 ++-
 .../build.default.workspace-top-level-pages.spec.js                   |  22 +--
 .../build.default.workspace-user-directory-mapping.spec.js            |  22 +--
 packages/cli/test/cases/build.default/build.default.spec.js           |  22 +--
 .../cases/build.plugins.error-name/build.plugins.error-name.spec.js   |  20 +--
 .../build.plugins.error-provider/build.plugins.error-provider.spec.js |  20 +--
 .../cases/build.plugins.error-type/build.plugins.error-type.spec.js   |  20 +--
 .../build.plugins.resource/build.config.plugins-resource.spec.js      |  20 ++-
 packages/cli/test/cases/eject.default/eject.default.spec.js           |  22 +--
 packages/plugin-babel/package.json                                    |   4 +-
 packages/plugin-babel/test/cases/default/default.spec.js              |  18 ++-
 .../test/cases/options.extend-config/options.extend-config.spec.js    |  20 ++-
 packages/plugin-google-analytics/package.json                         |   4 +-
 packages/plugin-google-analytics/test/cases/default/default.spec.js   |  19 ++-
 .../test/cases/error-analytics-id/error-analytics-id.spec.js          |  20 ++-
 .../test/cases/option-anonymous/option-anonymous.spec.js              |  23 +--
 packages/plugin-graphql/package.json                                  |   4 +-
 .../plugin-graphql/test/cases/query-children/query-children.spec.js   | 114 +++++++--------
 packages/plugin-graphql/test/cases/query-config/query-config.spec.js  |  53 +++----
 .../cases/query-custom-frontmatter/query-custom-frontmatter.spec.js   | 114 +++++++--------
 packages/plugin-graphql/test/cases/query-graph/query-graph.spec.js    | 114 +++++++--------
 packages/plugin-graphql/test/cases/query-menu/query-menu.spec.js      | 116 +++++++--------
 packages/plugin-import-commonjs/package.json                          |   4 +-
 packages/plugin-import-commonjs/test/cases/default/default.spec.js    |  39 +++--
 packages/plugin-import-css/package.json                               |   4 +-
 packages/plugin-import-css/test/cases/default/default.spec.js         |  19 ++-
 packages/plugin-polyfills/package.json                                |   4 +-
 packages/plugin-polyfills/test/cases/default/default.spec.js          |  38 ++---
 packages/plugin-postcss/package.json                                  |   4 +-
 packages/plugin-postcss/test/cases/default/default.spec.js            |  18 ++-
 .../test/cases/options.extend-config/options.extend-config.spec.js    |  20 ++-
 test/smoke-test.js                                                    |  10 +-
 test/test-bed.js                                                      | 138 ------------------
 test/utils.js                                                         |  40 +++++-
 www/components/footer/footer.css                                      |   4 +
 www/components/footer/footer.js                                       |   2 +-
 www/package.json                                                      |   2 +-
 www/pages/docs/front-matter.md                                        |  14 +-
 www/pages/docs/markdown.md                                            |  13 +-
 yarn.lock                                                             |  11 +-
 81 files changed, 1465 insertions(+), 940 deletions(-)