Skip to content

Releases: ProjectEvergreen/greenwood

v0.10.0

03 Apr 22:15
Compare
Choose a tag to compare

Overview

This is the official v0.10.0 release, following in a line of alpha releases all building to a bottom up refactor and re-envisioning of what Greenwood can be, and adapting the project's internals accordingly. This is helping to move the project's design further into a plugin based ecosystem and incorporating new features like a focus on "bundle-less" development, platform-first developer experiences, and trading in webpack* for a smaller collection of more focused packages like rollup and koa. Greenwood is embracing a paradigm shift in the not only how the project will be steered, but ultimately in how it can best help everyone deliver great developer and user experiences that are both easy to develop and maintain. ✌️

To get this upgrade, you can run the following:

# npm
$ npm install @greenwood/[email protected] --save dev

# yarn
$ yarn add @greenwood/[email protected] --dev

Changelog

This was effectively a big refactor of the internals with some breaking changes (see below) and probably a lot of nicer smaller enhancements and fixes we got for free.

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

Breaking Changes

For existing users, here is a summary of the breaking changes that occurred in each release so that depending on what feature you were using, you link out to the appropriate information.

In general, the main changes involve

  1. Migrating your templates to be HTML based instead of Web Component based
  2. Recommended default NodeJS version is now 12.x
  3. GraphQL is now a plugin (with minor schema changes)
  4. Using Babel and PostCSS now requires plugins
  5. Using import for CSS (and anything non standard) will be available through a plugin
  6. The spa optimization has been more appropriately renamed as mpa
Release Breaking Changes
alpha.0 Page Templates, PostCSS Plugins
alpha.1 N / A
alpha.2 N / A
alpha.3 N / A
alpha.4 Polyfill and GA Plugin usage modified
alpha.5 PostCSS and import for CSS and CommonJS moved to plugins
alpha.6 N / A
alpha.7 NodeJS v12.x min. requirement
alpha.8 GraphQL and Babel moved to plugins
alpha.9 N / A
alpha.10 spa optimization in config renamed to mpa

Known issues

  1. Still need to restore ability to include per page JS / CSS via frontmatter in markdown
  2. mpa router broken for non chrome browsers
  3. npx installer errors for node module dependencies

Diff

% git diff v0.9.0 v0.10.0 --stat
 .eslintignore                                                       |    5 +-
 .eslintrc.js                                                        |    8 +-
 .github/CONTRIBUTING.md                                             |   67 +-
 .github/workflows/ci.yml                                            |    2 +-
 .github/workflows/release.yml                                       |   39 +
 README.md                                                           |   12 +-
 greenwood.config.js                                                 |   18 +-
 lerna.json                                                          |    2 +-
 netlify.toml                                                        |    5 +-
 nyc.config.js                                                       |   12 +-
 package.json                                                        |   15 +-
 packages/cli/package.json                                           |   85 +-
 packages/cli/src/commands/build.js                                  |   55 +
 packages/cli/src/commands/develop.js                                |   39 +
 packages/cli/src/commands/eject.js                                  |   27 +
 packages/cli/src/commands/serve.js                                  |   20 +
 packages/cli/src/config/.browserslistrc                             |    3 -
 packages/cli/src/config/postcss.config.js                           |    7 -
 packages/cli/src/config/rollup.config.js                            |  504 ++
 packages/cli/src/config/webpack.config.common.js                    |  172 -
 packages/cli/src/config/webpack.config.develop.js                   |   93 -
 packages/cli/src/config/webpack.config.prod.js                      |   17 -
 packages/cli/src/data/common.js                                     |   46 -
 packages/cli/src/data/queries/children.gql                          |   10 -
 packages/cli/src/data/queries/graph.gql                             |   10 -
 packages/cli/src/index.js                                           |   87 +-
 packages/cli/src/lib/browser.js                                     |   10 +-
 packages/cli/src/lib/resource-interface.js                          |   69 +
 packages/cli/src/lib/router.js                                      |   38 +
 packages/cli/src/lib/server-interface.js                            |   18 +
 packages/cli/src/lifecycles/bundle.js                               |   22 +
 packages/cli/src/lifecycles/compile.js                              |   15 +-
 packages/cli/src/lifecycles/config.js                               |   67 +-
 packages/cli/src/lifecycles/context.js                              |   74 +-
 packages/cli/src/lifecycles/copy.js                                 |   76 +
 packages/cli/src/lifecycles/graph.js                                |  298 +-
 packages/cli/src/lifecycles/scaffold.js                             |  155 -
 packages/cli/src/lifecycles/serialize.js                            |  122 +-
 packages/cli/src/lifecycles/serve.js                                |  206 +
 packages/cli/src/plugins/resource/plugin-node-modules.js            |  250 +
 packages/cli/src/plugins/resource/plugin-optimization-mpa.js        |  106 +
 packages/cli/src/plugins/resource/plugin-standard-css.js            |   66 +
 packages/cli/src/plugins/resource/plugin-standard-font.js           |   38 +
 packages/cli/src/plugins/resource/plugin-standard-html.js           |  286 +
 packages/cli/src/plugins/resource/plugin-standard-image.js          |   55 +
 packages/cli/src/plugins/resource/plugin-standard-javascript.js     |   37 +
 packages/cli/src/plugins/resource/plugin-standard-json.js           |   52 +
 packages/cli/src/plugins/resource/plugin-user-workspace.js          |   38 +
 packages/cli/src/plugins/server/plugin-livereload.js                |   59 +
 packages/cli/src/tasks/build.js                                     |   42 -
 packages/cli/src/tasks/develop.js                                   |   25 -
 packages/cli/src/tasks/eject.js                                     |   26 -
 packages/cli/src/templates/404.html                                 |   16 -
 packages/cli/src/templates/app-template.js                          |   13 -
 packages/cli/src/templates/app.html                                 |   18 +
 packages/cli/src/templates/base-template.js                         |  104 -
 packages/cli/src/templates/index.html                               |   26 -
 packages/cli/src/templates/index.md                                 |    7 -
 packages/cli/src/templates/page-template.js                         |   15 -
 packages/cli/test/cases/build.config.babel/babel.config.js          |   20 -
 .../cli/test/cases/build.config.babel/build.config.babel.spec.js    |   58 -
 packages/cli/test/cases/build.config.babel/src/pages/index.md       |    3 -
 .../test/cases/build.config.default/build.config.default.spec.js    |    5 +-
 .../cases/build.config.error-mode/build.config.error-mode.spec.js   |   10 +-
 packages/cli/test/cases/build.config.error-mode/greenwood.config.js |    2 +-
 .../build.config.error-optimization.spec.js}                        |   11 +-
 .../test/cases/build.config.error-optimization/greenwood.config.js  |    3 +
 .../test/cases/build.config.error-public-path/greenwood.config.js   |    3 -
 .../test/cases/build.config.error-theme-file/greenwood.config.js    |    3 -
 .../build.config.markdown-custom.spec.js                            |   30 +-
 .../cases/build.config.markdown-custom.plugins/greenwood.config.js  |    5 +-
 .../cases/build.config.markdown-custom.plugins/src/pages/index.md   |    9 +
 .../build.config.markdown-custom.settings.spec.js                   |   22 +-
 packages/cli/test/cases/build.config.meta/build.config.meta.spec.js |   68 +-
 .../test/cases/build.config.mode-mpa/build.config.mode-mpa.spec.js  |  149 +
 packages/cli/test/cases/build.config.mode-mpa/greenwood.config.js   |    3 +
 packages/cli/test/cases/build.config.mode-mpa/src/pages/about.md    |    7 +
 packages/cli/test/cases/build.config.mode-mpa/src/pages/index.md    |    3 +
 packages/cli/test/cases/build.config.mode/build.confi...
