Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release/0.27.0 #979

Merged
merged 25 commits into from
Nov 23, 2022
Merged

release/0.27.0 #979

merged 25 commits into from
Nov 23, 2022

Conversation

thescientist13
Copy link
Member

@thescientist13 thescientist13 commented Sep 22, 2022

Related Issue

Summary of Changes

  1. Rollup and bundling lifecycle refactor
  2. Auto-spread plugin arrays
  3. User worker thread pools for building pages at scale
  4. Upgrade to WCC v0.6.1
  5. Adopt custom CSS bundling / minification implementation

Alpha Release Test Plan

I think to be safe given the level of refactoring, would like to at least make sure this get tested with a few key repos

The plan would be to test against the following projects / workflows as alpha releases are iterated upon:

  1. thegreenhouse.io - Chore/upgrade greenwood v0.27.0 thegreenhouseio/www.thegreenhouse.io#278
  2. contributary.community - upgrade Greenwood v0.27.0 ContributaryCommunity/www.contributary.community#115
  3. analogstudios.net - upgrade Greenwood v0.27.0 AnalogStudiosRI/www.analogstudios.net#80
  4. tuesdaystunes.tv - upgrade Greenwood v0.27.0 AnalogStudiosRI/www.tuesdaystunes.tv#76
  5. projectevergreen.github.io - upgrade Greenwood v0.27.0 projectevergreen.github.io#92
  6. greenwood-getting-started - upgrade Greenwood v0.27.0 greenwood-getting-started#66
  7. greenwood-template-blog - upgrade Greenwood v0.27.0 greenwood-template-blog#6
  8. greenwood-starter-presentation - upgrade Greenwood v0.27.0 thescientist13/greenwood-starter-presentation#61
  9. https://github.com/thescientist13/bench-framework-markdown
  10. npx / init
  11. Stackblitz

This PR should NOT be squashed merged when merging into master.

TODOs

  1. auto spread arrays of plugins #925
  2. alpha.0
  3. Bug/leading slash in CSS (<link>) paths break bundling #981
  4. introduce worker thread pools for SSR page generation #983
  5. upgrade to WCC 0.6.x #993
  6. Enhancement/issue 763 custom css minification and bundling #980
  7. Theme pack node_modules resolution breaking with serve - upgrade Greenwood v0.27.0 thescientist13/greenwood-starter-presentation#61
  8. Rollup preserveEntrySignature - update rollup preserveEntrySignatures to neutral setting to silence warning output #990
  9. Bug/issue 763 refine import rule handling #999
  10. Enhancement/issue 763 restore postcss import #998
  11. Looks like webcomponents-loader.js is being bundled twice? Or is just modulepreload?
    • must be the preload since it is happening in production too, so not related to this release
  12. support resource plugin based transformations for standard module formats (ex: import JSON, CSS) for SSR #878
  13. import attributes for standard module formats; CSS and JSON  #923 (nice to have)
  14. Benchmarking check-in - performance benchmarking / optimizing Greenwood #970
  15. Move tech stack to about page - move tech stack docs to the about page #1006
  16. Blog Post - Content/release v0.27.0 blog post #1009
    • Full Stack Web Components
    • CSS Bundling / Minification
    • Perf / Worker Thread Pools
    • Coming Up Next (Node v18, Standards and Conventions, etc)

Questions / New Issues

N / A

* add cloud IDE caveat to puppeteer renderer plugin readme (#967)

* init commit of refactoring for script tags with a src

* initial CSS optimizing

* sync optimized link tags in final output

* refactored for shared reources

* handle inline script bundling

* support serving custom resources using Greenwood plugins in Rollup configuration without needing extra rollup plugin

* non resource related Rollup plugins supported

* custom resource plugins and rollup plugins working together

* handle empty input for Rollup

* updated lock file

* handle inline style tag bundling and optimizing

* default optimization spec passing

* refactor merging app and page templates

* clarifying corrections in spec files

* inline optimization config working

* none optimization support

* none optimization support

* none and static optimization overrides

* refactor html rendering and optimizing

* refactoring and more CLI specs passing

* add missing variable

* SSR specs and optimizing resource bundling

* minor refactoring and logging

* resolving some plugin specs

* restore develop command related GraphQL specs

* custom graphql query spec

* all specs passing

* drop rollup plugin deps from import typescript plugin

* all Greenwood commands and specs passing

* restore static router with custom prerender

* restore postcss-import

* refactor shared resources to a Map and handle dupes

* restore local packages workaround for local Rollup bundling

* better monorepo Rollup facade modules detection

* switch console log

* remove console logging

* update plugin related docs

* local solution for windows support

* refactor errant object assign

* full cross platform URL support

* fix lint

* fix extra bundles when custom prerendering

* clean up stale or already tracked TODOs

* add nested head tag smoke tests

* check for app template validation for HUD display

* misc refactoring and TODOs cleanup

* restore static router (again)

* standardize passing correct reference for prerender scripts

* clean up data-gwd-opt markers from final HTML
* auto spread arrays of plugins

* flatten refactoring

* update docs and website content
* normalize leading / for CSS bundling paths

* update test cases

* remove console logs
* propery bundle all script tags

* test file corrections
…arning output (#990)

* update rollup preserveEntrySignatures to neutral setting to silence warning output

* comment config change
* upgrade to WCC 0.6.x

* upgrade WCC 0.6.1
* Enhancement/issue 971 refactor bundling and optimizations (#974)

* add cloud IDE caveat to puppeteer renderer plugin readme (#967)

* init commit of refactoring for script tags with a src

* initial CSS optimizing

* sync optimized link tags in final output

* refactored for shared reources

* handle inline script bundling

* support serving custom resources using Greenwood plugins in Rollup configuration without needing extra rollup plugin

* non resource related Rollup plugins supported

* custom resource plugins and rollup plugins working together

* handle empty input for Rollup

* updated lock file

* handle inline style tag bundling and optimizing

* default optimization spec passing

* refactor merging app and page templates

* clarifying corrections in spec files

* inline optimization config working

* none optimization support

* none optimization support

* none and static optimization overrides

* refactor html rendering and optimizing

* refactoring and more CLI specs passing

* add missing variable

* SSR specs and optimizing resource bundling

* minor refactoring and logging

* resolving some plugin specs

* restore develop command related GraphQL specs

* custom graphql query spec

* all specs passing

* drop rollup plugin deps from import typescript plugin

* all Greenwood commands and specs passing

* restore static router with custom prerender

* restore postcss-import

* refactor shared resources to a Map and handle dupes

* restore local packages workaround for local Rollup bundling

* better monorepo Rollup facade modules detection

* switch console log

* remove console logging

* update plugin related docs

* local solution for windows support

* refactor errant object assign

* full cross platform URL support

* fix lint

* fix extra bundles when custom prerendering

* clean up stale or already tracked TODOs

* add nested head tag smoke tests

* check for app template validation for HUD display

* misc refactoring and TODOs cleanup

* restore static router (again)

* standardize passing correct reference for prerender scripts

* clean up data-gwd-opt markers from final HTML

* v0.27.0-alpha.0

* (WIP) swap PostCSS in CLI with custom AST solution

* refactor website CSS

* basic implementation of minified CSS from AST

* support relative @import statements

* refactor AST parsing to recursive function

* support deeply nested @import and CSS custom properties

* fix  missing declaration semicolon

* correctly close Rule brackets

* general on leave refactoring

* more selector support

* all specs passing

* support percentage

* test for percentage

* support url and @import url

* add important support

* custom implementation for handling matchers in attribute selectors

* restore website prism styles

* nth and lang selectors support

* improve support for matching selector types

* add error logging for CSS parsing
* setting up test cases for additional import rule examples

* support non relative @import url rule

* support arbitrary @ rules

* @supports and single declaration handling

* test for more @ rules

* update related specs
* restore postcss-import to postcss plugin default config

* document postcss-import in default postcss-plugin config

* update test case

* update spec
@thescientist13 thescientist13 added SSR website Tasks related to the projects website / documentation feature New feature or request and removed alpha.0 labels Nov 20, 2022
* Enhancement/issue 971 refactor bundling and optimizations (#974)

* add cloud IDE caveat to puppeteer renderer plugin readme (#967)

* init commit of refactoring for script tags with a src

* initial CSS optimizing

* sync optimized link tags in final output

* refactored for shared reources

* handle inline script bundling

* support serving custom resources using Greenwood plugins in Rollup configuration without needing extra rollup plugin

* non resource related Rollup plugins supported

* custom resource plugins and rollup plugins working together

* handle empty input for Rollup

* updated lock file

* handle inline style tag bundling and optimizing

* default optimization spec passing

* refactor merging app and page templates

* clarifying corrections in spec files

* inline optimization config working

* none optimization support

* none optimization support

* none and static optimization overrides

* refactor html rendering and optimizing

* refactoring and more CLI specs passing

* add missing variable

* SSR specs and optimizing resource bundling

* minor refactoring and logging

* resolving some plugin specs

* restore develop command related GraphQL specs

* custom graphql query spec

* all specs passing

* drop rollup plugin deps from import typescript plugin

* all Greenwood commands and specs passing

* restore static router with custom prerender

* restore postcss-import

* refactor shared resources to a Map and handle dupes

* restore local packages workaround for local Rollup bundling

* better monorepo Rollup facade modules detection

* switch console log

* remove console logging

* update plugin related docs

* local solution for windows support

* refactor errant object assign

* full cross platform URL support

* fix lint

* fix extra bundles when custom prerendering

* clean up stale or already tracked TODOs

* add nested head tag smoke tests

* check for app template validation for HUD display

* misc refactoring and TODOs cleanup

* restore static router (again)

* standardize passing correct reference for prerender scripts

* clean up data-gwd-opt markers from final HTML

* v0.27.0-alpha.0

* experimental loaders for SSR custom resources

* set minimum nodejs v16.x requirement

* latest WIP

* custom SSR loaders for JSON

* working test case testing for SSR prerender with import CSS plugin

* experimental test task and github actions

* remove demo code

* add test cases for import JSON with prerendering

* upgrade latest gallinago

* enable experimental testing capabilities for CI

* post rebase reconsilations

* align versioning

* experimental specs passing on windows

* remove lint from experimental github actions

* refine exp test tasks

* minor refactor

* fix windows exp github action workflow

* increase mocha timeout for to accomodate exp test runs

* formatting

* updated import CSS and JSON plugin README docs

* SSR usage for experimental loaders
@thescientist13
Copy link
Member Author

Aside from the content PRs, this is pretty much ready to go!

@thescientist13 thescientist13 marked this pull request as ready for review November 21, 2022 19:30
* first draft of v0.27.0 release blog post

* home page content refresh

* final blog post draft

* home page banner punctuation

* blog post image

* adjust docs heading for experimental callout
@thescientist13 thescientist13 merged commit 82c91bb into master Nov 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking bug Something isn't working CLI documentation Greenwood specific docs enhancement Improve something existing (e.g. no docs, new APIs, etc) feature New feature or request Plugins Greenwood Plugins SSR v0.27.0 website Tasks related to the projects website / documentation
Projects
None yet
1 participant