deabsdeep

2.0.1 • Public • Published

deabsdeep

Build Status npm

Recursively replace absolute paths in object keys and values or array values with a ~.

Installation

npm install deabsdeep

Usage

const deabsDeep = require('deabsdeep');
 
// __dirname = /foo/bar
 
deabsDeep({
  '/foo/bar/a.txt': {
    baz: '/foo/bar/a.txt'
  }
});
/* =>
{
  '~/a.txt': {
    baz: '~/a.txt'
  }
}
*/
 
deabsDeep(['/foo/bar/a.txt', '/foo/bar/a.txt']);
/* =>
[
  '~/a.txt',
  '~/a.txt'
]
*/

Options

root (default: project root)

A root folder, by default the project root folder (where your package.json is) will be used:

deabsDeep(obj, { root: '/root/directory' });

mask (default: ~)

A string to replace the root folder with:

deabsDeep(obj, { mask: '<rootDir>' });

Jest serializer

Update your package.json to make Jest replace all absolute paths in snapshots:

{
  "jest": {
    "snapshotSerializers": ["deabsdeep/serializer"]
  }
}

Change log

The change log can be found on the Releases page.

Contributing

Everyone is welcome to contribute. Please take a moment to review the contributing guidelines.

Authors and license

Artem Sapegin and contributors.

MIT License, see the included License.md file.

Package Sidebar

Install

npm i deabsdeep

Weekly Downloads

20

Version

2.0.1

License

MIT

Unpacked Size

10.5 kB

Total Files

11

Last publish

Collaborators

  • sapegin