fixturify
Convert objects into directory structures and back again
Last updated 3 years ago by stefanpenner .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install fixturify 
SYNC missed versions from official npm registry.

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

yarn add fixturify

Usage

const fs = require('fs')
const fixturify = require('fixturify')

const 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/

const fs = require('fs')
const fixturify = require('fixturify')

const obj = {
  'subdir': {
    'foo.txt': 'foo.txt contents'
  },
  'emptydir': {}
}

fixturify.writeSync('testdir', obj) // write it to disk

fixturify.readSync('testdir', { ignoreEmptyDirs: true })
// => { subdir: { foo.txt': 'foo.txt contents' } }

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.

Current Tags

  • 1.2.0                                ...           latest (7 months ago)

12 Versions

  • 1.2.0                                ...           7 months ago
  • 1.1.0                                ...           7 months ago
  • 1.0.1                                ...           7 months ago
  • 1.0.0                                ...           7 months ago
  • 0.3.4                                ...           2 years ago
  • 0.3.3                                ...           3 years ago
  • 0.3.2                                ...           3 years ago
  • 0.3.1                                ...           3 years ago
  • 0.3.0                                ...           3 years ago
  • 0.2.0                                ...           4 years ago
  • 0.1.1                                ...           6 years ago
  • 0.1.0                                ...           6 years ago

Copyright 2014 - 2016 © taobao.org |