Skip to content

Releases: ProjectEvergreen/greenwood

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

v0.10.0-alpha.1

20 Dec 19:06
Compare
Choose a tag to compare
v0.10.0-alpha.1 Pre-release
Pre-release

Overview

This alpha.1 release is a supplemental release to the prior alpha.0 release. It aims to fix a bug that prevented installation without having to install the fs-extras manually.

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.

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 find the latest version of the website and docs here as a preview deploy of the PR for the release/0.10.0 branch, though these are still out of date, but you can see an example of an upgrade in our Getting Started repo.

Unfortunately there is not a lot of content on this paradigm shift yet from the projects POV, but you can gain some insight via this proof of concept repo and eventually the website and a blog post will accompany the official 0.10.0 release when it comes out, likely in mid 2021.

Breaking Changes

None this release.

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

Key Changes

Changelog

  1. commands not working due to fs-extras dependency missing
  2. HTML in markdown rendering being escaped / rendered

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 / PostCSS support
  3. Restore GraphQL support
  4. Restore SPA support
  5. <slot> and LitElement output are rendering twice
  6. update project's technical documentation
  7. <link> tag detection is incorrect
  8. top level HTML page builds without the page content
  9. unexpected build artifacts

Diff

git diff v0.10.0-alpha.0 v0.10.0-alpha.1 --stat
 .github/workflows/release.yml                      |  39 ++++++++
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   3 +-
 packages/cli/src/data/cache.js                     |   2 +-
 packages/cli/src/lifecycles/config.js              |   6 +-
 packages/cli/src/lifecycles/context.js             |   8 +-
 packages/cli/src/lifecycles/graph.js               |  15 +--
 packages/cli/src/transforms/transform.md.js        |   2 +
 .../build.default.markdown.spec.js                 |  15 ++-
 .../build.default.markdown/src/pages/index.md      |   4 +-
 .../test/cases/eject.default/eject.default.spec.js |   8 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 packages/plugin-polyfills/package.json             |   4 +-
 test/test-bed.js                                   |  24 +++--
 yarn.lock                                          | 105 ++++++++++++++++++++-
 15 files changed, 203 insertions(+), 38 deletions(-)

v0.10.0-alpha.0

13 Dec 18:55
Compare
Choose a tag to compare
v0.10.0-alpha.0 Pre-release
Pre-release

Overview

This alpha.0 release is intended to start a preview line of releases to demonstrate and validate a new approach being taken with Greenwood. From new features like a focus on "bundleless" development, platform first developer experience, 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 designed, but in how we can help deliver great developer and user experiences.

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.

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 find the latest version of the website and docs here as a preview deploy of the PR for the release/0.10.0.

Unfortunately there is not a lot of content on this paradigm shift yet from the projects POV, but you can gain some insight via this proof of concept repo and eventually the website and a blog post will accompany the official 0.10.0 release when it comes out, likely in mid 2021.

Breaking Changes

For existing users, here is a list of breaking changes coming in the 0.10.0 release. You can see an example of an upgrade in our Getting Started repo.

Templates

The biggest change is that going froward Greenwood will default to supporting HTML and markdown as the principal content authoring experiences. This means that your templates/ need to be converted to HTML instead of JS.

Before

import { html, LitElement } from 'lit-element';
import '../components/footer/footer';
import '../styles/theme.css';
import pageCss from '../styles/home.css';

class PageTemplate extends LitElement {

  constructor() {
    super();
  }

  render() {
    return html`
      <style>
        ${pageCss}
      </style>

      <div class='wrapper'>
        <app-header></app-header>
         <entry></entry>
      </div>
    `;
  }
}

customElements.define('page-template', PageTemplate); 

After

<!DOCTYPE html>
<html lang="en" prefix="og:http://ogp.me/ns#">

  <head>
    <meta-outlet></meta-outlet>

    <script type="module" src="/components/header/header.js"></script>

    <link rel="stylesheet" href="/styles/theme.css"></link>
    <link rel="stylesheet" href="/styles/home.css"></link>
  </head>

  <body>

    <div class='wrapper'>
      <app-header></app-header>
      <content-outlet></content-outlet>
    </div>

  </body>