Read more

v0.10.0-alpha.10

03 Apr 17:37
Compare
Choose a tag to compare
v0.10.0-alpha.10 Pre-release
Pre-release

Overview

This alpha.10 release completes all P0 issues related to No Bundle Feature Parity and is intended to be the last release before the 0.10.0 release itself.

Note: Each 0.10.0-alpha.N release will build upon itself release notes wise, with the sum all release notes being included in the final, actual 0.10.0 release. Please read here for the previous release's release notes. For more high level details about this upgrade, you can check out or Request For Contributions Google doc to learn more about our current project Roadmap and direction. (please reach out if interested in helping!)

To test this upgrade, you can run the following

# npm
$ npm install @greenwood/[email protected] --save-dev

# yarn
$ yarn add @greenwood/[email protected] --dev

You can see an example of an upgrade in our Getting Started repo.

Breaking Changes

Optimization (and Mode)

The optimization configuration setting has been re-enabled, as we the new mode setting as well, though mode is still experimental.

To restore client side navigation, please rename the spa setting to mpa instead. SPA will be used for "true" single page applications in the future, as MPA is really just SPA + client side routing.

Please see the previous release notes for any previously documented breaking changes 👆

Key Changes

Changelog

  1. restore and enhance mode and optimization configuration settings

Known Issues

A lot of features available in 0.9.0 of Greenwood are not available at this time in this release. The full list of outstanding items is here, with the main ones being captured below for quick reference:

N / A

Diff

$ git diff v0.10.0-alpha.9 v0.10.0-alpha.10 --stat
% git diff v0.10.0-alpha.9 v0.10.0-alpha.10 --stat
 greenwood.config.js                                                 |   3 +-
 lerna.json                                                          |   2 +-
 nyc.config.js                                                       |  12 +-
 packages/cli/package.json                                           |   2 +-
 packages/cli/src/config/rollup.config.js                            | 169 ++++++++++++++++-------
 packages/cli/src/index.js                                           |   8 --
 packages/cli/src/lib/browser.js                                     |  28 ++--
 packages/cli/src/lib/router.js                                      |  38 ++++++
 packages/cli/src/lifecycles/compile.js                              |   2 -
 packages/cli/src/lifecycles/config.js                               |  28 ++--
 packages/cli/src/lifecycles/copy.js                                 |   1 -
 packages/cli/src/lifecycles/serialize.js                            |   2 +
 packages/cli/src/lifecycles/serve.js                                |   3 +-
 packages/cli/src/plugins/resource/plugin-optimization-mpa.js        | 106 ++++++++++++++
 packages/cli/src/plugins/resource/plugin-standard-css.js            |   2 +-
 packages/cli/src/plugins/resource/plugin-standard-font.js           |   2 +-
 packages/cli/src/plugins/resource/plugin-standard-html.js           |  18 +--
 packages/cli/src/plugins/resource/plugin-standard-javascript.js     |   2 -
 packages/cli/src/plugins/resource/plugin-standard-json.js           |   4 -
 .../test/cases/build.config.default/build.config.default.spec.js    |   4 +-
 .../cases/build.config.error-mode/build.config.error-mode.spec.js   |  12 +-
 packages/cli/test/cases/build.config.error-mode/greenwood.config.js |   2 +-
 .../build.config.error-optimization.spec.js}                        |  12 +-
 .../test/cases/build.config.error-optimization/greenwood.config.js  |   3 +
 .../test/cases/build.config.error-theme-file/greenwood.config.js    |   3 -
 .../build.config.markdown-custom.spec.js                            |   1 -
 packages/cli/test/cases/build.config.meta/build.config.meta.spec.js |  64 +--------
 .../test/cases/build.config.mode-mpa/build.config.mode-mpa.spec.js  | 149 ++++++++++++++++++++
 packages/cli/test/cases/build.config.mode-mpa/greenwood.config.js   |   3 +
 packages/cli/test/cases/build.config.mode-mpa/src/pages/about.md    |   7 +
 packages/cli/test/cases/build.config.mode-mpa/src/pages/index.md    |   3 +
 packages/cli/test/cases/build.config.mode/build.config.mode.spec.js |  95 -------------
 packages/cli/test/cases/build.config.mode/greenwood.config.js       |   3 -
 packages/cli/test/cases/build.config.mode/src/pages/about/index.md  |   0
 packages/cli/test/cases/build.config.mode/src/pages/hello.md        |   7 -
 packages/cli/test/cases/build.config.mode/src/pages/index.md        |   3 -
 .../build.config-optimization-default.spec.js                       | 107 +++++++++++++++
 .../build.config.optimization-default/src/components/header.js      |  19 +++
 .../cases/build.config.optimization-default/src/pages/index.html    |  19 +++
 .../cases/build.config.optimization-default/src/styles/theme.css    |   5 +
 .../build.config-optimization-inline.spec.js                        | 115 ++++++++++++++++
 .../test/cases/build.config.optimization-inline/greenwood.config.js |   3 +
 .../cases/build.config.optimization-inline/src/components/header.js |  12 ++
 .../cases/build.config.optimization-inline/src/pages/index.html     |  19 +++
 .../cases/build.config.optimization-inline/src/styles/theme.css     |   5 +
 .../build.config-optimization-none.spec.js                          | 113 +++++++++++++++
 .../test/cases/build.config.optimization-none/greenwood.config.js   |   3 +
 .../cases/build.config.optimization-none/src/components/header.js   |  12 ++
 .../test/cases/build.config.optimization-none/src/pages/index.html  |  19 +++
 .../test/cases/build.config.optimization-none/src/styles/theme.css  |   5 +
 .../build.config-optimization-static.spec.js                        |  81 +++++++++++
 .../test/cases/build.config.optimization-static/greenwood.config.js |   3 +
 .../cases/build.config.optimization-static/src/components/header.js |  19 +++
 .../cases/build.config.optimization-static/src/pages/index.html     |  18 +++
 .../cli/test/cases/build.config.theme/build.config.theme.spec.js    |  95 -------------
 packages/cli/test/cases/build.config.theme/greenwood.config.js      |   3 -
 packages/cli/test/cases/build.config.theme/src/styles/my-brand.css  |   5 -
 .../test/cases/build.config.theme/src/templates/page-template.js    |  16 ---
 .../cli/test/cases/build.config.title/build.config.title.spec.js    |   7 +-
 .../build.config.workspace-custom.spec.js                           |   3 +-
 .../build.default.import-node-modules.spec.js                       |   2 +-
 .../cases/build.default.import-node-modules/src/pages/index.html    |   1 -
 .../cases/build.default.markdown/build.default.markdown.spec.js     |   1 -
 .../build.default.workspace-assets.spec.js                          |   1 -
 .../build.default.workspace-getting-started.spec.js                 |  28 ++--
 .../build.default.workspace-getting-started/src/templates/blog.html |   1 -
 .../build.default.workspace-getting-started/src/templates/page.html |   1 -
 .../build.default.workspace-javascript-css.spec.js                  |   2 +-
 .../build.default.workspace-javascript-css/src/pages/index.html     |   1 -
 .../build.default.workspace-nested.spec.js                          |   3 +-
 .../build.default.workspace-template-app.spec.js                    |   1 -
 .../build.default.workspace-template-app/src/templates/app.html     |   2 -
 .../build.default.workspace-template-page-and-app.spec.js           |  10 +-
 .../build.default.workspace-template-page.spec.js                   |  10 +-
 .../build.default.workspace-template-page/src/templates/page.html   |   1 -
 .../build.default.workspace-top-level-pages.spec.js                 |  10 +-
 .../build.default.workspace-top-level-pages/src/pages/index.html    |   4 +
 .../build.default.workspace-user-directory-mapping.spec.js          |  14 +-
 packages/cli/test/cases/build.default/build.default.spec.js         |   7 +-
 .../build.plugins.resource/build.config.plugins-resource.spec.js    |   2 +-
 packages/cli/test/cases/build.plugins.resource/src/pages/index.html |   1 -
 packages/plugin-babel/package.json                                  |   4 +-
 packages/plugin-babel/test/cases/default/default.spec.js            |   4 +-
 .../test/cases/options.extend-config/options.extend-config.spec.js  |   8 +-
 packages/plugin-google-analytics/package.json                       |   4 +-
 packages/plugin-google-analytics/test/cases/default/default.spec.js |   9 +-
 .../test/cases/option-anonymous/option-anonymous.spec.js            |   7 +-
 packages/plugin-graphql/package.json                                |   4 +-
 packages/plugin-graphql/src/index.js                                |   3 +-
 packages/plugin-graphql/src/queries/config.gql                      |   1 +
 packages/plugin-graphql/src/schema/config.js                        |   1 +
 .../plugin-graphql/test/cases/query-children/query-children.spec.js | 151 ++++++++++++++++++++
 .../test/cases/query-children/src/components/posts-list.js          |   2 +-
 .../plugin-graphql/test/cases/query-config/query-c...
Read more

v0.10.0-alpha.9

26 Mar 00:31
Compare
Choose a tag to compare
v0.10.0-alpha.9 Pre-release
Pre-release

Overview

This alpha.9 release address two recently identified bugs.

Note: Each 0.10.0-alpha.N release will build upon itself release notes wise, with the sum all release notes being included in the final, actual 0.10.0 release. Please read here for the previous release's release notes. For more high level details about this upgrade, you can check out or Request For Contributions Google doc to learn more about our current project Roadmap and direction. (please reach out if interested in helping!)

To test this upgrade, you can run the following

# npm
$ npm install @greenwood/[email protected] --save-dev

# yarn
$ yarn add @greenwood/[email protected] --dev

You can see an example of an upgrade in our Getting Started repo.

Breaking Changes

N / A

Please see the previous release notes for any previously documented breaking changes 👆

Key Changes

Changelog

  1. better browser handling for chrome for importing CSS
  2. handle no bundling of remote URLs and add error handling for sync rollup hooks

Known Issues

A lot of features available in 0.9.0 of Greenwood are not available at this time in this release. The full list of outstanding items is here, with the main ones being captured below for quick reference:

  1. Restore optimizations and SPA MPA support

Diff

$ git diff v0.10.0-alpha.8 v0.10.0-alpha.9 --stat
lerna.json                                                     |   2 +-
 packages/cli/package.json                                      |   2 +-
 packages/cli/src/config/rollup.config.js                       | 283 ++++++++++++++--------------
 .../build.default.workspace-javascript-css-remote.spec.js      | 107 +++++++++++
 .../src/pages/index.html                                       |  14 ++
 packages/plugin-babel/package.json                             |   4 +-
 packages/plugin-google-analytics/package.json                  |   4 +-
 packages/plugin-graphql/package.json                           |   4 +-
 packages/plugin-import-commonjs/package.json                   |   4 +-
 packages/plugin-import-css/package.json                        |   4 +-
 packages/plugin-import-css/src/index.js                        |   5 +-
 packages/plugin-polyfills/package.json                         |   4 +-
 packages/plugin-postcss/package.json                           |   4 +-
 www/package.json                                               |   2 +-
 www/pages/docs/data.md                                         |  26 ---
 15 files changed, 288 insertions(+), 181 deletions(-)

Lighthouse

N / A

v0.10.0-alpha.8

19 Mar 01:23
Compare
Choose a tag to compare
v0.10.0-alpha.8 Pre-release
Pre-release

Overview

This alpha.8 release restores two critical missing pieces of functionality by adding back in (as plugins) GraphQL and Babel support. 🌟

Note: Each 0.10.0-alpha.N release will build upon itself release notes wise, with the sum all release notes being included in the final, actual 0.10.0 release. Please read here for the previous release's release notes. For more high level details about this upgrade, you can check out or Request For Contributions Google doc to learn more about our current project Roadmap and direction. (please reach out if interested in helping!)

To test this upgrade, you can run the following

# npm
$ npm install @greenwood/[email protected] --save-dev

# yarn
$ yarn add @greenwood/[email protected] --dev

You can see an example of an upgrade in our Getting Started repo.

Breaking Changes

GraphQL

You will now need to install a plugin for GraphQL support

# npm
npm -i @greenwood/plugin-graphql --save-dev

# yarn
yarn add @greenwood/plugin-graphql --dev

And then add this plugin to your greenwood.config.js.

const pluginGraphQL = require('@greenwood/plugin-graphql');

module.exports = {
  ...

  plugins: [
    ...pluginGraphQL() // notice the spread ... !
  ]
}

Additionally, there were some minor tweaks to the schema , so here is what it looks like now

graph {
  filename, // (string) file name without extension/path, so that it can be copied to scratch dir with same name
  
  id, // (string) filename without the extension

  label, // (string) best guess pretty text / display based on filename

  path, // (string) path to the file

  route,  // (string) A URL, typically derived from the filesystem path, e.g. /blog/2019/first-post/

  template, // (string) page template used for the page

  title,  // (string) Useful for a page's <title> tag or the title attribute for an <a> tag, inferred from the filesystem path, e.g. "First Post" or provided through front matter.
}

You can read more in the package's README.md and our documentation.

Babel

You will now need to install a plugin for Babel support

# npm
npm -i @greenwood/plugin-babel --save-dev

# yarn
yarn add @greenwood/plugin-babel --dev

And then add this plugin to your greenwood.config.js.

const pluginBabel = require('@greenwood/plugin-babel');

module.exports = {
  ...

  plugins: [
    ...pluginBabel() // notice the spread ... !
  ]
}

You can read more in the package's README.md


Please see the previous release notes for any previously documented breaking changes 👆

Key Changes

Changelog

  1. Restore GraphQL support
  2. Restore Babel / Browserslist support

Known Issues

A lot of features available in 0.9.0 of Greenwood are not available at this time in this release. The full list of outstanding items is here, with the main ones being captured below for quick reference:

  1. Restore optimizations and MPA support

Diff

