disruptek / nimph Goto Github PK
View Code? Open in Web Editor NEWNim package hierarchy manager from the future ๐ง
License: MIT License
Nim package hierarchy manager from the future ๐ง
License: MIT License
We should probably try to determine the desired package using dependencies first (ie. import names), then the official packages (tags? package names?), and finally passing to GitHub search.
Maybe make this a toggle until it's not surprising us anymore.
Probably just an option to the nurse for extra log output. We need this because dependency problems are currently needlessly difficult to isolate.
$ cd myproject
$ nimph roll 1.2.3
myproject now at tag 1.2.3
$ nimph roll npeg 0.21.3
dependency npeg now at tag 0.21.3
Maybe it should just be called point
.
Distributions are bare repositories tar'd up and immutable with a "good enough" hash. They may be installed via checkout, but we might come up with a way to bless them beyond git.
IIRC, this has to be done by spawning a new shell in the target directory...?
Seems like we aren't peeling requirements correctly, or they are only being peeled in one direction?
Probably something to preserve only the last X lockers?
This might be another place to use the effect system.
Related to #21.
Do we need to switch to checkout
semantics?
I guess if our computed $NIMBLE_DIR doesn't exist, we had better not pass it to Nimble... Ever.
Nimble sometimes writes empty URLs into nimblemeta.json. ๐คฆโโ๏ธ
Harder than it should be due to libgit2/libgit2#3041 but, to be honest, not much harder. We still have to look at all changes to the package definition and then either pull the patched blob out of git or just roll to it and knowVersion
, so we're still iterating over every commit that touches the package file.
...versus simple strings.
We could even check to see if you have commit access to each requirement and setup ssh remotes for those you can write to.
cutelog (https://github.com/disruptek/cutelog.git>=1.0.1) missing
cutelog (git://github.com/disruptek/cutelog.git>=1.1.1) missing
We should just sort them in git-land before they are added to the tag table.
Just a track of libgit2/libgit2#3058 and libgit2/libgit2#5254, which we'll need before supporting native shallow clones.
We are probably going to have to implement these in Nimble if we want them to be useful in public projects.
cc @genotrance
This might be annoying in some degraded projects, but it seems like the right thing to do.
Thankfully, this is pretty rare, but we have to decide how to handle a version like 2.1
-- is it identical to '2.1.0' for our wildcard requirements calculations?
It would be nice to be able to push upstream, or to auto-add a github remote.
Trivial once #41 is implemented.
The API for GitLab is being generated with OpenAPI, I just need to add signing.
/cc @Clyybber
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.