Release v0.75.5
This commit is contained in:
24
package-lock.json
generated
24
package-lock.json
generated
@@ -5987,10 +5987,10 @@
|
|||||||
},
|
},
|
||||||
"packages/agent": {
|
"packages/agent": {
|
||||||
"name": "@earendil-works/pi-agent-core",
|
"name": "@earendil-works/pi-agent-core",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@earendil-works/pi-ai": "^0.75.4",
|
"@earendil-works/pi-ai": "^0.75.5",
|
||||||
"ignore": "7.0.5",
|
"ignore": "7.0.5",
|
||||||
"typebox": "1.1.38",
|
"typebox": "1.1.38",
|
||||||
"yaml": "2.9.0"
|
"yaml": "2.9.0"
|
||||||
@@ -6024,7 +6024,7 @@
|
|||||||
},
|
},
|
||||||
"packages/ai": {
|
"packages/ai": {
|
||||||
"name": "@earendil-works/pi-ai",
|
"name": "@earendil-works/pi-ai",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@anthropic-ai/sdk": "0.91.1",
|
"@anthropic-ai/sdk": "0.91.1",
|
||||||
@@ -6069,12 +6069,12 @@
|
|||||||
},
|
},
|
||||||
"packages/coding-agent": {
|
"packages/coding-agent": {
|
||||||
"name": "@earendil-works/pi-coding-agent",
|
"name": "@earendil-works/pi-coding-agent",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@earendil-works/pi-agent-core": "^0.75.4",
|
"@earendil-works/pi-agent-core": "^0.75.5",
|
||||||
"@earendil-works/pi-ai": "^0.75.4",
|
"@earendil-works/pi-ai": "^0.75.5",
|
||||||
"@earendil-works/pi-tui": "^0.75.4",
|
"@earendil-works/pi-tui": "^0.75.5",
|
||||||
"@silvia-odwyer/photon-node": "0.3.4",
|
"@silvia-odwyer/photon-node": "0.3.4",
|
||||||
"chalk": "5.6.2",
|
"chalk": "5.6.2",
|
||||||
"cross-spawn": "7.0.6",
|
"cross-spawn": "7.0.6",
|
||||||
@@ -6113,25 +6113,25 @@
|
|||||||
},
|
},
|
||||||
"packages/coding-agent/examples/extensions/custom-provider-anthropic": {
|
"packages/coding-agent/examples/extensions/custom-provider-anthropic": {
|
||||||
"name": "pi-extension-custom-provider-anthropic",
|
"name": "pi-extension-custom-provider-anthropic",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@anthropic-ai/sdk": "0.52.0"
|
"@anthropic-ai/sdk": "0.52.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/coding-agent/examples/extensions/custom-provider-gitlab-duo": {
|
"packages/coding-agent/examples/extensions/custom-provider-gitlab-duo": {
|
||||||
"name": "pi-extension-custom-provider-gitlab-duo",
|
"name": "pi-extension-custom-provider-gitlab-duo",
|
||||||
"version": "0.75.4"
|
"version": "0.75.5"
|
||||||
},
|
},
|
||||||
"packages/coding-agent/examples/extensions/sandbox": {
|
"packages/coding-agent/examples/extensions/sandbox": {
|
||||||
"name": "pi-extension-sandbox",
|
"name": "pi-extension-sandbox",
|
||||||
"version": "1.5.4",
|
"version": "1.5.5",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@anthropic-ai/sandbox-runtime": "0.0.26"
|
"@anthropic-ai/sandbox-runtime": "0.0.26"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/coding-agent/examples/extensions/with-deps": {
|
"packages/coding-agent/examples/extensions/with-deps": {
|
||||||
"name": "pi-extension-with-deps",
|
"name": "pi-extension-with-deps",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ms": "2.1.3"
|
"ms": "2.1.3"
|
||||||
},
|
},
|
||||||
@@ -6167,7 +6167,7 @@
|
|||||||
},
|
},
|
||||||
"packages/tui": {
|
"packages/tui": {
|
||||||
"name": "@earendil-works/pi-tui",
|
"name": "@earendil-works/pi-tui",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"get-east-asian-width": "1.6.0",
|
"get-east-asian-width": "1.6.0",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## [Unreleased]
|
## [0.75.5] - 2026-05-23
|
||||||
|
|
||||||
## [0.75.4] - 2026-05-20
|
## [0.75.4] - 2026-05-20
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@earendil-works/pi-agent-core",
|
"name": "@earendil-works/pi-agent-core",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"description": "General-purpose agent with transport abstraction, state management, and attachment support",
|
"description": "General-purpose agent with transport abstraction, state management, and attachment support",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.js",
|
"main": "./dist/index.js",
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"prepublishOnly": "npm run clean && npm run build"
|
"prepublishOnly": "npm run clean && npm run build"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@earendil-works/pi-ai": "^0.75.4",
|
"@earendil-works/pi-ai": "^0.75.5",
|
||||||
"ignore": "7.0.5",
|
"ignore": "7.0.5",
|
||||||
"typebox": "1.1.38",
|
"typebox": "1.1.38",
|
||||||
"yaml": "2.9.0"
|
"yaml": "2.9.0"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## [Unreleased]
|
## [0.75.5] - 2026-05-23
|
||||||
|
|
||||||
### Breaking Changes
|
### Breaking Changes
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@earendil-works/pi-ai",
|
"name": "@earendil-works/pi-ai",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"description": "Unified LLM API with automatic model discovery and provider configuration",
|
"description": "Unified LLM API with automatic model discovery and provider configuration",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.js",
|
"main": "./dist/index.js",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## [Unreleased]
|
## [0.75.5] - 2026-05-23
|
||||||
|
|
||||||
### New Features
|
### New Features
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "pi-extension-custom-provider",
|
"name": "pi-extension-custom-provider",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "pi-extension-custom-provider",
|
"name": "pi-extension-custom-provider",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@anthropic-ai/sdk": "^0.52.0"
|
"@anthropic-ai/sdk": "^0.52.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "pi-extension-custom-provider-anthropic",
|
"name": "pi-extension-custom-provider-anthropic",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"clean": "echo 'nothing to clean'",
|
"clean": "echo 'nothing to clean'",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "pi-extension-custom-provider-gitlab-duo",
|
"name": "pi-extension-custom-provider-gitlab-duo",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"clean": "echo 'nothing to clean'",
|
"clean": "echo 'nothing to clean'",
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "pi-extension-sandbox",
|
"name": "pi-extension-sandbox",
|
||||||
"version": "1.5.4",
|
"version": "1.5.5",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "pi-extension-sandbox",
|
"name": "pi-extension-sandbox",
|
||||||
"version": "1.5.4",
|
"version": "1.5.5",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@anthropic-ai/sandbox-runtime": "^0.0.26"
|
"@anthropic-ai/sandbox-runtime": "^0.0.26"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "pi-extension-sandbox",
|
"name": "pi-extension-sandbox",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.5.4",
|
"version": "1.5.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"clean": "echo 'nothing to clean'",
|
"clean": "echo 'nothing to clean'",
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "pi-extension-with-deps",
|
"name": "pi-extension-with-deps",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "pi-extension-with-deps",
|
"name": "pi-extension-with-deps",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ms": "^2.1.3"
|
"ms": "^2.1.3"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "pi-extension-with-deps",
|
"name": "pi-extension-with-deps",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"clean": "echo 'nothing to clean'",
|
"clean": "echo 'nothing to clean'",
|
||||||
|
|||||||
24
packages/coding-agent/npm-shrinkwrap.json
generated
24
packages/coding-agent/npm-shrinkwrap.json
generated
@@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"name": "@earendil-works/pi-coding-agent",
|
"name": "@earendil-works/pi-coding-agent",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@earendil-works/pi-coding-agent",
|
"name": "@earendil-works/pi-coding-agent",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@earendil-works/pi-agent-core": "^0.75.4",
|
"@earendil-works/pi-agent-core": "^0.75.5",
|
||||||
"@earendil-works/pi-ai": "^0.75.4",
|
"@earendil-works/pi-ai": "^0.75.5",
|
||||||
"@earendil-works/pi-tui": "^0.75.4",
|
"@earendil-works/pi-tui": "^0.75.5",
|
||||||
"@silvia-odwyer/photon-node": "0.3.4",
|
"@silvia-odwyer/photon-node": "0.3.4",
|
||||||
"chalk": "5.6.2",
|
"chalk": "5.6.2",
|
||||||
"cross-spawn": "7.0.6",
|
"cross-spawn": "7.0.6",
|
||||||
@@ -473,11 +473,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@earendil-works/pi-agent-core": {
|
"node_modules/@earendil-works/pi-agent-core": {
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.75.4.tgz",
|
"resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.75.5.tgz",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@earendil-works/pi-ai": "^0.75.4",
|
"@earendil-works/pi-ai": "^0.75.5",
|
||||||
"ignore": "7.0.5",
|
"ignore": "7.0.5",
|
||||||
"typebox": "1.1.38",
|
"typebox": "1.1.38",
|
||||||
"yaml": "2.9.0"
|
"yaml": "2.9.0"
|
||||||
@@ -487,8 +487,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@earendil-works/pi-ai": {
|
"node_modules/@earendil-works/pi-ai": {
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.75.4.tgz",
|
"resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.75.5.tgz",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@anthropic-ai/sdk": "0.91.1",
|
"@anthropic-ai/sdk": "0.91.1",
|
||||||
@@ -510,8 +510,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@earendil-works/pi-tui": {
|
"node_modules/@earendil-works/pi-tui": {
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.75.4.tgz",
|
"resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.75.5.tgz",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"get-east-asian-width": "1.6.0",
|
"get-east-asian-width": "1.6.0",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@earendil-works/pi-coding-agent",
|
"name": "@earendil-works/pi-coding-agent",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"piConfig": {
|
"piConfig": {
|
||||||
@@ -39,9 +39,9 @@
|
|||||||
"prepublishOnly": "npm run clean && npm run build && npm run shrinkwrap"
|
"prepublishOnly": "npm run clean && npm run build && npm run shrinkwrap"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@earendil-works/pi-agent-core": "^0.75.4",
|
"@earendil-works/pi-agent-core": "^0.75.5",
|
||||||
"@earendil-works/pi-ai": "^0.75.4",
|
"@earendil-works/pi-ai": "^0.75.5",
|
||||||
"@earendil-works/pi-tui": "^0.75.4",
|
"@earendil-works/pi-tui": "^0.75.5",
|
||||||
"@silvia-odwyer/photon-node": "0.3.4",
|
"@silvia-odwyer/photon-node": "0.3.4",
|
||||||
"chalk": "5.6.2",
|
"chalk": "5.6.2",
|
||||||
"cross-spawn": "7.0.6",
|
"cross-spawn": "7.0.6",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## [Unreleased]
|
## [0.75.5] - 2026-05-23
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@earendil-works/pi-tui",
|
"name": "@earendil-works/pi-tui",
|
||||||
"version": "0.75.4",
|
"version": "0.75.5",
|
||||||
"description": "Terminal User Interface library with differential rendering for efficient text-based applications",
|
"description": "Terminal User Interface library with differential rendering for efficient text-based applications",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
|||||||
@@ -30,30 +30,50 @@ function packageLabel(lockPath, entry) {
|
|||||||
return entry?.version ? `${name}@${entry.version}` : name;
|
return entry?.version ? `${name}@${entry.version}` : name;
|
||||||
}
|
}
|
||||||
|
|
||||||
function summarizeLockfileChange() {
|
function getLockfilePackageChanges() {
|
||||||
const before = readJsonFromGit("HEAD:package-lock.json");
|
const before = readJsonFromGit("HEAD:package-lock.json");
|
||||||
const after = readJsonFromGit(":package-lock.json");
|
const after = readJsonFromGit(":package-lock.json");
|
||||||
if (!before?.packages || !after?.packages) return [];
|
if (!before?.packages || !after?.packages) return undefined;
|
||||||
|
|
||||||
const changes = [];
|
const changes = [];
|
||||||
const paths = new Set([...Object.keys(before.packages), ...Object.keys(after.packages)]);
|
const paths = new Set([...Object.keys(before.packages), ...Object.keys(after.packages)]);
|
||||||
for (const lockPath of [...paths].sort()) {
|
for (const lockPath of [...paths].sort()) {
|
||||||
if (!lockPath.includes("node_modules/")) continue;
|
|
||||||
const oldEntry = before.packages[lockPath];
|
const oldEntry = before.packages[lockPath];
|
||||||
const newEntry = after.packages[lockPath];
|
const newEntry = after.packages[lockPath];
|
||||||
if (!oldEntry && newEntry) {
|
if (JSON.stringify(oldEntry) !== JSON.stringify(newEntry)) {
|
||||||
changes.push(`added ${packageLabel(lockPath, newEntry)}`);
|
changes.push({ lockPath, oldEntry, newEntry });
|
||||||
} else if (oldEntry && !newEntry) {
|
|
||||||
changes.push(`removed ${packageLabel(lockPath, oldEntry)}`);
|
|
||||||
} else if (oldEntry?.version !== newEntry?.version) {
|
|
||||||
changes.push(
|
|
||||||
`changed ${packageNameFromLockPath(lockPath)} ${oldEntry?.version ?? "<none>"} -> ${newEntry?.version ?? "<none>"}`,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return changes;
|
return changes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isWorkspacePackagePath(lockPath) {
|
||||||
|
return lockPath.startsWith("packages/");
|
||||||
|
}
|
||||||
|
|
||||||
|
function hasOnlyWorkspacePackageChanges(changes) {
|
||||||
|
return changes.length > 0 && changes.every((change) => isWorkspacePackagePath(change.lockPath));
|
||||||
|
}
|
||||||
|
|
||||||
|
function summarizeLockfileChange(changes) {
|
||||||
|
const nodeModuleChanges = changes.filter((change) => change.lockPath.includes("node_modules/"));
|
||||||
|
const summary = [];
|
||||||
|
for (const { lockPath, oldEntry, newEntry } of nodeModuleChanges) {
|
||||||
|
if (!oldEntry && newEntry) {
|
||||||
|
summary.push(`added ${packageLabel(lockPath, newEntry)}`);
|
||||||
|
} else if (oldEntry && !newEntry) {
|
||||||
|
summary.push(`removed ${packageLabel(lockPath, oldEntry)}`);
|
||||||
|
} else if (oldEntry?.version !== newEntry?.version) {
|
||||||
|
summary.push(
|
||||||
|
`changed ${packageNameFromLockPath(lockPath)} ${oldEntry?.version ?? "<none>"} -> ${newEntry?.version ?? "<none>"}`,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
summary.push(`changed ${packageLabel(lockPath, newEntry)}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return summary;
|
||||||
|
}
|
||||||
|
|
||||||
const stagedFiles = git(["diff", "--cached", "--name-only"])
|
const stagedFiles = git(["diff", "--cached", "--name-only"])
|
||||||
.split("\n")
|
.split("\n")
|
||||||
.map((line) => line.trim())
|
.map((line) => line.trim())
|
||||||
@@ -68,6 +88,12 @@ if (allowed) {
|
|||||||
process.exit(0);
|
process.exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const changes = getLockfilePackageChanges();
|
||||||
|
if (changes && hasOnlyWorkspacePackageChanges(changes)) {
|
||||||
|
console.error("package-lock.json only updates workspace package metadata; allowing commit.");
|
||||||
|
process.exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
console.error("package-lock.json is staged.");
|
console.error("package-lock.json is staged.");
|
||||||
console.error("");
|
console.error("");
|
||||||
console.error("Review lockfile changes before committing:");
|
console.error("Review lockfile changes before committing:");
|
||||||
@@ -76,15 +102,15 @@ console.error(" - confirm npm age gates were active for resolution");
|
|||||||
console.error(" - review any new lifecycle scripts in the dependency tree");
|
console.error(" - review any new lifecycle scripts in the dependency tree");
|
||||||
console.error(" - regenerate/check coding-agent shrinkwrap if release deps changed");
|
console.error(" - regenerate/check coding-agent shrinkwrap if release deps changed");
|
||||||
|
|
||||||
const changes = summarizeLockfileChange();
|
const summary = changes ? summarizeLockfileChange(changes) : [];
|
||||||
if (changes.length > 0) {
|
if (summary.length > 0) {
|
||||||
console.error("");
|
console.error("");
|
||||||
console.error("Detected package version changes:");
|
console.error("Detected package version changes:");
|
||||||
for (const change of changes.slice(0, 40)) {
|
for (const change of summary.slice(0, 40)) {
|
||||||
console.error(` - ${change}`);
|
console.error(` - ${change}`);
|
||||||
}
|
}
|
||||||
if (changes.length > 40) {
|
if (summary.length > 40) {
|
||||||
console.error(` ... ${changes.length - 40} more`);
|
console.error(` ... ${summary.length - 40} more`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user