Home / Function/ getPackageManagerCommand() — ui Function Reference

getPackageManagerCommand() — ui Function Reference

Architecture documentation for the getPackageManagerCommand() function in index.js from the ui codebase.

Entity Profile

Dependency Diagram

graph TD
  1dd619bb_a362_c676_8539_96dc8c78ff2d["getPackageManagerCommand()"]
  5b238b2a_3145_ab1b_7b04_128e9652c323["index.js"]
  1dd619bb_a362_c676_8539_96dc8c78ff2d -->|defined in| 5b238b2a_3145_ab1b_7b04_128e9652c323
  06dc8a86_19b9_54a6_9bbc_54e7751a3d49["main()"]
  06dc8a86_19b9_54a6_9bbc_54e7751a3d49 -->|calls| 1dd619bb_a362_c676_8539_96dc8c78ff2d
  edec5414_3520_254a_e93b_70af0f6e0ddc["getPackageManagerVersion()"]
  1dd619bb_a362_c676_8539_96dc8c78ff2d -->|calls| edec5414_3520_254a_e93b_70af0f6e0ddc
  style 1dd619bb_a362_c676_8539_96dc8c78ff2d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/shadcn/test/fixtures/frameworks/remix-indie-stack/remix.init/index.js lines 24–60

const getPackageManagerCommand = (packageManager) =>
  // Inspired by https://github.com/nrwl/nx/blob/bd9b33eaef0393d01f747ea9a2ac5d2ca1fb87c6/packages/nx/src/utils/package-manager.ts#L38-L103
  ({
    bun: () => ({
      exec: "bunx",
      lockfile: "bun.lockb",
      name: "bun",
      run: (script, args) => `bun run ${script} ${args || ""}`,
    }),
    npm: () => ({
      exec: "npx",
      lockfile: "package-lock.json",
      name: "npm",
      run: (script, args) => `npm run ${script} ${args ? `-- ${args}` : ""}`,
    }),
    pnpm: () => {
      const pnpmVersion = getPackageManagerVersion("pnpm");
      const includeDoubleDashBeforeArgs = semver.lt(pnpmVersion, "7.0.0");
      const useExec = semver.gte(pnpmVersion, "6.13.0");

      return {
        exec: useExec ? "pnpm exec" : "pnpx",
        lockfile: "pnpm-lock.yaml",
        name: "pnpm",
        run: (script, args) =>
          includeDoubleDashBeforeArgs
            ? `pnpm run ${script} ${args ? `-- ${args}` : ""}`
            : `pnpm run ${script} ${args || ""}`,
      };
    },
    yarn: () => ({
      exec: "yarn",
      lockfile: "yarn.lock",
      name: "yarn",
      run: (script, args) => `yarn ${script} ${args || ""}`,
    }),
  })[packageManager]();

Subdomains

Called By

Frequently Asked Questions

What does getPackageManagerCommand() do?
getPackageManagerCommand() is a function in the ui codebase, defined in packages/shadcn/test/fixtures/frameworks/remix-indie-stack/remix.init/index.js.
Where is getPackageManagerCommand() defined?
getPackageManagerCommand() is defined in packages/shadcn/test/fixtures/frameworks/remix-indie-stack/remix.init/index.js at line 24.
What does getPackageManagerCommand() call?
getPackageManagerCommand() calls 1 function(s): getPackageManagerVersion.
What calls getPackageManagerCommand()?
getPackageManagerCommand() is called by 1 function(s): main.

Analyze Your Own Codebase

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

Try Supermodel Free