Skip to content

Commit 7b0d82b

Browse files
committed
Make the config flat
1 parent 29e0825 commit 7b0d82b

2 files changed

Lines changed: 18 additions & 4 deletions

File tree

src/commands/fix/npm-fix.mts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ import { runAgentInstall } from '../../utils/agent.mts'
2525
import { getAlertsMapFromPurls } from '../../utils/alerts-map.mts'
2626

2727
import type { FixOptions, InstallOptions } from './agent-fix.mts'
28-
import type { NodeClass } from '../../shadow/npm/arborist/types.mts'
28+
import type {
29+
ArboristOptions,
30+
NodeClass,
31+
} from '../../shadow/npm/arborist/types.mts'
2932
import type { CResult } from '../../types.mts'
3033
import type { EnvDetails } from '../../utils/package-environment.mts'
3134
import type { PackageJson } from '@socketsecurity/registry/lib/packages'
@@ -86,11 +89,17 @@ export async function npmFix(
8689
shorthands: npmConfigShorthands,
8790
})
8891
await config.load()
89-
debugFn('npm config:', config)
92+
93+
const flatConfig = { __proto__: null, ...config.flat } as ArboristOptions
94+
flatConfig.nodeVersion = constants.NODE_VERSION
95+
flatConfig.npmVersion = pkgEnvDetails.agentVersion.toString()
96+
flatConfig.npmCommand = 'install'
97+
debugFn('npm config:', flatConfig)
98+
9099
const arb = new Arborist({
91100
path: pkgEnvDetails.pkgPath,
101+
...flatConfig,
92102
...SAFE_ARBORIST_REIFY_OPTIONS_OVERRIDES,
93-
config,
94103
})
95104
actualTree = await arb.reify()
96105
// Calling arb.reify() creates the arb.diff object, nulls-out arb.idealTree,

src/shadow/npm/arborist/types.mts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { createEnum } from '../../../utils/objects.mts'
22

33
import type {
4-
Options as ArboristOptions,
54
Advisory as BaseAdvisory,
65
Arborist as BaseArborist,
6+
Options as BaseArboristOptions,
77
AuditReport as BaseAuditReport,
88
Diff as BaseDiff,
99
Edge as BaseEdge,
@@ -13,6 +13,11 @@ import type {
1313
ReifyOptions,
1414
} from '@npmcli/arborist'
1515

16+
export type ArboristOptions = BaseArboristOptions & {
17+
npmCommand?: string
18+
npmVersion?: string
19+
}
20+
1621
export type ArboristClass = ArboristInstance & {
1722
new (...args: any): ArboristInstance
1823
}

0 commit comments

Comments
 (0)