Skip to content

Commit 4827945

Browse files
authored
fix(langchain): make core a workspace peer dep (#9487)
1 parent 426236e commit 4827945

File tree

6 files changed

+17
-43
lines changed

6 files changed

+17
-43
lines changed

‎.changeset/khaki-toes-flow.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"langchain": patch
3+
---
4+
5+
constrain lower bound core peer dep

‎dependency_range_tests/docker-compose.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ services:
99
working_dir: /app
1010
volumes:
1111
- ../libs/langchain:/langchain
12+
- ../libs/langchain-core:/libs/langchain-core
1213
- ../libs/langchain-textsplitters:/libs/langchain-textsplitters
1314
- ../libs/providers/langchain-openai:/libs/langchain-openai
1415
- ../libs/providers/langchain-anthropic:/libs/langchain-anthropic

‎dependency_range_tests/scripts/langchain/node/update_resolutions_latest.js‎

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,33 +8,16 @@ currentPackageJson.pnpm = { overrides: {} };
88

99
const INTERNAL_PACKAGES = ["@langchain/eslint"];
1010

11-
if (
12-
currentPackageJson.peerDependencies?.["@langchain/core"] &&
13-
!currentPackageJson.peerDependencies["@langchain/core"].includes("rc")
14-
) {
15-
currentPackageJson.peerDependencies = {
16-
...currentPackageJson.peerDependencies,
17-
};
18-
}
19-
2011
/**
2112
* Link workspace dependencies via file path
2213
*/
2314
const workspaceDependencies = [
2415
...Object.entries(currentPackageJson.devDependencies),
16+
...Object.entries(currentPackageJson.peerDependencies),
2517
...Object.entries(currentPackageJson.dependencies),
2618
].filter(([, depVersion]) => depVersion.includes("workspace:"));
2719

2820
for (const [depName, depVersion] of workspaceDependencies) {
29-
/**
30-
* for the peer dependency @langchain/core, we want to make sure to install max version
31-
* defined above
32-
*/
33-
if (depName === "@langchain/core") {
34-
delete currentPackageJson.devDependencies[depName];
35-
continue;
36-
}
37-
3821
const libName = depName.split("/")[1];
3922

4023
if (INTERNAL_PACKAGES.includes(depName)) {

‎dependency_range_tests/scripts/langchain/node/update_resolutions_lowest.js‎

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
const fs = require("fs");
2-
const semver = require("semver");
32

43
const communityPackageJsonPath = "package.json";
54

@@ -10,37 +9,16 @@ const currentPackageJson = JSON.parse(
109
);
1110
currentPackageJson.pnpm = { overrides: {} };
1211

13-
if (
14-
currentPackageJson.peerDependencies?.["@langchain/core"] &&
15-
!currentPackageJson.peerDependencies["@langchain/core"].includes("rc")
16-
) {
17-
const minVersion = semver.minVersion(
18-
currentPackageJson.peerDependencies["@langchain/core"]
19-
).version;
20-
currentPackageJson.peerDependencies = {
21-
...currentPackageJson.peerDependencies,
22-
"@langchain/core": minVersion,
23-
};
24-
}
25-
2612
/**
2713
* Convert workspace dev dependencies to install latest as they are only used for testing
2814
*/
2915
const workspaceDependencies = [
3016
...Object.entries(currentPackageJson.devDependencies),
17+
...Object.entries(currentPackageJson.peerDependencies),
3118
...Object.entries(currentPackageJson.dependencies),
3219
].filter(([, depVersion]) => depVersion.includes("workspace:"));
3320

3421
for (const [depName, depVersion] of workspaceDependencies) {
35-
/**
36-
* for the peer dependency @langchain/core, we want to make sure to install min version
37-
* defined above
38-
*/
39-
if (depName === "@langchain/core") {
40-
delete currentPackageJson.devDependencies[depName];
41-
continue;
42-
}
43-
4422
const libName = depName.split("/")[1];
4523

4624
if (INTERNAL_PACKAGES.includes(depName)) {

‎libs/langchain/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
"yaml": "^2.8.1"
7575
},
7676
"peerDependencies": {
77-
"@langchain/core": "^1.0.5"
77+
"@langchain/core": "workspace:*"
7878
},
7979
"dependencies": {
8080
"@langchain/langgraph": "^1.0.0",

‎libs/langchain/src/agents/tests/systemMessage.test.ts‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
import { describe, it, expect, vi, type MockInstance } from "vitest";
1+
import {
2+
describe,
3+
it,
4+
expect,
5+
beforeEach,
6+
vi,
7+
type MockInstance,
8+
} from "vitest";
29
import {
310
HumanMessage,
411
BaseMessage,

0 commit comments

Comments
 (0)