cubiclesoft / js-fileexplorer

A zero dependencies, customizable, pure Javascript widget for navigating, managing, uploading, and downloading files and folders or other hierarchical object structures on any modern web browser.
256 stars 42 forks source link

No tags, no npm/yarn, no composer ? #12

Closed cavasinf closed 2 years ago

cavasinf commented 2 years ago

hey, it was a surprise to find a JS FileExplorer that is not overly priced/free.

So I was happy to try it out on my app, but sadly there's no package manager to install that component.

Why 🤔

cubiclesoft commented 2 years ago

Relevant post:

http://cubicspot.blogspot.com/2016/04/php-fig-composer-and-other-disasters.html

As to git tags, I don't see the point. There's no need to do that when software works fine as-is. The latest version is the greatest. It is CubicleSoft policy to write software and documentation correctly the first time for the vast majority of use-cases. The result is very few open issues on issue trackers, low commit counts, and very few BC breaks. For the most part, manual versioning (tagging) in an already git-enabled universe is an unnecessary duplication of effort that I've also found to be error-prone. Successfully pushing code to a repository effectively creates a new version. CubicleSoft git pushes, everyone else git pulls.

There's also the laziness factor. I generally don't use package managers myself (only occasionally using Decomposer) since I have 85+ full fledged projects here on GitHub and prefer to write my own stuff. I'm aware that some people use those systems. I generally don't because there is rarely a need to do so.

cavasinf commented 2 years ago

So your way to include your "bundles" in applications is to raw copy every "sub project"/repository of CubicleSoft and git it into your main application ??

How do you handle versionning? how do you handle major update ? How do you refer patch notes or improvements ? What year are we ?

With that way of "implementing" things, it would be pain to maintain applications..

cubiclesoft commented 2 years ago

As was already mentioned in my first response, the CubicleSoft compatibility policy answered most of the above questions. The year is 2022 but that question was likely intended as an insult rather than a serious question. Alternative to throwing around insults: Use git submodule

As to "pain to maintain applications," there is CubicleSoft File Tracker, which I use extensively to bulk update hundreds of repos globally in a sane manner. It's scalable bulk diff/merging and is still the only bulk diff/merge tool on Earth. With it I don't need classic versioning. I personally cherry pick the files I need from my own official source repos when I build a new project to keep unnecessary files from floating around and File Tracker manages the rest. When managing 85+ public repos on GitHub, the usual tools are insufficient so I make my own. At this point, CubicleSoft is its own ecosystem.

Finally, I write software for me. If others like yourself benefit, then great. If not, then :shrug:.