storyforj / fervor Goto Github PK
View Code? Open in Web Editor NEWA batteries included, config lite, fullstack framework to build modern web apps
License: MIT License
A batteries included, config lite, fullstack framework to build modern web apps
License: MIT License
We should setup a default unit test suite for new projects. We should figure out what would make sense for most projects.
I think Jest may make sense. Does anyone have thoughts/opinions?
Debate Deadline - July 1st 2018
Code splitting + server side rendering is traditionally tough. My current idea is to create a babel plugin that is only applied for webpack builds. This plugin would also only apply to the urls.js file, all files loaded into that file would get the lazy webpack plugin applied to them.
In development, hot reloading works just fine client side; however, server-side rendering on the other hand uses code at the time of server start.
You can see the results of this when you edit any app or component files. Notice the client side updates quick. Now if you refresh the page you'll see a warning that the server side and the client side doesn't have matching results. This manifests in other dramatic ways especially when schema changes are involved or if various changes could cause the server side explode but not the client side.
Please consider this one writing a fix: Care must be taken with the client side hot reloading portions of the code. Restarting the server everytime code is changed means client side hot reloading breaks. IMHO client side hot reloading is more important for dev speed.
We have a fair amount of features where we plan for JS being disabled or broken on the client side. My initial attempts at writing these failed. Webdriver expects JS to be on/off for an entire test run. I didn't really want to duplicate configs for the JS off tests quite yet.
Right now it can be pretty tricky to update fervor and test it locally. Doing simple things is not so hard. Things like, editing CLI tools or updating dependencies are pretty tricky. Even adding docs and chatting about it is not really enough. I think something needs to change.
Ok major problems:
yarn add file:./../fervor/
followed by a yarn link
link
enough your fervor
instance will disappear and start getting babel errorsPostgraphile added new options for adding custom schema.
We dropped this out of the "Basic Framework" project. This is also one of those things that we didn't really need immediately. refetchQueries is sufficient for most cases. I need more data on what we need here and how to make it easy to work with. Apollo out of the box is actually quite difficult to optimistically render programmatically.
@mwildehahn found these tools useful in a private project. Going to port these over.
https://github.com/sheerun/knex-migrate has a bunch of tools we want. Super useful, while knex by default doesn't provide much out of the hood. We should proxy these options with our CLI.
It would be nice to find a way to reload the postgraphile server in both of these 2 cases:
[] The database changes
[] A change is made in the graph folder
With these changes it should be a lot quicker to iterate on the backend side of things.
We need a logger. It'd be nice if it worked server side and client side.
The workbox version is hardcoded currently and when the versions change in node_modules we don't serve the appropriately file.
These helpers should allow the following at least:
I think for this one we need to wait for postgraphql to add subscriptions. We may need to do something in fervor to help here. If postgraphql doesn't add subscriptions, we should find a way to do this.
They can be tricky to maintain. Let's teach folks how to do it.
As I was writing the doc on local state I realized I haven't yet added the ability to add reducers. We haven't needed them on our project yet so we haven't added them. We should definitely get this done.
Help on the CLI doesn't output on new lines, and it definitely should.
In general, 500 errors on pages don't stick - and get replaced by 404s. Wondering how to pull this off with react-router in the mix.
withCredentails
.postgraphile
which auto-adds the authJWT
cookie value if present as the authorization header so postgraphile can look it up: https://github.com/postgraphql/postgraphql/blob/273ae4b0ae40d50bcc6c2874711ced3beb683aa0/src/postgraphql/http/createPostGraphQLHttpRequestHandler.js#L401Right now all server side gql needs to make a roundtrip over the internet back to the same server. We can fix this, but I was running into issues with the initial implementation.
We have a few useful plugins floating around.
filter
tools for graphile (or, and, where, greaterthan, etc).A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.