js-ipfs-unixfs
JS implementation of the IPFS UnixFS
Table of contents
Structure
/packages/ipfs-unixfs
JavaScript implementation of IPFS' unixfs (a Unix FileSystem representation on top of a MerkleDAG)/packages/ipfs-unixfs-exporter
JavaScript implementation of the UnixFs exporter used by IPFS/packages/ipfs-unixfs-importer
JavaScript implementation of the UnixFs importer used by IPFS
The UnixFS spec can be found at ipfs/specs/UNIXFS.md
Lead Maintainer
/packages/ipfs-unixfs
Serialization/deserialization of UnixFS objects to protocol buffers/packages/ipfs-unixfs-importer
Builds DAGs from files and directories/packages/ipfs-unixfs-exporter
Exports DAGs
Development
- Clone this repo
- Run
npm install
This will install lerna and bootstrap the various packages, dedpuing and hoisting dependencies into the root folder.
If later you wish to remove all the node_modules
/dist
folders and start again, run npm run reset && npm install
from the root.
See the scripts section of the root package.json
for more commands.
Publishing new versions
- Ensure you have a
GH_TOKEN
env var containing a GitHub Personal Access Token withpublic_repo
permissions - From the root of this repo run
npm run release
and follow the on screen prompts. It will use conventional commits to work out the new package version
Using prerelease versions
Any changed packages from each successful build of master are published to npm as canary builds under the npm tag next
.
Canary builds only consider changes to packages in the last built commit so changes to the root config files should not result in new prereleases being published to npm.
Contribute
Feel free to join in. All welcome. Open an issue!
This repository falls under the IPFS Code of Conduct.
License
Licensed under either of
- Apache 2.0, (LICENSE-APACHE / http://www.apache.org/licenses/LICENSE-2.0)
- MIT (LICENSE-MIT / http://opensource.org/licenses/MIT)
Contribute
Contributions welcome! Please check out the issues.
Also see our contributing document for more information on how we work, and about contributing in general.
Please be aware that all interactions related to this repo are subject to the IPFS Code of Conduct.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.