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

v1: Vapor decoupling #92

Merged
merged 25 commits into from
Nov 3, 2022
Merged

v1: Vapor decoupling #92

merged 25 commits into from
Nov 3, 2022

Conversation

d-exclaimation
Copy link
Owner

@d-exclaimation d-exclaimation commented Nov 1, 2022

Description

First stable release of Pioneer. Pioneer have been under v0.x for a while and it has shown little major issues. This brings a bit more confidence for me to start introducing major improvements and changes.

This pull request is all about decoupling Pioneer and Vapor. Moving all integration into their own directories and as extensions. This decoupling should be allow usage with other frameworks and better customisations

Once all v1 pull request have been merged, I am hoping to release v1.0.0-rc.1 or v1.0.0-beta which will be available to use and play with (hopefully shine some light into uncaught issues). If no major issue come up, v1.0.0 should be released soon after.

Motivation

One of the goal is to allow more Web frameworks integrations. Vapor is a great Web framework, but similarly to Apollo Server, Pioneer should not strictly restrict itself to one framework.
At some point (possibly v2), Pioneer and its Vapor integration would be separate packages which allow user of the library to use other options if they see fit.

Another goal is catch up to Apollo Server v4 which have significant changes especially on the API of the library.

Changes

  • Significantly reduced coupling with Vapor
  • Use middleware style of routing
  • Made some useful structs, protocols, and functions public which would allow other Web frameworks integration
  • Removed Configuration
  • Moved context builder into middleware instead of being in Pioneer directly
  • Properly did WebSocket on initialisation guard
  • Updated tests accordingly
  • Added comments documentation into new functions, structs, and protocols

@d-exclaimation d-exclaimation added the enhancement New feature or request label Nov 1, 2022
@d-exclaimation d-exclaimation added this to the Version 1 milestone Nov 1, 2022
@d-exclaimation d-exclaimation self-assigned this Nov 1, 2022
@d-exclaimation d-exclaimation marked this pull request as draft November 1, 2022 05:01
@d-exclaimation d-exclaimation changed the title Version 1 v1: Vapor decoupling Nov 1, 2022
@d-exclaimation d-exclaimation linked an issue Nov 1, 2022 that may be closed by this pull request
@d-exclaimation d-exclaimation changed the base branch from main to version-1 November 3, 2022 00:34
@d-exclaimation d-exclaimation linked an issue Nov 3, 2022 that may be closed by this pull request
@d-exclaimation d-exclaimation marked this pull request as ready for review November 3, 2022 00:36
@d-exclaimation d-exclaimation merged commit 04a0ef6 into version-1 Nov 3, 2022
@d-exclaimation d-exclaimation deleted the v1 branch November 3, 2022 00:37
@d-exclaimation d-exclaimation mentioned this pull request Nov 18, 2022
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

websocketOnInit has not been implemented Agnostic Server Library
1 participant