diff options
| author | 2023-11-03 21:25:40 +0800 | |
|---|---|---|
| committer | 2023-11-03 21:25:40 +0800 | |
| commit | 9029588590bea8b10451575c5142dcde77ecd1b5 (patch) | |
| tree | 04cf8aee56c23fd225ff19d340f7cee621d874ef /packages/turbo-workspaces/src/updateDependencies.ts | |
| parent | 94071d7ce16c56641d67d488e2bac6be84ffe731 (diff) | |
| download | HydroRoll-9029588590bea8b10451575c5142dcde77ecd1b5.tar.gz HydroRoll-9029588590bea8b10451575c5142dcde77ecd1b5.zip | |
chore: delete useless files
Diffstat (limited to 'packages/turbo-workspaces/src/updateDependencies.ts')
| -rw-r--r-- | packages/turbo-workspaces/src/updateDependencies.ts | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/packages/turbo-workspaces/src/updateDependencies.ts b/packages/turbo-workspaces/src/updateDependencies.ts deleted file mode 100644 index 5461ed0..0000000 --- a/packages/turbo-workspaces/src/updateDependencies.ts +++ /dev/null @@ -1,135 +0,0 @@ -import fs from "fs-extra"; -import chalk from "chalk"; -import path from "path"; -import { - Project, - Workspace, - DependencyList, - PackageManagerDetails, - Options, - PackageJsonDependencies, -} from "./types"; -import { Logger } from "./logger"; -import { getPackageJson } from "./utils"; - -function updateDependencyList({ - dependencyList, - project, - to, -}: { - dependencyList: DependencyList; - project: Project; - to: PackageManagerDetails; -}): { dependencyList: DependencyList; updated: Array<string> } { - const updated: Array<string> = []; - project.workspaceData.workspaces.forEach((workspace) => { - const { name } = workspace; - if (dependencyList[name]) { - const workspaceVersion = dependencyList[name]; - const version = workspaceVersion.startsWith("workspace:") - ? workspaceVersion.slice("workspace:".length) - : workspaceVersion; - dependencyList[name] = - to.name === "pnpm" ? `workspace:${version}` : version; - updated.push(name); - } - }); - - return { dependencyList, updated }; -} - -export default function updateDependencies({ - project, - workspace, - to, - logger, - options, -}: { - workspace: Workspace; - project: Project; - to: PackageManagerDetails; - logger: Logger; - options?: Options; -}): void { - // this step isn't required if moving between yarn / npm - if ( - ["yarn", "npm"].includes(to.name) && - ["yarn", "npm"].includes(project.packageManager) - ) { - return; - } - - // update all dependencies - const workspacePackageJson = getPackageJson({ - workspaceRoot: workspace.paths.root, - }); - - // collect stats as we go for consolidated output at the end - const stats: Record<keyof PackageJsonDependencies, Array<string>> = { - dependencies: [], - devDependencies: [], - peerDependencies: [], - optionalDependencies: [], - }; - - const allDependencyKeys: Array<keyof PackageJsonDependencies> = [ - "dependencies", - "devDependencies", - "peerDependencies", - "optionalDependencies", - ]; - - allDependencyKeys.forEach((depKey) => { - const depList = workspacePackageJson[depKey]; - if (depList) { - const { updated, dependencyList } = updateDependencyList({ - dependencyList: depList, - project, - to, - }); - - workspacePackageJson[depKey] = dependencyList; - stats[depKey] = updated; - } - }); - - const toLog = (key: keyof PackageJsonDependencies) => { - const total = stats[key].length; - if (total > 0) { - return `${chalk.green(total.toString())} ${key}`; - } - return undefined; - }; - - const allChanges = allDependencyKeys.map(toLog).filter(Boolean); - const workspaceLocation = `./${path.relative( - project.paths.root, - workspace.paths.packageJson - )}`; - if (allChanges.length >= 1) { - let logLine = "updating"; - allChanges.forEach((stat, idx) => { - if (allChanges.length === 1) { - logLine += ` ${stat} in ${workspaceLocation}`; - } else { - if (idx === allChanges.length - 1) { - logLine += `and ${stat} in ${workspaceLocation}`; - } else { - logLine += ` ${stat}, `; - } - } - }); - - logger.workspaceStep(logLine); - } else { - logger.workspaceStep( - `no workspace dependencies found in ${workspaceLocation}` - ); - } - - if (!options?.dry) { - fs.writeJSONSync(workspace.paths.packageJson, workspacePackageJson, { - spaces: 2, - }); - } -} |
