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

info: I am maintaining a fork at @jagql/framework #407

Open
championswimmer opened this issue May 8, 2018 · 4 comments
Open

info: I am maintaining a fork at @jagql/framework #407

championswimmer opened this issue May 8, 2018 · 4 comments

Comments

@championswimmer
Copy link
Contributor

championswimmer commented May 8, 2018

Information

Package: https://npmjs.com/@jagql/framework
Repo: https://github.com/jagql/framework

Motivation

I have been using jsonapi-server in my projects for quite some time now.
While I have huge, huge respect for everyone from holidayextras who has worked hard and made this great project possible, I think recently, there has been a bit of slowdown.
There are many features and issues that can be added/fixed, and there are many PRs lying, which the maintainers are not having time to review and update (I can understand there must be other work, holidayextras is a big company, so I am not criticizing).

I have even been contributing a lot of PRs to both jsonapi-server and jsonapi-store-sequelize but I think the speed of things getting updated has been slow

Differences

Differences are noted here
https://github.com/jagql/framework#differences-from-upstream
And in changelog
https://github.com/jagql/framework/blob/master/CHANGELOG.md

uuid + autoincrement support

Both uuid and autoincrement is supported (even in foreignkey relations handled properly)
ids can be generated by client or provided by server

Typescript support

https://github.com/jagql/framework/tree/master/types
It has full Typedefinitions, to give 100% autocomplete and type linting support for those who use TS to build nodejs projects

Merged PRs

  1. Show pagination for /:resource/:id/:relation #311 pagination for nested resources
  2. add bodyParserJsonOpts to apiConfig for setting the limit option #366 body parser options (now merged here too)
  3. Bug: fix crud operation detection when using chain handlers #367 crud op detection fix (now merged here too)
  4. Expose original express request/response objects to custom handlers #274 expose req, res to handler
  5. https://github.com/holidayextras/jsonapi-server sort and filter skipping in handlers
  6. Avoid blocking other requests while validating large output #277 async validation - huge perf increase

Other improvements

  1. jagql/framework@94a6d0c GrqphQL object type fixed
  2. jagql/framework@e4f513d handlers are es6 classes, can be extended
  3. jagql/framework@33812c0 fix error code for id not found (was not jsonapi spec compliant earlier)

Roadmap

Things I intend to work on in immediate future

  • multi key sorting Sorting by multiple fields #338
  • upgrade from Swagger2 to Swagger3 (Open Api v3)
  • add 'actions' like user/login kind of paths that can not be 100% represented as json:api

Collaboration

I an assure and promise I will continue to send PRs to this repository to help keep this maintained.
Also if the maintainers want to merge the fork back in this, I would love to help out on that.
The changes are backwards compatible, and it is not hard to upgrade from jsonapi-server to jagql.
If jagql is merged back into this, and speed of development increases I would love that the most.

@championswimmer
Copy link
Contributor Author

cc @slickmb @wolfgang42
Many of the PRs I have cherry picked that were unmerged here were from you.
I would like to thank you guys for those PRs ❤️

@paparomeo
Copy link
Contributor

Thanks for reaching out @championswimmer. I'm going to consult internally about the possibility of handing over the maintenance of the project to you.

@Redsandro
Copy link

I'm split between two worlds. @championswimmer included some interesting features, but the version here has support for mongodb.

@championswimmer
Copy link
Contributor Author

As an update I have set up docs for the fork here https://jagql.github.io/docs/
(using a lot of markdown files from this repo itself). It is a bit more accessible and readable than those here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants