-
Notifications
You must be signed in to change notification settings - Fork 425
Contributor week ideas #75
Comments
Two cool ideas for contributors week of whatever:
Also from relay - Persisted queries (Sending id’s of queries instead of actual queries) |
For GraphQL tools:
For codegen:
|
|
Client Side
Documentation
Project Structure
Community Project
|
Devtools
|
Remote dev tool for react native 📶 |
|
Meteor integration:
Meteor + Apollo in general:
|
I'll be doing some work on a GraphQL library very similar to See: migueloller/graphql-utilities#12 Maybe we can even work this one out: ardatan/graphql-tools#185 🤗 |
ember-apollo-client has a few possible projects: ApolloClient upgradeIt needs an upgrade to the latest apollo-client. However, that requires some tweaks to how we're doing builds. If you know the ember-cli build system (Broccoli) and/or Webpack, this might be trivial: ember-graphql/ember-apollo-client#10 Pagination@viniciussbs has been working on Relay-style pagination and might be able to PR some of it, even if it's just examples or docs. Standalone example appIt doesn't have a standalone demo app like GitHunt, although it has a few good examples in the tests. It should be pretty easy to build a new Ember app in the style of the other GitHunt demo apps by just following what's done in the ember-apollo-client tests + dummy app. SubscriptionsI still haven't gotten around to doing anything with subscriptions, but I would sure love to see a demo of them if anybody is excited about that. And of course any others that people can think of would be more than welcome. I can promise to promptly review any PRs 😄 🚀 |
copy-pasting from the Apollo Slack Subscriptions channel: We've released
Thank you all for pushing another great milestone for Apollo! |
Any Knockout fans out there? New client library for Apollo just created - link. Has documentation, a demo and an example based upon Learn Apollo. Idea: try to break it (and then let me know, he he). Did I mention that pull requests are most welcome. Thank you. |
I think working on file upload for Apollo Client and GraphQL Server could be great - ideally you'd be able to pass |
Definitely subscriptions and file upload. |
|
here's a few issues / thoughts / ideas that are (hopefully) easy to get started on - i'm happy to help get people started if these look interesting!
as for some ideas for things that haven't been reported, here's some we brainstormed up the other day:
that's all i have for now, but those are some simple ones to get started with. |
👍 for a GraphQL way of file uploads |
There are also a few issues around persisted queries that would be cool to work on:
I'd be happy to answer questions, help out, etc. with these! |
File uploads <3 |
The biggest problem ATM for me is how to update queries after a mutation or subscription. I think this is far more important than file upload. |
I biggest problem we have today is to combine client side state (i.e. localstorage, history, redux, navigator, location) with server side state. It would be great if we could remove all mappings that we need to do to combine them in the redux store. I'm thinking this could maybe be solved with a client side graphql schema, mutations and resolvers. Wouldn't it be nice to have resolvers that combine client side state such as the url, localstorage and server side in one place? And instead of this: const mapStateToProps = ({ wizard }) => ({ wizard });
const mapDispatchToProps = (dispatch, { currentStep = 0 }) => ({
initStep: (cardCount) => dispatch({
type: 'WIZARD_INIT_STEP',
currentStep,
cardCount,
}),
});
const mergeProps = (stateProps, dispatchProps, ownProps) => {
const {
route: { childRoutes = [] },
location: { pathname },
} = ownProps;
const {
data: { loading = true, cards = [] } = {},
wizard,
} = stateProps;
const currentStep = childRoutes
.findIndex(({ path }) => (new RegExp(`${path}$`)).test(pathname));
// Extract current step state.
const { wizard: { currentWizard, [currentWizard]: wizard = {} } } = stateProps;
const { steps: { [currentStep]: stepState = { } } = [] } = wizard;
if (!loading && stepState.max !== cards.length) {
initStep(cards.length);
}
return ({
...stateProps,
...dispatchProps,
...ownProps,
currentStep,
stepState,
});
};
compose(
graphql(`
query getCards {
cards {
_id
name
}
}
`),
connect(mapStateToProps, mapDispatchToProps, mergeProps)
)(WizardStepComponent); We could write this: graphql(gql`
query getCards {
$cards: cards {
_id
name
}
}
client getStep($route: InputRoute, $location: InputLocation) {
stepState: wizard(route: $route, location: $location, cards: $cards) {
current
max
}
}
`)(WizardStepComponent); |
This issue thread is to collect ideas for contributor week projects. 🎉
Contributor week will be from Feb 7 - Feb 14.
Read the kickoff post for more info: https://dev-blog.apollodata.com/apollo-contributor-week-starts-today-39dd139c70ee#.52v38b2nh
The text was updated successfully, but these errors were encountered: