Skip to content

v0.29.0-alpha.6

Pre-release
Pre-release

Choose a tag to compare

@thescientist13 thescientist13 released this 04 Nov 15:06
· 381 commits to master since this release

Overview

This last alpha release of the v0.29.0 release line extends support for request handing in SSR pages, adds support for configuring a base path, and stablizing support for importing non standard import formats on the server side.

In development docs here, full release blog will come out with the final release.

Changelog

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

  1. Data Loading Strategies
  2. add support for optimizing the CSS :has / :is pseudo-selectors
  3. add support for configuring a base path
  4. support resource plugin based transformations for non "standard" module formats (ex: TypeScript, GraphQL) for SSR
  5. Support "active links" in terminal output for server URLs - thanks @DevLab2425 !

Breaking Changes

GraphQL Plugin

Package Imports

All import statements for queries will have to have their import reference slightly updated to reference the full path in the package and will require an extension, e.x

// before
import client from '@greenwood/plugin-graphql/core/client';
import MenuQuery from '@greenwood/plugin-graphql/queries/menu';
// after
import client from '@greenwood/plugin-graphql/src/core/client.js';
import MenuQuery from '@greenwood/plugin-graphql/src/queries/menu.gql';

Children Query

ChildrenQuery calls will now expect a leading / slash for the parent variable

// before
const response = await client.query({
  query: ChildrenQuery,
  variables: {
    parent: 'blog'
  }
});
// after
const response = await client.query({
  query: ChildrenQuery,
  variables: {
    parent: '/blog'
  }
});

Known Issues

  1. ensure resolving graph.json respects base path configuration

Diff