</html>

Some additional observations:

  • No need for "template" in the filename anymore, just page.html is sufficient
  • Now have to explicitly defined a <meta-outlet> custom element to load in your meta data from greenwood.config.js
  • <entry> has been replaced by <content-outlet>
  • All paths need to assume a web root and start with / for now
  • No more support for theme.css, you can now load CSS however you like
  • You'll need to install lit-element / lit-html yourself if you still need access to those dependencies
  • Greenwood will support things like CSS-in-JS as well, but eventually those will be made their own plugins

Configuration

  • devServer.host has been removed with the removal of webpack (dev-server) but this should still work anyway.
  • publicPath has been removed with the removal of webpack but we will track adding it back in based on user needs.

PostCSS (Nested CSS)

Although PostCSS plugin support is not available in this pre-release, it is worth noting that when it is enabled, it will not include postcss-preset-env or postcss-nested so you will either need to:

  1. Not depend on nested CSS (or install postcss-nested)
  2. Install postcss-preset-env yourself

Serve

Greenwood now builds in its own serve command. You can add this to package.json to get a local web server and a production build for local testing

"scripts": {
  ...
  
   "serve": "greenwood serve"
},

Data

As noted in the Known Issues section below, GraphQL support is not available yet, however you will find that a ?graph.json file is being output to the output directory. You can use this to recreate the same functionality in your pages to keep your client side templating working.

// before
import client from '@greenwood/cli/data/client';
import ChildrenQuery from '../queries/children';

const posts = await client.query({
  query: ChildrenQuery,
  variables: {
    parent: 'blog'
  }
});

// after
const posts = await fetch('/graph.json')
  .then(resp => resp.json());
  .filter(page => page.route.indexOf(/blog[0-9]{4}/));

NodeJS version

The final release will include a deprecation of NodeJS v10.0, so please plan on upgrading to v12 (or v14).

Key Changes

Changelog

  1. Bundle-less Development
  2. CSS Bundling
  3. Introduction of Transforms API

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. fs-extras dependency missing
  2. HTML in markdown rendering being escaped / rendered
  3. Greenwood plugins not enabled
  4. Restore Babel / PostCSS support
  5. Restore GraphQL support
  6. Restore SPA support
  7. <slot>s are rendering twice
  8. update project's technical documentation
  9. <link> tag detection is incorrect
  10. top level HTML page builds without the page content
  11. unexpected build artifacts

Diff

% git diff v0.9.0 v0.10.0-alpha.0 --stat
 .eslintrc.js                                                  |   12 +-
 .mocharc.js                                                   |    3 +-
 README.md                                                     |   10 +-
 greenwood.config.js                                           |   24 +-
 lerna.json                                                    |    2 +-
 nyc.config.js                                                 |    4 +-
 package.json                                                  |    4 +-
 packages/cli/package.json                                     |   68 +-
 packages/cli/src/commands/build.js                            |   33 +
 packages/cli/src/commands/develop.js                          |   30 +
 packages/cli/src/{tasks => commands}/eject.js                 |    0
 packages/cli/src/commands/serve.js                            |   20 +
 packages/cli/src/config/postcss.config.js                     |    8 +-
 packages/cli/src/config/rollup.config.js                      |  244 +
 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/index.js                                     |  100 +-
 packages/cli/src/lib/browser.js                               |   28 +-
 packages/cli/src/lifecycles/bundle.js                         |   22 +
 packages/cli/src/lifecycles/compile.js                        |   17 +-
 packages/cli/src/lifecycles/config.js                         |   54 +-
 packages/cli/src/lifecycles/context.js                        |  125 +-
 packages/cli/src/lifecycles/copy.js                           |   77 +
 packages/cli/src/lifecycles/graph.js                          |   64 +-
 packages/cli/src/lifecycles/scaffold.js                       |  155 -
 packages/cli/src/lifecycles/serialize.js                      |  112 +-
 packages/cli/src/lifecycles/serve.js                          |  135 +
 packages/cli/src/tasks/build.js                               |   42 -
 packages/cli/src/tasks/develop.js                             |   25 -
 packages/cli/src/templates/app.html                           |   15 +
 packages/cli/src/transforms/transform.assets.js               |   59 +
 packages/cli/src/transforms/transform.css.js                  |   47 +
 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/tra...