$ git diff v0.10.0-alpha.7 v0.10.0-alpha.8 --stat
 .eslintignore                                                    |    3 +-
 .eslintrc.js                                                     |    6 -
 .mocharc.js                                                      |    3 +-
 README.md                                                        |    4 +-
 greenwood.config.js                                              |    4 +
 lerna.json                                                       |    2 +-
 packages/cli/package.json                                        |    2 +-
 packages/cli/src/commands/build.js                               |   44 +-
 packages/cli/src/commands/eject.js                               |   28 +-
 packages/cli/src/config/.browserslistrc                          |    3 -
 packages/cli/src/config/rollup.config.js                         |   17 +-
 packages/cli/src/data/common.js                                  |   46 -
 packages/cli/src/data/queries/children.gql                       |   10 -
 packages/cli/src/data/queries/graph.gql                          |   10 -
 packages/cli/src/index.js                                        |   13 +-
 packages/cli/src/lifecycles/config.js                            |    2 +-
 packages/cli/src/lifecycles/graph.js                             |   12 +-
 packages/cli/src/lifecycles/serve.js                             |    2 +-
 packages/cli/src/plugins/resource/plugin-node-modules.js         |   95 +-
 packages/cli/src/plugins/server/plugin-livereload.js             |    7 +-
 packages/cli/test/cases/build.config.babel/babel.config.js       |   20 -
 .../cli/test/cases/build.config.babel/build.config.babel.spec.js |   58 -
 packages/cli/test/cases/build.config.babel/src/pages/index.md    |    3 -
 .../build.data.graph-custom-frontmatter.spec.js                  |  145 --
 .../cases/build.data.graph-custom-frontmatter/src/pages/index.md |    7 -
 .../src/templates/blog-template.js                               |   78 -
 .../cli/test/cases/build.data.graph/build.data.graph.spec.js     |  294 ---
 packages/cli/test/cases/build.data.graph/src/pages/blog/index.md |    5 -
 packages/cli/test/cases/build.data.graph/src/pages/index.md      |    7 -
 .../test/cases/build.data.graph/src/templates/blog-template.js   |   62 -
 .../test/cases/build.data.graph/src/templates/page-template.js   |   21 -
 .../test/cases/build.data.graph/src/templates/post-template.js   |   67 -
 packages/cli/test/cases/eject.default/eject.default.spec.js      |  111 +-
 packages/cli/test/unit/data/mocks/graph.js                       |    4 -
 packages/plugin-babel/README.md                                  |   77 +
 packages/plugin-babel/package.json                               |   39 +
 packages/plugin-babel/src/.browserslistrc                        |    2 +
 packages/{cli/src/config => plugin-babel/src}/babel.config.js    |   21 +-
 packages/plugin-babel/src/index.js                               |   78 +
 packages/plugin-babel/test/cases/default/babel.config.js         |    6 +
 packages/plugin-babel/test/cases/default/default.spec.js         |   76 +
 packages/plugin-babel/test/cases/default/greenwood.config.js     |    7 +
 packages/plugin-babel/test/cases/default/src/pages/index.html    |   12 +
 packages/plugin-babel/test/cases/default/src/scripts/main.js     |   18 +
 .../test/cases/options.extend-config/babel.config.js             |    6 +
 .../test/cases/options.extend-config/greenwood.config.js         |    9 +
 .../cases/options.extend-config/options.extend-config.spec.js    |   93 +
 .../test/cases/options.extend-config/src/pages/index.html        |   12 +
 .../test/cases/options.extend-config/src/scripts/main.js         |   18 +
 packages/plugin-google-analytics/package.json                    |    4 +-
 packages/plugin-graphql/README.md                                |   84 +
 packages/plugin-graphql/package.json                             |   35 +
 packages/{cli/src/data => plugin-graphql/src/core}/cache.js      |   29 +-
 packages/{cli/src/data => plugin-graphql/src/core}/client.js     |   32 +-
 packages/plugin-graphql/src/core/common.client.js                |   23 +
 packages/plugin-graphql/src/core/common.server.js                |   23 +
 packages/{cli/src/data => plugin-graphql/src/core}/server.js     |    4 +-
 packages/plugin-graphql/src/index.js                             |  121 ++
 packages/plugin-graphql/src/queries/children.gql                 |   11 +
 packages/{cli/src/data => plugin-graphql/src}/queries/config.gql |    0
 packages/plugin-graphql/src/queries/graph.gql                    |   11 +
 packages/{cli/src/data => plugin-graphql/src}/queries/menu.gql   |    6 +-
 packages/{cli/src/data => plugin-graphql/src}/schema/config.js   |    0
 packages/{cli/src/data => plugin-graphql/src}/schema/graph.js    |   81 +-
 packages/{cli/src/data => plugin-graphql/src}/schema/schema.js   |    0
 .../plugin-graphql/test/cases/query-children/greenwood.config.js |   10 +
 packages/plugin-graphql/test/cases/query-children/package.json   |    6 +
 .../test/cases/query-children/src/components/posts-list.js       |   55 +
 .../test/cases/query-children/src/pages/blog/first-post/index.md |    8 +
 .../cases/query-children/src/pages/blog/second-post/index.md     |    8 +
 .../test/cases/query-children/src/pages/index.html               |   12 +
 .../plugin-graphql/test/cases/query-config/greenwood.config.js   |   10 +
 .../plugin-graphql/test/cases/query-config/query-config.spec.js  |  110 ++
 .../test/cases/query-config/src/components/footer.js             |   22 +
 .../plugin-graphql/test/cases/query-config/src/pages/index.html  |   12 +
 .../test/cases/query-custom-frontmatter/greenwood.config.js      |    9 +
 .../test/cases/query-custom-frontmatter/package.json             |    6 +
 .../query-custom-frontmatter/query-custom-frontmatter.spec.js    |  179 ++
 .../cases/query-custom-frontmatter/src/co...
Read more

v0.10.0-alpha.7

05 Mar 23:20
Compare
Choose a tag to compare
v0.10.0-alpha.7 Pre-release
Pre-release

Overview

This alpha.7 release upgrade the project to Node v12.x as the minimum version and has a bunch of bug fixes including some of the ongoing known issues. 💯

Note: Each 0.10.0-alpha.N release will build upon itself release notes wise, with the sum all release notes being included in the final, actual 0.10.0 release. Please read here for the previous release's release notes. For more high level details about this upgrade, you can check out or Request For Contributions Google doc to learn more about our current project Roadmap and direction. (please reach out if interested in helping!)

To test this upgrade, you can run the following

# npm
$ npm install @greenwood/[email protected] --save-dev

# yarn
$ yarn add @greenwood/[email protected] --dev

You can see an example of an upgrade in our Getting Started repo.

Breaking Changes

NodeJS

Depending on your setup, you should plan to starting using Node >= 12.x for Greenwood.

Please see the previous release notes for any previously documented breaking changes 👆

Key Changes

Changelog

  1. handle bare imports in <head> tags
  2. fix merge order of template <head> tags
  3. ensure proper closing tag semantics
  4. restored default <meta> tags for default app template
  5. better support for top level pages
  6. formalize NodeJS v12 as minimum
  7. fix import CSS not working in non Chrome browsers
  8. fix only adding JS entry points to importMap

Known Issues

A lot of features available in 0.9.0 of Greenwood are not available at this time in this release. The full list of outstanding items is here, with the main ones being captured below for quick reference:

  1. Restore GraphQL support
  2. Restore optimizations and MPA support
  3. Restore Babel / Browserslist support

Diff

