butterfloat
Filestash
butterfloat | Filestash | |
---|---|---|
4 | 108 | |
6 | 9,474 | |
- | - | |
9.2 | 9.3 | |
3 months ago | 5 days ago | |
TypeScript | JavaScript | |
MIT License | GNU Affero General Public License v3.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
butterfloat
-
JSR: The JavaScript Registry
You can just use npm and ship node_modules on your website. It's probably "huge" so you probably want to clean out dev dependencies first (`npm prune --omit=dev` is one way to clean that) and you might find it useful to search for big binaries to filter out and redundant directories that you don't need (libraries that still include all of UMD and CommonJS and ESM builds even though you only need one), and there may still be libraries that don't directly load in the browser and you need to spot bundle with a tool like esbuild to a vendor directory.
Mostly the only other glue you need after that is an import map.
I find this flow useful (ship an optionally pruned node_modules, spot build specific vendor libraries, add import map), especially for lightweight development/testing, and so I did document it specifically from start to finish for one of my projects, it includes a vendor build one-liner:
https://worldmaker.net/butterfloat/#/getting-started?id=setu...
(The Example section after the Dev Environment one shows the import map at the top of the example HTML if you are looking for that. I forgot that's where it was when re-reading this.)
-
You Don't Need React
Vanilla JS is better these days than when React first arrived. ES Modules are natively supported in browsers now and give you much of a component system.
Though to be fair, rather than using Vanilla JS alone I did recently write my own React-looking but not React-like view engine: https://worldmaker.net/butterfloat/#/
-
Let's learn how modern JavaScript frameworks work by building one
I've been taking a similar, but somewhat different approach to upgrading some old Knockout projects to mostly Vanilla JS+RxJS.
Here's one example app: https://github.com/WorldMaker/compradprog/blob/main/main.tsx
One of the obvious differences is that I'm still using TSX, but it is very different from React, it just looks a lot like React at first glance.
Also, because I was doing it across at least a couple of projects, I started it from the beginning as its own small framework and have been trying to document it: https://github.com/WorldMaker/butterfloat/tree/main
It's still very much in early "prerelease" stages, but feedback is welcome.
-
Web Components Eliminate JavaScript Framework Lock-In
Just because on most modern hardware file I/O has millisecond latency and feels synchronous doesn't mean it is synchronous. It might feel like overkill to use Observables instead of Promises and I/O event loops or even thread-blocking faux synchronous file system calls, but there is still an asynchronous world there where it can be nice to have the full power of Observables. To be fair, my love affair with Observables started in C# in "backend" applications, so that's always been the natural fit for me and frontend and UI work has been the "side hustle" of taking stuff that I love in the backend side of the house and putting it to even more use.
I'm calling my view engine Butterfloat, and I only just finished the first documentation pass, so be gentle, but feedback is very welcome: https://github.com/WorldMaker/butterfloat
Filestash
- Ask HN: What Underrated Open Source Project Deserves More Recognition?
-
A list of SaaS, PaaS and IaaS offerings that have free tiers of interest to devops and infradev
Filestash — A Dropbox-like file manager that connects to a range of protocols and platforms: S3, FTP, SFTP, Minio, Git, WebDAV, Backblaze, LDAP and more.
-
Ask HN: What apps have you created for your own use?
I made https://github.com/mickael-kerjean/filestash out of the need to collaborate on org mode documents with non emacs users. Once the first release was done, I got to reflect on the infamous top comment of the Dropbox HN to make an attempt at abstracting the storage aspect of Dropbox so those org document could be made stored on a FTP server, SFTP, S3, ....
-
Ask HN: Experience using your user's Google Drive instead of a database?
> we need an abstraction for just this. "Bring your own storage"
I made exactly this: https://github.com/mickael-kerjean/filestash and there's an API from which you can abstract any kind of storage: S3, SFTP, FTP, GIT, WebDav, Samba, Local FS, NFS, Backblaze, Storj, Artifactory, .... There's even some funky ones like Mysql from which you have an abstraction where first level folders are databases, second level folders are tables and files are the actual rows
-
Let's learn how modern JavaScript frameworks work by building one
Yes, I rewrote my react app onto vanilla JS using nothing else than rxjs, didn't have the time to document it all yet but it looks like this: https://github.com/mickael-kerjean/filestash/blob/master/pub...
-
Found the ultimate Nextcloud / Owncloud replacement!
I'm not familiar with Cloudreve, but FileStash is a similar application often recommended on this subreddit.
-
HTML Web Components
I do use them on my OSS work (https://github.com/mickael-kerjean/filestash/tree/master/pub...) which is used by many thousands of people
-
UI frameworks are stuck in the last decade
- [2] current state of the rewrite where you can see this pattern in action https://github.com/mickael-kerjean/filestash-rewrite/tree/ma...
-
Ask HN: Tell us about your project that's not done yet but you want feedback on
https://github.com/mickael-kerjean/filestash
This is what I wish Dropbox was, a simple layer that make interacting with your FTP server easy so nobody has to own your data. The end game is both to be feature complete with Dropbox and be able to change every aspect of the application through plugin so everyone can get out what they want from it.
-
Meta pledges Three-Year sponsorship for Python if GIL removal is accepted
> but I don't think its the companies responsibility to give back to open source just because they use it
As someone who does quite a bit of OSS, the reality is most people are asking for things but aren't willing to pay for it. Take Microsoft, I had one of their employee asking me to support their azure stuff: https://github.com/mickael-kerjean/filestash/issues/180. When I found out the dude was actually employed by Microsoft, he started to talk some nonsense and ended up running away.
What are some alternatives?
apprun - AppRun is a JavaScript library for developing high-performance and reliable web applications using the elm inspired architecture, events and components.
filemanager - 📂 Web File Browser
pota - pota is a small and pluggable Reactive Web Renderer. https://pota.quack.uy/
SFTPGo - Full-featured and highly configurable SFTP, HTTP/S, FTP/S and WebDAV server - S3, Google Cloud Storage, Azure Blob
WebComponentFactory - Make use of JavaScript web components while keeping your code in .html for LSP features
filegator - Powerful Multi-User File Manager
lit-style - Shared component styles for LitElement
minio - The Object Store for AI Data Infrastructure
lit-state - Simple shared component state management for LitElement.
h5ai - HTTP web server index for Apache httpd, lighttpd and nginx.
webcomponents - Web Components specifications
Apaxy - a simple, customisable theme for your apache directory listing