nodejs/node

readline: processing \u2028 and \u2029

Open

#22,448 opened on Aug 21, 2018

View on GitHub
 (6 comments) (1 reaction) (0 assignees)JavaScript (117,218 stars) (35,535 forks)batch import
help wantedreadline

Description

Not sure if we should fix, document, or ignore this and if it has been discussed, so to be on the safe side.

Currently, \u2028 and \u2029 are considered as line breaks by JavaScript RegExps, while they are ignored by the readline:

'use strict';

const fs = require('fs');
const readline = require('readline');

const str = '123\n456\r123\u{2028}456\u{2029}789';

console.log(str.split(/^/mu));

fs.writeFileSync('readline-test.txt', str, 'utf8');

const rl = readline.createInterface({
  input: fs.createReadStream('readline-test.txt', 'utf8'),
  crlfDelay: Infinity,
});

rl.on('line', console.log);

out

Feel free to close if this is a wontfix.

Contributor guide