Recursively replace absolute paths in object keys and values or array values with a ~
.
npm install deabsdeep
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'
]
*/
A root folder, by default the project root folder (where your package.json
is) will be used:
deabsDeep(obj, { root: '/root/directory' });
A string to replace the root folder with:
deabsDeep(obj, { mask: '<rootDir>' });
Update your package.json
to make Jest replace all absolute paths in snapshots:
{
"jest": {
"snapshotSerializers": ["deabsdeep/serializer"]
}
}
The change log can be found on the Releases page.
Everyone is welcome to contribute. Please take a moment to review the contributing guidelines.
Artem Sapegin and contributors.
MIT License, see the included License.md file.