aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/turbo-workspaces/src/updateDependencies.ts
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2023-11-03 21:25:40 +0800
committer简律纯 <i@jyunko.cn>2023-11-03 21:25:40 +0800
commit9029588590bea8b10451575c5142dcde77ecd1b5 (patch)
tree04cf8aee56c23fd225ff19d340f7cee621d874ef /packages/turbo-workspaces/src/updateDependencies.ts
parent94071d7ce16c56641d67d488e2bac6be84ffe731 (diff)
downloadHydroRoll-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.ts135
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,
- });
- }
-}