Read more

v0.9.0

08 Aug 18:45
Compare
Choose a tag to compare

Overview

Introduced an optimization configuration for Greenwood, to further allow for applications to customize and tailer the user experience they want to deliver. To learn more visit our How It Works page. Bundled chunks for spa (default) mode are also now shipped with the async attribute on them.

Breaking Changes

None

Key Changes

  1. Strict Mode

Changelog

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

Known Issues

  1. Components are over-rendering
  2. Better puppeteer / CI support and stability

Diff

$  git diff v0.8.0 v0.9.0 --stat
 .gitattributes                                                        |   5 +-
 .ls-lint.yml                                                          |  16 ++++++
 lerna.json                                                            |   2 +-
 netlify.toml                                                          |   6 ++
 package.json                                                          |   9 +--
 packages/cli/package.json                                             |   2 +-
 packages/cli/src/data/client.js                                       |   4 +-
 packages/cli/src/data/queries/config.gql                              |   1 +
 packages/cli/src/data/schema/config.js                                |   1 +
 packages/cli/src/lifecycles/config.js                                 |  11 +++-
 packages/cli/src/lifecycles/serialize.js                              |  24 ++++++--
 .../cases/build.config.error-mode/build.config.error-mode.spec.js     |  44 ++++++++++++++
 packages/cli/test/cases/build.config.error-mode/greenwood.config.js   |   3 +
 packages/cli/test/cases/build.config.meta/build.config.meta.spec.js   |  28 ++++++++-
 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 +
 packages/cli/test/cases/build.config.title/build.config.title.spec.js |  29 +++++++++-
 .../build.data.graph-custom-frontmatter.spec.js                       |  38 ++++++++++++-
 packages/cli/test/cases/build.data.graph/build.data.graph.spec.js     |  63 +++++++++++++++++---
 .../build.default.workspace-template-app.spec.js                      |  28 ++++++++-
 packages/cli/test/unit/data/schema/config.spec.js                     |   8 +++
 packages/plugin-google-analytics/package.json                         |   4 +-
 packages/plugin-polyfills/package.json                                |   4 +-
 test/smoke-test.js                                                    |  29 ++++++++--
 www/assets/fonts/source-sans-pro-v13-latin-regular.ttf                | Bin 0 -> 40408 bytes
 www/assets/fonts/source-sans-pro-v13-latin-regular.woff               | Bin 0 -> 20179 bytes
 www/assets/fonts/source-sans-pro-v13-latin-regular.woff2              | Bin 0 -> 16112 bytes
 www/assets/fonts/source-sans-pro.css                                  |  11 ++++
 www/components/shelf/shelf.css                                        |   4 +-
 www/package.json                                                      |   2 +-
 www/pages/about/how-it-works.md                                       |  48 ++++++++++++++++
 www/pages/docs/configuration.md                                       |  14 +++++
 www/pages/docs/data.md                                                |   1 +
 www/pages/docs/layouts.md                                             |   2 +-
 www/pages/guides/netlify-deploy.md                                    |   2 +
 www/styles/theme.css                                                  |   4 +-
 yarn.lock                                                             |   5 ++
 40 files changed, 514 insertions(+), 46 deletions(-)

v0.8.0

25 Jul 19:21
Compare
Choose a tag to compare

Overview

Enhancements for making it easer to manage custom app templates, performance improvements for Google Analytics plugin, and removing "magic strings",

Breaking Changes

