12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /**
- * Modules
- */
- var path = require('path')
- /**
- * Vars
- */
- var relative = path.relative
- var lastCwd = process.cwd()
- var cache = Object.create(null)
- /**
- * Expose cachedPathRelative
- */
- module.exports = cachedPathRelative
- /**
- * cachedPathRelative
- */
- function cachedPathRelative (from, to) {
- // If the current working directory changes, we need
- // to invalidate the cache
- var cwd = process.cwd()
- if (cwd !== lastCwd) {
- cache = {}
- lastCwd = cwd
- }
- if (cache[from] && cache[from][to]) return cache[from][to]
- var result = relative.call(path, from, to)
- cache[from] = cache[from] || {}
- cache[from][to] = result
- return result
- }
|