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

Proof of Concept: Converted to ES6, abstractions for Files, Database, and Cache. Reworked the default MemoryCache. #194

Closed
gnz00 opened this issue Feb 3, 2016 · 2 comments

Comments

@gnz00
Copy link

gnz00 commented Feb 3, 2016

https://github.com/maysale01/parse-server/tree/es6-all-tests-passing

Still needs some major refactoring as I was kinda trying to tackle too much at one time.

Converted all code to ES6. All tests passing. Some bug fixes / new error constraints.
Added a ParseServer class that manages instances of the ParseApp class.
Added DatabaseProvider, CacheProvider, and FilesProvider for abstracting respective implementations.
Reworked the cache, all access needs to be via an Express request object passed to a handler or the Express app object returned during instantiation. From my understanding this is how an Express plugin/server should be scoped/implemented.

@gfosco
Copy link
Contributor

gfosco commented Feb 3, 2016

This is beautiful stuff... Will you be willing/able to do this later, when the project stabilizes? I wrote in #176 that I think it's more important to focus on fixing bugs and getting closer to feature parity, before we do large scale refactors.

@gnz00
Copy link
Author

gnz00 commented Feb 3, 2016

I agree, but I have to get something into production in 2 weeks so I'm going to maintain my own repo for opinionated/rapid changes and merge features from master manually for the time being until you're ready to do a major refactoring.

Given that we're 24 hours out from the es6 spike and theres only a handful of pull requests I don't think it would really change the state of Parse Server if the change was adopted. The only benchmarks we have for the current master are the integration tests, which are passing.

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

2 participants