Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    fixturifypublic

    node-fixturify

    Build Status

    Build status

    Convert JSON objects into directory structures on the file system, and back again. This package is primarily useful for writing tests.

    Installation

    npm install --save-dev fixturify

    Usage

    var fs = require('fs')
    var fixturify = require('fixturify')
     
    var obj = {
      'foo.txt': 'foo.txt contents',
      'subdir': {
        'bar.txt': 'bar.txt contents'
      }
    }
     
    fixturify.writeSync('testdir', obj) // write it to disk
     
    fixturify.readSync('testdir') // => deep-equals obj
     
    fixturify.readSync('testdir', { include: ['foo*'] }) // glob support
    // => { foo.txt: 'foo.text contents' }
     
    fixturify.readSync('testdir', { exclude: ['foo*'] }) // glob support
    // => { subdir: { bar.txt: 'bar.text contents' } }
     
    fixturify.writeSync('testDir', {
      'subdir': { 'bar.txt': null }
    }) // remove subdir/bar.txt
     
    fixturify.readSync('testdir') // => { foo.txt: 'foo.text contents' }
     
    fixturify.writeSync('testDir', {
      'subdir': null
    }) // remove subdir/
     

    File contents are decoded and encoded with UTF-8.

    fixture.readSync follows symlinks. It throws an error if it encounters a broken symlink.

    Limitations

    To keep the API simple, node-fixturify has the following limitations:

    • Reading or setting file stats (last-modified time, permissions, etc.) is not supported.

    • Creating symlinks is not supported.

    • Special files like FIFOs, sockets, or devices are not supported.

    • File contents are automatically encoded/decoded into strings. Binary files are not supported.

    Keywords

    none

    install

    npm i fixturify

    Downloadsweekly downloads

    8,735

    version

    0.3.4

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar
    • avatar