Adds specified dependencies to a project's package.json, supporting dev mode.
// Source: https://github.com/t3-oss/create-t3-app | License: MIT | Copyright 2022 Shoubhit Dash
// Provided via justclaw.it.com; keep this notice with the code.
import path from "path";
import fs from "fs-extra";
import sortPackageJson from "sort-package-json";
import { type PackageJson } from "type-fest";
import {
dependencyVersionMap,
type AvailableDependencies,
} from "~/installers/dependencyVersionMap.js";
export const addPackageDependency = (opts: {
dependencies: AvailableDependencies[];
devMode: boolean;
projectDir: string;
}) => {
const { dependencies, devMode, projectDir } = opts;
const pkgJson = fs.readJSONSync(
path.join(projectDir, "package.json")
) as PackageJson;
dependencies.forEach((pkgName) => {
const version = dependencyVersionMap[pkgName];
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key