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.4.0 #188

Merged
merged 12 commits into from
Oct 16, 2019
Merged

release/0.4.0 #188

merged 12 commits into from
Oct 16, 2019

Conversation

thescientist13
Copy link
Member

@thescientist13 thescientist13 commented Aug 26, 2019

Related Issue

The minimum needed atomic changeset to deliver / release the initial 'Plugins / Packages work.

As this is a release branch, the following branch maintenance should be followed

  • PRs into this branch should be squashed merged
  • Rebase this branch when all work is done
  • Merge (NO squash) into master when ready

Summary of Changes

  1. [RFC] Integrated Lerna as a monorepo
  2. [RFC] Index Hooks Plugins API
  3. Google Analytics Plugin + introduce Composite Plugins concept
  4. [RFC] Webpack Build Plugins
  5. Polyfills Plugin: Polyfills Plugin #187 (+ pull deps from npm have polyfills in index.html managed as npm dependencies #178)
  6. Fixing what appears to have been some long standing race condition issues in our build, and consistencies partial exacerbated by the introduction of Polyfills Plugin #187 . Also absorbed Parallel Serialization  #16 as part of the enhancement.
  7. [RFC] Web Components loader

Performance

Does not include differential loading

So there's more JS now because of Google Analytics, but even supporting IE11 the main bundle size went down about 30KB. Once we can decouple the polyfills, evergreen only projects will have a super small initial payload size! I'm expecting to see some pretty good results though from Alpha Testing the Getting Started repo.

Lighthouse score is about the same, but not bad for all around for full browser support down including IE11. 🎉

BEFORE

before-network

before-lighthouse

AFTER

after-network

after-lighthouse

TODO

  1. Evaluate final plugins API (see [RFC] Extensibility - Basic Scaffold Plugins #179) and document made an issue for tracking
  2. Performance Testing
  3. Alpha Testing alpha.0
  4. alpha.1
  5. [RFC] Polyfill feature detection: Polyfills plugin should feature detect polyfills support (using webcomponents loader) #9 * (could easily be done as a post release PR)
    • alpha.2

Questions / Thoughts

  1. I don't think browserslist is implemented. Should be done as part of Polyfills plugin should feature detect polyfills support (using webcomponents loader) #9? 😬 - DONE!
  2. Might be good to create a ticket for PWA / Manifest plugin Done PWA Capabality #194
  3. Should we deprecate the 404 page? Maybe make it as a plugin? (defer to 404 page not building and serializing correctly #176 )
  4. remove <title> tag in index.html? defer to <title></title> element is static #128

* init commit of Lerna and Yarn Workspaces

* package and workspace READMEs

* readme tweak

* src directory for CLI package

* move CLI package index.js

* organize specs per package

* make smoke test common

* refactor path lookup for CLI in smoke test

* misc path refactoring

* fix circleci script
@thescientist13 thescientist13 added enhancement Improve something existing (e.g. no docs, new APIs, etc) RFC Proposal and changes to workflows, architecture, APIs, etc Plugins Greenwood Plugins website Tasks related to the projects website / documentation labels Aug 26, 2019
* first draft

* hooks working

* plugins docs overview and site navigation

* document template hooks

* TODO cleanup

* clean up console log

* update documentation example

* API rename and error handling tests
* working example with testse

* error handling

* update GA script and specs and integrated into the website

* custom plugins page

* finish docs

* clean up package.json

* anonymous IP tracking

* add Google SEO meta tag
* unit tests for supporting a webpack plugin in the Greenwood build

* documentation

* fix spec description

* clear up docs example

* clear up docs example
* remove polyfills from index.html and use @babel/preset-env for polyfilling

* remove polyfills from index.html and use @babel/preset-env for polyfilling

* update comments

* how it works documentation

* switch to postcss preset env

* contributing docs for IE11

* fix unit tests

* polyfill plugin and refactor greenwood/cli with it as dependency

* pull bundle from npm

* remove extra preset

* comment TODO

* update polyfills README

* compilation documentation
* polyfill just puppeteer

* decouple plugin from cli

* dependency refactoring

* add polyfill plugin to website

* add polyfill plugin to website

* formatting

* serlialization refactor
* add support for outbound links

* apply getOutboundLink to header link
* fix: amending async tasks to use fs-extra and disabling plugins

* task: confirm test works again

* task: confirm one last time, tests are consistently working

* task: one more test for good measure

* fix: scaffold async and organization

* fix: remove old async/await

* fix: ignore plugin tests

* fix: revert analytics test skips, readd analytics plugin

* fix: use only one instance of puppeteer for all rendering

* fix: readd polyfills plugin

* fix: remove polyfill debug log

* move fs-extra to cli package

* dependency cleanup

* fix: resolve review issues

* fix: additional async

* test: readding additional disabled test

* fix: removing changes from issue-212

* naming tweaks

* change to console error
@thescientist13 thescientist13 added v0.4.0 Plugins and Packages bug Something isn't working CLI enhancement Improve something existing (e.g. no docs, new APIs, etc) P0 Critical issue that should get addressed ASAP Plugins Greenwood Plugins website Tasks related to the projects website / documentation and removed Plugins Greenwood Plugins RFC Proposal and changes to workflows, architecture, APIs, etc enhancement Improve something existing (e.g. no docs, new APIs, etc) website Tasks related to the projects website / documentation labels Oct 12, 2019
@thescientist13 thescientist13 self-assigned this Oct 12, 2019
@thescientist13 thescientist13 changed the title [WIP] release/0.4.0 release/0.4.0 Oct 12, 2019
@@ -0,0 +1,37 @@
## Webpack Plugins

> This is an expiremental API! [YMMV](http://onlineslangdictionary.com/meaning-definition-of/your-mileage-may-vary)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

expiremental

Spelling

@@ -0,0 +1,92 @@
## Plugins

At it's core, Greenwood provides a CLI and some configuration options to enable users to develop and build their projects quickly and simply from markdown. However, more complex sites and use cases there will come a need to be able to extend the default functionality of Greenwood to support additional capabilities like:
Copy link
Member

@hutchgrant hutchgrant Oct 12, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At it's core, Greenwood provides a CLI and some configuration options to enable users to develop and build their projects quickly and simply from markdown.

3 ands in that sentence. Could we restructure that while maintaining the same description?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, good call. Will take another pass at this one.

* lock down puppeteer request making

* test for unexpected tracking files

* loosen check
* misc copy text and documentation tweaks

* misc copy / docs tweaks
* use webcomponents loader for delivering polyfills

* polyfill documentation

* caniuse documentation

* refactor puppeteer interceptor

* fix tests

* documentation tweaks

* comment clarification
@thescientist13 thescientist13 merged commit a47a333 into master Oct 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working CLI enhancement Improve something existing (e.g. no docs, new APIs, etc) P0 Critical issue that should get addressed ASAP Plugins Greenwood Plugins v0.4.0 Plugins and Packages website Tasks related to the projects website / documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants