4.0.0 • Published 8 years ago

hyperdrive-import-files v4.0.0

Weekly downloads
8
License
MIT
Repository
github
Last release
8 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

8 years ago

3.0.0

9 years ago

2.10.0

9 years ago

2.9.0

9 years ago

2.8.0

9 years ago

2.7.1

9 years ago

2.7.0

9 years ago

2.6.0

9 years ago

2.5.0

9 years ago

2.4.3

9 years ago

2.4.2

9 years ago

2.4.1

9 years ago

2.4.0

9 years ago

2.3.0

9 years ago

2.2.2

9 years ago

2.2.1

9 years ago

2.2.0

9 years ago

2.1.0

9 years ago

2.0.3

10 years ago

2.0.2

10 years ago

2.0.1

10 years ago

2.0.0

10 years ago

1.7.2

10 years ago

1.7.1

10 years ago

1.7.0

10 years ago

1.6.0

10 years ago

1.5.0

10 years ago

1.4.0

10 years ago

1.3.0

10 years ago

1.2.0

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago