normalize-path.ts — tailwindcss Source File
Architecture documentation for normalize-path.ts, a typescript file in the tailwindcss codebase. 0 imports, 2 dependents.
Entity Profile
Dependency Diagram
graph LR 342c0afc_3173_535b_9e25_ef41f6768585["normalize-path.ts"] 5e3855e0_f04e_28ee_98ea_8502e6531bc8["urls.ts"] 5e3855e0_f04e_28ee_98ea_8502e6531bc8 --> 342c0afc_3173_535b_9e25_ef41f6768585 deadb2f6_312c_a055_6892_b63958628b61["migrate-config.ts"] deadb2f6_312c_a055_6892_b63958628b61 --> 342c0afc_3173_535b_9e25_ef41f6768585 style 342c0afc_3173_535b_9e25_ef41f6768585 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
// Inlined version of `normalize-path` <https://github.com/jonschlinkert/normalize-path>
// Copyright (c) 2014-2018, Jon Schlinkert.
// Released under the MIT License.
function normalizePathBase(path: string, stripTrailing?: boolean) {
if (typeof path !== 'string') {
throw new TypeError('expected path to be a string')
}
if (path === '\\' || path === '/') return '/'
var len = path.length
if (len <= 1) return path
// ensure that win32 namespaces has two leading slashes, so that the path is
// handled properly by the win32 version of path.parse() after being normalized
// https://msdn.microsoft.com/library/windows/desktop/aa365247(v=vs.85).aspx#namespaces
var prefix = ''
if (len > 4 && path[3] === '\\') {
var ch = path[2]
if ((ch === '?' || ch === '.') && path.slice(0, 2) === '\\\\') {
path = path.slice(2)
prefix = '//'
}
}
var segs = path.split(/[/\\]+/)
if (stripTrailing !== false && segs[segs.length - 1] === '') {
segs.pop()
}
return prefix + segs.join('/')
}
export function normalizePath(originalPath: string) {
let normalized = normalizePathBase(originalPath)
// Make sure Windows network share paths are normalized properly
// They have to begin with two slashes or they won't resolve correctly
if (
originalPath.startsWith('\\\\') &&
normalized.startsWith('/') &&
!normalized.startsWith('//')
) {
return `/${normalized}`
}
return normalized
}
Domain
Subdomains
Functions
Imported By
Source
Frequently Asked Questions
What does normalize-path.ts do?
normalize-path.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the NodeBridge domain, Compiler subdomain.
What functions are defined in normalize-path.ts?
normalize-path.ts defines 2 function(s): normalizePath, normalizePathBase.
What files import normalize-path.ts?
normalize-path.ts is imported by 2 file(s): migrate-config.ts, urls.ts.
Where is normalize-path.ts in the architecture?
normalize-path.ts is located at packages/@tailwindcss-node/src/normalize-path.ts (domain: NodeBridge, subdomain: Compiler, directory: packages/@tailwindcss-node/src).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free