Magic Strings

You can now remove MDIMPORT and MYROUTES from your templates.

App Templates

App Templates have been simplified, now you only have to define a render function!

ChildrenQuery Parent Filtering

ChildrenQuery now longer returns the parent so you don't have to filter that out from the response anymore.

Key Changes

  1. Extendable App Templates
  2. Magic Strings
  3. ChildrenQuery Parent Filtering

Changelog

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

Known Issues

  1. Components are over-rendering
  2. Better puppeteer / CI support and stability

Diff

$ git diff v0.7.2 v0.8.0 --stat
 .github/workflows/chromium-lib-install.sh                                           |    3 +-
 lerna.json                                                                          |    2 +-
 package.json                                                                        |    2 +-
 packages/cli/package.json                                                           |    4 +-
 packages/cli/src/config/webpack.config.common.js                                    |    3 +-
 packages/cli/src/data/schema/graph.js                                               |    2 +-
 packages/cli/src/lifecycles/scaffold.js                                             |   27 +-
 packages/cli/src/templates/app-template.js                                          |   94 +-
 packages/cli/src/templates/base-template.js                                         |  104 +
 packages/cli/src/templates/index.html                                               |    2 +-
 packages/cli/src/templates/page-template.js                                         |    1 -
 packages/cli/test/cases/build.config.babel/build.config.babel.spec.js               |    4 +-
 packages/cli/test/cases/build.config.theme/src/templates/page-template.js           |    1 -
 .../test/cases/build.data.graph-custom-frontmatter/src/templates/blog-template.js   |    2 -
 packages/cli/test/cases/build.data.graph/src/templates/blog-template.js             |    6 +-
 packages/cli/test/cases/build.data.graph/src/templates/page-template.js             |    2 -
 packages/cli/test/cases/build.data.graph/src/templates/post-template.js             |    2 -
 packages/cli/test/cases/build.default.webpack/webpack.config.common.js              |    3 +-
 .../cases/build.default.workspace-getting-started/src/templates/blog-template.js    |    2 -
 .../cases/build.default.workspace-getting-started/src/templates/page-template.js    |    2 -
 .../build.default.workspace-template-app.spec.js                                    |    2 +-
 .../test/cases/build.default.workspace-template-app/src/templates/app-template.js   |   40 +-
 .../build.default.workspace-template-page-style/src/templates/page-template.js      |    1 -
 .../test/cases/build.default.workspace-template-page/src/templates/page-template.js |    1 -
 .../build.default.workspace-user-directory-mapping/src/templates/page-template.js   |    1 -
 packages/cli/test/unit/data/schema/graph.spec.js                                    |   33 +-
 packages/plugin-google-analytics/package.json                                       |    4 +-
 packages/plugin-google-analytics/src/index.js                                       |    2 +
 packages/plugin-google-analytics/test/cases/default/default.spec.js                 |   21 +
 packages/plugin-polyfills/package.json                                              |    4 +-
 test/smoke-test.js                                                                  |    2 +-
 www/package.json                                                                    |    2 +-
 www/pages/docs/css-and-images.md                                                    |    4 -
 www/pages/docs/layouts.md                                                           |   57 +-
 www/pages/getting-started/branding.md                                               |    4 -
 www/pages/getting-started/creating-content.md                                       |    2 -
 www/pages/getting-started/key-concepts.md                                           |    1 -
 www/pages/guides/cloudflare-workers-deployment.md                                   |    2 +-
 www/pages/guides/firebase.md                                                        |    2 +-
 www/pages/guides/s3-cloudfront.md                                                   |    2 +-
 www/pages/index.md                                                                  |    3 +
 www/templates/app-template.js                                                       |   93 +-
 www/templates/home-template.js                                                      |    6 -
 www/templates/page-template.js                                                      |    2 -
 yarn.lock                                                                           | 5903 ++++++++++++++++++++-------------------
 45 files changed, 3296 insertions(+), 3166 deletions(-)

