nodejs/node

readline: processing \u2028 and \u2029

Open

#22,448 opened on Aug 21, 2018

View on GitHub
 (7 comments) (1 reaction) (0 assignees)JavaScript (35,535 forks)batch import
help wantedreadline

Repository metrics

Stars
 (117,218 stars)
PR merge metrics
 (Avg merge 18d 17h) (219 merged PRs in 30d)

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