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 57241391_a529_5dd8_8832_b09118cb2fae["normalize-path.ts"] 95a806ab_8556_4112_9786_fda4ff23eeca["urls.ts"] 95a806ab_8556_4112_9786_fda4ff23eeca --> 57241391_a529_5dd8_8832_b09118cb2fae 6685d9c3_9ea1_062b_c4b3_737d22eefe98["migrate-config.ts"] 6685d9c3_9ea1_062b_c4b3_737d22eefe98 --> 57241391_a529_5dd8_8832_b09118cb2fae style 57241391_a529_5dd8_8832_b09118cb2fae 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 NodeServer domain, Resolver 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: NodeServer, subdomain: Resolver, 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