nowthis / sankeymatic

Make Beautiful Flow Diagrams
http://sankeymatic.com/build/
ISC License
841 stars 122 forks source link

Make repository locally runnable freshly after the pull #59

Closed BudWhiteStudying closed 1 year ago

BudWhiteStudying commented 1 year ago

I forked the main branch because I wanted to play around with the tool a bit (wonderful job by the way), so I served the root of the project with a local web server, but found out the tool wasn't working since there's a couple of missing library files (plus a couple more non-blocking errors from missing images etc).

The project could be made locally runnable through a handful of trivial changes (switching to CDN-hosted libraries, etc), which I already implemented in my fork.

Would it be ok if I created a development branch on here and opened a PR from it in order to integrate the changes?

nowthis commented 1 year ago

For the main version running on sankeymatic.com, I don't want to add a dependency on any other site to have the scripts ready & loadable - that makes things more fragile for no real gain.

However, you're right that pulling from CDNs would make running it locally much easier for anyone checking it out.

So I'm thinking about what would be a good way to handle that difference in usage patterns... options I've thought of:

Thanks for bringing it up; I'll try to decide soon which way forward will make the most sense. Open a PR if you like; either way, I'll try to address it soon.

(Adding the missing image to the repo is a good idea, I'll do that as well.)

BudWhiteStudying commented 1 year ago

My unsolicited 2 cents:

If I understand correctly you prefer keeping the dependencies statically available where the webapp is deployed, rather than fetching them from a CDN. Those static files are missing from the repo, so I suppose they're available on the web-server itself... would it be (that) bad to version them as part of the repository as well? It would maintain the current pattern of keeping the libraries statically available, while making the repository work right off the pull.

The clean alternative to this would be to Node-ify the project, definitely a more substantial effort but also a significantly more solid result.

nowthis commented 1 year ago

I don't want to add the other libraries to this repository.

I think your first solution may be the best way forward.

I will try a separate private branch for the deployed version which contains my custom paths, and update the 'main' branch to use CDN versions for convenience.

I may not get to this change for a couple of weeks; I have other features in flight that I want to ship first.