People who don't wanna learn/use npm to install the dat CLI
How would the user interact with it?
It would be a standalone binary executable and/or wizard installer that installs dat into your PATH that works on Mac, Linux and Windows.
Why is the project important to the ecosystem?
If we bundle node with dat and all of the node_modules as well then we can have a simplified installation process and also more reproducibility in builds (e.g. left-pad wouldn't affect us, users using weird node versions wouldnt affect us, installing dat over a flaky internet connection would be more efficient because we could download one binary instead of hundreds of http requests to npm)
What defines the minimum requirements to sufficiently release (version 1)
[ ] Figure out a way to use browserify --node on dat to create a single JS bundle with all the dat JS modules in it that you can run with node to spawn the dat CLI
[ ] Figure out a way to unpack and install the native modules we use (leveldb, rabin, etc) from the bundle
[ ] Figure out a way to bundle a node binary in with the executable bundle that executes the above two things
What are some stretch goals or interesting features for further releases (version 2, 3)
A --update flag that downloads the latest release (over dat://, naturally)
A GUI wizard installer that installs the dat binary into the users PATH
Zeit's pkg enables you to package your Node.js project into an executable that can be run even on devices without Node.js installed. It supports freebsd, linux, macos and win.
Who are the users?
People who don't wanna learn/use
npm
to install thedat
CLIHow would the user interact with it?
It would be a standalone binary executable and/or wizard installer that installs
dat
into your PATH that works on Mac, Linux and Windows.Why is the project important to the ecosystem?
If we bundle node with dat and all of the node_modules as well then we can have a simplified installation process and also more reproducibility in builds (e.g. left-pad wouldn't affect us, users using weird node versions wouldnt affect us, installing dat over a flaky internet connection would be more efficient because we could download one binary instead of hundreds of http requests to npm)
What defines the minimum requirements to sufficiently release (version 1)
browserify --node
on dat to create a single JS bundle with all the dat JS modules in it that you can run with node to spawn the dat CLIWhat are some stretch goals or interesting features for further releases (version 2, 3)