Skip to content

Commit

Permalink
Embed the ansi-regex code into the project to fix an import dependenc…
Browse files Browse the repository at this point in the history
…y issue
  • Loading branch information
pamella committed Jan 8, 2024
1 parent 561320a commit 6646c02
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 3 deletions.
2 changes: 1 addition & 1 deletion lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const get = require('lodash.get');
const each = require('lodash.foreach');
const fromPairs = require('lodash.frompairs');
const toPairs = require('lodash.topairs');
const stripAnsi = require('strip-ansi');
const stripAnsi = require('./utils/stripAnsi');

function getAssetPath(compilation, name) {
return path.join(compilation.getPath(compilation.compiler.outputPath), name.split('?')[0]);
Expand Down
27 changes: 27 additions & 0 deletions lib/utils/stripAnsi.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/*
* This code is based on the strip-ansi library by Chalk.
* Source: https://github.com/chalk/strip-ansi
*/

function ansiRegex({ onlyFirst = false } = {}) {
const pattern = [
'[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
'(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))',
].join('|');

return new RegExp(pattern, onlyFirst ? undefined : 'g');
}

function stripAnsi(string) {
if (typeof string !== 'string') {
throw new TypeError(`Expected a \`string\`, got \`${typeof 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.
const regex = ansiRegex();
return string.replace(regex, '');
}

module.exports = stripAnsi;
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,7 @@
"lodash.foreach": "^4.5.0",
"lodash.frompairs": "^4.0.1",
"lodash.get": "^4.4.2",
"lodash.topairs": "^4.3.0",
"strip-ansi": "^6.0.1"
"lodash.topairs": "^4.3.0"
},
"devDependencies": {
"@types/babel__traverse": "7.0.6",
Expand Down

0 comments on commit 6646c02

Please # to comment.