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