Releases: ProjectEvergreen/greenwood
v0.10.0
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
- Migrating your templates to be HTML based instead of Web Component based
- Recommended default NodeJS version is now 12.x
- GraphQL is now a plugin (with minor schema changes)
- Using Babel and PostCSS now requires plugins
- Using
import
for CSS (and anything non standard) will be available through a plugin - 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
- Still need to restore ability to include per page JS / CSS via frontmatter in markdown
- mpa router broken for non chrome browsers
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...
v0.10.0-alpha.10
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, actual0.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
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...
v0.10.0-alpha.9
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, actual0.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
- better browser handling for chrome for
import
ing CSS - 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:
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
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, actual0.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
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:
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...
v0.10.0-alpha.7
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, actual0.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
- handle bare imports in
<head>
tags - fix merge order of template
<head>
tags - ensure proper closing tag semantics
- restored default
<meta>
tags for default app template - better support for top level pages
- formalize NodeJS v12 as minimum
- fix
import
CSS not working in non Chrome browsers - 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:
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
v0.10.0-alpha.6
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, actual0.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
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:
- Restore GraphQL support
<link>
tag detection is incorrect- top level HTML page builds without the page content
- Restore optimizations and SPA support
- Restore Babel / Browserslist support
- 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
v0.10.0-alpha.5
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, actual0.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
- Install plugin
$ yarn add @greenwood/plugin-postcss --dev
- Include the plugin in your greenwood.config.js
const pluginPostcss = require('@greenwood/plugin-postcss'); module.exports = { plugins: [ pluginPostcss() ] }
- Provide your own postcss.config.js
module.exports = { plugins: [ require('postcss-nested') // as an example ] };
- 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.
- Install plugin
$ yarn add @greenwood/plugin-import-css --dev
- Include the plugin in your greenwood.config.js
const pluginImportCss = require('@greenwood/plugin-import-css'); module.exports = { plugins: [ ...pluginImportCss() // notice the spread ... ! ] }
- Now you can
import
CSS in your JSimport 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.
- Install plugin
$ yarn add @greenwood/plugin-import-commonjs --dev
- Include the plugin in your greenwood.config.js
const pluginImportCommonjs = require('@greenwood/plugin-import-commonjs'); module.exports = { plugins: [ ...pluginImportCommonjs() // notice the spread ... ! ] }
- Now you can
import
CommonJS modules in your JSimport _ 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
- Server Plugin API
- PostCSS and
import
CSS as plugins, and new Rollup Plugin - 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:
- module cssnano not found
- Restore GraphQL support
<link>
tag detection is incorrect- top level HTML page builds without the page content
- Restore optimizations and SPA support
- 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...
v0.10.0-alpha.4
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, actual0.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
- Resource API
- Plugins documentation
- Documentation related to usage of
<slot>
and duplicate content when pre-rendering - Fixed issue with missing build output when page name includes index in the filename
- Made URLs "pretty" when running
serve
command - 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:
- support common node module package resolutions
- Restore GraphQL support
<link>
tag detection is incorrect- top level HTML page builds without the page content
- Restore optimizations and SPA support
- 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 ...
v0.10.0-alpha.3
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, actual0.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
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:
- Greenwood plugins not enabled
- Restore Babel / Browserslist support
- Restore GraphQL support
- Restore SPA support
<slot>
and LitElement output are rendering twice<link>
tag detection is incorrect- top level HTML page builds without the page content
- unexpected build artifacts
- 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
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, actual0.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
- Restore userland PostCSS
- Revisit all technical documentation
- 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:
- rollup failing for npm based projects
- Greenwood plugins not enabled
- Restore Babel / Browserslist support
- Restore GraphQL support
- Restore SPA support
<slot>
and LitElement output are rendering twice<link>
tag detection is incorrect- top level HTML page builds without the page content
- 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...