$ git diff v0.29.0-alpha.5 v0.29.0-alpha.6 --stat | grep -v "www"
 lerna.json                                         |   2 +-
 packages/cli/package.json                          |   4 +-
 packages/cli/src/commands/develop.js               |   6 +-
 packages/cli/src/commands/serve.js                 |   7 +-
 packages/cli/src/lib/execute-route-module.js       |  10 +-
 packages/cli/src/lib/resource-utils.js             |  52 +++
 packages/cli/src/lib/ssr-route-worker.js           |   4 +-
 packages/cli/src/lib/templating-utils.js           |  11 +-
 packages/cli/src/lifecycles/bundle.js              |  15 +-
 packages/cli/src/lifecycles/config.js              |  12 +-
 packages/cli/src/lifecycles/graph.js               |  40 +-
 packages/cli/src/lifecycles/prerender.js           |  21 +-
 packages/cli/src/lifecycles/serve.js               |  11 +-
 .../cli/src/plugins/resource/plugin-api-routes.js  |  52 +--
 .../cli/src/plugins/resource/plugin-dev-proxy.js   |   8 +-
 .../src/plugins/resource/plugin-standard-css.js    |   4 +
 .../src/plugins/resource/plugin-standard-html.js   |  22 +-
 .../src/plugins/resource/plugin-static-router.js   |  24 +-
 .../build.config-optimization-default.spec.js      |   2 +-
 .../fixtures/expected.css                          |   6 +-
 .../src/styles/main.css                            |   8 +
 .../build.config-optimization-inline.spec.js       |   8 +-
 .../build.config-optimization-none.spec.js         |   2 +-
 .../build.config-optimization-overrides.spec.js    |   2 +-
 .../build.config.static-router.spec.js             |   9 +-
 .../build.default.import-node-modules.spec.js      |   4 +-
 .../build.default.ssr-static-export.spec.js        |   3 +-
 .../src/pages/artists.js                           |   5 +-
 .../build.default.workspace-404-markdown.spec.js   |   2 +-
 .../build.default.workspace-404.spec.js            |   2 +-
 ...build.default.workspace-getting-started.spec.js |   6 +-
 .../build.default.workspace-javascript-css.spec.js |   8 +-
 ...default.workspace-template-page-and-app.spec.js |   2 +-
 .../build.default.workspace-template-page.spec.js  |   2 +-
 ...build.default.workspace-templates-empty.spec.js |   8 +-
 ...efault.workspace-user-directory-mapping.spec.js |   4 +-
 .../test/cases/build.default/build.default.spec.js |  11 +
 .../build.plugins.context.spec.js                  |   5 +-
 .../develop.config.base-path.spec.js               | 299 ++++++++++++++
 .../develop.config.base-path/greenwood.config.js   |   8 +
 .../cases/develop.config.base-path/package.json    |   4 +
 .../develop.config.base-path/src/api/greeting.js   |  11 +
 .../develop.config.base-path/src/assets/logo.png   | Bin 0 -> 2171 bytes
 .../src/components/card.js                         |  22 +
 .../develop.config.base-path/src/pages/index.html  |  16 +
 .../develop.config.base-path/src/pages/users.js    |  18 +
 .../develop.config.base-path/src/styles/main.css   |   3 +
 .../cases/develop.default/develop.default.spec.js  |  11 +
 .../cli/test/cases/develop.ssr/develop.ssr.spec.js | 104 ++++-
 .../cli/test/cases/develop.ssr/src/pages/post.js   |  20 +
 .../serve.config.base-path/greenwood.config.js     |   9 +
 .../serve.config.base-path.spec.js                 | 446 +++++++++++++++++++++
 .../serve.config.base-path/src/api/greeting.js     |  11 +
 .../serve.config.base-path/src/assets/logo.png     | Bin 0 -> 2171 bytes
 .../serve.config.base-path/src/components/card.js  |  22 +
 .../serve.config.base-path/src/pages/about.md      |   7 +
 .../serve.config.base-path/src/pages/index.html    |  16 +
 .../serve.config.base-path/src/pages/users.js      |  18 +
 .../serve.config.base-path/src/styles/main.css     |   3 +
 .../serve.default.ssr-prerender-api-hybrid.spec.js |   4 +-
 .../serve.default.ssr-static-export.spec.js        |   4 +-
 .../src/pages/artists.js                           |   5 +-
 .../serve.default.ssr/serve.default.ssr.spec.js    |  59 ++-
 .../test/cases/serve.default.ssr/src/pages/post.js |  20 +
 .../test/cases/theme-pack/theme-pack.build.spec.js |   5 +-
 packages/init/package.json                         |   2 +-
 packages/plugin-adapter-netlify/package.json       |   4 +-
 packages/plugin-adapter-netlify/src/index.js       |   7 +-
 .../build.config.base-path.spec.js                 | 180 +++++++++
 .../build.config.base-path/greenwood.config.js     |   8 +
 .../build.config.base-path/src/api/greeting.js     |  11 +
 .../build.config.base-path/src/pages/users.js      |  24 ++
 .../test/cases/build.default/build.default.spec.js |  64 ++-
 .../test/cases/build.default/src/pages/post.js     |  20 +
 packages/plugin-adapter-vercel/package.json        |   4 +-
 packages/plugin-adapter-vercel/src/index.js        |   7 +-
 .../build.config.base-path.spec.js                 | 191 +++++++++
 .../build.config.base-path/greenwood.config.js     |   8 +
 .../build.config.base-path/src/api/greeting.js     |  11 +
 .../build.config.base-path/src/pages/users.js      |  24 ++
 .../test/cases/build.default/build.default.spec.js |  73 +++-
 .../test/cases/build.default/src/pages/post.js     |  20 +
 packages/plugin-babel/package.json                 |   4 +-
 packages/plugin-google-analytics/package.json      |   4 +-
 .../test/cases/default/default.spec.js             |   2 +-
 .../option-anonymous/option-anonymous.spec.js      |   2 +-
 packages/plugin-graphql/README.md                  |  30 +-
 packages/plugin-graphql/package.json               |   5 +-
 packages/plugin-graphql/src/core/client.js         |   7 +-
 packages/plugin-graphql/src/index.js               |  28 +-
 packages/plugin-graphql/src/schema/graph.js        |  20 +-
 .../cases/develop.default/develop.default.spec.js  |  12 +-
 .../exp-prerender.query-children.spec.js           | 143 +++++++
 .../greenwood.config.js                            |   8 +
 .../exp-prerender.query-children/package.json      |   4 +
 .../src/components/posts-list.js                   |  34 ++
 .../src/pages/blog/first-post/index.md             |   8 +
 .../src/pages/blog/second-post/index.md            |   8 +
 .../src/pages/index.html                           |  12 +
 .../query-children/src/components/posts-list.js    |   6 +-
 .../cases/query-config/src/components/footer.js    |   4 +-
 .../src/components/posts-list.js                   |   2 +-
 .../cases/query-custom-schema/src/pages/index.html |   2 +-
 .../query-graph/src/components/debug-output.js     |   4 +-
 .../test/cases/query-menu/src/components/header.js |   4 +-
 .../test/unit/schema/graph.menu.spec.js            | 116 +++++-
 .../plugin-graphql/test/unit/schema/graph.spec.js  |   9 +-
 packages/plugin-import-commonjs/package.json       |   4 +-
 packages/plugin-import-css/package.json            |   4 +-
 .../exp-build.prerender.spec.js                    |   1 +
 packages/plugin-import-json/package.json           |   4 +-
 .../exp-build.prerender.spec.js                    |   1 +
 packages/plugin-import-jsx/package.json            |   6 +-
 .../test/cases/default/default.prerender.spec.js   |   2 +-
 .../exp-build.prerender.spec.js                    |   1 +
 packages/plugin-include-html/package.json          |   4 +-
 packages/plugin-polyfills/package.json             |   4 +-
 .../plugin-polyfills/test/cases/dsd/dsd.spec.js    |   2 +-
 packages/plugin-postcss/package.json               |   4 +-
 packages/plugin-renderer-lit/README.md             |  11 +-
 packages/plugin-renderer-lit/package.json          |   4 +-
 .../test/cases/serve.default/serve.default.spec.js |   2 +-
 packages/plugin-renderer-puppeteer/package.json    |   4 +-
 .../src/plugins/server.js                          |   2 +-
 .../test/cases/build.default/build.default.spec.js |   2 +-
 packages/plugin-typescript/package.json            |   4 +-
 .../exp-prerender.serve.ssr.spec.js                | 107 +++++
 .../exp-prerender.serve.ssr/greenwood.config.js    |   8 +
 .../cases/exp-prerender.serve.ssr/package.json     |   4 +
 .../src/components/card/card.ts                    |  26 ++
 .../exp-prerender.serve.ssr/src/pages/index.html   |  16 +
 .../test/cases/exp-serve.ssr/exp-serve.ssr.spec.js |   1 -
 yarn.lock                                          |  15 +-
 141 files changed, 2674 insertions(+), 425 deletions(-)