Skip to content

Commit 1acf2e3

Browse files
committed
Add pkgJson to get-overrides-by-agent
1 parent e86df99 commit 1acf2e3

File tree

1 file changed

+35
-22
lines changed

1 file changed

+35
-22
lines changed

src/commands/optimize/get-overrides-by-agent.mts

Lines changed: 35 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import constants from '../../constants.mts'
22

33
import type { NpmOverrides, Overrides, PnpmOrYarnOverrides } from './types.mts'
44
import type { Agent, EnvDetails } from '../../utils/package-environment.mts'
5+
import type { PackageJson } from '@socketsecurity/registry/lib/packages'
56

67
const {
78
BUN,
@@ -14,55 +15,67 @@ const {
1415
YARN_CLASSIC,
1516
} = constants
1617

17-
function getOverridesDataBun(pkgEnvDetails: EnvDetails) {
18-
const overrides =
19-
pkgEnvDetails.editablePkgJson.content?.[RESOLUTIONS] ??
20-
({} as PnpmOrYarnOverrides)
18+
function getOverridesDataBun(
19+
pkgEnvDetails: EnvDetails,
20+
pkgJson = pkgEnvDetails.editablePkgJson.content,
21+
) {
22+
const overrides = pkgJson?.[RESOLUTIONS] ?? ({} as PnpmOrYarnOverrides)
2123
return { type: YARN_BERRY, overrides }
2224
}
2325

2426
// npm overrides documentation:
2527
// https://docs.npmjs.com/cli/v10/configuring-npm/package-json#overrides
26-
function getOverridesDataNpm(pkgEnvDetails: EnvDetails) {
27-
const overrides =
28-
pkgEnvDetails.editablePkgJson.content?.[OVERRIDES] ?? ({} as NpmOverrides)
28+
function getOverridesDataNpm(
29+
pkgEnvDetails: EnvDetails,
30+
pkgJson = pkgEnvDetails.editablePkgJson.content,
31+
) {
32+
const overrides = pkgJson?.[OVERRIDES] ?? ({} as NpmOverrides)
2933
return { type: NPM, overrides }
3034
}
3135

3236
// pnpm overrides documentation:
3337
// https://pnpm.io/package_json#pnpmoverrides
34-
function getOverridesDataPnpm(pkgEnvDetails: EnvDetails) {
38+
function getOverridesDataPnpm(
39+
pkgEnvDetails: EnvDetails,
40+
pkgJson = pkgEnvDetails.editablePkgJson.content,
41+
) {
3542
const overrides =
36-
(pkgEnvDetails.editablePkgJson.content as any)?.[PNPM]?.[OVERRIDES] ??
37-
({} as PnpmOrYarnOverrides)
43+
(pkgJson as any)?.[PNPM]?.[OVERRIDES] ?? ({} as PnpmOrYarnOverrides)
3844
return { type: PNPM, overrides }
3945
}
4046

41-
function getOverridesDataVlt(pkgEnvDetails: EnvDetails) {
42-
const overrides =
43-
pkgEnvDetails.editablePkgJson.content?.[OVERRIDES] ?? ({} as NpmOverrides)
47+
function getOverridesDataVlt(
48+
pkgEnvDetails: EnvDetails,
49+
pkgJson = pkgEnvDetails.editablePkgJson.content,
50+
) {
51+
const overrides = pkgJson?.[OVERRIDES] ?? ({} as NpmOverrides)
4452
return { type: VLT, overrides }
4553
}
4654

4755
// Yarn resolutions documentation:
4856
// https://yarnpkg.com/configuration/manifest#resolutions
49-
function getOverridesDataYarn(pkgEnvDetails: EnvDetails) {
50-
const overrides =
51-
pkgEnvDetails.editablePkgJson.content?.[RESOLUTIONS] ??
52-
({} as PnpmOrYarnOverrides)
57+
function getOverridesDataYarn(
58+
pkgEnvDetails: EnvDetails,
59+
pkgJson = pkgEnvDetails.editablePkgJson.content,
60+
) {
61+
const overrides = pkgJson?.[RESOLUTIONS] ?? ({} as PnpmOrYarnOverrides)
5362
return { type: YARN_BERRY, overrides }
5463
}
5564

5665
// Yarn resolutions documentation:
5766
// https://classic.yarnpkg.com/en/docs/selective-version-resolutions
58-
function getOverridesDataYarnClassic(pkgEnvDetails: EnvDetails) {
59-
const overrides =
60-
pkgEnvDetails.editablePkgJson.content?.[RESOLUTIONS] ??
61-
({} as PnpmOrYarnOverrides)
67+
function getOverridesDataYarnClassic(
68+
pkgEnvDetails: EnvDetails,
69+
pkgJson = pkgEnvDetails.editablePkgJson.content,
70+
) {
71+
const overrides = pkgJson?.[RESOLUTIONS] ?? ({} as PnpmOrYarnOverrides)
6272
return { type: YARN_CLASSIC, overrides }
6373
}
6474

65-
export type GetOverrides = (pkgEnvDetails: EnvDetails) => GetOverridesResult
75+
export type GetOverrides = (
76+
pkgEnvDetails: EnvDetails,
77+
pkgJson?: PackageJson | undefined,
78+
) => GetOverridesResult
6679

6780
export type GetOverridesResult = { type: Agent; overrides: Overrides }
6881

0 commit comments

Comments
 (0)