chore: init frontend-source directory with tooling scaffold

Former-commit-id: 435fb8e3e4f8e334ad3b0e95052edbdd9547d197
This commit is contained in:
反编译工作区
2026-04-29 11:39:06 +08:00
parent 824305aebf
commit 640e188270
1171 changed files with 202200 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
import ansiRegex from 'ansi-regex';
const regex = ansiRegex();
export default function stripAnsi(string) {
if (typeof string !== 'string') {
throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
}
// Fast path: ANSI codes require ESC (7-bit) or CSI (8-bit) introducer
if (!string.includes('\u001B') && !string.includes('\u009B')) {
return string;
}
// Even though the regex is global, we don't need to reset the `.lastIndex`
// because unlike `.exec()` and `.test()`, `.replace()` does it automatically
// and doing it manually has a performance penalty.
return string.replace(regex, '');
}