-
Notifications
You must be signed in to change notification settings - Fork 116
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
Drakov doesn't install with Node 4.0.0 #89
Comments
Adding to the list: nodejs/node#2798. |
Thanks @ChALkeR for the update 👍 |
Drafter.js appears to be deprecated, and doesn't look like it's going to be updated with the latest protagonist: https://github.com/apiaryio/drafter.js#deprecation-notice Is there a possibility to update the drafter dependency to protagonist, as suggested? |
@artlogic the reasoning behind using Drafter.js is to give users of Drakov access to using attributes/MSON. Unfortunately, this isn't supported in Protagonist yet. We need to spend some time on implementing other libraries for parsing the API files in the near future. For some background on the situation, have a read through #60 Let me know if you have any questions. |
Thanks for the info - would it make sense to fork Drafter.js and modify it to work with the latest protagonist in the interim? |
That's a good question, not one I had considered. If we were able to get more contributors for it, I might thing about it. As it stands we're pretty stretched for time to work on just Drakov :) I'll have a dig through the Drafter.js source and have a think about it 👍 |
I spent a bit of time looking at this. One fairly easy change is forcing protagonist to output AST as opposed to Refract. The place where I'm running up against a problem is with the MSON data structures (of course). I'm attempting to parse https://github.com/apiaryio/drafter.js/blob/master/test/fixtures/dataStructures.apib and running into the following: protagonist 0.20.1 output for { element: 'dataStructure',
name: { literal: 'Coupon', variable: false },
typeDefinition:
{ typeSpecification:
{ name: { literal: 'Coupon Base', variable: false },
nestedTypes: [] },
attributes: [] },
sections:
[ { class: 'memberType',
content:
[ { content:
{ name: { literal: 'id' },
description: '',
valueDefinition:
{ values: [ { literal: '250FF', variable: false } ],
typeDefinition:
{ typeSpecification: { name: 'string', nestedTypes: [] },
attributes: [] } },
sections: [] },
class: 'property' } ] } ] } protagonist 1.0.0 Output (1.1.0 is currently broken, to be fixed soon) for { element: 'dataStructure', content: [ { element: 'Coupon' } ] } As you can see, a lot of structure is suddenly missing which causes a crash pretty much right away. If you have any insight into this, I'd appreciate it. I'll keep digging as time allows. |
Any change in this? |
@obihann not yet, we still need to look at the upstream dependencies to fix this. We'll post an update in here if there is any change. I'm hoping to look at this in the next month, as I too would like to use node.js 4.2.2 👍 |
Based on my investigation about a month ago, I think MSON support may need to be dropped and then re-introduced as protagonist slowly gains support. I'd be willing to devote some time to helping with the transition to protagonist as I'd very much like to move to node 4. |
@artlogic appreciate the offer of assistance. Might have to have a think about this and discuss with the others. We could propose upping the version to a new minor release (0.2.x) and break the support for MSON, allowing users who don't need it to run drakov on newer version of node.js, but keep it going in the current minor release (0.1.x). I'll get in touch with the other maintainers and we try and make a call on this by perhaps mid next week (Wednesday) 👍 |
I'm sympathetic as I am now working in a team using Node.js 4.2 and would really like to make use of drakov. |
@yakovkhalinsky Looks like I'll have some time this month if you'd be willing to entertain a breaking 0.2.x version based on protagonist. |
@artlogic have discussed this with @marcelogo and I think we could accept dropping MSON support in a I think it is more important for all concerned to progress with the current Node.js versions. |
Hi guys, Just got to know Regards, |
Hi @PavelPolyakov hopefully in the coming weeks we can get this resolved. Currently the max version of Node.js is 0.12.x |
When installing Drakov, Drafter.js has a build error, caused by protagonist not building on Node 4.0.0.
The text was updated successfully, but these errors were encountered: