v0.5.0
Pre-release
Pre-release
Overview
Adds support for GraphQL to allow for content querying to create dynamically static pages, including <meta>
and <title>
tags.
Key Changes
- Build Time Data Access
- Deterministic Queries
- Configuration as data
<title>
from data<meta>
from data- Custom frontmatter as data
- Created a MenuQuery
Known Issues
- cache.json files are large and are being over
fetch
ed - Dedupe content from JavaScript
- Components are over-rendering
- Better puppeteer / CI support and stability
Breaking Changes
- In your page templates, you will need to remove all instances of
METAIMPORT
,METADATA
,METAELEMENT
Changelog
https://github.com/ProjectEvergreen/greenwood/issues?q=label%3A0.5.0++
$ git diff v0.4.2 v0.5.0 --stat
.eslintignore | 3 +
.eslintrc | 201 ----
.eslintrc.js | 226 +++++
.github/CONTRIBUTING.md | 51 +-
.github/workflows/chromium-lib-install.sh | 10 +
.github/workflows/ci.yml | 4 +-
.github/workflows/master.yml | 4 +-
.mocharc.js | 6 +
lerna.json | 2 +-
nyc.config.js | 10 +-
package.json | 9 +-
packages/cli/package.json | 22 +-
packages/cli/src/config/babel.config.js | 7 +-
packages/cli/src/config/webpack.config.common.js | 16 +-
packages/cli/src/data/cache.js | 51 +
packages/cli/src/data/client.js | 37 +
packages/cli/src/data/queries/children.gql | 10 +
packages/cli/src/data/queries/config.gql | 19 +
packages/cli/src/data/queries/graph.gql | 10 +
packages/cli/src/data/queries/menu.gql | 20 +
packages/cli/src/data/schema/config.js | 45 +
packages/cli/src/data/schema/graph.js | 198 ++++
packages/cli/src/data/schema/schema.js | 50 +
packages/cli/src/data/server.js | 31 +
packages/cli/src/lib/browser.js | 26 +-
packages/cli/src/lifecycles/config.js | 2 +-
packages/cli/src/lifecycles/context.js | 2 -
packages/cli/src/lifecycles/graph.js | 71 +-
packages/cli/src/lifecycles/scaffold.js | 20 +-
packages/cli/src/lifecycles/serialize.js | 97 +-
packages/cli/src/plugins/meta.js | 71 --
packages/cli/src/tasks/develop.js | 5 +
packages/cli/src/templates/app-template.js | 85 +-
packages/cli/src/templates/index.html | 3 +-
packages/cli/src/templates/page-template.js | 3 -
packages/cli/test/cases/build.config.default/build.config.default.spec.js | 2 +-
.../test/cases/build.config.error-public-path/build.config.error-public-path.spec.js | 9 +-
.../test/cases/build.config.error-theme-file/build.config.error-theme-file.spec.js | 8 +-
packages/cli/test/cases/build.config.error-title/build.config.error-title.spec.js | 8 +-
.../build.config.error-workspace-absolute.spec.js | 8 +-
.../cli/test/cases/build.config.error-workspace/build.config.error-workspace.spec.js | 8 +-
packages/cli/test/cases/build.config.meta/build.config.meta.spec.js | 15 +-
packages/cli/test/cases/build.config.public-path/build.config.public-path.spec.js | 6 +-
packages/cli/test/cases/build.config.theme/build.config.theme.spec.js | 6 +-
packages/cli/test/cases/build.config.theme/src/templates/page-template.js | 3 -
packages/cli/test/cases/build.config.title/build.config.title.spec.js | 23 +-
.../test/cases/build.config.workspace-custom/build.config.workspace-custom.spec.js | 4 +-
.../build.data.graph-custom-frontmatter/build.data.graph-custom-frontmatter.spec.js | 109 ++
.../cli/test/cases/build.data.graph-custom-frontmatter/src/pages/blog/first-post.md | 10 +
.../cli/test/cases/build.data.graph-custom-frontmatter/src/pages/blog/second-post.md | 10 +
packages/cli/test/cases/build.data.graph-custom-frontmatter/src/pages/index.md | 7 +
.../cli/test/cases/build.data.graph-custom-frontmatter/src/templates/blog-template.js | 80 ++
packages/cli/test/cases/build.data.graph/build.data.graph.spec.js | 175 ++++
packages/cli/test/cases/build.data.graph/src/components/header.js | 57 ++
packages/cli/test/cases/build.data.graph/src/pages/blog/first-post.md | 10 +
packages/cli/test/cases/build.data.graph/src/pages/blog/second-post.md | 10 +
packages/cli/test/cases/build.data.graph/src/pages/index.md | 7 +
packages/cli/test/cases/build.data.graph/src/templates/blog-template.js | 66 ++
packages/cli/test/cases/build.data.graph/src/templates/page-template.js | 23 +
.../test/cases/build.default.workspace-assets/build.default.workspace-assets.spec.js | 2 +-
.../build.default.workspace-getting-started.spec.js | 4 +-
.../test/cases/build.default.workspace-getting-started/src/templates/blog-template.js | 4 -
.../test/cases/build.default.workspace-nested/build.default.workspace-nested.spec.js | 4 +-
.../build.default.workspace-template-app/build.default.workspace-template-app.spec.js | 19 +-
.../cli/test/cases/build.default.workspace-template-app/src/templates/app-template.js | 23 +-
.../build.default.workspace-template-page-style.spec.js | 6 +-
.../cases/build.default.workspace-template-page-style/src/templates/page-template.js | 3 -
.../test/cases/build.default.workspace-template-page/src/templates/page-template.js | 3 -
.../build.default.workspace-user-directory-mapping/src/templates/page-template.js | 4 -
.../cli/test/cases/build.plugins-error-provider/build.plugins-error-provider.spec.js | 8 +-
packages/cli/test/cases/build.plugins-error-type/build.plugins-error-type.spec.js | 10 +-
packages/cli/test/cases/build.plugins-error-type/greenwood.config.js | 2 +-
packages/cli/test/cases/build.plugins-index/build.plugins-index.spec.js | 6 +-
packages/cli/test/cases/build.plugins-index/greenwood.config.js | 8 +-
packages/cli/test/cases/build.plugins-webpack/build-plugins-webpack.spec.js | 4 +-
packages/cli/test/cases/build.plugins-webpack/greenwood.config.js | 2 +-
packages/cli/test/unit/data/mocks/config.js | 17 +
packages/cli/test/unit/data/mocks/graph.js | 4 +
packages/cli/test/unit/data/schema/config.spec.js | 83 ++
packages/cli/test/unit/data/schema/graph.menu.spec.js | 354 +++++++
packages/cli/test/unit/data/schema/graph.spec.js | 105 ++
packages/plugin-google-analytics/package.json | 4 +-
packages/plugin-google-analytics/test/cases/default/default.spec.js | 8 +-
.../plugin-google-analytics/test/cases/error-analytics-id/error-analytics-id.spec.js | 6 +-
packages/plugin-google-analytics/test/cases/option-anonymous/option-anonymous.spec.js | 8 +-
packages/plugin-polyfills/README.md | 10 +-
packages/plugin-polyfills/package.json | 4 +-
packages/plugin-polyfills/test/cases/default/default.spec.js | 2 +-
test/smoke-test.js | 41 +-
www/assets/graphql-playground.png | Bin 0 -> 339846 bytes
www/assets/web-components-browser-support.png | Bin 40340 -> 160049 bytes
www/components/header/header.js | 51 +-
www/components/shelf/about.json | 34 -
www/components/shelf/documentation-list.json | 106 --
www/components/shelf/getting-started-list.json | 69 --
www/components/shelf/plugins.json | 14 -
www/components/shelf/shelf.js | 58 +-
www/package.json | 2 +-
www/pages/about/community.md | 8 +
www/pages/about/features.md | 13 +-
www/pages/about/goals.md | 7 +
www/pages/about/how-it-works.md | 10 +-
www/pages/about/index.md | 2 +
www/pages/docs/component-model.md | 7 +
www/pages/docs/configuration.md | 8 +
www/pages/docs/css-and-images.md | 8 +
www/pages/docs/data.md | 357 +++++++
www/pages/docs/front-matter.md | 76 +-
www/pages/docs/index.md | 6 +
www/pages/docs/layouts.md | 18 +-
www/pages/docs/markdown.md | 8 +
www/pages/docs/menus.md | 290 ++++++
www/pages/docs/tech-stack.md | 8 +
www/pages/getting-started/branding.md | 12 +-
www/pages/getting-started/build-and-deploy.md | 9 +-
www/pages/getting-started/creating-content.md | 14 +-
www/pages/getting-started/index.md | 4 +-
www/pages/getting-started/key-concepts.md | 15 +-
www/pages/getting-started/next-steps.md | 9 +-
www/pages/getting-started/project-setup.md | 10 +-
www/pages/getting-started/quick-start.md | 7 +
www/pages/plugins/composite-plugins.md | 9 +-
www/pages/plugins/index-hooks.md | 19 +-
www/pages/plugins/index.md | 18 +-
www/pages/plugins/webpack.md | 9 +-
www/templates/home-template.js | 14 +-
www/templates/page-template.js | 43 +-
yarn.lock | 2229 ++++++++++++++++++++++++++++++-----------
128 files changed, 4988 insertions(+), 1442 deletions(-)