codekingpro/portable-devtools
114k
1const reifyOutput = require('./reify-output.js')
2const ini = require('ini')
3const { writeFile } = require('node:fs/promises')
4const { resolve } = require('node:path')
5
6const reifyFinish = async (npm, arb) => {
7 // if we are using a builtin config, and just installed npm as a top-level global package, we have to preserve that config.
8 if (arb.options.global) {
9 const npmNode = arb.actualTree.inventory.get('node_modules/npm')
10 if (npmNode) {
11 const builtinConf = npm.config.data.get('builtin')
12 if (!builtinConf.loadError) {
13 const content = ini.stringify(builtinConf.raw).trim() + '\n'
14 await writeFile(resolve(npmNode.path, 'npmrc'), content)
15 }
16 }
17 }
18 reifyOutput(npm, arb)
19}
20
21module.exports = reifyFinish
22 