$ git diff v0.10.0-alpha.6 v0.10.0-alpha.7 --stat
 .github/workflows/ci.yml                                                   |   2 +-
 lerna.json                                                                 |   2 +-
 packages/cli/package.json                                                  |   8 +-
 packages/cli/src/config/rollup.config.js                                   | 261 ++++++++++++++++++++++++----------
 packages/cli/src/plugins/resource/plugin-node-modules.js                   |   9 +-
 packages/cli/src/plugins/resource/plugin-standard-html.js                  |  60 ++++++--
 packages/cli/src/templates/app.html                                        |   7 +-
 .../build.default.import-node-modules.spec.js                              |  97 +++++++++++--
 packages/cli/test/cases/build.default.import-node-modules/package.json     |   3 +-
 .../cli/test/cases/build.default.import-node-modules/src/pages/index.html  |   9 ++
 .../build.default.workspace-javascript-css.spec.js                         | 151 ++++++++++++++++++++
 .../test/cases/build.default.workspace-javascript-css/src/pages/index.html |  29 ++++
 .../test/cases/build.default.workspace-javascript-css/src/scripts/main.js  |   1 +
 .../test/cases/build.default.workspace-javascript-css/src/scripts/other.js |   1 +
 .../test/cases/build.default.workspace-javascript-css/src/styles/main.css  |   3 +
 .../build.default.workspace-template-page-and-app.spec.js                  | 129 +++++++++++++++++
 .../src/scripts/app-template-one.js                                        |   1 +
 .../src/scripts/app-template-two.js                                        |   1 +
 .../src/scripts/page-template-one.js                                       |   1 +
 .../src/scripts/page-template-two.js                                       |   1 +
 .../src/styles/app-template-one.css                                        |   3 +
 .../src/styles/app-template-two.css                                        |   3 +
 .../src/styles/page-template-one.css                                       |   3 +
 .../src/styles/page-template-two.css                                       |   3 +
 .../build.default.workspace-template-page-and-app/src/templates/app.html   |  29 ++++
 .../build.default.workspace-template-page-and-app/src/templates/page.html  |  37 +++++
 .../build.default.workspace-template-page-style.spec.js                    | 104 --------------
 .../build.default.workspace-template-page-style/src/templates/page.html    |  49 -------
 .../build.default.workspace-template-page.spec.js                          |  74 +++++++++-
 .../test/cases/build.default.workspace-template-page/src/scripts/main.js   |   1 +
 .../src/styles/theme.css                                                   |   0
 .../cases/build.default.workspace-template-page/src/templates/page.html    |  24 +++-
 .../build.default.workspace-top-level-pages.spec.js                        | 114 +++++++++++++++
 .../cases/build.default.workspace-top-level-pages/src/pages/about.html     |   9 ++
 .../cases/build.default.workspace-top-level-pages/src/pages/contact.md     |   3 +
 .../cases/build.default.workspace-top-level-pages/src/pages/index.html     |   8 ++
 packages/cli/test/cases/build.default/build.default.spec.js                |  50 ++++++-
 packages/plugin-google-analytics/package.json                              |   4 +-
 packages/plugin-import-commonjs/package.json                               |   4 +-
 packages/plugin-import-css/package.json                                    |   4 +-
 packages/plugin-import-css/src/index.js                                    |   2 +-
 packages/plugin-polyfills/package.json                                     |   4 +-
 packages/plugin-postcss/package.json                                       |   4 +-
 www/package.json                                                           |   2 +-
 www/pages/docs/layouts.md                                                  |  46 +++++-
 www/pages/guides/cloudflare-workers-deployment.md                          |   2 +-
 www/pages/guides/s3-cloudfront.md                                          |   2 +-
 www/pages/index.html                                                       |   2 +-
 www/styles/page.css                                                        |   2 -
 www/templates/app.html                                                     |  25 ++--
 www/templates/page.html                                                    |   6 +-
 yarn.lock                                                                  |  40 +-----
 52 files changed, 1089 insertions(+), 350 deletions(-)

Lighthouse

greenwood-v0 10 0-alpha 5-lighthouse

v0.10.0-alpha.6

20 Feb 17:17
Compare
Choose a tag to compare
v0.10.0-alpha.6 Pre-release
Pre-release

Overview

This alpha.6 is a small patch fix to address a missing module / dependency error blocking usage of the @greenwood/cli package from the previous release.

Note: Each 0.10.0-alpha.N release will build upon itself release notes wise, with the sum all release notes being included in the final, actual 0.10.0 release. Please read here for the previous release's release notes. For more high level details about this upgrade, you can check out or Request For Contributions Google doc to learn more about our current project Roadmap and direction. (please reach out if interested in helping!)

To test this upgrade, you can run the following

# npm
$ npm install @greenwood/[email protected] --save-dev

# yarn
$ yarn add @greenwood/[email protected] --dev

You can see an example of an upgrade in our Getting Started repo.

Breaking Changes

N / A

Please see the previous release notes for any previously documented breaking changes 👆

Key Changes

Changelog

  1. module cssnano not found

Known Issues

A lot of features available in 0.9.0 of Greenwood are not available at this time in this release. The full list of outstanding items is here, with the main ones being captured below for quick reference:

  1. Restore GraphQL support
  2. <link> tag detection is incorrect
  3. top level HTML page builds without the page content
  4. Restore optimizations and SPA support
  5. Restore Babel / Browserslist support
  6. plugin-import-css not working in (non Chrome) browsers like Safari and Firefox for development

Diff

$ git diff v0.10.0-alpha.5 v0.10.0-alpha.6 --stat
 lerna.json                                    | 2 +-
 packages/cli/package.json                     | 3 ++-
 packages/plugin-google-analytics/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 +-
 8 files changed, 14 insertions(+), 13 deletions(-)

Lighthouse

greenwood-v0 10 0-alpha 5-lighthouse

v0.10.0-alpha.5

20 Feb 16:28
Compare
Choose a tag to compare
v0.10.0-alpha.5 Pre-release
Pre-release

Overview

This alpha.5 release introduces a couple breaking changes but also provides the fallback for those by introducing three new plugins! In general, Greenwood wants to keep a lean core focused a very dedicated closeness to the web, and so for thins like being able to use import for non standard things (like CSS) have now been moved out to plugins that Greenwood provides. You of course can make your own for these, but Greenwood does want to provide a balance between all these, you can expect more plugins for Greenwood to support going forward as well, like TypeScript and Babel.

It also introduced two new plugin types:

Note: Each 0.10.0-alpha.N release will build upon itself release notes wise, with the sum all release notes being included in the final, actual 0.10.0 release. Please read here for the previous release's release notes. For more high level details about this upgrade, you can check out or Request For Contributions Google doc to learn more about our current project Roadmap and direction. (please reach out if interested in helping!)

To test this upgrade, you can run the following

# npm
$ npm install @greenwood/[email protected] --save-dev

# yarn
$ yarn add @greenwood/[email protected] --dev

You can see an example of an upgrade in our Getting Started repo.

Breaking Changes

PostCSS

if you want to use PostCSS, you will now need to install a plugin and include that in your greenwood.config.js. You can then create your own postcss.config.js and the plugin will forward your config onto

  1. Install plugin
    $ yarn add @greenwood/plugin-postcss --dev
  2. Include the plugin in your greenwood.config.js
    const pluginPostcss = require('@greenwood/plugin-postcss');
    
    module.exports = {
    
      plugins: [
        pluginPostcss()
      ]
    }
  3. Provide your own postcss.config.js
    module.exports = {
      plugins: [
        require('postcss-nested') // as an example
      ]
    };
  4. Now you can use nested CSS
    header {
      & nav {
        /* some styles */
      }
    }

Import CSS

