overwriteVersionsInPackageJson() — tailwindcss Function Reference
Architecture documentation for the overwriteVersionsInPackageJson() function in utils.ts from the tailwindcss codebase.
Entity Profile
Dependency Diagram
graph TD 6fd82750_ae7b_5040_168c_51948e7e8bf1["overwriteVersionsInPackageJson()"] 9ffd1dda_9675_c514_373d_0f4ab4648249["utils.ts"] 6fd82750_ae7b_5040_168c_51948e7e8bf1 -->|defined in| 9ffd1dda_9675_c514_373d_0f4ab4648249 f11e3be9_51f8_140b_68b0_f58ddd082595["test()"] f11e3be9_51f8_140b_68b0_f58ddd082595 -->|calls| 6fd82750_ae7b_5040_168c_51948e7e8bf1 b95376ae_f4e1_3bcb_cb6f_486d834bf6bd["resolveVersion()"] 6fd82750_ae7b_5040_168c_51948e7e8bf1 -->|calls| b95376ae_f4e1_3bcb_cb6f_486d834bf6bd style 6fd82750_ae7b_5040_168c_51948e7e8bf1 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
integrations/utils.ts lines 473–508
async function overwriteVersionsInPackageJson(content: string): Promise<string> {
let json = JSON.parse(content)
// Resolve all workspace:^ versions to local tarballs
for (let key of ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies']) {
let dependencies = json[key] || {}
for (let dependency in dependencies) {
if (dependencies[dependency] === 'workspace:^') {
dependencies[dependency] = resolveVersion(dependency)
}
}
}
// Inject transitive dependency overwrite. This is necessary because
// @tailwindcss/vite internally depends on a specific version of
// @tailwindcss/oxide and we instead want to resolve it to the locally built
// version.
json.pnpm ||= {}
json.pnpm.overrides ||= {}
for (let pkg of PUBLIC_PACKAGES) {
if (pkg === 'tailwindcss') {
// We want to be explicit about the `tailwindcss` package so our tests can
// also import v3 without conflicting v4 tarballs.
json.pnpm.overrides['@tailwindcss/node>tailwindcss'] = resolveVersion(pkg)
json.pnpm.overrides['@tailwindcss/upgrade>tailwindcss'] = resolveVersion(pkg)
json.pnpm.overrides['@tailwindcss/cli>tailwindcss'] = resolveVersion(pkg)
json.pnpm.overrides['@tailwindcss/postcss>tailwindcss'] = resolveVersion(pkg)
json.pnpm.overrides['@tailwindcss/vite>tailwindcss'] = resolveVersion(pkg)
json.pnpm.overrides['@tailwindcss/webpack>tailwindcss'] = resolveVersion(pkg)
} else {
json.pnpm.overrides[pkg] = resolveVersion(pkg)
}
}
return JSON.stringify(json, null, 2)
}
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does overwriteVersionsInPackageJson() do?
overwriteVersionsInPackageJson() is a function in the tailwindcss codebase, defined in integrations/utils.ts.
Where is overwriteVersionsInPackageJson() defined?
overwriteVersionsInPackageJson() is defined in integrations/utils.ts at line 473.
What does overwriteVersionsInPackageJson() call?
overwriteVersionsInPackageJson() calls 1 function(s): resolveVersion.
What calls overwriteVersionsInPackageJson()?
overwriteVersionsInPackageJson() is called by 1 function(s): test.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free