upgrade.mjs — tailwindcss Source File
Architecture documentation for upgrade.mjs, a javascript file in the tailwindcss codebase. 4 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR d08cabf5_335e_cc75_ec74_b1b0ee7869cf["upgrade.mjs"] 69c3e246_0d60_1a3b_6419_4c423b01252f["node:child_process"] d08cabf5_335e_cc75_ec74_b1b0ee7869cf --> 69c3e246_0d60_1a3b_6419_4c423b01252f b75e8457_6610_e7ce_eeaf_9a1dd10fc510["promises"] d08cabf5_335e_cc75_ec74_b1b0ee7869cf --> b75e8457_6610_e7ce_eeaf_9a1dd10fc510 89aef3dd_1eed_c141_d425_b8949215a653["node:path"] d08cabf5_335e_cc75_ec74_b1b0ee7869cf --> 89aef3dd_1eed_c141_d425_b8949215a653 8454872a_1bfa_3cb3_db8f_6d2e7e422a55["node:url"] d08cabf5_335e_cc75_ec74_b1b0ee7869cf --> 8454872a_1bfa_3cb3_db8f_6d2e7e422a55 style d08cabf5_335e_cc75_ec74_b1b0ee7869cf fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { execSync } from 'node:child_process'
import fs from 'node:fs/promises'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
const __dirname = fileURLToPath(new URL('.', import.meta.url))
const cwd = path.join(__dirname, '..')
let originalLockfile = await fs.readFile(path.join(cwd, '../../pnpm-lock.yaml'), 'utf-8')
console.log('Overwriting dependencies for @tailwindcss/upgrade')
// Apply package patches
let json = JSON.parse(await fs.readFile('package.json', 'utf-8'))
json.pnpm = {
overrides: {
'@tailwindcss/upgrade>tailwindcss': 'file:../../dist/tailwindcss.tgz',
'@tailwindcss/upgrade>@tailwindcss/node': 'file:../../dist/tailwindcss-node.tgz',
},
}
json.devDependencies['@tailwindcss/upgrade'] = 'file:../../dist/tailwindcss-upgrade.tgz'
await fs.writeFile('package.json', JSON.stringify(json, null, 2))
try {
execSync('pnpm install --ignore-workspace', { cwd })
} catch (error) {
console.error(error.stdout?.toString() ?? error)
}
execSync('npx @tailwindcss/upgrade --force', { cwd, stdio: 'inherit' })
// Undo package patches
json = JSON.parse(await fs.readFile('package.json', 'utf-8'))
delete json.pnpm
delete json.devDependencies['@tailwindcss/upgrade']
await fs.writeFile('package.json', JSON.stringify(json, null, 2))
// Restore original lockfile (to avoid unnecessary changes in git diff)
await fs.writeFile(path.join(cwd, '../../pnpm-lock.yaml'), originalLockfile)
await fs.unlink(path.join(cwd, 'pnpm-lock.yaml'))
Dependencies
- node:child_process
- node:path
- node:url
- promises
Source
Frequently Asked Questions
What does upgrade.mjs do?
upgrade.mjs is a source file in the tailwindcss codebase, written in javascript.
What does upgrade.mjs depend on?
upgrade.mjs imports 4 module(s): node:child_process, node:path, node:url, promises.
Where is upgrade.mjs in the architecture?
upgrade.mjs is located at playgrounds/v3/scripts/upgrade.mjs (directory: playgrounds/v3/scripts).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free