AikidoSec-safe-chain/packages/safe-chain/src/config/packageManagerName.js
Ethan Setnik 8ac7c722b8
feat: respect pnpm minimumReleaseAge from pnpm-workspace.yaml
When invoked as the pnpm/pnpx shim, walk up from cwd looking for
pnpm-workspace.yaml (or a pnpm field in package.json) and use its
minimumReleaseAge and minimumReleaseAgeExclude as the floor and
exclusion list. Existing CLI args, env vars, and ~/.safe-chain/config.json
still override, so the project's pnpm config can act as a single source
of truth without forcing users to duplicate settings across two systems.

Fixes #460

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 17:39:00 -04:00

23 lines
554 B
JavaScript

/**
* Tracks the package manager name (e.g. "pnpm", "npm", "yarn") that this
* invocation is shimming. Stored as a small standalone module so that
* lightweight config readers can branch on it without transitively importing
* the heavy package-manager creator graph.
*/
/** @type {{name: string | null}} */
const state = { name: null };
/**
* @param {string | null} name
*/
export function setPackageManagerName(name) {
state.name = name;
}
/**
* @returns {string | null}
*/
export function getPackageManagerName() {
return state.name;
}