| 123456789101112131415161718192021222324 | 
							- // unix absolute paths are also absolute on win32, so we use this for both
 
- const { isAbsolute, parse } = require('path').win32
 
- // returns [root, stripped]
 
- // Note that windows will think that //x/y/z/a has a "root" of //x/y, and in
 
- // those cases, we want to sanitize it to x/y/z/a, not z/a, so we strip /
 
- // explicitly if it's the first character.
 
- // drive-specific relative paths on Windows get their root stripped off even
 
- // though they are not absolute, so `c:../foo` becomes ['c:', '../foo']
 
- module.exports = path => {
 
-   let r = ''
 
-   let parsed = parse(path)
 
-   while (isAbsolute(path) || parsed.root) {
 
-     // windows will think that //x/y/z has a "root" of //x/y/
 
-     // but strip the //?/C:/ off of //?/C:/path
 
-     const root = path.charAt(0) === '/' && path.slice(0, 4) !== '//?/' ? '/'
 
-       : parsed.root
 
-     path = path.slice(root.length)
 
-     r += root
 
-     parsed = parse(path)
 
-   }
 
-   return [r, path]
 
- }
 
 
  |