@helia/unixfs is an implementation of a filesystem compatible with Helia.

See the API docs for all available operations.

Example: Creating files and directories

import { createHelia } from 'helia'
import { unixfs } from '@helia/unixfs'

const helia = await createHelia()
const fs = unixfs(helia)

// create an empty dir and a file, then add the file to the dir
const emptyDirCid = await fs.addDirectory()
const fileCid = await fs.addBytes(Uint8Array.from([0, 1, 2, 3]))
const updateDirCid = await fs.cp(fileCid, emptyDirCid, 'foo.txt')

// or doing the same thing as a stream
for await (const entry of fs.addAll([{
path: 'foo.txt',
content: Uint8Array.from([0, 1, 2, 3])
}])) {
console.info(entry)
}

Example: Recursively adding a directory

Node.js-compatibly environments only:

import { createHelia } from 'helia'
import { unixfs } from '@helia/unixfs'
import { globSource } from '@helia/unixfs'

const helia = await createHelia()
const fs = unixfs(helia)

for await (const entry of fs.addAll(globSource('path/to/containing/dir', 'glob-pattern'))) {
console.info(entry)
}

Index

Interfaces

Type Aliases

Functions