v0.7.2

15 Jul 01:44
Compare
Choose a tag to compare

Overview

Fixed a bug where similar query calls in an app were causing Apollo invariant errors in production. Solution also supported another feature to cache / code split query files (cache.json) when built.

Breaking Changes

None

Key Changes

  1. similar query invariant error
  2. [code splitting / chunking of cache.json files](code splitting / chunking of cache.json files)

Changelog

https://github.com/ProjectEvergreen/greenwood/issues?q=label%3A0.7.2

Known Issues

  1. Components are over-rendering
  2. Better puppeteer / CI support and stability

Diff

$ git diff v0.7.1 v0.7.2 --stat
 lerna.json                                                                          |   2 +-
 packages/cli/package.json                                                           |   5 +-
 packages/cli/src/data/cache.js                                                      |  25 ++++----
 packages/cli/src/data/client.js                                                     |  14 ++--
 packages/cli/src/data/common.js                                                     |  46 ++++++++++++++
 packages/cli/src/lifecycles/serialize.js                                            |  30 +--------
 .../build.data.graph-custom-frontmatter/build.data.graph-custom-frontmatter.spec.js |  16 +++--
 packages/cli/test/cases/build.data.graph/build.data.graph.spec.js                   | 138 +++++++++++++++++++++++++---------------
 .../cases/build.data.graph/src/pages/blog/{first-post.md => first-post/index.md}    |   3 +-
 packages/cli/test/cases/build.data.graph/src/pages/blog/index.md                    |   5 ++
 .../cases/build.data.graph/src/pages/blog/{second-post.md => second-post/index.md}  |   3 +-
 packages/cli/test/cases/build.data.graph/src/templates/blog-template.js             |  14 ++--
 packages/cli/test/cases/build.data.graph/src/templates/post-template.js             |  69 ++++++++++++++++++++
 packages/cli/test/unit/data/common.spec.js                                          |  71 +++++++++++++++++++++
 packages/plugin-google-analytics/package.json                                       |   4 +-
 packages/plugin-polyfills/package.json                                              |   4 +-
 www/package.json                                                                    |   2 +-
 www/styles/page.css                                                                 |  13 +++-
 yarn.lock                                                                           |   5 --
 19 files changed, 338 insertions(+), 131 deletions(-)

v0.7.1

02 Jul 01:04
Compare
Choose a tag to compare

Overview

Fixed a bug where class names used by Greenwood default templates were conflicting with unified markdown plugins output.

Breaking Changes

Not a breaking change per se, but if you were styling based on generated class names like .content and .page-template, you will need to prefix them with gwd instead.

// before
.page-template {
  /* css */
}

// before
.gwd-page-template {
  /* css */
}

Key Changes

  1. namespace Greenwood default template class names

Changelog

https://github.com/ProjectEvergreen/greenwood/issues?q=label%3A0.7.1

Known Issues

  1. Multiple Similar Queries not working
  2. Components are over-rendering
  3. Better puppeteer / CI support and stability

Diff

$ git diff v0.7.0 v0.7.1 --stat
 lerna.json                                    |  2 +-
 packages/cli/package.json                     |  2 +-
 packages/cli/src/templates/page-template.js   |  4 ++--
 packages/plugin-google-analytics/package.json |  4 ++--
 packages/plugin-polyfills/package.json        |  4 ++--
 www/package.json                              |  2 +-
 www/pages/docs/layouts.md                     |  4 ++--
 www/pages/getting-started/key-concepts.md     |  4 ++--
 www/styles/home.css                           |  2 +-
 www/styles/page.css                           | 15 ++++++++++-----
 www/styles/theme.css                          |  4 ++--
 www/templates/app-template.js                 |  4 ++--
 www/templates/home-template.js                |  4 ++--
 www/templates/page-template.js                |  6 +++---
 14 files changed, 33 insertions(+), 28 deletions(-)

v0.7.0

01 Jul 01:37
Compare
Choose a tag to compare

Overview

