drakov icon indicating copy to clipboard operation
drakov copied to clipboard

Maintain parallel versions of Drakov to give choice of Drafter.js or Protagonist for parsing

Open yakovkhalinsky opened this issue 9 years ago • 4 comments

While ambitious, I wished to support non-C compiling installs for the majority of users who don't have complex files or have platforms that don't require C compilers to be installed.

The downside of using Drafter.js, which is currently prerelease, is that currently the parsing times of each file is slower.

My proposal to deal with this, to keep the npm installs clean is to maintain a parallel version of Drakov to allow users the choice of either Drafter.js or Drakov.

To achieve this I would like to setup the versioning as follows: 1.x.x - installs with Drafter.js 2.x.x - installs with Protagonist (which compiles Snowcrash under the hood)

yakovkhalinsky avatar Mar 18 '16 20:03 yakovkhalinsky

Have done some testing for #128 and found that in most cases the slow down isn't too much of an issue, except when MSON is introduced.

yakovkhalinsky avatar Mar 18 '16 20:03 yakovkhalinsky

Why not just use a 0.2-branch for protagonist?

0.2.x - installs with Protagonist (as until now) 1.x.x - installs with Drafter.js

This seems to be a problem with Drafter.js so you can wait until Drafter.js parses MSON faster and release 1.1. Who wants to use version with Protagonist can use 0.2, but is aware that this release will deprecated in future.

Art4 avatar Mar 19 '16 10:03 Art4

@Art4 it does make sense since we already have 0.2.x

yakovkhalinsky avatar Mar 19 '16 13:03 yakovkhalinsky

Hi, I've just released drafter-npm which we recommend using over Protagonist and Drafter.js directly. This package is a wrapper around Protagonist and drafter.js and it will attempt to install Protagonist, if that fails it will fall back to drafter.js.

We've also improved the performance of drafter.js recently.

kylef avatar Jul 19 '16 16:07 kylef