1
2
3
4
5
6
7
8
9
10
11
12
13
| // warning: extremely hot code path.
| // This has been meticulously optimized for use
| // within npm install on large package trees.
| // Do not edit without careful benchmarking.
| module.exports = str => {
| let i = str.length - 1
| let slashesStart = -1
| while (i > -1 && str.charAt(i) === '/') {
| slashesStart = i
| i--
| }
| return slashesStart === -1 ? str : str.slice(0, slashesStart)
| }
|
|