if you want to be able to import your CSS, you will now need to install a plugin and include that in your greenwood.config.js. You can then use ESM import syntax to get CSS as a string your JavaScript.

  1. Install plugin
    $ yarn add @greenwood/plugin-import-css --dev
  2. Include the plugin in your greenwood.config.js
    const pluginImportCss = require('@greenwood/plugin-import-css');
    
    module.exports = {
    
      plugins: [
         ...pluginImportCss() // notice the spread ... !
      ]
    }
  3. Now you can import CSS in your JS
    import css from './some-file.css';
    
    console.log(css); // will be a string of the contents of your CSS file

Import CommonJS

if you want to be able to import CommonJS modules (as are commonly found on NPM), you will now need to install a plugin and include that in your greenwood.config.js. You can then use ESM import syntax to load these types of modules, like lodash, in your JavaScript.

  1. Install plugin
    $ yarn add @greenwood/plugin-import-commonjs --dev
  2. Include the plugin in your greenwood.config.js
    const pluginImportCommonjs = require('@greenwood/plugin-import-commonjs');
    
    module.exports = {
    
      plugins: [
         ...pluginImportCommonjs() // notice the spread ... !
      ]
    }
  3. Now you can import CommonJS modules in your JS
    import _ from 'lodash';
    
    _.defaults({ 'a': 1 }, { 'a': 3, 'b': 2 }) // → { 'a': 1, 'b': 2 }

Please see the previous release notes for any previously documented breaking changes 👆

Key Changes

Changelog

  1. Server Plugin API
  2. PostCSS and import CSS as plugins, and new Rollup Plugin
  3. Support for import for CommonJS modules, as a plugin

Known Issues

A lot of features available in 0.9.0 of Greenwood are not available at this time in this release. The full list of outstanding items is here, with the main ones being captured below for quick reference:

  1. module cssnano not found
  2. Restore GraphQL support
  3. <link> tag detection is incorrect
  4. top level HTML page builds without the page content
  5. Restore optimizations and SPA support
  6. Restore Babel / Browserslist support

Diff

$ git diff v0.10.0-alpha.4 v0.10.0-alpha.5 --stat
 greenwood.config.js                                                        |   6 +-
 lerna.json                                                                 |   2 +-
 netlify.toml                                                               |   5 +-
 packages/cli/package.json                                                  |  16 +--
 packages/cli/src/commands/develop.js                                       |  27 +++--
 packages/cli/src/config/postcss.config.js                                  |   5 -
 packages/cli/src/config/rollup.config.js                                   | 183 ++++++++++++++++++++------------
 packages/cli/src/lib/resource-interface.js                                 |  51 +++++----
 packages/cli/src/lib/server-interface.js                                   |  18 ++++
 packages/cli/src/lifecycles/config.js                                      |   2 +-
 packages/cli/src/lifecycles/graph.js                                       |   5 +-
 packages/cli/src/lifecycles/serialize.js                                   |   5 +-
 packages/cli/src/lifecycles/serve.js                                       |  73 ++++++++-----
 packages/cli/src/plugins/resource/plugin-node-modules.js                   | 158 +++++++++++++++++++++-------
 packages/cli/src/plugins/resource/plugin-standard-css.js                   |  63 ++++++-----
 packages/cli/src/plugins/resource/plugin-standard-html.js                  |  32 ++----
 packages/cli/src/plugins/resource/plugin-standard-javascript.js            |   2 +
 packages/cli/src/plugins/resource/plugin-standard-json.js                  |   2 +
 packages/cli/src/plugins/resource/plugin-user-workspace.js                 |   7 +-
 packages/cli/src/plugins/server/plugin-livereload.js                       |  58 +++++++++++
 .../build.default.import-node-modules.spec.js                              | 191 ++++++++++++++++++++++++++++++++++
 packages/cli/test/cases/build.default.import-node-modules/package.json     |   9 ++
 .../cli/test/cases/build.default.import-node-modules/src/pages/index.html  |  16 +++
 .../cli/test/cases/build.default.import-node-modules/src/scripts/main.js   |   9 ++
 .../test/cases/build.plugins.error-type/build.plugins.error-type.spec.js   |   2 +-
 packages/plugin-google-analytics/README.md                                 |  20 ++--
 packages/plugin-google-analytics/package.json                              |  10 +-
 packages/plugin-google-analytics/src/index.js                              |   9 +-
 packages/plugin-import-commonjs/README.md                                  |  45 ++++++++
 packages/plugin-import-commonjs/package.json                               |  33 ++++++
 packages/plugin-import-commonjs/src/index.js                               |  95 +++++++++++++++++
 packages/plugin-import-commonjs/test/cases/default/default.spec.js         |  88 ++++++++++++++++
 packages/plugin-import-commonjs/test/cases/default/greenwood.config.js     |   7 ++
 packages/plugin-import-commonjs/test/cases/default/package.json            |   6 ++
 packages/plugin-import-commonjs/test/cases/default/src/pages/index.html    |  13 +++
 packages/plugin-import-commonjs/test/cases/default/src/scripts/main.js     |   4 +
 packages/plugin-import-css/README.md                                       |  41 ++++++++
 packages/plugin-import-css/package.json                                    |  31 ++++++
 packages/plugin-import-css/src/index.js                                    |  56 ++++++++++
 packages/plugin-import-css/test/cases/default/default.spec.js              |  67 ++++++++++++
 packages/plugin-import-css/test/cases/default/greenwood.config.js          |   7 ++
 packages/plugin-import-css/test/cases/default/src/main.js                  |   3 +
 packages/plugin-import-css/test/cases/default/src/pages/index.html         |  13 +++
 packages/plugin-import-css/test/cases/default/src/styles.css               |   3 +
 packages...
Read more

v0.10.0-alpha.4

23 Jan 18:32
Compare
Choose a tag to compare
v0.10.0-alpha.4 Pre-release
Pre-release

Overview

This alpha.4 release introduces a redesign of how Plugins will work in Greenwood, by removing composite, webpack, and index, options, and introducing the Resource plugin. Plugin docs have been updated accordingly. This release also fixes some bugs with building pages that have index in the filename, now correctly supports custom markdown and settings, and documents some known issues with using <slot>s. You can find our latest docs here as built from the release/0.10.0 branch.

It was realized after the release that the README for each Plugin wasn't updated, for now use our notes in this document.

Note: Each 0.10.0-alpha.N release will build upon itself release notes wise, with the sum all release notes being included in the final, actual 0.10.0 release. Please read here for the previous release's release notes. For more high level details about this upgrade, you can check out or Request For Contributions Google doc to learn more about our current project Roadmap and direction. (please reach out if interested in helping!)

To test this upgrade, you can run the following

# npm
$ npm install @greenwood/[email protected] --save dev

# yarn
$ yarn add @greenwood/[email protected] --dev

You can see an example of an upgrade in our Getting Started repo.

Breaking Changes

Plugins

Aside from how plugins work now, for both of Greenwood's current plugins, the usage in your greenwood.config.js has changed slightly.

// before
module.exports = {
  ...

 plugins: [
    ...pluginPolyfills()
 ]
}

// after
module.exports = {
  ...

 plugins: [
    pluginPolyfills(). // no more destructuring
 ]
}

Please see the previous release notes for any previously documented breaking changes 👆

Key Changes

