xref: /expo/packages/@expo/cli/src/utils/ansi.ts (revision 4bcb0d98)
1export function stripAnsi(str?: string) {
2  if (!str) {
3    return str;
4  }
5  const pattern = [
6    '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
7    '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))',
8  ].join('|');
9
10  return str.replace(new RegExp(pattern, 'g'), '');
11}
12