https://jsfiddle.net/T1MOXA/a3h2Lxb8/32/#save

by T1MOXA

JavaScript

var buffer = `Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua
Aliquam faucibus purus in massa tempor nec feugiat
Id donec ultrices tincidunt arcu non sodales neque sodales ut
Malesuada nunc vel risus commodo viverra maecenas accumsan lacus vel
Iaculis urna id volutpat lacus laoreet non curabitur
Egestas sed sed risus pretium
In pellentesque massa placerat duis ultricies lacus
Volutpat blandit aliquam etiam erat
Id nibh tortor id aliquet lectus proin
Scelerisque felis imperdiet proin fermentum leo vel orci porta non
Quis hendrerit dolor magna eget est lorem ipsum
Sed sed risus pretium quam vulputate dignissim suspendisse
Eu augue ut lectus arcu bibendum at
Ornare aenean euismod elementum nisi
In eu mi bibendum neque egestas congue quisque egestas
Varius morbi enim nunc faucibus a pellentesque
Elit sed vulputate mi sit amet
Mauris sit amet massa vitae tortor condimentum lacinia.`

var arr = [];
var chunkSize = 300;
var chunksCount = Math.ceil(buffer.length / chunkSize);

if (chunksCount > 1) {
		while (buffer.length) {
				var chunk = buffer.match(new RegExp(`[^]{1,${chunkSize}}`));
				var index = chunk[0].match(/.+$/).index;
				
      	if (!index) {
						var match = buffer.match(/\n/);
						
						if (!match) {
								arr.push(buffer);
      	    		break;
      	    } else {
      	    		index = match.index;
      	    }
      	}
			
      	var sub = buffer.substring(0, index).replace(/^\s+|\s+$/g, '');
				
      	buffer = buffer.substring(index);
				arr.push(sub);
		}
} else {
		arr.push(buffer);
}

console.log(arr)