4.0.0 • Published 6 years ago

hyperdrive-import-files v4.0.0

Weekly downloads
8
License
MIT
Repository
github
Last release
6 years ago

hyperdrive-import-files

Import the contents of a folder into a hyperdrive, and optionally keep watching for changes.

Build Status

Example

const hyperdrive = require('hyperdrive')
const memdb = require('memdb')
const hyperImport = require('hyperdrive-import-files')

const drive = hyperdrive(memdb())
const archive = drive.createArchive()

hyperImport(archive, 'a/directory/', err => {
  // ...
})

Installation

$ npm install hyperdrive-import-files

API

hyperImport(archive, target, , options)

Recursively import target, which is the path to a directory or file, into archive and call cb with the potential error. The import happens sequentually. Returns a status object.

Options

  • watch: watch files for changes & import on change (archive must be live)
  • overwrite: allow files in the archive to be overwritten (defaults to true)
  • compareFileContent: compare import-candidates to archive's internal copy. If false, will only compare mtime and file-size, which is faster but may reslt in false-positives. (defaults to false)
  • basePath: where in the archive should the files import to? (defaults to '')
  • ignore: anymatch expression to ignore files
  • dryRun: step through the import, but don't write any files to the archive (defaults to false)
  • indexing: Useful if target === dest so hyperdrive does not rewrite the files on import.

To enable watching, set watch: true, like this:

const status = hyperImport(archive, target, { watch: true }, err => {
  console.log('initial import done')
})
status.on('error', err => {
  // ...
})
// when you want to quit:
status.close()

If you want to import into a subfolder, set basePath:

hyperImport(archive, target, { basePath: '/some/subdir' }, err => {...})

status

Events:

  • error (err)
  • file imported ({ path, mode=updated|created })
  • file skipped ({ path })
  • file watch event ({ path, mode=updated|created })

Properties:

  • fileCount: The count of currently known files
  • totalSize: Total file size in bytes
  • bytesImported: Amount of bytes imported so far

License

MIT

4.0.0

6 years ago

3.0.0

7 years ago

2.10.0

7 years ago

2.9.0

7 years ago

2.8.0

7 years ago

2.7.1

7 years ago

2.7.0

7 years ago

2.6.0

7 years ago

2.5.0

7 years ago

2.4.3

7 years ago

2.4.2

8 years ago

2.4.1

8 years ago

2.4.0

8 years ago

2.3.0

8 years ago

2.2.2

8 years ago

2.2.1

8 years ago

2.2.0

8 years ago

2.1.0

8 years ago

2.0.3

8 years ago

2.0.2

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.7.2

8 years ago

1.7.1

8 years ago

1.7.0

8 years ago

1.6.0

8 years ago

1.5.0

8 years ago

1.4.0

8 years ago

1.3.0

8 years ago

1.2.0

8 years ago

1.1.1

8 years ago

1.1.0

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago