JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1474
  • Score
    100M100P100Q95477F
  • License MIT

Recursively replace absolute paths in objects and arrays with ~

Package Exports

  • deabsdeep

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (deabsdeep) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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.