Changelog

  1. Resource API
  2. Plugins documentation
  3. Documentation related to usage of <slot> and duplicate content when pre-rendering
  4. Fixed issue with missing build output when page name includes index in the filename
  5. Made URLs "pretty" when running serve command
  6. Correctly support custom markdown plugins and settings

Known Issues

A lot of features available in 0.9.0 of Greenwood are not available at this time in this release. The full list of outstanding items is here, with the main ones being captured below for quick reference:

  1. support common node module package resolutions
  2. Restore GraphQL support
  3. <link> tag detection is incorrect
  4. top level HTML page builds without the page content
  5. Restore optimizations and SPA support
  6. Restore Babel / Browserslist support

Diff

$ git diff v0.10.0-alpha.3 v0.10.0-alpha.4 --stat
 greenwood.config.js                                                   |  19 ++-
 lerna.json                                                            |   2 +-
 packages/cli/package.json                                             |   2 +-
 packages/cli/src/config/rollup.config.js                              |  27 +++-
 packages/cli/src/lib/resource-interface.js                            |  62 ++++++++
 packages/cli/src/lifecycles/config.js                                 |  36 +++--
 packages/cli/src/lifecycles/graph.js                                  |   6 +
 packages/cli/src/lifecycles/serialize.js                              |  41 +++--
 packages/cli/src/lifecycles/serve.js                                  | 179 +++++++++++++--------
 packages/cli/src/plugins/resource/plugin-node-modules.js              | 108 +++++++++++++
 .../transform.css.js => plugins/resource/plugin-standard-css.js}      |  46 +++---
 packages/cli/src/plugins/resource/plugin-standard-font.js             |  38 +++++
 packages/cli/src/plugins/resource/plugin-standard-html.js             | 274 ++++++++++++++++++++++++++++++++
 packages/cli/src/plugins/resource/plugin-standard-image.js            |  55 +++++++
 packages/cli/src/plugins/resource/plugin-standard-javascript.js       |  37 +++++
 packages/cli/src/plugins/resource/plugin-standard-json.js             |  54 +++++++
 packages/cli/src/plugins/resource/plugin-user-workspace.js            |  33 ++++
 packages/cli/src/transforms/transform.assets.js                       |  59 -------
 packages/cli/src/transforms/transform.html.js                         |  50 ------
 packages/cli/src/transforms/transform.interface.js                    |  24 ---
 packages/cli/src/transforms/transform.js.js                           |  38 -----
 packages/cli/src/transforms/transform.json.js                         |  45 ------
 packages/cli/src/transforms/transform.md.js                           | 109 -------------
 packages/cli/src/transforms/transform.tools.js                        | 183 ---------------------
 .../build.config.markdown-custom.spec.js                              |  12 +-
 .../build.config.markdown-custom.settings.spec.js                     |  24 ++-
 packages/cli/test/cases/build.default.markdown/src/pages/index.md     |   2 +-
 .../build.default.workspace-getting-started.spec.js                   |   4 +
 .../build.default.workspace-getting-started/src/templates/blog.html   |   1 +
 .../build.default.workspace-user-directory-mapping.spec.js            |  10 +-
 .../cli/test/cases/build.plugins-index/build.plugins-index.spec.js    |  85 ----------
 packages/cli/test/cases/build.plugins-index/greenwood.config.js       |  31 ----
 .../test/cases/build.plugins-webpack/build-plugins-webpack.spec.js    |  78 ---------
 packages/cli/test/cases/build.plugins-webpack/greenwood.config.js     |  13 --
 .../cases/build.plugins.error-name/build.plugins.error-name.spec.js   |  49 ++++++
 packages/cli/test/cases/build.plugins.error-name/greenwood.config.js  |   8 +
 .../build.plugins.error-provider.spec.js}                             |   7 +-
 .../greenwood.config.js                                               |   2 +-
 .../build.plugins.error-type.spec.js}                                 |  10 +-
 .../greenwood.config.js                                               |   0
 .../build.plugins.resource/build.config.plugins-resource.spec.js      |  70 ++++++++
 packages/cli/test/cases/build.plugins.resource/greenwood.config.js    |  36 +++++
 .../cases/build.plugins.resource/src/foo-files/my-custom-file.foo     |   9 ++
 .../build.plugins.resource/src/foo-files/my-other-custom-file.foo     |   8 +
 packages/cli/test/cases/build.plugins.resource/src/pages/index.html   |  13 ++
 packages/plugin-google-analytics/package.json                         |   4 +-
 packages/plugin-google-analytics/src/index.js                         |  56 ++++---
 packages/plugin-google-analytics/test/cases/default/default.spec.js   |   9 +-
 .../plugin-google-analytics/test/cases/default/greenwood.config.js    |   2 +-
 .../test/cases/error-analytics-id/error-analytics-id.spec.js          |   6 +-
 .../test/cases/error-analytics-id/greenwood.config.js                 |   2 +-
 .../test/cases/option-anonymous/greenwood.config.js                   |   2 +-
 .../test/cases/option-anonymous/option-anonymous.spec.js              |   8 +-
 packages/plugin-polyfills/package.json                                |   4 +-
 packages/plugin-polyfills/src/index.js                                |  89 +++++++----
 packages/plugin-polyfills/test/cases/default/default.spec.js          |  42 ++++-
 packages/plugin-polyfills/test/cases/default/greenwood.config.js      |   2 +-
 www/components/card/card.css                                          |  64 ++------
 www/components/card/card.js                                           |  15 +-
 www/components/row/row.js                                             |  19 ---
 www/components/scroll/scroll.js                                       |   4 +-
 www/components/shelf/shelf.js                                         |  20 ++-
 www/package.json                                                      |   3 +-
 www/pages/docs/component-model.md                                     |  17 +-
 www/pages/index.html                                                  |  39 +++--
 www/pages/plugins/{composite-plugins.md => custom-plugins.md}         |   8 +-
 www/pages/plugins/index-hooks.md                                      | 111 -------------
 www/pages/plugins/index.md                                            |  64 ++++----
 www/pages/plugins/resource.md                                         | 132 +++++++++++++++
 www/pages/plugins/webpack.md                                          |  45 ------
 www/styles/home.css                               ...
Read more

v0.10.0-alpha.3

30 Dec 22:27
Compare
Choose a tag to compare
v0.10.0-alpha.3 Pre-release
Pre-release

Overview

This alpha.3 is a supplemental release to fix an issue when running the build task using an npm client.

_Note: Each 0.10.0-alpha.N release will build upon itself release notes wise, with the sum all release notes being included in the final, actual 0.10.0 release. Please read here for the previous release's release notes. For more high level details about this upgrade, you can check out or Request For Contributions Google doc to learn more about our current project Roadmap and direction. (please reach out if interested in helping!)

To test this upgrade, you can run the following

# npm
$ npm install @greenwood/[email protected] --save dev

# yarn
$ yarn add @greenwood/[email protected] --dev

You can see an example of an upgrade in our Getting Started repo.

Breaking Changes

None this release.

Please see the previous release notes for previously documented breaking changes 👆

Key Changes

Changelog

  1. rollup failing for npm based projects

Known Issues

A lot of features available in 0.9.0 of Greenwood are not available at this time in this release. The full list of outstanding items is here, with the main ones being captured below for quick reference:

  1. Greenwood plugins not enabled
  2. Restore Babel / Browserslist support
  3. Restore GraphQL support
  4. Restore SPA support
  5. <slot> and LitElement output are rendering twice
  6. <link> tag detection is incorrect
  7. top level HTML page builds without the page content
  8. unexpected build artifacts
  9. Correctly support custom markdown plugins and settings

