mirror of
https://github.com/pnpm/pnpm.git
synced 2026-02-05 20:51:36 -05:00
19 lines
677 B
JavaScript
19 lines
677 B
JavaScript
var thenify = require('thenify')
|
|
var fs = require('fs')
|
|
var writeFile = thenify(fs.writeFile)
|
|
|
|
module.exports = function save (pkg, installedPackages, saveType) {
|
|
var packageJson = pkg.pkg
|
|
packageJson[saveType] = packageJson[saveType] || {}
|
|
installedPackages.forEach(function (dependency) {
|
|
// Assumes package name of in the format of "package-name@x.x.x"
|
|
// TODO: Support other install sources (Github, scoped pkgs etc.)
|
|
var splitDep = dependency.split('@')
|
|
var depName = splitDep[0]
|
|
var depVersion = splitDep[1]
|
|
packageJson[saveType][depName] = '^' + depVersion
|
|
})
|
|
|
|
return writeFile(pkg.path, JSON.stringify(packageJson, null, 2), 'utf8')
|
|
}
|