fission-codes / auth-lobby

The authentication service that Fission services run.
https://auth.fission.codes
GNU Affero General Public License v3.0
12 stars 1 forks source link

Install dependencies via Nix shellHook #68

Closed expede closed 3 years ago

expede commented 3 years ago
Screen Shot 2021-04-21 at 11 43 18 AM

...the same will happen with lorri

icidasset commented 3 years ago

Don't think we need that giant gitignore file, that stuff should ideally be in one's global gitignore file. Otherwise I don't have a nice overview of which Elm files aren't in git.

Looks good otherwise 👍

I am bit concerned about how this will play out when offline, because the install-deps task removes the downloaded libraries before re-downloading them.

expede commented 3 years ago

So here's the argument for the gitignore file: I hadn't run lorri in a while and was out of date, and ended up with a bunch of error logs written to the directory (IIRC from running pnpm?). These are ignored in other projects, but not here because I guess we've been adding items by hand. Why should be manually adding stuff to the gitignore when there's well known items that we won't want?

Also, what's wrong with a "large" gitignore? I can see the argument that the OS-specific stuff should be on your system, but the Node and Elm ones seem helpful, no? They're broken into sections, so you don't have to go hunting for which is for what.

expede commented 3 years ago

I am bit concerned about how this will play out when offline

Oh, yeah, that's probably not going to work, then. Why does it delete the entire directory first? Can't update in place?

expede commented 3 years ago

Oh yeah, this totally breaks when offline. WebNative seems fine, because yarn doesn't delete anything.

icidasset commented 3 years ago

Ideally the pnpm install should fail in install-deps when offline and stop there. But I guess it doesn't? We can probably remove the rm -rf web_modules line. I just had that in there to clean up old deps in case you changed them, but that doesn't matter much.

I have all that stuff in my global gitignore file. But if people prefer working this way, that's fine too 👍

expede commented 3 years ago

I'll take out the OS-specific stuff; you're right that it should be in their global ignore. We have had (several) people upload .DS_Stores over the years, but OS stuff should be handled per machine, yeah. Good call 👍

expede commented 3 years ago

Looking at the offline support stuff. It's not a problem, I'm just looking to understand: why are we curling dependencies rather than using a JS-style installer?

icidasset commented 3 years ago

Looking at the offline support stuff. It's not a problem, I'm just looking to understand: why are we curling dependencies rather than using a JS-style installer?

Because when we started this project we weren't using a bundler (and still aren't for the main.js file). So I needed js-ipfs and localforage in the pre-built format, which wasn't available on NPM at that time (this may or may not have changed by now).

expede commented 3 years ago

Hmm yeah. How hard is it to do the bundling? "Just" avoiding the pain of webpack/snowpack/whateverpackpack? Having the ability to install this stuff via yarn or similar would feel cleaner. Maybe not a huge deal, though. Your call, but it feels like this will come up again

icidasset commented 3 years ago

Not sure, it'll probably be fine. We want to move to typescript, so we'll have to do it anyway. Let's merge this for now 👍