addEmptyLineBefore.js 545 B

12345678910111213141516
  1. const _ = require('lodash');
  2. // Add an empty line before a node. Mutates the node.
  3. module.exports = function addEmptyLineBefore(node, newline) {
  4. if (!/\r?\n/.test(node.raws.before)) {
  5. node.raws.before = _.repeat(newline, 2) + node.raws.before;
  6. } else if (/^\r?\n/.test(node.raws.before)) {
  7. node.raws.before = newline + node.raws.before;
  8. } else if (/\r?\n$/.test(node.raws.before)) {
  9. node.raws.before = node.raws.before + newline;
  10. } else {
  11. node.raws.before = node.raws.before.replace(/(\r?\n)/, `${newline}$1`);
  12. }
  13. return node;
  14. };