<krainboltgreene>
indirect: Think this is solved at all by simply making library importing a thin layer over version control software?
<indirect>
krainboltgreene: can you elaborate on what you mean?
<krainboltgreene>
indirect: I wrote a package manager for Io a long while back, and it seemed like taking the npm/bower approach was so much easier.
<indirect>
npm and bower are both useless for managing packages though :/
<krainboltgreene>
I admit I've never shipped an npm package.
<krainboltgreene>
As a user though, it seemed pretty dang good.
<indirect>
it might be easier to use git if we were starting today, but packaged libraries are generally much faster to install
<indirect>
lol did you ever try to ship an app to production while a library released a breaking change?
<indirect>
npm has extremely rudimentary and buggy locking
<krainboltgreene>
I static full version lock everything!
<indirect>
bower has no locking at all
<krainboltgreene>
Ah
<indirect>
lololol ok
<krainboltgreene>
I mean you can ref lock bower, right?
<indirect>
then you're fine :P
<indirect>
that is not typical or recommended usage
<krainboltgreene>
Yeah.
<indirect>
npm and bower devs, even, tell you to lock with pessimistic constraints
<krainboltgreene>
I mean I freaking love semver, but after 3 years of yelling on twitter it's about as likely to be followed as gnu/linux.
<indirect>
which is hopeless and awful
<indirect>
Bundler lets you have both
<indirect>
via the lock
<krainboltgreene>
Right.
<krainboltgreene>
I used to use optimistic all the time.
<krainboltgreene>
Then one of my friend showed me that github uses static full ('1.0.0'), and lists not only direct dependencies, but x level dependencies.
<indirect>
lololololol yeah
<indirect>
that's the other thing
<indirect>
Bundler locks deps of deps of deps
<indirect>
npm and bower both make you do that by and
<indirect>
fuck that
<indirect>
er by hand
<indirect>
useless as package managers :P
houhoulis has quit [Remote host closed the connection]
<krainboltgreene>
That's a really good point, hadn't thought about that.
<krainboltgreene>
What's the solution without creating a new file though? Mutating the package.json?
<krainboltgreene>
I mean to npm's credit at least the dependency list is in a non-turing complete language.
<indirect>
what do you mean?
<indirect>
npm's highly buggy locking feature (they call it shrinkwrap) does create a new file
<indirect>
I hear it's much better in npm v3
<indirect>
bower has nothing, though
<krainboltgreene>
They have a lock file?
<indirect>
npm shrinkwrap
<indirect>
it's fully manual
<krainboltgreene>
Huh.
<indirect>
and all updates have to be fully manual as well
<indirect>
it's very frustrating to use :/
<krainboltgreene>
I was thinking you basically define dependencies.json, it reads the file, finds the true full dependency tree, and then overwrites dependencies.json
<krainboltgreene>
As an alternative to a specific lock file.
<krainboltgreene>
So many root level files these days.
<indirect>
yup
<indirect>
npm-shrinkwrap.json :/
<krainboltgreene>
Haha
<krainboltgreene>
Almost as bad as Dockerfile & docker-compose.yml
<indirect>
I use a package called clingwrap to manage updating single packages in the shrinkwrap
<indirect>
and I wrote a wrapper for "npm shrinkwrap" and clingwrap to kind of emulate bundle update foo
<indirect>
but it's such a giant pain
<krainboltgreene>
Whew.
<krainboltgreene>
Alright, well thanks for helping. I'll be sure to get L&W on rubytogether.
stef1a has joined #bundler
Pupeno has joined #bundler
Pupeno has quit [Ping timeout: 246 seconds]
houhoulis has joined #bundler
stef1a has quit [Ping timeout: 240 seconds]
stef1a has joined #bundler
stef1a has quit [Ping timeout: 264 seconds]
halorgium has quit [Ping timeout: 246 seconds]
halorgium has joined #bundler
stef1a has joined #bundler
stef1a has quit [Quit: leaving]
chouhoulis has quit [Remote host closed the connection]
chouhoulis has joined #bundler
chouhoulis has quit [Ping timeout: 246 seconds]
Pupeno has joined #bundler
chouhoulis has joined #bundler
Pupeno_ has joined #bundler
Pupeno has quit [Read error: Connection reset by peer]
chouhoulis has quit [Ping timeout: 260 seconds]
chouhoulis has joined #bundler
chouhoulis has quit [Ping timeout: 250 seconds]
Pupeno_ has quit [Remote host closed the connection]
Pupeno has joined #bundler
houhoulis has quit [Remote host closed the connection]
chouhoulis has joined #bundler
chouhoulis has quit [Ping timeout: 244 seconds]
chouhoulis has joined #bundler
chouhoulis has quit [Ping timeout: 250 seconds]
chouhoulis has joined #bundler
halorgium has quit [Ping timeout: 246 seconds]
chouhoulis has quit [Ping timeout: 264 seconds]
halorgium has joined #bundler
huoxito has joined #bundler
khebbie has joined #bundler
habitullence has joined #bundler
chouhoulis has joined #bundler
chouhoulis has quit [Ping timeout: 260 seconds]
habitullence has quit [Quit: habitullence]
khebbie has quit [Remote host closed the connection]
khebbie has joined #bundler
khebbie has quit [Remote host closed the connection]
khebbie has joined #bundler
khebbie has quit [Remote host closed the connection]
chouhoulis has joined #bundler
khebbie has joined #bundler
chouhoulis has quit [Remote host closed the connection]
khebbie has quit [Remote host closed the connection]
khebbie has joined #bundler
khebbie has quit [Ping timeout: 264 seconds]
Scrivener has joined #bundler
habitullence has joined #bundler
huoxito has quit [Remote host closed the connection]
chouhoulis has joined #bundler
chouhoulis has quit [Remote host closed the connection]
chouhoulis has joined #bundler
habitullence has quit [Quit: habitullence]
chouhoul_ has joined #bundler
chouhoulis has quit [Ping timeout: 240 seconds]
habitullence has joined #bundler
chouhoul_ has quit [Remote host closed the connection]
chouhoulis has joined #bundler
maletor has joined #bundler
huoxito has joined #bundler
habitullence has quit [Quit: habitullence]
huoxito_ has joined #bundler
huoxito has quit [Ping timeout: 268 seconds]
huoxito_ has quit [Ping timeout: 250 seconds]
huoxito has joined #bundler
habitullence has joined #bundler
habitullence has quit [Client Quit]
khebbie has joined #bundler
khebbie has quit [Ping timeout: 264 seconds]
habitullence has joined #bundler
habitullence has quit [Quit: habitullence]
Pupeno has quit [Remote host closed the connection]
Pupeno has joined #bundler
Scrivener has quit [Quit: Leaving]
Scrivener has joined #bundler
lele has quit [Ping timeout: 240 seconds]
lele has joined #bundler
maletor has quit [Read error: Connection reset by peer]
Pupeno has quit [Remote host closed the connection]
Pupeno has joined #bundler
huoxito has quit [Remote host closed the connection]
Scrivener has quit [Ping timeout: 265 seconds]
Pupeno has quit [Remote host closed the connection]