@@ -2,6 +2,7 @@ import constants from '../../constants.mts'
2
2
3
3
import type { NpmOverrides , Overrides , PnpmOrYarnOverrides } from './types.mts'
4
4
import type { Agent , EnvDetails } from '../../utils/package-environment.mts'
5
+ import type { PackageJson } from '@socketsecurity/registry/lib/packages'
5
6
6
7
const {
7
8
BUN ,
@@ -14,55 +15,67 @@ const {
14
15
YARN_CLASSIC ,
15
16
} = constants
16
17
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 )
21
23
return { type : YARN_BERRY , overrides }
22
24
}
23
25
24
26
// npm overrides documentation:
25
27
// 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 )
29
33
return { type : NPM , overrides }
30
34
}
31
35
32
36
// pnpm overrides documentation:
33
37
// https://pnpm.io/package_json#pnpmoverrides
34
- function getOverridesDataPnpm ( pkgEnvDetails : EnvDetails ) {
38
+ function getOverridesDataPnpm (
39
+ pkgEnvDetails : EnvDetails ,
40
+ pkgJson = pkgEnvDetails . editablePkgJson . content ,
41
+ ) {
35
42
const overrides =
36
- ( pkgEnvDetails . editablePkgJson . content as any ) ?. [ PNPM ] ?. [ OVERRIDES ] ??
37
- ( { } as PnpmOrYarnOverrides )
43
+ ( pkgJson as any ) ?. [ PNPM ] ?. [ OVERRIDES ] ?? ( { } as PnpmOrYarnOverrides )
38
44
return { type : PNPM , overrides }
39
45
}
40
46
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 )
44
52
return { type : VLT , overrides }
45
53
}
46
54
47
55
// Yarn resolutions documentation:
48
56
// 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 )
53
62
return { type : YARN_BERRY , overrides }
54
63
}
55
64
56
65
// Yarn resolutions documentation:
57
66
// 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 )
62
72
return { type : YARN_CLASSIC , overrides }
63
73
}
64
74
65
- export type GetOverrides = ( pkgEnvDetails : EnvDetails ) => GetOverridesResult
75
+ export type GetOverrides = (
76
+ pkgEnvDetails : EnvDetails ,
77
+ pkgJson ?: PackageJson | undefined ,
78
+ ) => GetOverridesResult
66
79
67
80
export type GetOverridesResult = { type : Agent ; overrides : Overrides }
68
81
0 commit comments