Home / File/ version-packages.mjs — tailwindcss Source File

version-packages.mjs — tailwindcss Source File

Architecture documentation for version-packages.mjs, a javascript file in the tailwindcss codebase. 7 imports, 0 dependents.

File javascript 7 imports

Entity Profile

Dependency Diagram

graph LR
  d6c1f5c9_4086_7d79_d50d_e9359be616f8["version-packages.mjs"]
  69c3e246_0d60_1a3b_6419_4c423b01252f["node:child_process"]
  d6c1f5c9_4086_7d79_d50d_e9359be616f8 --> 69c3e246_0d60_1a3b_6419_4c423b01252f
  5edb651c_933a_072d_b3a4_42d5414e0ac1["node:crypto"]
  d6c1f5c9_4086_7d79_d50d_e9359be616f8 --> 5edb651c_933a_072d_b3a4_42d5414e0ac1
  b75e8457_6610_e7ce_eeaf_9a1dd10fc510["promises"]
  d6c1f5c9_4086_7d79_d50d_e9359be616f8 --> b75e8457_6610_e7ce_eeaf_9a1dd10fc510
  05950b06_34e4_40bd_2622_1cfda03546ff["node:os"]
  d6c1f5c9_4086_7d79_d50d_e9359be616f8 --> 05950b06_34e4_40bd_2622_1cfda03546ff
  89aef3dd_1eed_c141_d425_b8949215a653["node:path"]
  d6c1f5c9_4086_7d79_d50d_e9359be616f8 --> 89aef3dd_1eed_c141_d425_b8949215a653
  8454872a_1bfa_3cb3_db8f_6d2e7e422a55["node:url"]
  d6c1f5c9_4086_7d79_d50d_e9359be616f8 --> 8454872a_1bfa_3cb3_db8f_6d2e7e422a55
  10ecf419_277e_3620_6d06_e109dd18d553["prettier"]
  d6c1f5c9_4086_7d79_d50d_e9359be616f8 --> 10ecf419_277e_3620_6d06_e109dd18d553
  style d6c1f5c9_4086_7d79_d50d_e9359be616f8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { exec, spawnSync } from 'node:child_process'
import { randomUUID } from 'node:crypto'
import fs from 'node:fs/promises'
import { tmpdir } from 'node:os'
import path from 'node:path'
import url from 'node:url'
import prettier from 'prettier'

const __dirname = path.dirname(url.fileURLToPath(import.meta.url))
const root = path.resolve(__dirname, '..')
const version = process.argv[2] || null

// The known workspace is: @tailwindcss/oxide
// All the workspaces in `crates/node/npm/*` should always be in sync with
// `@tailwindcss/oxide`. You can think of them as one big package, but they are
// split into multiple packages because they are OS specific.
const syncedWorkspaces = new Map([
  [
    '@tailwindcss/oxide',
    [
      'crates/node/npm/android-arm-eabi',
      'crates/node/npm/android-arm64',
      'crates/node/npm/darwin-arm64',
      'crates/node/npm/darwin-x64',
      'crates/node/npm/freebsd-x64',
      'crates/node/npm/linux-arm-gnueabihf',
      'crates/node/npm/linux-arm64-gnu',
      'crates/node/npm/linux-arm64-musl',
      'crates/node/npm/linux-x64-gnu',
      'crates/node/npm/linux-x64-musl',
      'crates/node/npm/wasm32-wasi',
      'crates/node/npm/win32-arm64-msvc',
      'crates/node/npm/win32-x64-msvc',
    ],
  ],
  ['@tailwindcss/cli', ['packages/@tailwindcss-standalone']],
])

const inverseSyncedWorkspaces = new Map()

for (let [name, paths] of syncedWorkspaces) {
  for (let [idx, filePath] of paths.entries()) {
    // Make sure all the paths are absolute paths
    paths[idx] = path.resolve(root, filePath, 'package.json')

    // Make sure inverse lookup table exists
    inverseSyncedWorkspaces.set(paths[idx], name)
  }
}

exec(
  "pnpm --silent --filter='!./playgrounds/*' --filter='!./integrations' --filter='!./packages/internal-example-plugin' -r exec pwd",
  async (err, stdout) => {
    if (err) {
      console.error(err)
      process.exit(1)
    }

    if (version !== null) {
      for (let pkgPath of stdout
// ... (119 more lines)

Dependencies

  • node:child_process
  • node:crypto
  • node:os
  • node:path
  • node:url
  • prettier
  • promises

Frequently Asked Questions

What does version-packages.mjs do?
version-packages.mjs is a source file in the tailwindcss codebase, written in javascript.
What does version-packages.mjs depend on?
version-packages.mjs imports 7 module(s): node:child_process, node:crypto, node:os, node:path, node:url, prettier, promises.
Where is version-packages.mjs in the architecture?
version-packages.mjs is located at scripts/version-packages.mjs (directory: scripts).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free