v0.29.0-alpha.6
Pre-release
Pre-release
·
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
- Data Loading Strategies
- add support for optimizing the CSS
:has/:ispseudo-selectors - add support for configuring a base path
- support resource plugin based transformations for non "standard" module formats (ex: TypeScript, GraphQL) for SSR
- 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
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(-)