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 = ""`

Reply via email to