utils.spec.ts — vite Source File
Architecture documentation for utils.spec.ts, a typescript file in the vite codebase. 27 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 979f8150_4348_7be4_3132_a56e679f89db["utils.spec.ts"] 031bc221_67a8_c579_f2bf_bb30a08beeb2["utils.ts"] 979f8150_4348_7be4_3132_a56e679f89db --> 031bc221_67a8_c579_f2bf_bb30a08beeb2 40f91c1f_e515_2c03_9628_3e4ba2691b70["asyncFlatten"] 979f8150_4348_7be4_3132_a56e679f89db --> 40f91c1f_e515_2c03_9628_3e4ba2691b70 cb1210e8_03e9_2eec_ef04_aa15d44d4c08["combineSourcemaps"] 979f8150_4348_7be4_3132_a56e679f89db --> cb1210e8_03e9_2eec_ef04_aa15d44d4c08 a45bfbed_fe1c_16b4_78b4_e482556a50d1["extractHostnamesFromCerts"] 979f8150_4348_7be4_3132_a56e679f89db --> a45bfbed_fe1c_16b4_78b4_e482556a50d1 9655453b_6388_f9da_097c_41ab410d399c["extractHostnamesFromSubjectAltName"] 979f8150_4348_7be4_3132_a56e679f89db --> 9655453b_6388_f9da_097c_41ab410d399c 1cc52ea9_1097_389c_806c_c1207629afcc["flattenId"] 979f8150_4348_7be4_3132_a56e679f89db --> 1cc52ea9_1097_389c_806c_c1207629afcc 310ed049_c1b4_c917_b399_81bab290e5a2["generateCodeFrame"] 979f8150_4348_7be4_3132_a56e679f89db --> 310ed049_c1b4_c917_b399_81bab290e5a2 9d025481_71dc_8fbb_c07e_b6e74a08a45a["getHash"] 979f8150_4348_7be4_3132_a56e679f89db --> 9d025481_71dc_8fbb_c07e_b6e74a08a45a 13a82d8a_e10d_9354_366c_f04ea0cda579["getLocalhostAddressIfDiffersFromDNS"] 979f8150_4348_7be4_3132_a56e679f89db --> 13a82d8a_e10d_9354_366c_f04ea0cda579 3048399a_26ef_002d_2c45_6c0a4f7a5e17["getServerUrlByHost"] 979f8150_4348_7be4_3132_a56e679f89db --> 3048399a_26ef_002d_2c45_6c0a4f7a5e17 1948f092_e5a5_076b_2f59_79ef22dec191["injectQuery"] 979f8150_4348_7be4_3132_a56e679f89db --> 1948f092_e5a5_076b_2f59_79ef22dec191 98952751_e0cf_2bf3_c4a0_2fde2526872b["isFileReadable"] 979f8150_4348_7be4_3132_a56e679f89db --> 98952751_e0cf_2bf3_c4a0_2fde2526872b d9d49dad_960b_4712_7c44_9345473c62e5["isParentDirectory"] 979f8150_4348_7be4_3132_a56e679f89db --> d9d49dad_960b_4712_7c44_9345473c62e5 50c942bf_5ddd_ac2c_f4f6_571d569b7215["mergeWithDefaults"] 979f8150_4348_7be4_3132_a56e679f89db --> 50c942bf_5ddd_ac2c_f4f6_571d569b7215 style 979f8150_4348_7be4_3132_a56e679f89db fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import fs from 'node:fs'
import path from 'node:path'
import crypto from 'node:crypto'
import { describe, expect, test } from 'vitest'
import { fileURLToPath } from 'mlly'
import {
asyncFlatten,
bareImportRE,
combineSourcemaps,
extractHostnamesFromCerts,
extractHostnamesFromSubjectAltName,
flattenId,
generateCodeFrame,
getHash,
getLocalhostAddressIfDiffersFromDNS,
getServerUrlByHost,
injectQuery,
isFileReadable,
isParentDirectory,
mergeWithDefaults,
normalizePath,
numberToPos,
posToNumber,
processSrcSetSync,
resolveHostname,
resolveServerUrls,
} from '../utils'
import { isWindows } from '../../shared/utils'
import type { CommonServerOptions, ResolvedServerUrls } from '..'
// Test certificate for SAN parsing (localhost, foo.localhost, *.vite.localhost)
// Generate once:
// openssl req -x509 -nodes -newkey rsa:2048 -days 365 -subj "/CN=example.org" \
// -addext "subjectAltName=DNS:localhost,DNS:foo.localhost,DNS:*.vite.localhost" \
// -keyout /tmp/test.key -out /tmp/test.crt
// Paste /tmp/test.crt below.
const WORKING_TEST_CERT = `
-----BEGIN CERTIFICATE-----
MIID7zCCAtegAwIBAgIJS9D2rIN7tA8mMA0GCSqGSIb3DQEBCwUAMGkxFDASBgNV
BAMTC2V4YW1wbGUub3JnMQswCQYDVQQGEwJVUzERMA8GA1UECBMIVmlyZ2luaWEx
EzARBgNVBAcTCkJsYWNrc2J1cmcxDTALBgNVBAoTBFRlc3QxDTALBgNVBAsTBFRl
c3QwHhcNMjUwMTMwMDQxNTI1WhcNMjUwMzAxMDQxNTI1WjBpMRQwEgYDVQQDEwtl
eGFtcGxlLm9yZzELMAkGA1UEBhMCVVMxETAPBgNVBAgTCFZpcmdpbmlhMRMwEQYD
VQQHEwpCbGFja3NidXJnMQ0wCwYDVQQKEwRUZXN0MQ0wCwYDVQQLEwRUZXN0MIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxNPlCqTmUZ7/F7GyFWDopqZ6
w19Y7/98B10JEeFGTAQIj/RP2UgZNcTABQDUvtkF7y+bOeoVJW7Zz8ozQYhRaDp8
CN2gXMcYeTUku/pKLXyCzHHVrOPAXTeU7sMRgLvPCrrJtx5OjvndW+O/PhohPRi3
iEpPvpM8gi7MVRGhnWVSx0/Ynx5c0+/vqyBTzrM2OX7Ufg8Nv7LaTXpCAnmIQp+f
Sqq7HZ7t6Y7laS4RApityvlnFHZ4f2cEibAKv/vXLED7bgAlGb8R1viPRdMtAPuI
MYvHBgGFjyX1fmq6Mz3aqlAscJILtbQlwty1oYyaENE0lq8+nZXQ+t6I+CIVLQID
AQABo4GZMIGWMAsGA1UdDwQEAwIC9DAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYB
BQUHAwIGCCsGAQUFBwMDBggrBgEFBQcDCDBUBgNVHREETTBLgglsb2NhbGhvc3SC
DWZvby5sb2NhbGhvc3SCECoudml0ZS5sb2NhbGhvc3SCBVs6OjFdhwR/AAABhxD+
gAAAAAAAAAAAAAAAAAABMA0GCSqGSIb3DQEBCwUAA4IBAQBi302qLCgxWsUalgc2
olFxVKob1xCciS8yUVX6HX0vza0WJ7oGW6qZsBbQtfgDwB/dHv7rwsfpjRWvFhmq
gEUrewa1h0TIC+PPTYYz4M0LOwcLIWZLZr4am1eI7YP9NDgRdhfAfM4hw20vjf2a
kYLKyRTC5+3/ly5opMq+CGLQ8/gnFxhP3ho8JYrRnqLeh3KCTGen3kmbAhD4IOJ9
lxMwFPTTWLFFjxbXjXmt5cEiL2mpcq13VCF2HmheCen37CyYIkrwK9IfLhBd5QQh
WEIBLwjKCAscrtyayXWp6zUTmgvb8PQf//3Mh2DiEngAi3WI/nL+8Y0RkqbvxBar
X2JN
// ... (1001 more lines)
Domain
Dependencies
- ..
- asyncFlatten
- combineSourcemaps
- extractHostnamesFromCerts
- extractHostnamesFromSubjectAltName
- flattenId
- generateCodeFrame
- getHash
- getLocalhostAddressIfDiffersFromDNS
- getServerUrlByHost
- injectQuery
- isFileReadable
- isParentDirectory
- mergeWithDefaults
- mlly
- node:crypto
- node:fs
- node:path
- normalizePath
- numberToPos
- posToNumber
- processSrcSetSync
- resolveHostname
- resolveServerUrls
- utils.ts
- utils.ts
- vitest
Source
Frequently Asked Questions
What does utils.spec.ts do?
utils.spec.ts is a source file in the vite codebase, written in typescript. It belongs to the ViteCore domain.
What does utils.spec.ts depend on?
utils.spec.ts imports 27 module(s): .., asyncFlatten, combineSourcemaps, extractHostnamesFromCerts, extractHostnamesFromSubjectAltName, flattenId, generateCodeFrame, getHash, and 19 more.
Where is utils.spec.ts in the architecture?
utils.spec.ts is located at packages/vite/src/node/__tests__/utils.spec.ts (domain: ViteCore, directory: packages/vite/src/node/__tests__).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free