1// write the json back, preserving the line breaks and indent
2const { promisify } = require('util')
3const writeFile = promisify(require('fs').writeFile)
4const kIndent = Symbol.for('indent')
5const kNewline = Symbol.for('newline')
6
7module.exports = async (path, pkg) => {
8  const {
9    [kIndent]: indent = 2,
10    [kNewline]: newline = '\n',
11  } = pkg
12  delete pkg._id
13  const raw = JSON.stringify(pkg, null, indent) + '\n'
14  const data = newline === '\n' ? raw : raw.split('\n').join(newline)
15  return writeFile(path, data)
16}
17