-
Notifications
You must be signed in to change notification settings - Fork 10
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
Roadmap To 1.0 And Beyond #418
Milestone
Comments
20 tasks
thescientist13
added
the
RFC
Proposal and changes to workflows, architecture, APIs, etc
label
Sep 22, 2020
This was referenced Nov 7, 2020
This was referenced Dec 24, 2020
This was referenced Feb 24, 2021
6 tasks
This was referenced Mar 28, 2021
16 tasks
Merged
12 tasks
I think we've got our mileage out of this ticket so going to close. A lot of good information has now been captured in our issues and discussions. v1.0.0 here we come! |
10 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This issue is intended to outline a the short and long term planning of the project for review and consensus gathering. It is broken down into the following milestones as part of the discovery done as part of the NoNo POC and the work to port that to Greenwood here in #417.
This will also serve as a way to update current GitHub Issues, Projects, Milestones
Questions
<meta>
component / package still needed? - yes! have some react-helmet like featuresFeature Parity (relatively) by 12/31/2020
This is work needed to accomplish the bulk of the work necessary to get #355 merged without much disruption to existing users. Merged into an ongoing
release/1.0.0
release branch and tracked in the Architecture Digest Project / MVP Milestone.Will want to validate these using an
rc
ornext
branch release before merging intomaster
Main thing here should be ensure that performance improves significantly and a number of existing issues in the backlog can be resolved. Each of the below numbered items would be a PR and tracked in the release branch PR.
PR and associated TODOsfrom Rfc/issue 355 no bundle development #417Refactor serve.js into plugin based architecturebring done as part of [RFC] Plugins: Transforms #185SPA support- delegated to Progressive Enhancement ("RedactJS") #354optimization
in greenwood.config.jsGraphQL as a package, or something simpler@data/client
instead offetch
Handle loading prismjs- delegated to restore support for CSS bundling (w/Rollup) #427How to handle user context options / default CLI templates/- tracked in final release and questions checklist #428Refactor serve.js into middleware based design- refactor prod server to use default standard plugins #519create JSON and CSS plugins using- see [RFC] Plugins: Transforms #185import.meta.url
import
JSON using ESM #516import
an image using ESM #517Smarter handling of- deferred to <meta> Component package #304<title></title>
tag, takes a function?!Restore Polyfill and Google Plugins- will be deferred to [RFC] Plugins: Transforms #185Babel / PostCSS / Browserslist support- created restore Babel / PostCSS / Browserslist for no bundle development #426Enable / get all specs passing- tracked in final release and questions checklist #428Rollup refactoring- tracked final release and questions checklist #428figure out why I can't use pages/blog/index.htmlfixed by Rfc/issue 355 no bundle development #417confirm- see instances of <slot>-ed content and lit-element are rendering twice #433body[unresolved]
is still an issueconfirmfilter only JS packages for importMap and add tests #485import-map
support shim needed (for local dev)handling paths in templates, e.g. ./, ../, normalize everything to- tracked in resolve (deeply) nested relative template paths to expected workspace path #435/
?, also associated with route misses with using /Revisit all documentationtracked in revisit all technical documentation for no bundle development #430Test more dependencies to ensure proper handling of CJS vs ESM based- tracked in validate / support resolution of various common packages in node modules #429Publish to next branch and test in critical consumer projects- filter only JS packages for importMap and add tests #485Roadmap to 1.0 by 12/31/2021
Things we should try and complete by end of year to achieve a 1.0. The aim is to complete low effort features that introduce / exercise new APIs, rounds out certain key features needed as part of the Feature Parity work.
10KB
!!! This may be causing style collisions colliding with styles 👆 ? Either way, we should control the HTML output. If want to support inlining CSS great, but then we also shouldn't ship it over the network either. One or the other. Will make an issue to track this specific issue of junk in the trunk, and another to track optimizing for inlining CSS (may not work "work" for CSS-in-JS or else you get the FOUC thought...). - see Enhancement/issue 426 restore userland postcss #453 for more contextinput
for Rollup could just point to src/>. Nothing worth tracking for now, IMO.window.location
.import
, also(node:82640) ExperimentalWarning: The fs.promises API is experimental
node_modules[(https://twitter.com/pikapkg/status/1306643472804278272).
npx
(0CJS - zero config JS) - confirmed as part of Website/issue 268 update project vision #499serve
task from the CLIoptions.ecmaVersion
is required. warning messagenetlify analytics<script>
and<style>
tags fordevelop
(andprod
, of course). Not sure if this can wait until post 1.0, but putting it on this roadmap for now. - inline<script>
and<style>
tags should get processed by Greenwood standard resource plugins #534@apollo/client
in client.js - add full client API support for Apollo client in plugin-graphql (as ESM) #535import
as the spec says they should always be there but for now, will make it so node_modules can be bare, and can make an issue to add support for bare module specifier as a plugin - ensure a clear and consistent convention for when to use file extensions #536importMaps
like in plugin-babel /regenerator-runtime
- create reusable walker, "package ranger" utility so that import map building logic can be shared #537import
on NodeJS code - Upgrade project codebase to ESM #532importMap
androllupAlias
- refactor duplicate hardcoded dependencies list in plugin-graphql to a single shared data structure #538server.stop
handling onprocess
end - ensure proper termination of server plugins when Greenwood process ends #539createCache
round-robin? 🐦 - optimize server side cache writing to reduce duplicate work and only run in production mode #541- done!eject
functionality<title>
/<meta>
tags (bug) - top level pages don't correctly merge<title>
tags #530build
? (for npx) - discussion - Should Greenwood have a default command? #528preventAssignment
default setting warning #526mode
setting (at least by default). Not all scripts are created equally,preload
vsprefetch
. Router and GraphQL should probably useprefetch
. - Default Optimization settings for Modes #545<link>
/<script>
overrides forinline
andstatic
optimization settings<link>
/<script>
overrides for preload or prefetch hints - enable support for all optimization settings and overrides #546<routes
for all pages. Saved a WIP branch here and will track as a follow up discussion. route partial filenames should be hashed based on file contents #547HydrateElement
or looking into things like Declarative Shadow DOM - HydrateElement (SSR+Hydration for native `HTMLElement` / Web Components) #548item.item
in children query? - Graph schema consistency enhancements #552Post 1.0
These are tasks that can be worked on in the normal course of maintaining Greenwood and shouldn't require introducing any breaking changes. Really valuable features should have the Post 1.0 Milestone assigned so that contributors can get some visibility into where help could be applied. Post 1.0, we would probably moved to quarterly time boxed projects to track our status.
Maybe when we get to this point, we can all pick a couple tasks and start from there? We can keep this list flexible.
1, Image loading plugin
npx
), create a badge.io? - Examples and Starter Kits #523new URL
andimport.meta.url
?)etag
~
as a way to resolve node modules (as a plugin)?Thoughts for 2.0
Not necessarily breaking changes but also for more future facing ideas / features that might take a while or are just good for tracking at least? I think this should all be tracked in Trello for now until we have hit the 1.0 release at least. Then we can groom all of Trello and get it into a more refined GitHub backlog, which we should have by this time. Might also be worth creating an RFC specific repo for these (unless GitHub discussions becomes available by then).
getServerSideProps
type thing like from NextJS to help identify a page instead ofwindow.location === route
? - Server Side Rendering and Templating (puppeteer alternatives) #576 / Serverless (+ single route builds) #626Tech Radar
Just interesting things to watch, maybe in Trello or dedicated GitHub repo.
The text was updated successfully, but these errors were encountered: