Separate Superagent transport into optional module #409
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
The core of
WPAPI
is the query builder: this can be used with any HTTP library, or with native XHR orfetch
. It seems odd therefore that we require superagent no matter how you intend to use the library.This WIP / Experimental PR creates a new module you can use via
require( 'wpapi/superagent' )
, to pull in the WPAPI object configured with a Superagent-specific http transport object. This is a breaking change, because it means that by defaultrequire( 'wpapi' )
will yield an object incapable of making HTTP requests; but it sets us up for a lot of flexibility down the road.Input welcome on this proposal, and more to follow after the holidays!
Open questions:
superagent
as a dependency, or make it a peerDependency or drop it as a dependency altogether, instead instructing users they must install it if they wish to requirewpapi/superagent
?wpapi/superagent
(part of this repo), or a separate npm packagewpapi-superagent
? If the latter, it clarifies the dependency question somewhat.