Opens up Greenwood's configuration to provide custom unified markdown plugins. Also added custom build configurations for being able to provide your own Babel, PostCSS, Browserslist, and Webpack configurations. Users can also now eject Greenwoods configuration for full customization abilities.

Also fixed a bug with plugin-google-analytics immediately redirected and also broken documentation.

Breaking Changes

N / A

Key Changes

  1. Custom webpack configuration and eject
  2. Custom Babel, PostCSS and Browserslist configuration
  3. Custom unified markdown plugins
  4. Google Analytics Plugin outboundLink fix and docs update

Changelog

https://github.com/ProjectEvergreen/greenwood/issues?q=label%3A0.7.0

Known Issues

  1. Multiple Similar Queries not working
  2. Components are over-rendering
  3. Better puppeteer / CI support and stability

Diff

$ git diff v0.6.0 v0.7.0 --stat
 .browserslistrc                                                                         |   3 +
 README.md                                                                               |   4 +-
 greenwood.config.js                                                                     |  10 ++-
 lerna.json                                                                              |   2 +-
 packages/cli/package.json                                                               |   6 +-
 packages/cli/src/config/webpack.config.common.js                                        |   9 ++-
 packages/cli/src/index.js                                                               |  28 ++++++-
 packages/cli/src/lifecycles/config.js                                                   |  10 ++-
 packages/cli/src/lifecycles/context.js                                                  |  27 ++++++-
 packages/cli/src/tasks/build.js                                                         |   3 +-
 packages/cli/src/tasks/develop.js                                                       |   3 +-
 packages/cli/src/tasks/eject.js                                                         |  26 +++++++
 packages/cli/test/cases/build.config.babel/babel.config.js                              |  20 +++++
 packages/cli/test/cases/build.config.babel/build.config.babel.spec.js                   |  58 +++++++++++++++
 packages/cli/test/cases/build.config.babel/src/pages/index.md                           |   3 +
 .../cases/build.config.markdown-custom.plugins/build.config.markdown-custom.spec.js     |  65 ++++++++++++++++
 packages/cli/test/cases/build.config.markdown-custom.plugins/greenwood.config.js        |   9 +++
 .../build.config.markdown-custom.settings/build.config.markdown-custom.settings.spec.js |  56 ++++++++++++++
 packages/cli/test/cases/build.config.markdown-custom.settings/greenwood.config.js       |   5 ++
 packages/cli/test/cases/build.config.markdown-custom.settings/src/pages/index.md        |  13 ++++
 packages/cli/test/cases/build.config.postcss/build.config.postcss.spec.js               |  69 +++++++++++++++++
 packages/cli/test/cases/build.config.postcss/postcss.config.js                          |   9 +++
 packages/cli/test/cases/build.config.postcss/src/pages/hello.md                         |  11 +++
 packages/cli/test/cases/build.config.postcss/src/pages/index.md                         |   3 +
 packages/cli/test/cases/build.default.webpack/build.default.webpack.spec.js             |  66 +++++++++++++++++
 packages/cli/test/cases/build.default.webpack/webpack.config.common.js                  | 172 +++++++++++++++++++++++++++++++++++++++++++
 packages/cli/test/cases/build.default.webpack/webpack.config.develop.js                 |  93 +++++++++++++++++++++++
 packages/cli/test/cases/build.default.webpack/webpack.config.prod.js                    |  17 +++++
 packages/cli/test/cases/eject.default/eject.default.spec.js                             | 147 ++++++++++++++++++++++++++++++++++++
 packages/plugin-google-analytics/README.md                                              |   2 +-
 packages/plugin-google-analytics/package.json                                           |   4 +-
 packages/plugin-google-analytics/src/index.js                                           |   3 +-
 packages/plugin-google-analytics/test/cases/default/default.spec.js                     |   3 +-
 packages/plugin-polyfills/package.json                                                  |   4 +-
 postcss.config.js                                                                       |   9 +++
 test/test-bed.js                                                                        |   3 +-
 www/assets/link.png                                                                     | Bin 0 -> 4777 bytes
 www/components/header/header.js                                                         |   2 +-
 www/components/scroll/scroll.js                                                         |  23 +++---
 www/components/social-icons/social-icons.js                                             |   6 +-
 www/package.json                                                                        |   7 +-
 www/pages/docs/build.md                                                                 |  65 ++++++++++++++++
 www/pages/docs/configuration.md                                                         |  24 +++++-
 www/pages/docs/css-and-images.md                                                        |   2 +-
 www/pages/docs/data.md                                                                  |   2 +-
 www/pages/docs/front-matter.md                                                          |   2 +-
 www/pages/docs/layouts.md                                                               |   6 +-
 www/pages/docs/markdown.md                                                              |   7 +-
 www/pages/docs/menus.md                                                                 |   2 +-
 www/pages/docs/tech-stack.md                                                            |   2 +-
 www/pages/getting-started/branding.md                                                   |   1 +
 www/pages/getting-started/creating-content.md                                           |   1 +
 www/pages/getting-started/index.md                                                      |   1 +
 www/pages/getting-started/key-concepts.md                                               |   3 +-
 www/pages/getting-started/project-setup.md                                              |   1 +
 www/styles/page.css                                                                     |  12 +++
 yarn.lock                                                                               |  70 ++++++++++++++++--
 57 files changed, 1145 insertions(+), 69 deletions(-)

v0.6.0

04 Jun 01:47
Compare
Choose a tag to compare

Overview

Improves performance and bundling by code splitting by page route. Also improved markdown authoring (via wc-markdown-loader) experience by doing the following

  • Removed the need to use render after fence blocks
  • HTML supported out of the box

Breaking Changes

  1. Remove render keyword from your fence blocks in your markdown
  2. Escape $ or ` in your markdown
  3. If you are using a custom app-template.js, you can remove the line import './list'

More info on supported syntax available at wc-markdown-loader repo.

Key Changes

  1. Route base code splitting
  2. No render keyword for markdown

Changelog

https://github.com/ProjectEvergreen/greenwood/issues?q=label%3A0.6.0

Known Issues

  1. Dedupe content from JavaScript
  2. Components are over-rendering
  3. Better puppeteer / CI support and stability

Diff

$ git diff v0.5.1 v0.6.0 --stat
 lerna.json                                                                        |   2 +-
 packages/cli/package.json                                                         |   4 +-
 packages/cli/src/lifecycles/graph.js                                              |  14 +-
 packages/cli/src/lifecycles/scaffold.js                                           |  28 +-
 packages/cli/src/templates/app-template.js                                        |   1 -
 .../cli/test/cases/build.default.workspace-nested/src/pages/blog/2019/index.md    |   2 +-
 .../test/cases/build.default.workspace-template-app/src/templates/app-template.js |   1 -
 packages/plugin-google-analytics/package.json                                     |   4 +-
 packages/plugin-polyfills/package.json                                            |   4 +-
 www/package.json                                                                  |   2 +-
 www/pages/about/how-it-works.md                                                   |   6 +-
 www/pages/docs/component-model.md                                                 |  21 +-
 www/pages/docs/configuration.md                                                   |  14 +-
 www/pages/docs/css-and-images.md                                                  |  16 +-
 www/pages/docs/data.md                                                            |  30 +-
 www/pages/docs/front-matter.md                                                    |  16 +-
 www/pages/docs/index.md                                                           |   6 +-
 www/pages/docs/layouts.md                                                         |  15 +-
 www/pages/docs/markdown.md                                                        |  22 +-
 www/pages/docs/menus.md                                                           |  28 +-
 www/pages/getting-started/branding.md                                             |  12 +-
 www/pages/getting-started/build-and-deploy.md                                     |   2 +-
 www/pages/getting-started/creating-content.md                                     |  14 +-
 www/pages/getting-started/index.md                                                |   4 +-
 www/pages/getting-started/key-concepts.md                                         |  10 +-
 www/pages/getting-started/next-steps.md                                           |   2 +-
 www/pages/getting-started/project-setup.md                                        |  10 +-
 www/pages/getting-started/quick-start.md                                          |   2 +-
 www/pages/guides/cloudflare-workers-deployment.md                                 |  16 +-
 www/pages/guides/firebase.md                                                      |  18 +-
 www/pages/guides/netlify-cms.md                                                   |  29 +-
 www/pages/guides/s3-cloudfront.md                                                 |   6 +-
 www/pages/index.md                                                                |   6 -
 www/pages/plugins/index-hooks.md                                                  |  13 +-
 www/pages/plugins/index.md                                                        |   6 +-
 www/pages/plugins/webpack.md                                                      |   4 +-
 www/styles/page.css                                                               |   2 +
 www/templates/app-template.js                                                     | 117 ++++++++
 www/templates/home-template.js                                                    |   4 -
 www/templates/page-template.js                                                    |  31 +-
 yarn.lock                                                                         | 624 ++++++++++++++++++++++++++++++++++++++-
 41 files changed, 928 insertions(+), 240 deletions(-)

v0.5.1

15 May 14:20
Compare
Choose a tag to compare

Overview

Fixes a critical bug with oversized cache.json files as well as adding a number of new guides to the website.

Key Changes

  1. cache.json files are large

Known Issues

  1. Dedupe content from JavaScript
  2. Components are over-rendering
  3. Better puppeteer / CI support and stability

Breaking Changes

None

Changelog

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

$ git diff v0.5.0 v0.5.1 --stat
 lerna.json                                                        |   2 +-
 packages/cli/package.json                                         |   2 +-
 packages/cli/src/data/cache.js                                    |  10 +-
 packages/cli/test/cases/build.data.graph/build.data.graph.spec.js |  40 +++++++-
 packages/plugin-google-analytics/package.json                     |   4 +-
 packages/plugin-polyfills/package.json                            |   4 +-
 www/assets/netlify-admin.png                                      | Bin 0 -> 18576 bytes
 www/assets/netlify-cms.jpg                                        | Bin 0 -> 34225 bytes
 www/assets/netlify-create-new.png                                 | Bin 0 -> 27472 bytes
 www/assets/netlify-deploy.png                                     | Bin 0 -> 54221 bytes
 www/assets/netlify-git-gateway.png                                | Bin 0 -> 65434 bytes
 www/assets/netlify-invite.png                                     | Bin 0 -> 50337 bytes
 www/assets/netlify-registration.png                               | Bin 0 -> 49861 bytes
 www/assets/netlify-workflow.png                                   | Bin 0 -> 24123 bytes
 www/components/header/header.js                                   |   3 +-
 www/components/scroll/scroll.js                                   |  20 ++--
 www/components/shelf/shelf.css                                    |  29 +++++-
 www/components/shelf/shelf.js                                     |  46 +++++----
 www/package.json                                                  |   2 +-
 www/pages/about/index.md                                          |   1 +
 www/pages/docs/index.md                                           |   1 +
 www/pages/getting-started/index.md                                |   1 +
 www/pages/guides/cloudflare-workers-deployment.md                 | 118 +++++++++++++++++++++++
 www/pages/guides/firebase.md                                      | 112 ++++++++++++++++++++++
 www/pages/guides/index.md                                         |  14 +++
 www/pages/guides/netlify-cms.md                                   | 191 +++++++++++++++++++++++++++++++++++++
 www/pages/guides/netlify-deploy.md                                |  28 ++++++
 www/pages/guides/now.md                                           |  39 ++++++++
 www/pages/guides/s3-cloudfront.md                                 | 105 ++++++++++++++++++++
 www/pages/plugins/index.md                                        |   1 +
 www/templates/page-template.js                                    |   3 +-
 yarn.lock                                                         |   6 +-
 32 files changed, 727 insertions(+), 55 deletions(-)