{"_id":"pretty-ansi","_rev":"4-ceb68885573462c651e7f4155b033880","name":"pretty-ansi","dist-tags":{"latest":"4.0.0"},"versions":{"1.0.0":{"name":"pretty-ansi","version":"1.0.0","keywords":["pretty","ansi","escape","sequences","testing"],"license":"MIT","_id":"pretty-ansi@1.0.0","maintainers":[{"name":"mrazauskas","email":"tom@mrazauskas.de"}],"homepage":"https://github.com/mrazauskas/pretty-ansi#readme","bugs":{"url":"https://github.com/mrazauskas/pretty-ansi/issues"},"dist":{"shasum":"955b23e6d3ac426dc85248dfc2d3d24a883f3632","tarball":"https://registry.npmjs.org/pretty-ansi/-/pretty-ansi-1.0.0.tgz","fileCount":5,"integrity":"sha512-FJKktAM2gzkm1pV6UQYF9iHovr/zoK11OCS0m/FuRrCFlUbwZm5/deefAhlgZ4PkWgNqzF3gCSF6UJHodw3lKA==","signatures":[{"sig":"MEYCIQDgnikn7UlCA0GufP3o+NJFrdrUCd47/KBqGCZb7UH3lQIhANOsopUvqrKTpkhf1SEBPH/eE1EI7JkJCFYO7sOsp6TM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8384},"type":"module","types":"./index.d.ts","engines":{"node":">=16"},"exports":"./index.js","gitHead":"66de0d7c3a5999aaa697fea42df1458b38c1a8e9","scripts":{"lint":"eslint . --config eslint.config.json --ext js","test":"mocha","check":"dprint check","format":"dprint fmt","test:types":"tstyche","test:coverage":"c8 --config c8.config.json npm run test"},"_npmUser":{"name":"mrazauskas","email":"tom@mrazauskas.de"},"repository":{"url":"git+https://github.com/mrazauskas/pretty-ansi.git","type":"git"},"_npmVersion":"10.2.4","description":"Convert ANSI escape sequences to human readable text","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"c8":"9.1.0","chai":"5.1.0","mocha":"10.3.0","dprint":"0.45.0","eslint":"8.56.0","tstyche":"^1.0.0-rc.2","ansi-styles":"6.2.1","ansi-escapes":"6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pretty-ansi_1.0.0_1708326963176_0.7890861239011426","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"pretty-ansi","version":"2.0.0","keywords":["pretty","ansi","escape","sequences","testing"],"license":"MIT","_id":"pretty-ansi@2.0.0","maintainers":[{"name":"mrazauskas","email":"tom@mrazauskas.de"}],"homepage":"https://github.com/mrazauskas/pretty-ansi#readme","bugs":{"url":"https://github.com/mrazauskas/pretty-ansi/issues"},"dist":{"shasum":"b032152c995ec570f18352fb10805aeef3a0993d","tarball":"https://registry.npmjs.org/pretty-ansi/-/pretty-ansi-2.0.0.tgz","fileCount":7,"integrity":"sha512-AN74nXfCper9y7CuktdWuJT5zwqVfST0LOBZMbEsDKIZ/QulzecDqDF4j+lQbzdKHKbAQU7UyqUVJBocisVjNw==","signatures":[{"sig":"MEUCIDj38BlhJj6F7MSibfmQwb7T4MlGk7V7UeX8kWLVkqpjAiEA6koIcsUi8uvq+TVW2e1O2DEmiCIZ2/radO/4CbTmHOc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8895},"main":"./index.cjs","type":"module","types":"./index.d.cts","engines":{"node":">=16"},"exports":{".":{"import":"./index.js","require":"./index.cjs"},"./package.json":"./package.json"},"funding":"https://github.com/sponsors/mrazauskas","gitHead":"2d6a60d8ab7b8dcc60c1c58e474990419bfddc91","scripts":{"lint":"eslint . --config eslint.config.json --ext js","test":"mocha","check":"dprint check","format":"dprint fmt","test:types":"tstyche","test:coverage":"c8 --config c8.config.json npm run test"},"_npmUser":{"name":"mrazauskas","email":"tom@mrazauskas.de"},"repository":{"url":"git+https://github.com/mrazauskas/pretty-ansi.git","type":"git"},"_npmVersion":"10.2.4","description":"Convert ANSI escape sequences to human readable text","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"c8":"9.1.0","chai":"5.1.0","mocha":"10.3.0","dprint":"0.45.0","eslint":"8.56.0","tstyche":"1.0.0","ansi-styles":"6.2.1","ansi-escapes":"6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pretty-ansi_2.0.0_1708445070050_0.3794906256309545","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"pretty-ansi","version":"3.0.0","keywords":["pretty","ansi","escape","sequences","testing"],"license":"MIT","_id":"pretty-ansi@3.0.0","maintainers":[{"name":"mrazauskas","email":"tom@mrazauskas.de"}],"homepage":"https://github.com/mrazauskas/pretty-ansi#readme","bugs":{"url":"https://github.com/mrazauskas/pretty-ansi/issues"},"dist":{"shasum":"b388a08b49ded78b9390848bc101ee534cb69492","tarball":"https://registry.npmjs.org/pretty-ansi/-/pretty-ansi-3.0.0.tgz","fileCount":7,"integrity":"sha512-8FdI7yD+nCdMCbjkapyOwKTBVBtX1S6eLFjZA+gNcnRJQFCqZJgAVKjvwdBsyClOa9DWlr5sin9isAWDvVMpew==","signatures":[{"sig":"MEUCIQCd7wt8L8aH649RDRNY22MWyvTPSsz8RGymFBVx8Z5rewIgYsvNCU03b0/vI8UOySFevAt66qKURABpJoqhPf1fMiw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8779},"main":"./index.cjs","type":"module","types":"./index.d.cts","engines":{"node":">=18"},"exports":{".":{"import":"./index.js","require":"./index.cjs"},"./package.json":"./package.json"},"funding":"https://github.com/sponsors/mrazauskas","gitHead":"0a1b98c4315aa4f71313fed43df3d6917b01cce8","scripts":{"test":"node --test","check":"biome check --write","format":"biome format --write","test:types":"tstyche","test:coverage":"mcr --config mcr.config.json -- npm run test"},"_npmUser":{"name":"mrazauskas","email":"tom@mrazauskas.de"},"repository":{"url":"git+https://github.com/mrazauskas/pretty-ansi.git","type":"git"},"_npmVersion":"10.2.4","description":"Convert ANSI escape sequences to human readable text","directories":{},"_nodeVersion":"18.19.1","_hasShrinkwrap":false,"devDependencies":{"tstyche":"3.0.0","ansi-styles":"6.2.1","ansi-escapes":"7.0.0","@biomejs/biome":"1.9.4","monocart-coverage-reports":"2.11.3"},"_npmOperationalInternal":{"tmp":"tmp/pretty-ansi_3.0.0_1732645725889_0.2782410366630814","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"pretty-ansi","version":"4.0.0","description":"Convert ANSI escape sequences to human readable text","keywords":["pretty","ansi","escape","sequences","testing"],"repository":{"type":"git","url":"git+https://github.com/mrazauskas/pretty-ansi.git"},"funding":"https://github.com/sponsors/mrazauskas","license":"MIT","type":"module","exports":{".":{"import":"./index.js","require":"./index.cjs"},"./package.json":"./package.json"},"main":"./index.cjs","types":"./index.d.cts","scripts":{"check":"biome check --write","format":"biome format --write","test":"node --test","test:coverage":"mcr --config mcr.config.json -- npm run test","test:types":"tstyche"},"devDependencies":{"@biomejs/biome":"2.4.9","ansi-escapes":"7.3.0","ansi-styles":"6.2.3","monocart-coverage-reports":"2.12.9","tstyche":"7.0.0-rc.0"},"engines":{"node":">=20"},"gitHead":"e35e714a3773051770255da87d05cd224652dc9d","_id":"pretty-ansi@4.0.0","bugs":{"url":"https://github.com/mrazauskas/pretty-ansi/issues"},"homepage":"https://github.com/mrazauskas/pretty-ansi#readme","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-e+hWevDKx5BWF9nGpWssm6rSTynBbD9aIvuySBSpormiLR3pmR+ey2DVUILVHcKgHEHLm5lEzIHLEtyhO8oEdw==","shasum":"92b84c10706efb5f5ce107599eeb03ca2794954f","tarball":"https://registry.npmjs.org/pretty-ansi/-/pretty-ansi-4.0.0.tgz","fileCount":7,"unpackedSize":8566,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGXlRzYR8W18Y7icPNJUTyxRrSPA6Gtm8N8jvwrvusfrAiEA5Q/IL/F6xCDnednVhzuj8FamWtrmAl/Jujk5jrqDTKI="}]},"_npmUser":{"name":"mrazauskas","email":"tom@mrazauskas.de"},"directories":{},"maintainers":[{"name":"mrazauskas","email":"tom@mrazauskas.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pretty-ansi_4.0.0_1774885996144_0.5804207871296385"},"_hasShrinkwrap":false}},"time":{"created":"2024-02-19T07:16:03.175Z","modified":"2026-03-30T15:53:16.439Z","1.0.0":"2024-02-19T07:16:03.324Z","2.0.0":"2024-02-20T16:04:30.211Z","3.0.0":"2024-11-26T18:28:46.075Z","4.0.0":"2026-03-30T15:53:16.317Z"},"bugs":{"url":"https://github.com/mrazauskas/pretty-ansi/issues"},"license":"MIT","homepage":"https://github.com/mrazauskas/pretty-ansi#readme","keywords":["pretty","ansi","escape","sequences","testing"],"repository":{"type":"git","url":"git+https://github.com/mrazauskas/pretty-ansi.git"},"description":"Convert ANSI escape sequences to human readable text","maintainers":[{"name":"mrazauskas","email":"tom@mrazauskas.de"}],"readme":"# pretty-ansi\n\n[![version][version-badge]][version-url]\n[![license][license-badge]][license-url]\n[![install-size][install-size-badge]][install-size-url]\n[![coverage][coverage-badge]][coverage-url]\n\nConvert ANSI escape sequences to human readable text.\n\n---\n\nThis utility converts [ANSI escape sequences](https://ansi.tools/lookup) to human readable text. It supports color, style and cursor control escapes and works with vanilla sequences as well as the output from libraries like `chalk`, `colors`, `ansi-escapes`, `ansi-styles` or `terminal-kit`.\n\n## Install\n\n```bash\nnpm add -D pretty-ansi\n```\n\n## Usage\n\nFor example, it can be useful to test the output of a command line tool:\n\n```js\nimport assert from \"node:assert\";\nimport test from \"node:test\";\nimport prettyAnsi from \"pretty-ansi\";\n\ntest(\"command output\", () => {\n  const commandOutput = \"\\u001b[3;32mSuccess!\\u001b[0m\";\n\n  assert.strictEqual(prettyAnsi(commandOutput), \"<italic, green>Success!</>\");\n});\n```\n\n## Notes\n\nCurrently only 16 colors are all supported.\n\nKeep in mind that the escape sequences are not validated. Unrecognized sequence will print as `<ESC>[a1b2c3`, or as `<?>` in case this is a color or style sequence.\n\n## License\n\n[MIT][license-url]\n\n[version-badge]: https://badgen.net/npm/v/pretty-ansi\n[version-url]: https://npmjs.com/package/pretty-ansi\n[license-badge]: https://badgen.net/github/license/mrazauskas/pretty-ansi\n[license-url]: https://github.com/mrazauskas/pretty-ansi/blob/main/LICENSE.md\n[install-size-badge]: https://badgen.net/packagephobia/install/pretty-ansi\n[install-size-url]: https://packagephobia.com/result?p=pretty-ansi\n[coverage-badge]: https://badgen.net/codecov/github/mrazauskas/pretty-ansi\n[coverage-url]: https://app.codecov.io/gh/mrazauskas/pretty-ansi\n","readmeFilename":"README.md"}