Skip to content

Commit 8889a42

Browse files
authored
fix: remove lodash sortBy, reduce, isEqual usage (lerna#4206)
1 parent 3029033 commit 8889a42

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

libs/commands/version/src/lib/version-create-release.spec.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import {
44
recommendVersion as _recommendVersion,
55
} from "@lerna/core";
66
import { commandRunner, initFixtureFactory } from "@lerna/test-helpers";
7-
import { isEqual } from "lodash";
87

98
jest.mock("@lerna/core", () => require("@lerna/test-helpers/__mocks__/@lerna/core"));
109

@@ -26,7 +25,13 @@ jest.mock("execa", () => {
2625

2726
const mockExeca = (...args) => {
2827
// assume there are changes if git diff is called
29-
if (args[0] === "git" && isEqual(args[1], ["diff", "--staged", "--quiet"])) {
28+
if (
29+
args[0] === "git" &&
30+
args[1].length === 3 &&
31+
args[1][0] === "diff" &&
32+
args[1][1] === "--staged" &&
33+
args[1][2] === "--quiet"
34+
) {
3035
return Promise.reject(new Error("Changes found"));
3136
}
3237

libs/core/src/lib/command/create-project-graph-with-packages.ts

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { ProjectFileMap, ProjectGraph, ProjectGraphProjectNode, workspaceRoot } from "@nx/devkit";
22
import { readJson } from "fs-extra";
3-
import { reduce, sortBy } from "lodash";
43
import minimatch from "minimatch";
54
import { resolve } from "npm-package-arg";
65
import { join } from "path";
@@ -49,7 +48,7 @@ export async function createProjectGraphWithPackages(
4948
localPackageDependencies: {},
5049
};
5150
const projectLookupByPackageName: Record<string, string> = {};
52-
const sortedTuples = sortBy(tuples, (t) => t[0].data.root);
51+
const sortedTuples = [...tuples].sort((a, b) => a[0].data.root.localeCompare(b[0].data.root));
5352
sortedTuples.forEach(([node, manifest]) => {
5453
let pkg: Package | null = null;
5554
if (manifest) {
@@ -63,11 +62,15 @@ export async function createProjectGraphWithPackages(
6362
});
6463

6564
// order dependencies to create consistent results when iterating over them
66-
projectGraphWithOrderedNodes.dependencies = reduce(
67-
sortBy(Object.keys(projectGraphWithOrderedNodes.dependencies)),
68-
(prev, next) => ({ ...prev, [next]: projectGraphWithOrderedNodes.dependencies[next] }),
69-
{}
70-
);
65+
projectGraphWithOrderedNodes.dependencies = Object.keys(projectGraphWithOrderedNodes.dependencies)
66+
.sort((a, b) => a.localeCompare(b))
67+
.reduce(
68+
(prev, next) => ({
69+
...prev,
70+
[next]: projectGraphWithOrderedNodes.dependencies[next],
71+
}),
72+
{}
73+
);
7174

7275
// populate local npm package dependencies
7376
Object.values(projectGraphWithOrderedNodes.dependencies).forEach((projectDeps) => {

0 commit comments

Comments
 (0)