Diff

$ git diff v0.10.0-alpha.2 v0.10.0-alpha.3 --stat
 lerna.json                                    | 2 +-
 packages/cli/package.json                     | 2 +-
 packages/cli/src/config/rollup.config.js      | 2 +-
 packages/plugin-google-analytics/package.json | 4 ++--
 packages/plugin-polyfills/package.json        | 4 ++--
 5 files changed, 7 insertions(+), 7 deletions(-)

v0.10.0-alpha.2

30 Dec 21:58
Compare
Choose a tag to compare
v0.10.0-alpha.2 Pre-release
Pre-release

Overview

This alpha.2 release restores custom user PostCSS configuration as well as fixing bugs and known issues in this v0.10.0 pre-release line.
Additionally, technical documentation for the Docs and Getting Started pages have been update to correctly reflect the project's current usage instructions.

_Note: Each 0.10.0-alpha.N release will build upon itself release notes wise, with the sum all release notes being included in the final, actual 0.10.0 release. Please read here for the previous release's release notes. For more high level details about this upgrade, you can check out or Request For Contributions Google doc to learn more about our current project Roadmap and direction. (please reach out if interested in helping!)

To test this upgrade, you can run the following

# npm
$ npm install @greenwood/[email protected] --save dev

# yarn
$ yarn add @greenwood/[email protected] --dev

You can see an example of an upgrade in our Getting Started repo.

Breaking Changes

None this release.

Please see the previous release notes for previously documented breaking changes 👆

Key Changes

Changelog

  1. Restore userland PostCSS
  2. Revisit all technical documentation
  3. Fix default graph sorting (again), and finalized outstanding issue for having consistent routes

Known Issues

A lot of features available in 0.9.0 of Greenwood are not available at this time in this release. The full list of outstanding items is here, with the main ones being captured below for quick reference:

  1. rollup failing for npm based projects
  2. Greenwood plugins not enabled
  3. Restore Babel / Browserslist support
  4. Restore GraphQL support
  5. Restore SPA support
  6. <slot> and LitElement output are rendering twice
  7. <link> tag detection is incorrect
  8. top level HTML page builds without the page content
  9. unexpected build artifacts

Diff

 .github/CONTRIBUTING.md                                               |  67 ++++++-
 lerna.json                                                            |   2 +-
 packages/cli/package.json                                             |   3 +-
 packages/cli/src/commands/develop.js                                  |   2 +-
 packages/cli/src/commands/eject.js                                    |   1 +
 packages/cli/src/config/rollup.config.js                              |  20 +-
 packages/cli/src/data/queries/config.gql                              |   4 +-
 packages/cli/src/data/schema/config.js                                |   4 +-
 packages/cli/src/lifecycles/config.js                                 |  27 +--
 packages/cli/src/lifecycles/context.js                                |  63 +------
 packages/cli/src/lifecycles/graph.js                                  | 312 +++++++++++---------------------
 packages/cli/src/lifecycles/serialize.js                              |  14 +-
 packages/cli/src/templates/404.html                                   |  16 --
 packages/cli/src/templates/app-template.js                            |  13 --
 packages/cli/src/templates/base-template.js                           | 104 -----------
 packages/cli/src/templates/hello.md                                   |   6 -
 packages/cli/src/templates/index.html                                 |  26 ---
 packages/cli/src/templates/index.md                                   |   7 -
 packages/cli/src/templates/page-template.js                           |  15 --
 packages/cli/src/transforms/transform.css.js                          |  18 +-
 .../build.config.error-public-path.spec.js                            |  45 -----
 .../cli/test/cases/build.config.error-public-path/greenwood.config.js |   3 -
 .../cli/test/cases/build.config.postcss/build.config.postcss.spec.js  |  43 ++---
 packages/cli/test/cases/build.config.postcss/postcss.config.js        |  10 +-
 packages/cli/test/cases/build.config.postcss/src/pages/hello.md       |  11 --
 packages/cli/test/cases/build.config.postcss/src/pages/index.html     |  12 ++
 packages/cli/test/cases/build.config.postcss/src/pages/index.md       |   3 -
 packages/cli/test/cases/build.config.postcss/src/styles/main.css      |   8 +
 .../cases/build.config.public-path/build.config.public-path.spec.js   |  63 -------
 packages/cli/test/cases/build.config.public-path/greenwood.config.js  |   3 -
 .../test/cases/build.default.webpack/build.default.webpack.spec.js    |  66 -------
 .../cli/test/cases/build.default.webpack/webpack.config.common.js     | 173 ------------------
 .../cli/test/cases/build.default.webpack/webpack.config.develop.js    |  93 ----------
 packages/cli/test/cases/build.default.webpack/webpack.config.prod.js  |  17 --
 .../build.default.workspace-nested.spec.js                            | 121 +++++++++++--
 .../build.default.workspace-nested/src/pages/blog/2017/03/26/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2017/03/30/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2017/04/10/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2017/04/22/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2017/05/05/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2017/06/07/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2017/09/10/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2017/10/15/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2018/01/24/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2018/05/16/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2018/06/06/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2018/09/26/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2018/10/28/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2018/11/19/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2019/11/11/index.md |   6 +
 .../cases/build.default.workspace-nested/src/pages/blog/2019/index.md |   8 -
 .../build.default.workspace-nested/src/pages/blog/2020/04/07/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2020/08/15/index.md |   6 +
 .../build.default.workspace-nested/src/pages/blog/2020/10/28/index.md |   6 +
 .../test/cases/build.default.workspace-nested/src/pages/blog/index.md |   3 +
 .../test/cases/build.default.workspace-nested/src/pages/index.html    |   8 +
 .../cli/test/cases/build.default.workspace-nested/src/pages/index.md  |   3 -
 .../build.default.workspace-user-directory-mapping.spec.js            |  37 +++-
 .../src/pages/plugins/index-hooks.md                                  |   3 +
 .../src/pages/plugins/index.md                                        |   3 +
 packages/cli/test/unit/data/mocks/config.js                           |   1 -
 packages/cli/test/unit/data/schema/config.spec.js                     |  24 ---
 packages/plugin-google-analytics/package.json                         |   4 +-
 packages/plugin-polyfills/package.json                                |   4 +-
 postcss.config.js                                                     |  10 +-
 www/components/banner/banner.css                                      | 113 ++++++------
 www/components/card/card.css                                          | 112 ++++++------
 www/components/footer/footer.css                                      |  32 ++--
 www/components/header/header.css                                      | 148 ++++++++-------
 www/components/header/header.js                                       |   3 +-
 www/components/row/row.css                                            |   2 +-
 www/components/shelf/shelf.css                                        | 171 +++++++++--------
 www/components/social-icons/social-icons.css                          |   2 +-
 www/package.json                                                      |   3 +-
 www/pages/about/how-it-works.md                                       |   4 +-
 www/pages/docs/build.md                                               |  63 ++++++-
 www/pages/docs/component-model.md                                     |  93 +++++-----
 www/pages/docs/configuration.md                                       |  53 ++----
 www/pages/docs/css-and-images.md                                      | 161 ++++++----------
 www/pages/docs/data.md                                                |  39 ++--
 www/pages/docs/front-matter.md                                        |  18 +-
 www/pages/docs/in...
Read more