Skip to content
This repository was archived by the owner on Jun 25, 2019. It is now read-only.

Allow users to override drafter. Default to drafter.js. #37

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Allow users to override drafter. Default to drafter.js. #37

wants to merge 1 commit into from

Conversation

realityking
Copy link

@realityking realityking commented Jan 7, 2019

This PR changes the default version of drafter used to drafter.js but allows users to override it with the C++ version.

This is a breaking change.

Related issues and pull requests

@realityking
Copy link
Author

@kylef Should this PR be moved to the elements.js repo? I'm a little confused what's going on with these repos.

@kylef
Copy link
Member

kylef commented Jan 10, 2019

We're in the process of moving all of these fury adapters into a single repository and redesigning the interface and naming of the adapters (apiaryio/api-elements.js#32). Unfortunately as this was started late December the progess was hampered due to numerous vacations etc and the announcement and propergation of this information to all the existing repositories hasn't been completed. Starting updating the documentation in apiaryio/fury-cli#46.


Thanks for this proposal @realityking, one of my concerns with this change is that we no longer have a way to lock to the correct version of the parser. It will be tricky for the user to know which parsers are compatible with the Fury adapter, and it can be easy for a user to create a broken environment when they use an incompatible version. This will be more of a problem now than ever as we have breaking changes across the last few versions of the parsers. The latest version of Drafter, Drafter.js and Protagonist are all incompatible with the current version of the Fury Adapter for API Blueprint.

For example, there are 4 pre-releases of Protagonist 2.0.0 around which all offer breaking changes between each other and you will not be able to use any of them with this version of the adapter. We're in the mist of rolling out and making a stable release of Drafter 4.
apiaryio/api-elements.js#58. There has been a few discussions elsewhere about solving this problem in different ways, one way is for fury-adapter-apib-parser to check the version of the parser that was provided to it and error in the case it is incompatible.

That said, as we are in the middle of rolling out a significant breaking change of Drafter 4 which removes older serialisations and the API Blueprint AST. I want to get this completed before we add more breaking changes to the mix. I don't want us to delay rolling out Drafter 4 for this change. We're already significantly behind schedule rolling out Drafter 4.

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

Successfully merging this pull request may close these issues.

2 participants