To get 100% reliability for parsing `.nimble` it is necessary to have full repo
cloned - but that is another topic of having absolutely unconstrained
turning-complete language that can easily do _anything_ just when you install
the package. Which is the source of major pain regardless, and it will be more
and more difficult to deal with as number of packages that rely on this would
only go up over time.
But so far the number of such packages was relatively low - as I already said,
simply parsing `PNode` from package is sufficient for almost all cases.
total package count: 1565
processing ok: 1382
not using github: 51
http error when getting: 87
configuration parse fail: 19
Run
I've updated implementation a little since I got these numbers, so it should
work even better, but 19/1565 packages is approximately one percent. And
believe it is **absolutely useless** to try and work around every concevable
way someone might write requirements, and instead try to contain this into
something that can be statically reasoned about.
Note that I'm not trying to completely remove nimscript from `.nimble`. Of
course it is necessary to have nimscript eval for `task` and other, but I think
it is totally unnecessary for `requires = ""`