From e30f8c6ad2f508c0a4d8d3a619907a7ecd1513e8 Mon Sep 17 00:00:00 2001 From: Dru Nelson Date: Sun, 30 Jul 2023 17:14:45 -0700 Subject: [PATCH 1/6] Converted AnsiUp to ESM / ES6 Module --- Makefile | 9 +- ansi_up.d.ts | 44 +- ansi_up.js | 240 ++++----- ansi_up.js.map | 2 +- ansi_up.ts | 2 +- dist/ansi_up.d.ts | 61 --- dist/ansi_up.js.include | 429 --------------- dist/ansi_up.js.map | 1 - package-lock.json | 1090 ++++++++++++++++++++++++++------------- package.json | 3 +- scripts/fix-typings.js | 15 - test/ansi_up-test.js | 126 +++-- tsconfig.json | 13 +- 13 files changed, 921 insertions(+), 1114 deletions(-) delete mode 100644 dist/ansi_up.d.ts delete mode 100644 dist/ansi_up.js.include delete mode 100644 dist/ansi_up.js.map delete mode 100644 scripts/fix-typings.js diff --git a/Makefile b/Makefile index 1f1a358..dc5e01b 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,11 @@ -SOURCE = *.ts -TESTS = test/*.js +SOURCE = *.ts +TESTS = test/*.js REPORTER = dot typescript: ./node_modules/.bin/tsc -p . - cat ./umd.header ./dist/ansi_up.js ./umd.footer > ansi_up.js - mv ./dist/ansi_up.js ./dist/ansi_up.js.include - node ./scripts/fix-typings.js - + test: @NODE_ENV=test ./node_modules/.bin/mocha \ --require should \ diff --git a/ansi_up.d.ts b/ansi_up.d.ts index 706e29c..2a1ad3c 100644 --- a/ansi_up.d.ts +++ b/ansi_up.d.ts @@ -1,27 +1,3 @@ -interface AU_Color { - rgb: number[]; - class_name: string; -} -interface TextWithAttr { - fg: AU_Color; - bg: AU_Color; - bold: boolean; - text: string; -} -declare enum PacketKind { - EOS = 0, - Text = 1, - Incomplete = 2, - ESC = 3, - Unknown = 4, - SGR = 5, - OSCURL = 6 -} -interface TextPacket { - kind: PacketKind; - text: string; - url: string; -} export declare class AnsiUp { VERSION: string; private ansi_colors; @@ -29,25 +5,29 @@ export declare class AnsiUp { private fg; private bg; private bold; + private italic; + private underline; private _use_classes; - private _escape_for_html; private _csi_regex; private _osc_st; private _osc_regex; private _url_whitelist; + private _escape_html; private _buffer; constructor(); - use_classes: boolean; - escape_for_html: boolean; - url_whitelist: {}; + set use_classes(arg: boolean); + get use_classes(): boolean; + set url_whitelist(arg: {}); + get url_whitelist(): {}; + set escape_html(arg: boolean); + get escape_html(): boolean; private setup_palettes; private escape_txt_for_html; - append_buffer(txt: string): void; - get_next_packet(): TextPacket; + private append_buffer; + private get_next_packet; ansi_to_html(txt: string): string; private with_state; private process_ansi; - transform_to_html(fragment: TextWithAttr): string; + private transform_to_html; private process_hyperlink; } -export {}; diff --git a/ansi_up.js b/ansi_up.js index 4e888a6..99947bd 100644 --- a/ansi_up.js +++ b/ansi_up.js @@ -1,22 +1,3 @@ -/* ansi_up.js - * author : Dru Nelson - * license : MIT - * http://github.com/drudru/ansi_up - */ -(function (root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['exports'], factory); - } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') { - // CommonJS - factory(exports); - } else { - // Browser globals - var exp = {}; - factory(exp); - root.AnsiUp = exp.default; - } -}(this, function (exports) { "use strict"; var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } @@ -32,8 +13,8 @@ var PacketKind; PacketKind[PacketKind["SGR"] = 5] = "SGR"; PacketKind[PacketKind["OSCURL"] = 6] = "OSCURL"; })(PacketKind || (PacketKind = {})); -var AnsiUp = (function () { - function AnsiUp() { +export class AnsiUp { + constructor() { this.VERSION = "5.2.1"; this.setup_palettes(); this._use_classes = false; @@ -45,38 +26,25 @@ var AnsiUp = (function () { this._url_whitelist = { 'http': 1, 'https': 1 }; this._escape_html = true; } - Object.defineProperty(AnsiUp.prototype, "use_classes", { - get: function () { - return this._use_classes; - }, - set: function (arg) { - this._use_classes = arg; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(AnsiUp.prototype, "url_whitelist", { - get: function () { - return this._url_whitelist; - }, - set: function (arg) { - this._url_whitelist = arg; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(AnsiUp.prototype, "escape_html", { - get: function () { - return this._escape_html; - }, - set: function (arg) { - this._escape_html = arg; - }, - enumerable: false, - configurable: true - }); - AnsiUp.prototype.setup_palettes = function () { - var _this = this; + set use_classes(arg) { + this._use_classes = arg; + } + get use_classes() { + return this._use_classes; + } + set url_whitelist(arg) { + this._url_whitelist = arg; + } + get url_whitelist() { + return this._url_whitelist; + } + set escape_html(arg) { + this._escape_html = arg; + } + get escape_html() { + return this._escape_html; + } + setup_palettes() { this.ansi_colors = [ [ @@ -101,30 +69,30 @@ var AnsiUp = (function () { ] ]; this.palette_256 = []; - this.ansi_colors.forEach(function (palette) { - palette.forEach(function (rec) { - _this.palette_256.push(rec); + this.ansi_colors.forEach(palette => { + palette.forEach(rec => { + this.palette_256.push(rec); }); }); - var levels = [0, 95, 135, 175, 215, 255]; - for (var r = 0; r < 6; ++r) { - for (var g = 0; g < 6; ++g) { - for (var b = 0; b < 6; ++b) { - var col = { rgb: [levels[r], levels[g], levels[b]], class_name: 'truecolor' }; + let levels = [0, 95, 135, 175, 215, 255]; + for (let r = 0; r < 6; ++r) { + for (let g = 0; g < 6; ++g) { + for (let b = 0; b < 6; ++b) { + let col = { rgb: [levels[r], levels[g], levels[b]], class_name: 'truecolor' }; this.palette_256.push(col); } } } - var grey_level = 8; - for (var i = 0; i < 24; ++i, grey_level += 10) { - var gry = { rgb: [grey_level, grey_level, grey_level], class_name: 'truecolor' }; + let grey_level = 8; + for (let i = 0; i < 24; ++i, grey_level += 10) { + let gry = { rgb: [grey_level, grey_level, grey_level], class_name: 'truecolor' }; this.palette_256.push(gry); } - }; - AnsiUp.prototype.escape_txt_for_html = function (txt) { + } + escape_txt_for_html(txt) { if (!this._escape_html) return txt; - return txt.replace(/[&<>"']/gm, function (str) { + return txt.replace(/[&<>"']/gm, (str) => { if (str === "&") return "&"; if (str === "<") @@ -136,12 +104,12 @@ var AnsiUp = (function () { if (str === "'") return "'"; }); - }; - AnsiUp.prototype.append_buffer = function (txt) { + } + append_buffer(txt) { var str = this._buffer + txt; this._buffer = str; - }; - AnsiUp.prototype.get_next_packet = function () { + } + get_next_packet() { var pkt = { kind: PacketKind.EOS, text: '', @@ -177,9 +145,9 @@ var AnsiUp = (function () { } if (next_char == '[') { if (!this._csi_regex) { - this._csi_regex = rgx(__makeTemplateObject(["\n ^ # beginning of line\n #\n # First attempt\n (?: # legal sequence\n \u001B[ # CSI\n ([<-?]?) # private-mode char\n ([d;]*) # any digits or semicolons\n ([ -/]? # an intermediate modifier\n [@-~]) # the command\n )\n | # alternate (second attempt)\n (?: # illegal sequence\n \u001B[ # CSI\n [ -~]* # anything legal\n ([\0-\u001F:]) # anything illegal\n )\n "], ["\n ^ # beginning of line\n #\n # First attempt\n (?: # legal sequence\n \\x1b\\[ # CSI\n ([\\x3c-\\x3f]?) # private-mode char\n ([\\d;]*) # any digits or semicolons\n ([\\x20-\\x2f]? # an intermediate modifier\n [\\x40-\\x7e]) # the command\n )\n | # alternate (second attempt)\n (?: # illegal sequence\n \\x1b\\[ # CSI\n [\\x20-\\x7e]* # anything legal\n ([\\x00-\\x1f:]) # anything illegal\n )\n "])); + this._csi_regex = rgx(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ^ # beginning of line\n #\n # First attempt\n (?: # legal sequence\n \u001B[ # CSI\n ([<-?]?) # private-mode char\n ([d;]*) # any digits or semicolons\n ([ -/]? # an intermediate modifier\n [@-~]) # the command\n )\n | # alternate (second attempt)\n (?: # illegal sequence\n \u001B[ # CSI\n [ -~]* # anything legal\n ([\0-\u001F:]) # anything illegal\n )\n "], ["\n ^ # beginning of line\n #\n # First attempt\n (?: # legal sequence\n \\x1b\\[ # CSI\n ([\\x3c-\\x3f]?) # private-mode char\n ([\\d;]*) # any digits or semicolons\n ([\\x20-\\x2f]? # an intermediate modifier\n [\\x40-\\x7e]) # the command\n )\n | # alternate (second attempt)\n (?: # illegal sequence\n \\x1b\\[ # CSI\n [\\x20-\\x7e]* # anything legal\n ([\\x00-\\x1f:]) # anything illegal\n )\n "]))); } - var match = this._buffer.match(this._csi_regex); + let match = this._buffer.match(this._csi_regex); if (match === null) { pkt.kind = PacketKind.Incomplete; return pkt; @@ -212,16 +180,16 @@ var AnsiUp = (function () { return pkt; } if (!this._osc_st) { - this._osc_st = rgxG(__makeTemplateObject(["\n (?: # legal sequence\n (\u001B\\) # ESC | # alternate\n (\u0007) # BEL (what xterm did)\n )\n | # alternate (second attempt)\n ( # illegal sequence\n [\0-\u0006] # anything illegal\n | # alternate\n [\b-\u001A] # anything illegal\n | # alternate\n [\u001C-\u001F] # anything illegal\n )\n "], ["\n (?: # legal sequence\n (\\x1b\\\\) # ESC \\\n | # alternate\n (\\x07) # BEL (what xterm did)\n )\n | # alternate (second attempt)\n ( # illegal sequence\n [\\x00-\\x06] # anything illegal\n | # alternate\n [\\x08-\\x1a] # anything illegal\n | # alternate\n [\\x1c-\\x1f] # anything illegal\n )\n "])); + this._osc_st = rgxG(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n (?: # legal sequence\n (\u001B\\) # ESC | # alternate\n (\u0007) # BEL (what xterm did)\n )\n | # alternate (second attempt)\n ( # illegal sequence\n [\0-\u0006] # anything illegal\n | # alternate\n [\b-\u001A] # anything illegal\n | # alternate\n [\u001C-\u001F] # anything illegal\n )\n "], ["\n (?: # legal sequence\n (\\x1b\\\\) # ESC \\\n | # alternate\n (\\x07) # BEL (what xterm did)\n )\n | # alternate (second attempt)\n ( # illegal sequence\n [\\x00-\\x06] # anything illegal\n | # alternate\n [\\x08-\\x1a] # anything illegal\n | # alternate\n [\\x1c-\\x1f] # anything illegal\n )\n "]))); } this._osc_st.lastIndex = 0; { - var match_1 = this._osc_st.exec(this._buffer); - if (match_1 === null) { + let match = this._osc_st.exec(this._buffer); + if (match === null) { pkt.kind = PacketKind.Incomplete; return pkt; } - if (match_1[3]) { + if (match[3]) { pkt.kind = PacketKind.ESC; pkt.text = this._buffer.slice(0, 1); this._buffer = this._buffer.slice(1); @@ -229,12 +197,12 @@ var AnsiUp = (function () { } } { - var match_2 = this._osc_st.exec(this._buffer); - if (match_2 === null) { + let match = this._osc_st.exec(this._buffer); + if (match === null) { pkt.kind = PacketKind.Incomplete; return pkt; } - if (match_2[3]) { + if (match[3]) { pkt.kind = PacketKind.ESC; pkt.text = this._buffer.slice(0, 1); this._buffer = this._buffer.slice(1); @@ -242,9 +210,9 @@ var AnsiUp = (function () { } } if (!this._osc_regex) { - this._osc_regex = rgx(__makeTemplateObject(["\n ^ # beginning of line\n #\n \u001B]8; # OSC Hyperlink\n [ -:<-~]* # params (excluding ;)\n ; # end of params\n ([!-~]{0,512}) # URL capture\n (?: # ST\n (?:\u001B\\) # ESC | # alternate\n (?:\u0007) # BEL (what xterm did)\n )\n ([ -~]+) # TEXT capture\n \u001B]8;; # OSC Hyperlink End\n (?: # ST\n (?:\u001B\\) # ESC | # alternate\n (?:\u0007) # BEL (what xterm did)\n )\n "], ["\n ^ # beginning of line\n #\n \\x1b\\]8; # OSC Hyperlink\n [\\x20-\\x3a\\x3c-\\x7e]* # params (excluding ;)\n ; # end of params\n ([\\x21-\\x7e]{0,512}) # URL capture\n (?: # ST\n (?:\\x1b\\\\) # ESC \\\n | # alternate\n (?:\\x07) # BEL (what xterm did)\n )\n ([\\x20-\\x7e]+) # TEXT capture\n \\x1b\\]8;; # OSC Hyperlink End\n (?: # ST\n (?:\\x1b\\\\) # ESC \\\n | # alternate\n (?:\\x07) # BEL (what xterm did)\n )\n "])); + this._osc_regex = rgx(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ^ # beginning of line\n #\n \u001B]8; # OSC Hyperlink\n [ -:<-~]* # params (excluding ;)\n ; # end of params\n ([!-~]{0,512}) # URL capture\n (?: # ST\n (?:\u001B\\) # ESC | # alternate\n (?:\u0007) # BEL (what xterm did)\n )\n ([ -~]+) # TEXT capture\n \u001B]8;; # OSC Hyperlink End\n (?: # ST\n (?:\u001B\\) # ESC | # alternate\n (?:\u0007) # BEL (what xterm did)\n )\n "], ["\n ^ # beginning of line\n #\n \\x1b\\]8; # OSC Hyperlink\n [\\x20-\\x3a\\x3c-\\x7e]* # params (excluding ;)\n ; # end of params\n ([\\x21-\\x7e]{0,512}) # URL capture\n (?: # ST\n (?:\\x1b\\\\) # ESC \\\n | # alternate\n (?:\\x07) # BEL (what xterm did)\n )\n ([\\x20-\\x7e]+) # TEXT capture\n \\x1b\\]8;; # OSC Hyperlink End\n (?: # ST\n (?:\\x1b\\\\) # ESC \\\n | # alternate\n (?:\\x07) # BEL (what xterm did)\n )\n "]))); } - var match = this._buffer.match(this._osc_regex); + let match = this._buffer.match(this._osc_regex); if (match === null) { pkt.kind = PacketKind.ESC; pkt.text = this._buffer.slice(0, 1); @@ -264,8 +232,8 @@ var AnsiUp = (function () { return pkt; } } - }; - AnsiUp.prototype.ansi_to_html = function (txt) { + } + ansi_to_html(txt) { this.append_buffer(txt); var blocks = []; while (true) { @@ -284,15 +252,15 @@ var AnsiUp = (function () { blocks.push(this.process_hyperlink(packet)); } return blocks.join(""); - }; - AnsiUp.prototype.with_state = function (pkt) { + } + with_state(pkt) { return { bold: this.bold, italic: this.italic, underline: this.underline, fg: this.fg, bg: this.bg, text: pkt.text }; - }; - AnsiUp.prototype.process_ansi = function (pkt) { - var sgr_cmds = pkt.text.split(';'); + } + process_ansi(pkt) { + let sgr_cmds = pkt.text.split(';'); while (sgr_cmds.length > 0) { - var sgr_cmd_str = sgr_cmds.shift(); - var num = parseInt(sgr_cmd_str, 10); + let sgr_cmd_str = sgr_cmds.shift(); + let num = parseInt(sgr_cmd_str, 10); if (isNaN(num) || num === 0) { this.fg = this.bg = null; this.bold = false; @@ -337,10 +305,10 @@ var AnsiUp = (function () { } else if (num === 38 || num === 48) { if (sgr_cmds.length > 0) { - var is_foreground = (num === 38); - var mode_cmd = sgr_cmds.shift(); + let is_foreground = (num === 38); + let mode_cmd = sgr_cmds.shift(); if (mode_cmd === '5' && sgr_cmds.length > 0) { - var palette_index = parseInt(sgr_cmds.shift(), 10); + let palette_index = parseInt(sgr_cmds.shift(), 10); if (palette_index >= 0 && palette_index <= 255) { if (is_foreground) this.fg = this.palette_256[palette_index]; @@ -349,11 +317,11 @@ var AnsiUp = (function () { } } if (mode_cmd === '2' && sgr_cmds.length > 2) { - var r = parseInt(sgr_cmds.shift(), 10); - var g = parseInt(sgr_cmds.shift(), 10); - var b = parseInt(sgr_cmds.shift(), 10); + let r = parseInt(sgr_cmds.shift(), 10); + let g = parseInt(sgr_cmds.shift(), 10); + let b = parseInt(sgr_cmds.shift(), 10); if ((r >= 0 && r <= 255) && (g >= 0 && g <= 255) && (b >= 0 && b <= 255)) { - var c = { rgb: [r, g, b], class_name: 'truecolor' }; + let c = { rgb: [r, g, b], class_name: 'truecolor' }; if (is_foreground) this.fg = c; else @@ -363,18 +331,18 @@ var AnsiUp = (function () { } } } - }; - AnsiUp.prototype.transform_to_html = function (fragment) { - var txt = fragment.text; + } + transform_to_html(fragment) { + let txt = fragment.text; if (txt.length === 0) return txt; txt = this.escape_txt_for_html(txt); if (!fragment.bold && !fragment.italic && !fragment.underline && fragment.fg === null && fragment.bg === null) return txt; - var styles = []; - var classes = []; - var fg = fragment.fg; - var bg = fragment.bg; + let styles = []; + let classes = []; + let fg = fragment.fg; + let bg = fragment.bg; if (fragment.bold) styles.push('font-weight:bold'); if (fragment.italic) @@ -383,69 +351,57 @@ var AnsiUp = (function () { styles.push('text-decoration:underline'); if (!this._use_classes) { if (fg) - styles.push("color:rgb(" + fg.rgb.join(',') + ")"); + styles.push(`color:rgb(${fg.rgb.join(',')})`); if (bg) - styles.push("background-color:rgb(" + bg.rgb + ")"); + styles.push(`background-color:rgb(${bg.rgb})`); } else { if (fg) { if (fg.class_name !== 'truecolor') { - classes.push(fg.class_name + "-fg"); + classes.push(`${fg.class_name}-fg`); } else { - styles.push("color:rgb(" + fg.rgb.join(',') + ")"); + styles.push(`color:rgb(${fg.rgb.join(',')})`); } } if (bg) { if (bg.class_name !== 'truecolor') { - classes.push(bg.class_name + "-bg"); + classes.push(`${bg.class_name}-bg`); } else { - styles.push("background-color:rgb(" + bg.rgb.join(',') + ")"); + styles.push(`background-color:rgb(${bg.rgb.join(',')})`); } } } - var class_string = ''; - var style_string = ''; + let class_string = ''; + let style_string = ''; if (classes.length) - class_string = " class=\"" + classes.join(' ') + "\""; + class_string = ` class="${classes.join(' ')}"`; if (styles.length) - style_string = " style=\"" + styles.join(';') + "\""; - return "" + txt + ""; - }; + style_string = ` style="${styles.join(';')}"`; + return `${txt}`; + } ; - AnsiUp.prototype.process_hyperlink = function (pkt) { - var parts = pkt.url.split(':'); + process_hyperlink(pkt) { + let parts = pkt.url.split(':'); if (parts.length < 1) return ''; if (!this._url_whitelist[parts[0]]) return ''; - var result = "" + this.escape_txt_for_html(pkt.text) + ""; + let result = `${this.escape_txt_for_html(pkt.text)}`; return result; - }; - return AnsiUp; -}()); -function rgx(tmplObj) { - var subst = []; - for (var _i = 1; _i < arguments.length; _i++) { - subst[_i - 1] = arguments[_i]; } - var regexText = tmplObj.raw[0]; - var wsrgx = /^\s+|\s+\n|\s*#[\s\S]*?\n|\n/gm; - var txt2 = regexText.replace(wsrgx, ''); +} +function rgx(tmplObj, ...subst) { + let regexText = tmplObj.raw[0]; + let wsrgx = /^\s+|\s+\n|\s*#[\s\S]*?\n|\n/gm; + let txt2 = regexText.replace(wsrgx, ''); return new RegExp(txt2); } -function rgxG(tmplObj) { - var subst = []; - for (var _i = 1; _i < arguments.length; _i++) { - subst[_i - 1] = arguments[_i]; - } - var regexText = tmplObj.raw[0]; - var wsrgx = /^\s+|\s+\n|\s*#[\s\S]*?\n|\n/gm; - var txt2 = regexText.replace(wsrgx, ''); +function rgxG(tmplObj, ...subst) { + let regexText = tmplObj.raw[0]; + let wsrgx = /^\s+|\s+\n|\s*#[\s\S]*?\n|\n/gm; + let txt2 = regexText.replace(wsrgx, ''); return new RegExp(txt2, 'g'); } -//# sourceMappingURL=ansi_up.js.map - Object.defineProperty(exports, "__esModule", { value: true }); - exports.default = AnsiUp; -})); +var templateObject_1, templateObject_2, templateObject_3; diff --git a/ansi_up.js.map b/ansi_up.js.map index 5dbac94..d42006e 100644 --- a/ansi_up.js.map +++ b/ansi_up.js.map @@ -1 +1 @@ -{"version":3,"file":"ansi_up.js","sourceRoot":"","sources":["ansi_up.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ansi_up.js","sourceRoot":"","sources":["ansi_up.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ansi_up.ts b/ansi_up.ts index a74ac9d..be5b353 100644 --- a/ansi_up.ts +++ b/ansi_up.ts @@ -50,7 +50,7 @@ interface TextPacket { // MAIN CLASS // -class AnsiUp +export class AnsiUp { VERSION = "5.2.1"; diff --git a/dist/ansi_up.d.ts b/dist/ansi_up.d.ts deleted file mode 100644 index b0c7667..0000000 --- a/dist/ansi_up.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -export interface AU_Color { - rgb: number[]; - class_name: string; -} -export interface TextWithAttr { - fg: AU_Color; - bg: AU_Color; - bold: boolean; - italic: boolean; - underline: boolean; - text: string; -} -declare enum PacketKind { - EOS = 0, - Text = 1, - Incomplete = 2, - ESC = 3, - Unknown = 4, - SGR = 5, - OSCURL = 6 -} -export interface TextPacket { - kind: PacketKind; - text: string; - url: string; -} -export default class AnsiUp { - VERSION: string; - private ansi_colors; - private palette_256; - private fg; - private bg; - private bold; - private italic; - private underline; - private _use_classes; - private _csi_regex; - private _osc_st; - private _osc_regex; - private _url_whitelist; - private _escape_html; - private _buffer; - constructor(); - set use_classes(arg: boolean); - get use_classes(): boolean; - set url_whitelist(arg: {}); - get url_whitelist(): {}; - set escape_html(arg: boolean); - get escape_html(): boolean; - private setup_palettes; - private escape_txt_for_html; - private append_buffer; - private get_next_packet; - ansi_to_html(txt: string): string; - private with_state; - private process_ansi; - private transform_to_html; - private process_hyperlink; -} -declare function rgx(tmplObj: any, ...subst: any[]): RegExp; -declare function rgxG(tmplObj: any, ...subst: any[]): RegExp; diff --git a/dist/ansi_up.js.include b/dist/ansi_up.js.include deleted file mode 100644 index b2bfd74..0000000 --- a/dist/ansi_up.js.include +++ /dev/null @@ -1,429 +0,0 @@ -"use strict"; -var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; -var PacketKind; -(function (PacketKind) { - PacketKind[PacketKind["EOS"] = 0] = "EOS"; - PacketKind[PacketKind["Text"] = 1] = "Text"; - PacketKind[PacketKind["Incomplete"] = 2] = "Incomplete"; - PacketKind[PacketKind["ESC"] = 3] = "ESC"; - PacketKind[PacketKind["Unknown"] = 4] = "Unknown"; - PacketKind[PacketKind["SGR"] = 5] = "SGR"; - PacketKind[PacketKind["OSCURL"] = 6] = "OSCURL"; -})(PacketKind || (PacketKind = {})); -var AnsiUp = (function () { - function AnsiUp() { - this.VERSION = "5.2.1"; - this.setup_palettes(); - this._use_classes = false; - this.bold = false; - this.italic = false; - this.underline = false; - this.fg = this.bg = null; - this._buffer = ''; - this._url_whitelist = { 'http': 1, 'https': 1 }; - this._escape_html = true; - } - Object.defineProperty(AnsiUp.prototype, "use_classes", { - get: function () { - return this._use_classes; - }, - set: function (arg) { - this._use_classes = arg; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(AnsiUp.prototype, "url_whitelist", { - get: function () { - return this._url_whitelist; - }, - set: function (arg) { - this._url_whitelist = arg; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(AnsiUp.prototype, "escape_html", { - get: function () { - return this._escape_html; - }, - set: function (arg) { - this._escape_html = arg; - }, - enumerable: false, - configurable: true - }); - AnsiUp.prototype.setup_palettes = function () { - var _this = this; - this.ansi_colors = - [ - [ - { rgb: [0, 0, 0], class_name: "ansi-black" }, - { rgb: [187, 0, 0], class_name: "ansi-red" }, - { rgb: [0, 187, 0], class_name: "ansi-green" }, - { rgb: [187, 187, 0], class_name: "ansi-yellow" }, - { rgb: [0, 0, 187], class_name: "ansi-blue" }, - { rgb: [187, 0, 187], class_name: "ansi-magenta" }, - { rgb: [0, 187, 187], class_name: "ansi-cyan" }, - { rgb: [255, 255, 255], class_name: "ansi-white" } - ], - [ - { rgb: [85, 85, 85], class_name: "ansi-bright-black" }, - { rgb: [255, 85, 85], class_name: "ansi-bright-red" }, - { rgb: [0, 255, 0], class_name: "ansi-bright-green" }, - { rgb: [255, 255, 85], class_name: "ansi-bright-yellow" }, - { rgb: [85, 85, 255], class_name: "ansi-bright-blue" }, - { rgb: [255, 85, 255], class_name: "ansi-bright-magenta" }, - { rgb: [85, 255, 255], class_name: "ansi-bright-cyan" }, - { rgb: [255, 255, 255], class_name: "ansi-bright-white" } - ] - ]; - this.palette_256 = []; - this.ansi_colors.forEach(function (palette) { - palette.forEach(function (rec) { - _this.palette_256.push(rec); - }); - }); - var levels = [0, 95, 135, 175, 215, 255]; - for (var r = 0; r < 6; ++r) { - for (var g = 0; g < 6; ++g) { - for (var b = 0; b < 6; ++b) { - var col = { rgb: [levels[r], levels[g], levels[b]], class_name: 'truecolor' }; - this.palette_256.push(col); - } - } - } - var grey_level = 8; - for (var i = 0; i < 24; ++i, grey_level += 10) { - var gry = { rgb: [grey_level, grey_level, grey_level], class_name: 'truecolor' }; - this.palette_256.push(gry); - } - }; - AnsiUp.prototype.escape_txt_for_html = function (txt) { - if (!this._escape_html) - return txt; - return txt.replace(/[&<>"']/gm, function (str) { - if (str === "&") - return "&"; - if (str === "<") - return "<"; - if (str === ">") - return ">"; - if (str === "\"") - return """; - if (str === "'") - return "'"; - }); - }; - AnsiUp.prototype.append_buffer = function (txt) { - var str = this._buffer + txt; - this._buffer = str; - }; - AnsiUp.prototype.get_next_packet = function () { - var pkt = { - kind: PacketKind.EOS, - text: '', - url: '' - }; - var len = this._buffer.length; - if (len == 0) - return pkt; - var pos = this._buffer.indexOf("\x1B"); - if (pos == -1) { - pkt.kind = PacketKind.Text; - pkt.text = this._buffer; - this._buffer = ''; - return pkt; - } - if (pos > 0) { - pkt.kind = PacketKind.Text; - pkt.text = this._buffer.slice(0, pos); - this._buffer = this._buffer.slice(pos); - return pkt; - } - if (pos == 0) { - if (len < 3) { - pkt.kind = PacketKind.Incomplete; - return pkt; - } - var next_char = this._buffer.charAt(1); - if ((next_char != '[') && (next_char != ']') && (next_char != '(')) { - pkt.kind = PacketKind.ESC; - pkt.text = this._buffer.slice(0, 1); - this._buffer = this._buffer.slice(1); - return pkt; - } - if (next_char == '[') { - if (!this._csi_regex) { - this._csi_regex = rgx(__makeTemplateObject(["\n ^ # beginning of line\n #\n # First attempt\n (?: # legal sequence\n \u001B[ # CSI\n ([<-?]?) # private-mode char\n ([d;]*) # any digits or semicolons\n ([ -/]? # an intermediate modifier\n [@-~]) # the command\n )\n | # alternate (second attempt)\n (?: # illegal sequence\n \u001B[ # CSI\n [ -~]* # anything legal\n ([\0-\u001F:]) # anything illegal\n )\n "], ["\n ^ # beginning of line\n #\n # First attempt\n (?: # legal sequence\n \\x1b\\[ # CSI\n ([\\x3c-\\x3f]?) # private-mode char\n ([\\d;]*) # any digits or semicolons\n ([\\x20-\\x2f]? # an intermediate modifier\n [\\x40-\\x7e]) # the command\n )\n | # alternate (second attempt)\n (?: # illegal sequence\n \\x1b\\[ # CSI\n [\\x20-\\x7e]* # anything legal\n ([\\x00-\\x1f:]) # anything illegal\n )\n "])); - } - var match = this._buffer.match(this._csi_regex); - if (match === null) { - pkt.kind = PacketKind.Incomplete; - return pkt; - } - if (match[4]) { - pkt.kind = PacketKind.ESC; - pkt.text = this._buffer.slice(0, 1); - this._buffer = this._buffer.slice(1); - return pkt; - } - if ((match[1] != '') || (match[3] != 'm')) - pkt.kind = PacketKind.Unknown; - else - pkt.kind = PacketKind.SGR; - pkt.text = match[2]; - var rpos = match[0].length; - this._buffer = this._buffer.slice(rpos); - return pkt; - } - else if (next_char == ']') { - if (len < 4) { - pkt.kind = PacketKind.Incomplete; - return pkt; - } - if ((this._buffer.charAt(2) != '8') - || (this._buffer.charAt(3) != ';')) { - pkt.kind = PacketKind.ESC; - pkt.text = this._buffer.slice(0, 1); - this._buffer = this._buffer.slice(1); - return pkt; - } - if (!this._osc_st) { - this._osc_st = rgxG(__makeTemplateObject(["\n (?: # legal sequence\n (\u001B\\) # ESC | # alternate\n (\u0007) # BEL (what xterm did)\n )\n | # alternate (second attempt)\n ( # illegal sequence\n [\0-\u0006] # anything illegal\n | # alternate\n [\b-\u001A] # anything illegal\n | # alternate\n [\u001C-\u001F] # anything illegal\n )\n "], ["\n (?: # legal sequence\n (\\x1b\\\\) # ESC \\\n | # alternate\n (\\x07) # BEL (what xterm did)\n )\n | # alternate (second attempt)\n ( # illegal sequence\n [\\x00-\\x06] # anything illegal\n | # alternate\n [\\x08-\\x1a] # anything illegal\n | # alternate\n [\\x1c-\\x1f] # anything illegal\n )\n "])); - } - this._osc_st.lastIndex = 0; - { - var match_1 = this._osc_st.exec(this._buffer); - if (match_1 === null) { - pkt.kind = PacketKind.Incomplete; - return pkt; - } - if (match_1[3]) { - pkt.kind = PacketKind.ESC; - pkt.text = this._buffer.slice(0, 1); - this._buffer = this._buffer.slice(1); - return pkt; - } - } - { - var match_2 = this._osc_st.exec(this._buffer); - if (match_2 === null) { - pkt.kind = PacketKind.Incomplete; - return pkt; - } - if (match_2[3]) { - pkt.kind = PacketKind.ESC; - pkt.text = this._buffer.slice(0, 1); - this._buffer = this._buffer.slice(1); - return pkt; - } - } - if (!this._osc_regex) { - this._osc_regex = rgx(__makeTemplateObject(["\n ^ # beginning of line\n #\n \u001B]8; # OSC Hyperlink\n [ -:<-~]* # params (excluding ;)\n ; # end of params\n ([!-~]{0,512}) # URL capture\n (?: # ST\n (?:\u001B\\) # ESC | # alternate\n (?:\u0007) # BEL (what xterm did)\n )\n ([ -~]+) # TEXT capture\n \u001B]8;; # OSC Hyperlink End\n (?: # ST\n (?:\u001B\\) # ESC | # alternate\n (?:\u0007) # BEL (what xterm did)\n )\n "], ["\n ^ # beginning of line\n #\n \\x1b\\]8; # OSC Hyperlink\n [\\x20-\\x3a\\x3c-\\x7e]* # params (excluding ;)\n ; # end of params\n ([\\x21-\\x7e]{0,512}) # URL capture\n (?: # ST\n (?:\\x1b\\\\) # ESC \\\n | # alternate\n (?:\\x07) # BEL (what xterm did)\n )\n ([\\x20-\\x7e]+) # TEXT capture\n \\x1b\\]8;; # OSC Hyperlink End\n (?: # ST\n (?:\\x1b\\\\) # ESC \\\n | # alternate\n (?:\\x07) # BEL (what xterm did)\n )\n "])); - } - var match = this._buffer.match(this._osc_regex); - if (match === null) { - pkt.kind = PacketKind.ESC; - pkt.text = this._buffer.slice(0, 1); - this._buffer = this._buffer.slice(1); - return pkt; - } - pkt.kind = PacketKind.OSCURL; - pkt.url = match[1]; - pkt.text = match[2]; - var rpos = match[0].length; - this._buffer = this._buffer.slice(rpos); - return pkt; - } - else if (next_char == '(') { - pkt.kind = PacketKind.Unknown; - this._buffer = this._buffer.slice(3); - return pkt; - } - } - }; - AnsiUp.prototype.ansi_to_html = function (txt) { - this.append_buffer(txt); - var blocks = []; - while (true) { - var packet = this.get_next_packet(); - if ((packet.kind == PacketKind.EOS) - || (packet.kind == PacketKind.Incomplete)) - break; - if ((packet.kind == PacketKind.ESC) - || (packet.kind == PacketKind.Unknown)) - continue; - if (packet.kind == PacketKind.Text) - blocks.push(this.transform_to_html(this.with_state(packet))); - else if (packet.kind == PacketKind.SGR) - this.process_ansi(packet); - else if (packet.kind == PacketKind.OSCURL) - blocks.push(this.process_hyperlink(packet)); - } - return blocks.join(""); - }; - AnsiUp.prototype.with_state = function (pkt) { - return { bold: this.bold, italic: this.italic, underline: this.underline, fg: this.fg, bg: this.bg, text: pkt.text }; - }; - AnsiUp.prototype.process_ansi = function (pkt) { - var sgr_cmds = pkt.text.split(';'); - while (sgr_cmds.length > 0) { - var sgr_cmd_str = sgr_cmds.shift(); - var num = parseInt(sgr_cmd_str, 10); - if (isNaN(num) || num === 0) { - this.fg = this.bg = null; - this.bold = false; - this.italic = false; - this.underline = false; - } - else if (num === 1) { - this.bold = true; - } - else if (num === 3) { - this.italic = true; - } - else if (num === 4) { - this.underline = true; - } - else if (num === 22) { - this.bold = false; - } - else if (num === 23) { - this.italic = false; - } - else if (num === 24) { - this.underline = false; - } - else if (num === 39) { - this.fg = null; - } - else if (num === 49) { - this.bg = null; - } - else if ((num >= 30) && (num < 38)) { - this.fg = this.ansi_colors[0][(num - 30)]; - } - else if ((num >= 40) && (num < 48)) { - this.bg = this.ansi_colors[0][(num - 40)]; - } - else if ((num >= 90) && (num < 98)) { - this.fg = this.ansi_colors[1][(num - 90)]; - } - else if ((num >= 100) && (num < 108)) { - this.bg = this.ansi_colors[1][(num - 100)]; - } - else if (num === 38 || num === 48) { - if (sgr_cmds.length > 0) { - var is_foreground = (num === 38); - var mode_cmd = sgr_cmds.shift(); - if (mode_cmd === '5' && sgr_cmds.length > 0) { - var palette_index = parseInt(sgr_cmds.shift(), 10); - if (palette_index >= 0 && palette_index <= 255) { - if (is_foreground) - this.fg = this.palette_256[palette_index]; - else - this.bg = this.palette_256[palette_index]; - } - } - if (mode_cmd === '2' && sgr_cmds.length > 2) { - var r = parseInt(sgr_cmds.shift(), 10); - var g = parseInt(sgr_cmds.shift(), 10); - var b = parseInt(sgr_cmds.shift(), 10); - if ((r >= 0 && r <= 255) && (g >= 0 && g <= 255) && (b >= 0 && b <= 255)) { - var c = { rgb: [r, g, b], class_name: 'truecolor' }; - if (is_foreground) - this.fg = c; - else - this.bg = c; - } - } - } - } - } - }; - AnsiUp.prototype.transform_to_html = function (fragment) { - var txt = fragment.text; - if (txt.length === 0) - return txt; - txt = this.escape_txt_for_html(txt); - if (!fragment.bold && !fragment.italic && !fragment.underline && fragment.fg === null && fragment.bg === null) - return txt; - var styles = []; - var classes = []; - var fg = fragment.fg; - var bg = fragment.bg; - if (fragment.bold) - styles.push('font-weight:bold'); - if (fragment.italic) - styles.push('font-style:italic'); - if (fragment.underline) - styles.push('text-decoration:underline'); - if (!this._use_classes) { - if (fg) - styles.push("color:rgb(" + fg.rgb.join(',') + ")"); - if (bg) - styles.push("background-color:rgb(" + bg.rgb + ")"); - } - else { - if (fg) { - if (fg.class_name !== 'truecolor') { - classes.push(fg.class_name + "-fg"); - } - else { - styles.push("color:rgb(" + fg.rgb.join(',') + ")"); - } - } - if (bg) { - if (bg.class_name !== 'truecolor') { - classes.push(bg.class_name + "-bg"); - } - else { - styles.push("background-color:rgb(" + bg.rgb.join(',') + ")"); - } - } - } - var class_string = ''; - var style_string = ''; - if (classes.length) - class_string = " class=\"" + classes.join(' ') + "\""; - if (styles.length) - style_string = " style=\"" + styles.join(';') + "\""; - return "" + txt + ""; - }; - ; - AnsiUp.prototype.process_hyperlink = function (pkt) { - var parts = pkt.url.split(':'); - if (parts.length < 1) - return ''; - if (!this._url_whitelist[parts[0]]) - return ''; - var result = "" + this.escape_txt_for_html(pkt.text) + ""; - return result; - }; - return AnsiUp; -}()); -function rgx(tmplObj) { - var subst = []; - for (var _i = 1; _i < arguments.length; _i++) { - subst[_i - 1] = arguments[_i]; - } - var regexText = tmplObj.raw[0]; - var wsrgx = /^\s+|\s+\n|\s*#[\s\S]*?\n|\n/gm; - var txt2 = regexText.replace(wsrgx, ''); - return new RegExp(txt2); -} -function rgxG(tmplObj) { - var subst = []; - for (var _i = 1; _i < arguments.length; _i++) { - subst[_i - 1] = arguments[_i]; - } - var regexText = tmplObj.raw[0]; - var wsrgx = /^\s+|\s+\n|\s*#[\s\S]*?\n|\n/gm; - var txt2 = regexText.replace(wsrgx, ''); - return new RegExp(txt2, 'g'); -} -//# sourceMappingURL=ansi_up.js.map \ No newline at end of file diff --git a/dist/ansi_up.js.map b/dist/ansi_up.js.map deleted file mode 100644 index b8a72c9..0000000 --- a/dist/ansi_up.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ansi_up.js","sourceRoot":"","sources":["../ansi_up.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d621ed4..4400ac1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "mocha": "^10.2.0", "npm": "^9.6.3", "should": "*", - "typescript": "^3.9.10" + "typescript": "^5.1.0" }, "engines": { "node": "*" @@ -634,9 +634,9 @@ } }, "node_modules/npm": { - "version": "9.6.3", - "resolved": "https://registry.npmjs.org/npm/-/npm-9.6.3.tgz", - "integrity": "sha512-KMAw6cJF5JGPJz/NtsU8H1sMqb34qPGnSMaSWrVO8bzxOdAXJNAtDXATvLl0lflrImIze1FZCqocM8wdIu3Sfg==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-9.8.0.tgz", + "integrity": "sha512-AXeiBAdfM5K2jvBwA7EGLKeYyt0VnhmJRnlq4k2+M0Ao9v7yKJBqF8xFPzQL8kAybzwlfpTPCZwM4uTIszb3xA==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -693,10 +693,10 @@ "proc-log", "qrcode-terminal", "read", - "read-package-json", - "read-package-json-fast", "semver", + "sigstore", "ssri", + "supports-color", "tar", "text-table", "tiny-relative-date", @@ -708,71 +708,71 @@ "dev": true, "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^6.2.6", - "@npmcli/config": "^6.1.5", - "@npmcli/map-workspaces": "^3.0.3", - "@npmcli/package-json": "^3.0.0", - "@npmcli/run-script": "^6.0.0", + "@npmcli/arborist": "^6.3.0", + "@npmcli/config": "^6.2.1", + "@npmcli/map-workspaces": "^3.0.4", + "@npmcli/package-json": "^4.0.0", + "@npmcli/run-script": "^6.0.2", "abbrev": "^2.0.0", "archy": "~1.0.0", - "cacache": "^17.0.5", - "chalk": "^4.1.2", + "cacache": "^17.1.3", + "chalk": "^5.2.0", "ci-info": "^3.8.0", "cli-columns": "^4.0.0", "cli-table3": "^0.6.3", "columnify": "^1.6.0", "fastest-levenshtein": "^1.0.16", - "fs-minipass": "^3.0.1", - "glob": "^9.3.1", + "fs-minipass": "^3.0.2", + "glob": "^10.2.7", "graceful-fs": "^4.2.11", "hosted-git-info": "^6.1.1", - "ini": "^3.0.1", + "ini": "^4.1.1", "init-package-json": "^5.0.0", "is-cidr": "^4.0.2", "json-parse-even-better-errors": "^3.0.0", "libnpmaccess": "^7.0.2", - "libnpmdiff": "^5.0.14", - "libnpmexec": "^5.0.14", - "libnpmfund": "^4.0.14", + "libnpmdiff": "^5.0.19", + "libnpmexec": "^6.0.2", + "libnpmfund": "^4.0.19", "libnpmhook": "^9.0.3", - "libnpmorg": "^5.0.3", - "libnpmpack": "^5.0.14", - "libnpmpublish": "^7.1.3", + "libnpmorg": "^5.0.4", + "libnpmpack": "^5.0.19", + "libnpmpublish": "^7.5.0", "libnpmsearch": "^6.0.2", "libnpmteam": "^5.0.3", "libnpmversion": "^4.0.2", - "make-fetch-happen": "^11.0.3", - "minimatch": "^7.4.3", - "minipass": "^4.2.5", + "make-fetch-happen": "^11.1.1", + "minimatch": "^9.0.0", + "minipass": "^5.0.0", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^9.3.1", - "nopt": "^7.1.0", - "npm-audit-report": "^4.0.0", - "npm-install-checks": "^6.1.0", + "node-gyp": "^9.4.0", + "nopt": "^7.2.0", + "npm-audit-report": "^5.0.0", + "npm-install-checks": "^6.1.1", "npm-package-arg": "^10.1.0", "npm-pick-manifest": "^8.0.1", "npm-profile": "^7.0.1", - "npm-registry-fetch": "^14.0.3", + "npm-registry-fetch": "^14.0.5", "npm-user-validate": "^2.0.0", "npmlog": "^7.0.1", "p-map": "^4.0.0", - "pacote": "^15.1.1", + "pacote": "^15.2.0", "parse-conflict-json": "^3.0.1", "proc-log": "^3.0.0", "qrcode-terminal": "^0.12.0", - "read": "^2.0.0", - "read-package-json": "^6.0.1", - "read-package-json-fast": "^3.0.2", - "semver": "^7.3.8", - "ssri": "^10.0.1", - "tar": "^6.1.13", + "read": "^2.1.0", + "semver": "^7.5.2", + "sigstore": "^1.7.0", + "ssri": "^10.0.4", + "supports-color": "^9.3.1", + "tar": "^6.1.15", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", "validate-npm-package-name": "^5.0.0", - "which": "^3.0.0", - "write-file-atomic": "^5.0.0" + "which": "^3.0.1", + "write-file-atomic": "^5.0.1" }, "bin": { "npm": "bin/npm-cli.js", @@ -784,6 +784,7 @@ }, "node_modules/npm/node_modules/@colors/colors": { "version": "1.5.0", + "dev": true, "inBundle": true, "license": "MIT", "optional": true, @@ -791,18 +792,82 @@ "node": ">=0.1.90" } }, - "node_modules/npm/node_modules/@gar/promisify": { - "version": "1.1.3", + "node_modules/npm/node_modules/@isaacs/cliui": { + "version": "8.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, "inBundle": true, "license": "MIT" }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/npm/node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "6.2.6", + "version": "6.3.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -813,7 +878,7 @@ "@npmcli/metavuln-calculator": "^5.0.0", "@npmcli/name-from-folder": "^2.0.0", "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^3.0.0", + "@npmcli/package-json": "^4.0.0", "@npmcli/query": "^3.0.0", "@npmcli/run-script": "^6.0.0", "bin-links": "^4.0.1", @@ -822,7 +887,7 @@ "hosted-git-info": "^6.1.1", "json-parse-even-better-errors": "^3.0.0", "json-stringify-nice": "^1.1.4", - "minimatch": "^7.4.2", + "minimatch": "^9.0.0", "nopt": "^7.0.0", "npm-install-checks": "^6.0.0", "npm-package-arg": "^10.1.0", @@ -833,12 +898,12 @@ "parse-conflict-json": "^3.0.0", "proc-log": "^3.0.0", "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^1.0.1", + "promise-call-limit": "^1.0.2", "read-package-json-fast": "^3.0.2", "semver": "^7.3.7", "ssri": "^10.0.1", "treeverse": "^3.0.0", - "walk-up-path": "^1.0.0" + "walk-up-path": "^3.0.1" }, "bin": { "arborist": "bin/index.js" @@ -848,17 +913,19 @@ } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "6.1.5", + "version": "6.2.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/map-workspaces": "^3.0.2", - "ini": "^3.0.0", + "ci-info": "^3.8.0", + "ini": "^4.1.0", "nopt": "^7.0.0", "proc-log": "^3.0.0", "read-package-json-fast": "^3.0.2", "semver": "^7.3.5", - "walk-up-path": "^1.0.0" + "walk-up-path": "^3.0.1" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -866,6 +933,7 @@ }, "node_modules/npm/node_modules/@npmcli/disparity-colors": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -877,6 +945,7 @@ }, "node_modules/npm/node_modules/@npmcli/fs": { "version": "3.1.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -887,7 +956,8 @@ } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "4.0.4", + "version": "4.1.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -906,6 +976,7 @@ }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { "version": "2.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -920,13 +991,14 @@ } }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { - "version": "3.0.3", + "version": "3.0.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/name-from-folder": "^2.0.0", - "glob": "^9.3.1", - "minimatch": "^7.4.2", + "glob": "^10.2.2", + "minimatch": "^9.0.0", "read-package-json-fast": "^3.0.0" }, "engines": { @@ -934,7 +1006,8 @@ } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "5.0.0", + "version": "5.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -947,20 +1020,9 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/@npmcli/move-file": { - "version": "2.0.1", - "inBundle": true, - "license": "MIT", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/npm/node_modules/@npmcli/name-from-folder": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -969,6 +1031,7 @@ }, "node_modules/npm/node_modules/@npmcli/node-gyp": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -976,11 +1039,17 @@ } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "3.0.0", + "version": "4.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "json-parse-even-better-errors": "^3.0.0" + "@npmcli/git": "^4.1.0", + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.1", + "proc-log": "^3.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -988,6 +1057,7 @@ }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { "version": "6.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -999,6 +1069,7 @@ }, "node_modules/npm/node_modules/@npmcli/query": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -1009,7 +1080,8 @@ } }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "6.0.0", + "version": "6.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -1023,28 +1095,64 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/npm/node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { "version": "0.1.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@sigstore/tuf": { + "version": "1.0.2", + "dev": true, "inBundle": true, "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.1.0", + "tuf-js": "^1.1.7" + }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@tootallnate/once": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">= 10" } }, + "node_modules/npm/node_modules/@tufjs/canonical-json": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/npm/node_modules/@tufjs/models": { - "version": "1.0.1", + "version": "1.0.4", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "minimatch": "^7.4.2" + "@tufjs/canonical-json": "1.0.0", + "minimatch": "^9.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -1052,6 +1160,7 @@ }, "node_modules/npm/node_modules/abbrev": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -1060,6 +1169,7 @@ }, "node_modules/npm/node_modules/abort-controller": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1071,6 +1181,7 @@ }, "node_modules/npm/node_modules/agent-base": { "version": "6.0.2", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1082,6 +1193,7 @@ }, "node_modules/npm/node_modules/agentkeepalive": { "version": "4.3.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1095,6 +1207,7 @@ }, "node_modules/npm/node_modules/aggregate-error": { "version": "3.1.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1107,6 +1220,7 @@ }, "node_modules/npm/node_modules/ansi-regex": { "version": "5.0.1", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -1115,6 +1229,7 @@ }, "node_modules/npm/node_modules/ansi-styles": { "version": "4.3.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1129,16 +1244,19 @@ }, "node_modules/npm/node_modules/aproba": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/archy": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/are-we-there-yet": { "version": "4.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -1151,11 +1269,13 @@ }, "node_modules/npm/node_modules/balanced-match": { "version": "1.0.2", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/base64-js": { "version": "1.5.1", + "dev": true, "funding": [ { "type": "github", @@ -1175,6 +1295,7 @@ }, "node_modules/npm/node_modules/bin-links": { "version": "4.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -1189,6 +1310,7 @@ }, "node_modules/npm/node_modules/binary-extensions": { "version": "2.2.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -1197,6 +1319,7 @@ }, "node_modules/npm/node_modules/brace-expansion": { "version": "2.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1205,6 +1328,7 @@ }, "node_modules/npm/node_modules/buffer": { "version": "6.0.3", + "dev": true, "funding": [ { "type": "github", @@ -1228,6 +1352,7 @@ }, "node_modules/npm/node_modules/builtins": { "version": "5.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1235,20 +1360,20 @@ } }, "node_modules/npm/node_modules/cacache": { - "version": "17.0.5", + "version": "17.1.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/fs": "^3.1.0", "fs-minipass": "^3.0.0", - "glob": "^9.3.1", + "glob": "^10.2.2", "lru-cache": "^7.7.1", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", "ssri": "^10.0.0", "tar": "^6.1.11", "unique-filename": "^3.0.0" @@ -1258,15 +1383,12 @@ } }, "node_modules/npm/node_modules/chalk": { - "version": "4.1.2", + "version": "5.2.0", + "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" @@ -1274,6 +1396,7 @@ }, "node_modules/npm/node_modules/chownr": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -1282,6 +1405,7 @@ }, "node_modules/npm/node_modules/ci-info": { "version": "3.8.0", + "dev": true, "funding": [ { "type": "github", @@ -1296,6 +1420,7 @@ }, "node_modules/npm/node_modules/cidr-regex": { "version": "3.1.1", + "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -1307,6 +1432,7 @@ }, "node_modules/npm/node_modules/clean-stack": { "version": "2.2.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -1315,6 +1441,7 @@ }, "node_modules/npm/node_modules/cli-columns": { "version": "4.0.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1327,6 +1454,7 @@ }, "node_modules/npm/node_modules/cli-table3": { "version": "0.6.3", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1341,6 +1469,7 @@ }, "node_modules/npm/node_modules/clone": { "version": "1.0.4", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -1349,6 +1478,7 @@ }, "node_modules/npm/node_modules/cmd-shim": { "version": "6.0.1", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -1357,6 +1487,7 @@ }, "node_modules/npm/node_modules/color-convert": { "version": "2.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1368,11 +1499,13 @@ }, "node_modules/npm/node_modules/color-name": { "version": "1.1.4", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/color-support": { "version": "1.1.3", + "dev": true, "inBundle": true, "license": "ISC", "bin": { @@ -1381,6 +1514,7 @@ }, "node_modules/npm/node_modules/columnify": { "version": "1.6.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1393,21 +1527,54 @@ }, "node_modules/npm/node_modules/common-ancestor-path": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/concat-map": { "version": "0.0.1", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/console-control-strings": { "version": "1.1.0", + "dev": true, "inBundle": true, "license": "ISC" }, + "node_modules/npm/node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/npm/node_modules/cssesc": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "MIT", "bin": { @@ -1419,6 +1586,7 @@ }, "node_modules/npm/node_modules/debug": { "version": "4.3.4", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1435,11 +1603,13 @@ }, "node_modules/npm/node_modules/debug/node_modules/ms": { "version": "2.1.2", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/defaults": { "version": "1.0.4", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1451,11 +1621,13 @@ }, "node_modules/npm/node_modules/delegates": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/depd": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -1464,19 +1636,28 @@ }, "node_modules/npm/node_modules/diff": { "version": "5.1.0", + "dev": true, "inBundle": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, + "node_modules/npm/node_modules/eastasianwidth": { + "version": "0.2.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, "node_modules/npm/node_modules/emoji-regex": { "version": "8.0.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/encoding": { "version": "0.1.13", + "dev": true, "inBundle": true, "license": "MIT", "optional": true, @@ -1486,6 +1667,7 @@ }, "node_modules/npm/node_modules/env-paths": { "version": "2.2.1", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -1494,11 +1676,13 @@ }, "node_modules/npm/node_modules/err-code": { "version": "2.0.3", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/event-target-shim": { "version": "5.0.1", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -1507,26 +1691,51 @@ }, "node_modules/npm/node_modules/events": { "version": "3.3.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=0.8.x" } }, + "node_modules/npm/node_modules/exponential-backoff": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "Apache-2.0" + }, "node_modules/npm/node_modules/fastest-levenshtein": { "version": "1.0.16", + "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">= 4.9.1" } }, + "node_modules/npm/node_modules/foreground-child": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/npm/node_modules/fs-minipass": { - "version": "3.0.1", + "version": "3.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^4.0.0" + "minipass": "^5.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -1534,16 +1743,19 @@ }, "node_modules/npm/node_modules/fs.realpath": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/function-bind": { "version": "1.1.1", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/gauge": { - "version": "5.0.0", + "version": "5.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -1551,7 +1763,7 @@ "color-support": "^1.1.3", "console-control-strings": "^1.1.0", "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", + "signal-exit": "^4.0.1", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "wide-align": "^1.1.5" @@ -1561,14 +1773,19 @@ } }, "node_modules/npm/node_modules/glob": { - "version": "9.3.1", + "version": "10.2.7", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^7.4.1", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.7.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -1579,11 +1796,13 @@ }, "node_modules/npm/node_modules/graceful-fs": { "version": "4.2.11", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/has": { "version": "1.0.3", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1593,21 +1812,15 @@ "node": ">= 0.4.0" } }, - "node_modules/npm/node_modules/has-flag": { - "version": "4.0.0", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/npm/node_modules/has-unicode": { "version": "2.0.1", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { "version": "6.1.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -1619,11 +1832,13 @@ }, "node_modules/npm/node_modules/http-cache-semantics": { "version": "4.1.1", + "dev": true, "inBundle": true, "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/http-proxy-agent": { "version": "5.0.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1637,6 +1852,7 @@ }, "node_modules/npm/node_modules/https-proxy-agent": { "version": "5.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1649,6 +1865,7 @@ }, "node_modules/npm/node_modules/humanize-ms": { "version": "1.2.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1657,6 +1874,7 @@ }, "node_modules/npm/node_modules/iconv-lite": { "version": "0.6.3", + "dev": true, "inBundle": true, "license": "MIT", "optional": true, @@ -1669,6 +1887,7 @@ }, "node_modules/npm/node_modules/ieee754": { "version": "1.2.1", + "dev": true, "funding": [ { "type": "github", @@ -1687,11 +1906,12 @@ "license": "BSD-3-Clause" }, "node_modules/npm/node_modules/ignore-walk": { - "version": "6.0.2", + "version": "6.0.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minimatch": "^7.4.2" + "minimatch": "^9.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -1699,6 +1919,7 @@ }, "node_modules/npm/node_modules/imurmurhash": { "version": "0.1.4", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -1707,19 +1928,16 @@ }, "node_modules/npm/node_modules/indent-string": { "version": "4.0.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/npm/node_modules/infer-owner": { - "version": "1.0.4", - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/inflight": { "version": "1.0.6", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -1729,19 +1947,22 @@ }, "node_modules/npm/node_modules/inherits": { "version": "2.0.4", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/ini": { - "version": "3.0.1", + "version": "4.1.1", + "dev": true, "inBundle": true, "license": "ISC", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/init-package-json": { "version": "5.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -1759,11 +1980,13 @@ }, "node_modules/npm/node_modules/ip": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/ip-regex": { "version": "4.3.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -1772,6 +1995,7 @@ }, "node_modules/npm/node_modules/is-cidr": { "version": "4.0.2", + "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -1782,7 +2006,8 @@ } }, "node_modules/npm/node_modules/is-core-module": { - "version": "2.11.0", + "version": "2.12.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -1794,6 +2019,7 @@ }, "node_modules/npm/node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -1802,16 +2028,37 @@ }, "node_modules/npm/node_modules/is-lambda": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/isexe": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC" }, + "node_modules/npm/node_modules/jackspeak": { + "version": "2.2.1", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/npm/node_modules/json-parse-even-better-errors": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -1820,6 +2067,7 @@ }, "node_modules/npm/node_modules/json-stringify-nice": { "version": "1.1.4", + "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -1828,6 +2076,7 @@ }, "node_modules/npm/node_modules/jsonparse": { "version": "1.3.1", + "dev": true, "engines": [ "node >= 0.2.0" ], @@ -1835,17 +2084,20 @@ "license": "MIT" }, "node_modules/npm/node_modules/just-diff": { - "version": "6.0.0", + "version": "6.0.2", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/just-diff-apply": { "version": "5.5.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { "version": "7.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -1857,16 +2109,17 @@ } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "5.0.14", + "version": "5.0.19", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^6.2.6", + "@npmcli/arborist": "^6.3.0", "@npmcli/disparity-colors": "^3.0.0", "@npmcli/installed-package-contents": "^2.0.2", "binary-extensions": "^2.2.0", "diff": "^5.1.0", - "minimatch": "^7.4.2", + "minimatch": "^9.0.0", "npm-package-arg": "^10.1.0", "pacote": "^15.0.8", "tar": "^6.1.13" @@ -1876,13 +2129,13 @@ } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "5.0.14", + "version": "6.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^6.2.6", + "@npmcli/arborist": "^6.3.0", "@npmcli/run-script": "^6.0.0", - "chalk": "^4.1.0", "ci-info": "^3.7.1", "npm-package-arg": "^10.1.0", "npmlog": "^7.0.1", @@ -1891,18 +2144,19 @@ "read": "^2.0.0", "read-package-json-fast": "^3.0.2", "semver": "^7.3.7", - "walk-up-path": "^1.0.0" + "walk-up-path": "^3.0.1" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "4.0.14", + "version": "4.0.19", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^6.2.6" + "@npmcli/arborist": "^6.3.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -1910,6 +2164,7 @@ }, "node_modules/npm/node_modules/libnpmhook": { "version": "9.0.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -1921,7 +2176,8 @@ } }, "node_modules/npm/node_modules/libnpmorg": { - "version": "5.0.3", + "version": "5.0.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -1933,11 +2189,12 @@ } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "5.0.14", + "version": "5.0.19", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^6.2.6", + "@npmcli/arborist": "^6.3.0", "@npmcli/run-script": "^6.0.0", "npm-package-arg": "^10.1.0", "pacote": "^15.0.8" @@ -1947,7 +2204,8 @@ } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "7.1.3", + "version": "7.5.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -1957,7 +2215,7 @@ "npm-registry-fetch": "^14.0.3", "proc-log": "^3.0.0", "semver": "^7.3.7", - "sigstore": "^1.0.0", + "sigstore": "^1.4.0", "ssri": "^10.0.1" }, "engines": { @@ -1966,6 +2224,7 @@ }, "node_modules/npm/node_modules/libnpmsearch": { "version": "6.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -1977,6 +2236,7 @@ }, "node_modules/npm/node_modules/libnpmteam": { "version": "5.0.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -1989,6 +2249,7 @@ }, "node_modules/npm/node_modules/libnpmversion": { "version": "4.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2004,6 +2265,7 @@ }, "node_modules/npm/node_modules/lru-cache": { "version": "7.18.3", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -2011,7 +2273,8 @@ } }, "node_modules/npm/node_modules/make-fetch-happen": { - "version": "11.0.3", + "version": "11.1.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2022,7 +2285,7 @@ "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", @@ -2036,21 +2299,23 @@ } }, "node_modules/npm/node_modules/minimatch": { - "version": "7.4.3", + "version": "9.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/minipass": { - "version": "4.2.5", + "version": "5.0.0", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -2059,6 +2324,7 @@ }, "node_modules/npm/node_modules/minipass-collect": { "version": "1.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2070,6 +2336,7 @@ }, "node_modules/npm/node_modules/minipass-collect/node_modules/minipass": { "version": "3.3.6", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2080,11 +2347,12 @@ } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "3.0.1", + "version": "3.0.3", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" }, @@ -2097,6 +2365,7 @@ }, "node_modules/npm/node_modules/minipass-flush": { "version": "1.0.5", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2108,6 +2377,7 @@ }, "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { "version": "3.3.6", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2119,6 +2389,7 @@ }, "node_modules/npm/node_modules/minipass-json-stream": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -2128,6 +2399,7 @@ }, "node_modules/npm/node_modules/minipass-json-stream/node_modules/minipass": { "version": "3.3.6", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2139,6 +2411,7 @@ }, "node_modules/npm/node_modules/minipass-pipeline": { "version": "1.2.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2150,6 +2423,7 @@ }, "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { "version": "3.3.6", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2161,6 +2435,7 @@ }, "node_modules/npm/node_modules/minipass-sized": { "version": "1.0.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2172,6 +2447,7 @@ }, "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { "version": "3.3.6", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2183,6 +2459,7 @@ }, "node_modules/npm/node_modules/minizlib": { "version": "2.1.2", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -2195,6 +2472,7 @@ }, "node_modules/npm/node_modules/minizlib/node_modules/minipass": { "version": "3.3.6", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2206,6 +2484,7 @@ }, "node_modules/npm/node_modules/mkdirp": { "version": "1.0.4", + "dev": true, "inBundle": true, "license": "MIT", "bin": { @@ -2217,11 +2496,13 @@ }, "node_modules/npm/node_modules/ms": { "version": "2.1.3", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/mute-stream": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -2230,6 +2511,7 @@ }, "node_modules/npm/node_modules/negotiator": { "version": "0.6.3", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -2237,14 +2519,16 @@ } }, "node_modules/npm/node_modules/node-gyp": { - "version": "9.3.1", + "version": "9.4.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", "glob": "^7.1.4", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", + "make-fetch-happen": "^11.0.3", "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", @@ -2259,25 +2543,15 @@ "node": "^12.13 || ^14.13 || >=16" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/fs": { - "version": "2.1.2", - "inBundle": true, - "license": "ISC", - "dependencies": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/npm/node_modules/node-gyp/node_modules/abbrev": { "version": "1.1.1", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/node-gyp/node_modules/are-we-there-yet": { "version": "3.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2290,6 +2564,7 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": { "version": "1.1.11", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -2297,84 +2572,9 @@ "concat-map": "0.0.1" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/cacache": { - "version": "16.1.3", - "inBundle": true, - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/brace-expansion": { - "version": "2.0.1", - "inBundle": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/glob": { - "version": "8.1.0", - "inBundle": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minimatch": { - "version": "5.1.6", - "inBundle": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/fs-minipass": { - "version": "2.1.0", - "inBundle": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/npm/node_modules/node-gyp/node_modules/gauge": { "version": "4.0.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2393,6 +2593,7 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/glob": { "version": "7.2.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2410,34 +2611,9 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": { - "version": "10.2.1", - "inBundle": true, - "license": "ISC", - "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": { "version": "3.1.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2447,35 +2623,9 @@ "node": "*" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/minipass": { - "version": "3.3.6", - "inBundle": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/minipass-fetch": { - "version": "2.1.2", - "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, "node_modules/npm/node_modules/node-gyp/node_modules/nopt": { "version": "6.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2490,6 +2640,7 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/npmlog": { "version": "6.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2504,6 +2655,7 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/readable-stream": { "version": "3.6.2", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -2515,41 +2667,15 @@ "node": ">= 6" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/ssri": { - "version": "9.0.1", - "inBundle": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/unique-filename": { - "version": "2.0.1", - "inBundle": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/unique-slug": { - "version": "3.0.0", + "node_modules/npm/node_modules/node-gyp/node_modules/signal-exit": { + "version": "3.0.7", + "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } + "license": "ISC" }, "node_modules/npm/node_modules/node-gyp/node_modules/which": { "version": "2.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2563,7 +2689,8 @@ } }, "node_modules/npm/node_modules/nopt": { - "version": "7.1.0", + "version": "7.2.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2578,6 +2705,7 @@ }, "node_modules/npm/node_modules/normalize-package-data": { "version": "5.0.0", + "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -2591,18 +2719,17 @@ } }, "node_modules/npm/node_modules/npm-audit-report": { - "version": "4.0.0", + "version": "5.0.0", + "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "chalk": "^4.0.0" - }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/npm-bundled": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2613,7 +2740,8 @@ } }, "node_modules/npm/node_modules/npm-install-checks": { - "version": "6.1.0", + "version": "6.1.1", + "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -2624,7 +2752,8 @@ } }, "node_modules/npm/node_modules/npm-normalize-package-bin": { - "version": "3.0.0", + "version": "3.0.1", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -2633,6 +2762,7 @@ }, "node_modules/npm/node_modules/npm-package-arg": { "version": "10.1.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2647,6 +2777,7 @@ }, "node_modules/npm/node_modules/npm-packlist": { "version": "7.0.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2658,6 +2789,7 @@ }, "node_modules/npm/node_modules/npm-pick-manifest": { "version": "8.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2672,6 +2804,7 @@ }, "node_modules/npm/node_modules/npm-profile": { "version": "7.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2683,12 +2816,13 @@ } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "14.0.3", + "version": "14.0.5", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "make-fetch-happen": "^11.0.0", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minipass-fetch": "^3.0.0", "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", @@ -2701,6 +2835,7 @@ }, "node_modules/npm/node_modules/npm-user-validate": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "BSD-2-Clause", "engines": { @@ -2709,6 +2844,7 @@ }, "node_modules/npm/node_modules/npmlog": { "version": "7.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2723,6 +2859,7 @@ }, "node_modules/npm/node_modules/once": { "version": "1.4.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2731,6 +2868,7 @@ }, "node_modules/npm/node_modules/p-map": { "version": "4.0.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -2744,7 +2882,8 @@ } }, "node_modules/npm/node_modules/pacote": { - "version": "15.1.1", + "version": "15.2.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2754,7 +2893,7 @@ "@npmcli/run-script": "^6.0.0", "cacache": "^17.0.0", "fs-minipass": "^3.0.0", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "npm-package-arg": "^10.0.0", "npm-packlist": "^7.0.0", "npm-pick-manifest": "^8.0.0", @@ -2763,7 +2902,7 @@ "promise-retry": "^2.0.1", "read-package-json": "^6.0.0", "read-package-json-fast": "^3.0.0", - "sigstore": "^1.0.0", + "sigstore": "^1.3.0", "ssri": "^10.0.0", "tar": "^6.1.11" }, @@ -2776,6 +2915,7 @@ }, "node_modules/npm/node_modules/parse-conflict-json": { "version": "3.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2789,29 +2929,50 @@ }, "node_modules/npm/node_modules/path-is-absolute": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/npm/node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/npm/node_modules/path-scurry": { - "version": "1.6.1", + "version": "1.9.2", + "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^7.14.1", - "minipass": "^4.0.2" + "lru-cache": "^9.1.1", + "minipass": "^5.0.0 || ^6.0.2" }, "engines": { - "node": ">=14" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/npm/node_modules/path-scurry/node_modules/lru-cache": { + "version": "9.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "14 || >=16.14" + } + }, "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "6.0.11", + "version": "6.0.13", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -2824,6 +2985,7 @@ }, "node_modules/npm/node_modules/proc-log": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -2832,6 +2994,7 @@ }, "node_modules/npm/node_modules/process": { "version": "0.11.10", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -2840,6 +3003,7 @@ }, "node_modules/npm/node_modules/promise-all-reject-late": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -2847,7 +3011,8 @@ } }, "node_modules/npm/node_modules/promise-call-limit": { - "version": "1.0.1", + "version": "1.0.2", + "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -2856,11 +3021,13 @@ }, "node_modules/npm/node_modules/promise-inflight": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/promise-retry": { "version": "2.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -2873,6 +3040,7 @@ }, "node_modules/npm/node_modules/promzard": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2884,13 +3052,15 @@ }, "node_modules/npm/node_modules/qrcode-terminal": { "version": "0.12.0", + "dev": true, "inBundle": true, "bin": { "qrcode-terminal": "bin/qrcode-terminal.js" } }, "node_modules/npm/node_modules/read": { - "version": "2.0.0", + "version": "2.1.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2902,6 +3072,7 @@ }, "node_modules/npm/node_modules/read-cmd-shim": { "version": "4.0.0", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -2909,11 +3080,12 @@ } }, "node_modules/npm/node_modules/read-package-json": { - "version": "6.0.1", + "version": "6.0.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "glob": "^9.3.0", + "glob": "^10.2.2", "json-parse-even-better-errors": "^3.0.0", "normalize-package-data": "^5.0.0", "npm-normalize-package-bin": "^3.0.0" @@ -2924,6 +3096,7 @@ }, "node_modules/npm/node_modules/read-package-json-fast": { "version": "3.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2935,7 +3108,8 @@ } }, "node_modules/npm/node_modules/readable-stream": { - "version": "4.3.0", + "version": "4.4.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -2950,6 +3124,7 @@ }, "node_modules/npm/node_modules/retry": { "version": "0.12.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -2958,6 +3133,7 @@ }, "node_modules/npm/node_modules/rimraf": { "version": "3.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2972,6 +3148,7 @@ }, "node_modules/npm/node_modules/rimraf/node_modules/brace-expansion": { "version": "1.1.11", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -2981,6 +3158,7 @@ }, "node_modules/npm/node_modules/rimraf/node_modules/glob": { "version": "7.2.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3000,6 +3178,7 @@ }, "node_modules/npm/node_modules/rimraf/node_modules/minimatch": { "version": "3.1.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3010,18 +3189,35 @@ } }, "node_modules/npm/node_modules/safe-buffer": { - "version": "5.1.2", + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/safer-buffer": { "version": "2.1.2", + "dev": true, "inBundle": true, "license": "MIT", "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.3.8", + "version": "7.5.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3036,6 +3232,7 @@ }, "node_modules/npm/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3047,22 +3244,52 @@ }, "node_modules/npm/node_modules/set-blocking": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC" }, + "node_modules/npm/node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/npm/node_modules/signal-exit": { - "version": "3.0.7", + "version": "4.0.2", + "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/npm/node_modules/sigstore": { - "version": "1.2.0", + "version": "1.7.0", + "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "@sigstore/protobuf-specs": "^0.1.0", - "make-fetch-happen": "^11.0.1", - "tuf-js": "^1.0.0" + "@sigstore/tuf": "^1.0.1", + "make-fetch-happen": "^11.0.1" }, "bin": { "sigstore": "bin/sigstore.js" @@ -3073,6 +3300,7 @@ }, "node_modules/npm/node_modules/smart-buffer": { "version": "4.2.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -3082,6 +3310,7 @@ }, "node_modules/npm/node_modules/socks": { "version": "2.7.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3095,6 +3324,7 @@ }, "node_modules/npm/node_modules/socks-proxy-agent": { "version": "7.0.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3108,6 +3338,7 @@ }, "node_modules/npm/node_modules/spdx-correct": { "version": "3.2.0", + "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -3117,11 +3348,13 @@ }, "node_modules/npm/node_modules/spdx-exceptions": { "version": "2.3.0", + "dev": true, "inBundle": true, "license": "CC-BY-3.0" }, "node_modules/npm/node_modules/spdx-expression-parse": { "version": "3.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3131,30 +3364,49 @@ }, "node_modules/npm/node_modules/spdx-license-ids": { "version": "3.0.13", + "dev": true, "inBundle": true, "license": "CC0-1.0" }, "node_modules/npm/node_modules/ssri": { - "version": "10.0.1", + "version": "10.0.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^4.0.0" + "minipass": "^5.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/string_decoder": { - "version": "1.1.1", + "version": "1.3.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "node_modules/npm/node_modules/string-width": { "version": "4.2.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3168,6 +3420,7 @@ }, "node_modules/npm/node_modules/strip-ansi": { "version": "6.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3177,25 +3430,40 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/npm/node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, + "node_modules/npm/node_modules/supports-color": { + "version": "9.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/npm/node_modules/tar": { - "version": "6.1.13", + "version": "6.1.15", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" @@ -3206,6 +3474,7 @@ }, "node_modules/npm/node_modules/tar/node_modules/fs-minipass": { "version": "2.1.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3217,6 +3486,7 @@ }, "node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { "version": "3.3.6", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3228,16 +3498,19 @@ }, "node_modules/npm/node_modules/text-table": { "version": "0.2.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/tiny-relative-date": { "version": "1.3.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/treeverse": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -3245,12 +3518,14 @@ } }, "node_modules/npm/node_modules/tuf-js": { - "version": "1.1.2", + "version": "1.1.7", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "@tufjs/models": "1.0.1", - "make-fetch-happen": "^11.0.1" + "@tufjs/models": "1.0.4", + "debug": "^4.3.4", + "make-fetch-happen": "^11.1.1" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -3258,6 +3533,7 @@ }, "node_modules/npm/node_modules/unique-filename": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3269,6 +3545,7 @@ }, "node_modules/npm/node_modules/unique-slug": { "version": "4.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3280,11 +3557,13 @@ }, "node_modules/npm/node_modules/util-deprecate": { "version": "1.0.2", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/validate-npm-package-license": { "version": "3.0.4", + "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -3294,6 +3573,7 @@ }, "node_modules/npm/node_modules/validate-npm-package-name": { "version": "5.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3304,12 +3584,14 @@ } }, "node_modules/npm/node_modules/walk-up-path": { - "version": "1.0.0", + "version": "3.0.1", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/wcwidth": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3317,7 +3599,8 @@ } }, "node_modules/npm/node_modules/which": { - "version": "3.0.0", + "version": "3.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3332,24 +3615,124 @@ }, "node_modules/npm/node_modules/wide-align": { "version": "1.1.5", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "node_modules/npm/node_modules/wrap-ansi": { + "version": "8.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/npm/node_modules/wrappy": { "version": "1.0.2", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/write-file-atomic": { - "version": "5.0.0", + "version": "5.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "signal-exit": "^4.0.1" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -3357,6 +3740,7 @@ }, "node_modules/npm/node_modules/yallist": { "version": "4.0.0", + "dev": true, "inBundle": true, "license": "ISC" }, @@ -3608,16 +3992,16 @@ } }, "node_modules/typescript": { - "version": "3.9.10", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", - "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/workerpool": { diff --git a/package.json b/package.json index ad249f1..a1f2be0 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "author": "drudru ", "license": "MIT", "main": "./ansi_up.js", + "type": "module", "types": "./dist/ansi_up.d.ts", "repository": { "type": "git", @@ -28,6 +29,6 @@ "npm": "^9.6.3", "mocha": "^10.2.0", "should": "*", - "typescript": "^3.9.10" + "typescript": "^5.1.0" } } diff --git a/scripts/fix-typings.js b/scripts/fix-typings.js deleted file mode 100644 index b5cc9e6..0000000 --- a/scripts/fix-typings.js +++ /dev/null @@ -1,15 +0,0 @@ - -var fs = require('fs'); -var path = require('path'); - -var HERE = __dirname; -var typings = path.resolve(HERE, '..', 'dist', 'ansi_up.d.ts'); - -var content = fs.readFileSync(typings, 'utf-8'); - -var new_content = content.replace(/^interface /mg, 'export interface '); -new_content = new_content.replace(/^declare class AnsiUp/mg, 'export default class AnsiUp'); - -if (new_content !== content) { - fs.writeFileSync(typings, new_content, 'utf-8'); -} diff --git a/test/ansi_up-test.js b/test/ansi_up-test.js index 6ec66c2..bbe0002 100644 --- a/test/ansi_up-test.js +++ b/test/ansi_up-test.js @@ -1,7 +1,5 @@ -var AU = require('../ansi_up'); -var AnsiUp = AU.default; -var should = require('should'); +import { AnsiUp } from '../ansi_up.js'; describe('ansi_up', function () { @@ -176,9 +174,9 @@ describe('ansi_up', function () { var bg = 41; // red bg var lines = [ "should have no color", - "\033[" + attr + ";" + fg + "m " + "should be bold with green foreground" + "\033[0m", - "\033[" + attr + ";" + bg + ";" + fg + "m " + "should have bold with red background with green foreground" + "\033[0m", - "\033[" + bg + ";" + fg + "m " + "should have red background with green foreground" + "\033[0m" + "\x1B[" + attr + ";" + fg + "m " + "should be bold with green foreground" + "\x1B[0m", + "\x1B[" + attr + ";" + bg + ";" + fg + "m " + "should have bold with red background with green foreground" + "\x1B[0m", + "\x1B[" + bg + ";" + fg + "m " + "should have red background with green foreground" + "\x1B[0m" ]; var stats = {}; @@ -229,7 +227,7 @@ describe('ansi_up', function () { it('should transform a foreground to html', function () { var attr = 0; var fg = 32; - var start = "\033[" + fg + "m " + fg + " \033[0m"; + var start = "\x1B[" + fg + "m " + fg + " \x1B[0m"; var expected = " " + fg + " "; @@ -242,7 +240,7 @@ describe('ansi_up', function () { it('should transform a attr;foreground to html', function () { var attr = 0; var fg = 32; - var start = "\033[" + attr + ";" + fg + "m " + fg + " \033[0m"; + var start = "\x1B[" + attr + ";" + fg + "m " + fg + " \x1B[0m"; var expected = " " + fg + " "; @@ -254,7 +252,7 @@ describe('ansi_up', function () { it('should transform an empty code to a normal/reset html', function () { var attr = 0; var fg = 32; - var start = "\033[" + attr + ";" + fg + "m " + fg + " \033[m x"; + var start = "\x1B[" + attr + ";" + fg + "m " + fg + " \x1B[m x"; var expected = " " + fg + " x"; @@ -266,7 +264,7 @@ describe('ansi_up', function () { it('should transform a bold attr;foreground to html', function () { var attr = 1; var fg = 32; - var start = "\033[" + attr + ";" + fg + "m " + attr + ";" + fg + " \033[0m"; + var start = "\x1B[" + attr + ";" + fg + "m " + attr + ";" + fg + " \x1B[0m"; var expected = " " + attr + ";" + fg + " "; @@ -278,7 +276,7 @@ describe('ansi_up', function () { it('should transform an italic attr;foreground to html', function () { var attr = 3; var fg = 32; - var start = "\033[" + attr + ";" + fg + "m " + attr + ";" + fg + " \033[0m"; + var start = "\x1B[" + attr + ";" + fg + "m " + attr + ";" + fg + " \x1B[0m"; var expected = " " + attr + ";" + fg + " "; @@ -290,7 +288,7 @@ describe('ansi_up', function () { it('should transform an underline attr;foreground to html', function () { var attr = 4; var fg = 32; - var start = "\033[" + attr + ";" + fg + "m " + attr + ";" + fg + " \033[0m"; + var start = "\x1B[" + attr + ";" + fg + "m " + attr + ";" + fg + " \x1B[0m"; var expected = " " + attr + ";" + fg + " "; @@ -301,7 +299,7 @@ describe('ansi_up', function () { it('should transform a bright-foreground to html', function () { var fg = 92; - var start = "\033[" + fg + "m " + fg + " \033[0m"; + var start = "\x1B[" + fg + "m " + fg + " \x1B[0m"; var expected = " " + fg + " "; @@ -314,7 +312,7 @@ describe('ansi_up', function () { var attr = 1; var fg = 33; var bg = 42; - var start = "\033[" + attr + ";" + bg + ";" + fg + "m " + attr + ";" + bg + ";" + fg + " \033[0m"; + var start = "\x1B[" + attr + ";" + bg + ";" + fg + "m " + attr + ";" + bg + ";" + fg + " \x1B[0m"; var expected = " " + attr + ";" + bg + ";" + fg + " "; @@ -326,7 +324,7 @@ describe('ansi_up', function () { it('should transform a bright-background;foreground to html', function () { var fg = 33; var bg = 102; - var start = "\033[" + bg + ";" + fg + "m " + bg + ";" + fg + " \033[0m"; + var start = "\x1B[" + bg + ";" + fg + "m " + bg + ";" + fg + " \x1B[0m"; var expected = " " + bg + ";" + fg + " "; @@ -340,7 +338,7 @@ describe('ansi_up', function () { var attr = 1; var fg = 32; var bg = 42; - var start = "\n \033[" + fg + "m " + fg + " \033[0m \n \033[" + bg + "m " + bg + " \033[0m \n zimpper "; + var start = "\n \x1B[" + fg + "m " + fg + " \x1B[0m \n \x1B[" + bg + "m " + bg + " \x1B[0m \n zimpper "; var expected = "\n " + fg + " \n " + bg + " \n zimpper "; @@ -352,7 +350,7 @@ describe('ansi_up', function () { it('should transform a foreground and background and reset foreground to html', function () { var fg = 37; var bg = 42; - var start = "\n\033[40m \033[49m\033[" + fg + ";" + bg + "m " + bg + " \033[39m foobar "; + var start = "\n\x1B[40m \x1B[49m\x1B[" + fg + ";" + bg + "m " + bg + " \x1B[39m foobar "; var expected = "\n " + bg + " foobar "; @@ -364,7 +362,7 @@ describe('ansi_up', function () { it('should transform a foreground and background and reset background to html', function () { var fg = 37; var bg = 42; - var start = "\n\033[40m \033[49m\033[" + fg + ";" + bg + "m " + fg + " \033[49m foobar "; + var start = "\n\x1B[40m \x1B[49m\x1B[" + fg + ";" + bg + "m " + fg + " \x1B[49m foobar "; var expected = "\n " + fg + " foobar "; @@ -376,7 +374,7 @@ describe('ansi_up', function () { it('should transform a foreground and background and reset them to html', function () { var fg = 37; var bg = 42; - var start = "\n\033[40m \033[49m\033[" + fg + ";" + bg + "m " + fg + ';' + bg + " \033[39;49m foobar "; + var start = "\n\x1B[40m \x1B[49m\x1B[" + fg + ";" + bg + "m " + fg + ';' + bg + " \x1B[39;49m foobar "; var expected = "\n " + fg + ';' + bg + " foobar "; @@ -387,7 +385,7 @@ describe('ansi_up', function () { describe('transform extended colors (palette)', function () { it('system color, foreground', function () { - var start = "\033[38;5;1m" + "red" + "\033[0m"; + var start = "\x1B[38;5;1m" + "red" + "\x1B[0m"; var expected = 'red'; var au = new AnsiUp(); var l = au.ansi_to_html(start); @@ -395,7 +393,7 @@ describe('ansi_up', function () { }); it('system color, foreground (bright)', function () { - var start = "\033[38;5;9m" + "red" + "\033[0m"; + var start = "\x1B[38;5;9m" + "red" + "\x1B[0m"; var expected = 'red'; var au = new AnsiUp(); var l = au.ansi_to_html(start); @@ -403,7 +401,7 @@ describe('ansi_up', function () { }); it('system color, background', function () { - var start = "\033[48;5;1m" + "red" + "\033[0m"; + var start = "\x1B[48;5;1m" + "red" + "\x1B[0m"; var expected = 'red'; var au = new AnsiUp(); var l = au.ansi_to_html(start); @@ -411,7 +409,7 @@ describe('ansi_up', function () { }); it('system color, background (bright)', function () { - var start = "\033[48;5;9m" + "red" + "\033[0m"; + var start = "\x1B[48;5;9m" + "red" + "\x1B[0m"; var expected = 'red'; var au = new AnsiUp(); var l = au.ansi_to_html(start); @@ -419,7 +417,7 @@ describe('ansi_up', function () { }); it('palette, foreground', function () { - var start = "\033[38;5;171m" + "foo" + "\033[0m"; + var start = "\x1B[38;5;171m" + "foo" + "\x1B[0m"; var expected = 'foo'; var au = new AnsiUp(); var l = au.ansi_to_html(start); @@ -427,7 +425,7 @@ describe('ansi_up', function () { }); it('palette, background', function () { - var start = "\033[48;5;171m" + "foo" + "\033[0m"; + var start = "\x1B[48;5;171m" + "foo" + "\x1B[0m"; var expected = 'foo'; var au = new AnsiUp(); var l = au.ansi_to_html(start); @@ -435,7 +433,7 @@ describe('ansi_up', function () { }); it('combination of bold and palette', function () { - var start = "\033[1;38;5;171m" + "foo" + "\033[0m"; + var start = "\x1B[1;38;5;171m" + "foo" + "\x1B[0m"; var expected = 'foo'; var au = new AnsiUp(); var l = au.ansi_to_html(start); @@ -443,7 +441,7 @@ describe('ansi_up', function () { }); it('combination of palette and bold', function () { - var start = "\033[38;5;171;1m" + "foo" + "\033[0m"; + var start = "\x1B[38;5;171;1m" + "foo" + "\x1B[0m"; var expected = 'foo'; var au = new AnsiUp(); var l = au.ansi_to_html(start); @@ -453,21 +451,21 @@ describe('ansi_up', function () { describe('transform extended colors (true color)', function () { it('foreground', function () { - var start = "\033[38;2;42;142;242m" + "foo" + "\033[0m"; + var start = "\x1B[38;2;42;142;242m" + "foo" + "\x1B[0m"; var expected = 'foo'; var au = new AnsiUp(); var l = au.ansi_to_html(start); l.should.eql(expected); }); it('background', function () { - var start = "\033[48;2;42;142;242m" + "foo" + "\033[0m"; + var start = "\x1B[48;2;42;142;242m" + "foo" + "\x1B[0m"; var expected = 'foo'; var au = new AnsiUp(); var l = au.ansi_to_html(start); l.should.eql(expected); }); it('both foreground and background', function () { - var start = "\033[38;2;42;142;242;48;2;1;2;3m" + "foo" + "\033[0m"; + var start = "\x1B[38;2;42;142;242;48;2;1;2;3m" + "foo" + "\x1B[0m"; var expected = 'foo'; var au = new AnsiUp(); var l = au.ansi_to_html(start); @@ -480,7 +478,7 @@ describe('ansi_up', function () { it('should transform a foreground to html', function () { var attr = 0; var fg = 32; - var start = "\033[" + fg + "m " + fg + " \033[0m"; + var start = "\x1B[" + fg + "m " + fg + " \x1B[0m"; var expected = " " + fg + " "; @@ -493,7 +491,7 @@ describe('ansi_up', function () { it('should transform a attr;foreground to html', function () { var attr = 0; var fg = 32; - var start = "\033[" + attr + ";" + fg + "m " + fg + " \033[0m"; + var start = "\x1B[" + attr + ";" + fg + "m " + fg + " \x1B[0m"; var expected = " " + fg + " "; @@ -506,7 +504,7 @@ describe('ansi_up', function () { it('should transform a bold attr;foreground to html', function () { var attr = 1; var fg = 32; - var start = "\033[" + attr + ";" + fg + "m " + attr + ";" + fg + " \033[0m"; + var start = "\x1B[" + attr + ";" + fg + "m " + attr + ";" + fg + " \x1B[0m"; var expected = ' " + attr + ";" + fg + " "; @@ -519,7 +517,7 @@ describe('ansi_up', function () { it('should transform a bold attr;bright-foreground to html', function () { var attr = 1; var fg = 92; - var start = "\033[" + attr + ";" + fg + "m " + attr + ";" + fg + " \033[0m"; + var start = "\x1B[" + attr + ";" + fg + "m " + attr + ";" + fg + " \x1B[0m"; var expected = ' " + attr + ";" + fg + " "; @@ -533,7 +531,7 @@ describe('ansi_up', function () { var attr = 1; var fg = 33; var bg = 42; - var start = "\033[" + attr + ";" + bg + ";" + fg + "m " + attr + ";" + bg + ";" + fg + " \033[0m"; + var start = "\x1B[" + attr + ";" + bg + ";" + fg + "m " + attr + ";" + bg + ";" + fg + " \x1B[0m"; var expected = ' " + attr + ";" + bg + ";" + fg + " "; @@ -547,7 +545,7 @@ describe('ansi_up', function () { var attr = 1; var fg = 33; var bg = 102; - var start = "\033[" + attr + ";" + bg + ";" + fg + "m " + attr + ";" + bg + ";" + fg + " \033[0m"; + var start = "\x1B[" + attr + ";" + bg + ";" + fg + "m " + attr + ";" + bg + ";" + fg + " \x1B[0m"; var expected = ' " + attr + ";" + bg + ";" + fg + " "; @@ -561,7 +559,7 @@ describe('ansi_up', function () { var attr = 3; var fg = 33; var bg = 102; - var start = "\033[" + attr + ";" + bg + ";" + fg + "m " + attr + ";" + bg + ";" + fg + " \033[0m"; + var start = "\x1B[" + attr + ";" + bg + ";" + fg + "m " + attr + ";" + bg + ";" + fg + " \x1B[0m"; var expected = ' " + attr + ";" + bg + ";" + fg + " "; @@ -575,7 +573,7 @@ describe('ansi_up', function () { var attr = 4; var fg = 33; var bg = 102; - var start = "\033[" + attr + ";" + bg + ";" + fg + "m " + attr + ";" + bg + ";" + fg + " \033[0m"; + var start = "\x1B[" + attr + ";" + bg + ";" + fg + "m " + attr + ";" + bg + ";" + fg + " \x1B[0m"; var expected = ' " + attr + ";" + bg + ";" + fg + " "; @@ -589,7 +587,7 @@ describe('ansi_up', function () { var attr = 1; var fg = 32; var bg = 42; - var start = "\n \033[" + fg + "m " + fg + " \033[0m \n \033[" + bg + "m " + bg + " \033[0m \n zimpper "; + var start = "\n \x1B[" + fg + "m " + fg + " \x1B[0m \n \x1B[" + bg + "m " + bg + " \x1B[0m \n zimpper "; var expected = "\n " + fg + " \n " + bg + " \n zimpper "; @@ -601,7 +599,7 @@ describe('ansi_up', function () { describe('transform extended colors (palette)', function () { it('system color, foreground', function () { - var start = "\033[38;5;1m" + "red" + "\033[0m"; + var start = "\x1B[38;5;1m" + "red" + "\x1B[0m"; var expected = 'red'; var au = new AnsiUp(); au.use_classes = true; @@ -610,7 +608,7 @@ describe('ansi_up', function () { }); it('system color, foreground (bright)', function () { - var start = "\033[38;5;9m" + "red" + "\033[0m"; + var start = "\x1B[38;5;9m" + "red" + "\x1B[0m"; var expected = 'red'; var au = new AnsiUp(); au.use_classes = true; @@ -619,7 +617,7 @@ describe('ansi_up', function () { }); it('system color, background', function () { - var start = "\033[48;5;1m" + "red" + "\033[0m"; + var start = "\x1B[48;5;1m" + "red" + "\x1B[0m"; var expected = 'red'; var au = new AnsiUp(); au.use_classes = true; @@ -628,7 +626,7 @@ describe('ansi_up', function () { }); it('system color, background (bright)', function () { - var start = "\033[48;5;9m" + "red" + "\033[0m"; + var start = "\x1B[48;5;9m" + "red" + "\x1B[0m"; var expected = 'red'; var au = new AnsiUp(); au.use_classes = true; @@ -637,7 +635,7 @@ describe('ansi_up', function () { }); it('palette, foreground', function () { - var start = "\033[38;5;171m" + "foo" + "\033[0m"; + var start = "\x1B[38;5;171m" + "foo" + "\x1B[0m"; var expected = 'foo'; var au = new AnsiUp(); au.use_classes = true; @@ -646,7 +644,7 @@ describe('ansi_up', function () { }); it('palette, background', function () { - var start = "\033[48;5;171m" + "foo" + "\033[0m"; + var start = "\x1B[48;5;171m" + "foo" + "\x1B[0m"; var expected = 'foo'; var au = new AnsiUp(); au.use_classes = true; @@ -655,7 +653,7 @@ describe('ansi_up', function () { }); it('combination of bold and palette', function () { - var start = "\033[1;38;5;171m" + "foo" + "\033[0m"; + var start = "\x1B[1;38;5;171m" + "foo" + "\x1B[0m"; var expected = 'foo'; var au = new AnsiUp(); au.use_classes = true; @@ -664,7 +662,7 @@ describe('ansi_up', function () { }); it('combination of palette and bold', function () { - var start = "\033[38;5;171;1m" + "foo" + "\033[0m"; + var start = "\x1B[38;5;171;1m" + "foo" + "\x1B[0m"; var expected = 'foo'; var au = new AnsiUp(); au.use_classes = true; @@ -675,7 +673,7 @@ describe('ansi_up', function () { describe('transform extended colors (true color)', function () { it('foreground', function () { - var start = "\033[38;2;42;142;242m" + "foo" + "\033[0m"; + var start = "\x1B[38;2;42;142;242m" + "foo" + "\x1B[0m"; var expected = 'foo'; var au = new AnsiUp(); au.use_classes = true; @@ -683,7 +681,7 @@ describe('ansi_up', function () { l.should.eql(expected); }); it('background', function () { - var start = "\033[48;2;42;142;242m" + "foo" + "\033[0m"; + var start = "\x1B[48;2;42;142;242m" + "foo" + "\x1B[0m"; var expected = 'foo'; var au = new AnsiUp(); au.use_classes = true; @@ -691,7 +689,7 @@ describe('ansi_up', function () { l.should.eql(expected); }); it('both foreground and background', function () { - var start = "\033[38;2;42;142;242;48;2;1;2;3m" + "foo" + "\033[0m"; + var start = "\x1B[38;2;42;142;242;48;2;1;2;3m" + "foo" + "\x1B[0m"; var expected = 'foo'; var au = new AnsiUp(); au.use_classes = true; @@ -705,7 +703,7 @@ describe('ansi_up', function () { it('should correctly convert a string similar to CSI', function () { // https://github.com/drudru/ansi_up/pull/15 // "[1;31m" is a plain text. not an escape sequence. - var start = "foo\033[1@bar[1;31mbaz\033[0m"; + var start = "foo\x1B[1@bar[1;31mbaz\x1B[0m"; var au = new AnsiUp(); var l = au.ansi_to_html(start); @@ -716,34 +714,34 @@ describe('ansi_up', function () { l.should.containEql('1;31m'); }); it('(cursor-up)', function () { - var start = "foo\033[1Abar"; + var start = "foo\x1B[1Abar"; var au = new AnsiUp(); var l = au.ansi_to_html(start); l.should.eql('foobar'); }); it('(scroll-left)', function () { // [1 @ (including ascii space) - var start = "foo\033[1 @bar"; + var start = "foo\x1B[1 @bar"; var au = new AnsiUp(); var l = au.ansi_to_html(start); l.should.eql('foobar'); }); it('(DECMC)', function () { - var start = "foo\033[?11ibar"; + var start = "foo\x1B[?11ibar"; var au = new AnsiUp(); var l = au.ansi_to_html(start); l.should.eql('foobar'); }); /* I cannot find this in the XTERM specs it('(RLIMGCP)', function () { - var start = "foo\033[ " + fg + " "; @@ -782,8 +780,8 @@ describe('ansi_up', function () { it('should transform a lonely escape', function () { var attr = 0; var fg = 32; - var start1 = "xyz \033"; - var start2 = "[" + attr + ";" + fg + "m " + fg + " \033[0m"; + var start1 = "xyz \x1B"; + var start2 = "[" + attr + ";" + fg + "m " + fg + " \x1B[0m"; var expected = " " + fg + " "; @@ -801,19 +799,19 @@ describe('ansi_up', function () { /* describe('ansi to text', function () { it('should remove color sequence', function () { - var start = "foo \033[1;32mbar\033[0m baz"; + var start = "foo \x1B[1;32mbar\x1B[0m baz"; var au = new AnsiUp(); var l = au.ansi_to_text(start); l.should.eql("foo bar baz"); }); it('should remove unsupported sequence', function () { - var start = "foo \033[1Abar"; + var start = "foo \x1B[1Abar"; var au = new AnsiUp(); var l = au.ansi_to_text(start); l.should.eql('foo bar'); }); it('should keep multiline', function () { - var start = "foo \033[1;32mbar\nbaz\033[0m qux"; + var start = "foo \x1B[1;32mbar\nbaz\x1B[0m qux"; var au = new AnsiUp(); var l = au.ansi_to_text(start); l.should.eql("foo bar\nbaz qux"); diff --git a/tsconfig.json b/tsconfig.json index c4400d6..6553cbf 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,13 +1,10 @@ { "compilerOptions": { - "target": "es5", - "module": "none", + "target": "es6", + "module": "es6", "noEmitOnError": true, "removeComments": true, - "sourceMap": true, - "declaration": true, - "noImplicitUseStrict": true, - "outDir": "dist" - }, - "exclude": [ "node_modules", "dist" ] + "sourceMap": false, + "declaration": true + } } \ No newline at end of file From c1fd6651712851d71a9bff77e82e64561cd1ab93 Mon Sep 17 00:00:00 2001 From: Dru Nelson Date: Sun, 30 Jul 2023 17:20:32 -0700 Subject: [PATCH 2/6] Bump version, rm VERSION file, rm .vscode dir --- .vscode/launch.json | 28 ---------------------------- .vscode/tasks.json | 9 --------- VERSION | 1 - ansi_up.js | 2 +- ansi_up.ts | 2 +- package.json | 2 +- 6 files changed, 3 insertions(+), 41 deletions(-) delete mode 100644 .vscode/launch.json delete mode 100644 .vscode/tasks.json delete mode 100644 VERSION diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 33e00d6..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - // Use IntelliSense to learn about possible Node.js debug attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "type": "node", - "request": "launch", - "name": "Launch Program", - "program": "${workspaceRoot}/node_modules/.bin/mocha", - "args": [ - "--require", "should", - "test/ansi_up-test.js" - ], - "cwd": "${workspaceRoot}", - "outDir": "${workspaceRoot}/", - "sourceMaps": true - }, - { - "type": "node", - "request": "attach", - "name": "Attach to Process", - "port": 5858, - "outDir": "${workspaceRoot}/" - } - ] -} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index 34862b5..0000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - // See https://go.microsoft.com/fwlink/?LinkId=733558 - // for the documentation about the tasks.json format - "version": "0.1.0", - "command": "./node_modules/.bin/tsc", - "isShellCommand": true, - "args": ["-p", "."], - "showOutput": "always" -} \ No newline at end of file diff --git a/VERSION b/VERSION deleted file mode 100644 index ceab6e1..0000000 --- a/VERSION +++ /dev/null @@ -1 +0,0 @@ -0.1 \ No newline at end of file diff --git a/ansi_up.js b/ansi_up.js index 99947bd..12661fd 100644 --- a/ansi_up.js +++ b/ansi_up.js @@ -15,7 +15,7 @@ var PacketKind; })(PacketKind || (PacketKind = {})); export class AnsiUp { constructor() { - this.VERSION = "5.2.1"; + this.VERSION = "6.0.0"; this.setup_palettes(); this._use_classes = false; this.bold = false; diff --git a/ansi_up.ts b/ansi_up.ts index be5b353..d16b6cf 100644 --- a/ansi_up.ts +++ b/ansi_up.ts @@ -52,7 +52,7 @@ interface TextPacket { export class AnsiUp { - VERSION = "5.2.1"; + VERSION = "6.0.0"; // // *** SEE README ON GITHUB FOR PUBLIC API *** diff --git a/package.json b/package.json index a1f2be0..47ee0ea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ansi_up", - "version": "5.2.1", + "version": "6.0.0", "description": "Convert ansi sequences in strings to colorful HTML", "keywords": [ "ansi", From ad72b8fb4ff08a53ceb13471891bf66dd385ad44 Mon Sep 17 00:00:00 2001 From: Dru Nelson Date: Mon, 14 Aug 2023 16:41:25 -0700 Subject: [PATCH 3/6] Add support for faint --- ansi_up.d.ts | 13 +++++++ ansi_up.js | 35 ++++++++++++++--- ansi_up.ts | 90 ++++++++++++++++++++++++++------------------ test/ansi_up-test.js | 12 ++++++ 4 files changed, 108 insertions(+), 42 deletions(-) diff --git a/ansi_up.d.ts b/ansi_up.d.ts index 2a1ad3c..dd40842 100644 --- a/ansi_up.d.ts +++ b/ansi_up.d.ts @@ -5,6 +5,7 @@ export declare class AnsiUp { private fg; private bg; private bold; + private faint; private italic; private underline; private _use_classes; @@ -14,6 +15,10 @@ export declare class AnsiUp { private _url_whitelist; private _escape_html; private _buffer; + private _boldStyle; + private _faintStyle; + private _italicStyle; + private _underlineStyle; constructor(); set use_classes(arg: boolean); get use_classes(): boolean; @@ -21,6 +26,14 @@ export declare class AnsiUp { get url_whitelist(): {}; set escape_html(arg: boolean); get escape_html(): boolean; + set boldStyle(arg: string); + get boldStyle(): string; + set faintStyle(arg: string); + get faintStyle(): string; + set italicStyle(arg: string); + get italicStyle(): string; + set underlineStyle(arg: string); + get underlineStyle(): string; private setup_palettes; private escape_txt_for_html; private append_buffer; diff --git a/ansi_up.js b/ansi_up.js index 12661fd..0668afa 100644 --- a/ansi_up.js +++ b/ansi_up.js @@ -19,12 +19,17 @@ export class AnsiUp { this.setup_palettes(); this._use_classes = false; this.bold = false; + this.faint = false; this.italic = false; this.underline = false; this.fg = this.bg = null; this._buffer = ''; this._url_whitelist = { 'http': 1, 'https': 1 }; this._escape_html = true; + this.boldStyle = 'font-weight:bold'; + this.faintStyle = 'opacity:0.7'; + this.italicStyle = 'font-style:italic'; + this.underlineStyle = 'text-decoration:underline'; } set use_classes(arg) { this._use_classes = arg; @@ -44,6 +49,14 @@ export class AnsiUp { get escape_html() { return this._escape_html; } + set boldStyle(arg) { this._boldStyle = arg; } + get boldStyle() { return this._boldStyle; } + set faintStyle(arg) { this._faintStyle = arg; } + get faintStyle() { return this._faintStyle; } + set italicStyle(arg) { this._italicStyle = arg; } + get italicStyle() { return this._italicStyle; } + set underlineStyle(arg) { this._underlineStyle = arg; } + get underlineStyle() { return this._underlineStyle; } setup_palettes() { this.ansi_colors = [ @@ -254,7 +267,7 @@ export class AnsiUp { return blocks.join(""); } with_state(pkt) { - return { bold: this.bold, italic: this.italic, underline: this.underline, fg: this.fg, bg: this.bg, text: pkt.text }; + return { bold: this.bold, faint: this.faint, italic: this.italic, underline: this.underline, fg: this.fg, bg: this.bg, text: pkt.text }; } process_ansi(pkt) { let sgr_cmds = pkt.text.split(';'); @@ -262,23 +275,31 @@ export class AnsiUp { let sgr_cmd_str = sgr_cmds.shift(); let num = parseInt(sgr_cmd_str, 10); if (isNaN(num) || num === 0) { - this.fg = this.bg = null; + this.fg = null; + this.bg = null; this.bold = false; + this.faint = false; this.italic = false; this.underline = false; } else if (num === 1) { this.bold = true; } + else if (num === 2) { + this.faint = true; + } else if (num === 3) { this.italic = true; } else if (num === 4) { this.underline = true; } - else if (num === 22) { + else if (num === 21) { this.bold = false; } + else if (num === 22) { + this.faint = false; + } else if (num === 23) { this.italic = false; } @@ -344,11 +365,13 @@ export class AnsiUp { let fg = fragment.fg; let bg = fragment.bg; if (fragment.bold) - styles.push('font-weight:bold'); + styles.push(this._boldStyle); + if (fragment.faint) + styles.push(this._faintStyle); if (fragment.italic) - styles.push('font-style:italic'); + styles.push(this._italicStyle); if (fragment.underline) - styles.push('text-decoration:underline'); + styles.push(this._underlineStyle); if (!this._use_classes) { if (fg) styles.push(`color:rgb(${fg.rgb.join(',')})`); diff --git a/ansi_up.ts b/ansi_up.ts index d16b6cf..19e96fd 100644 --- a/ansi_up.ts +++ b/ansi_up.ts @@ -23,6 +23,7 @@ interface TextWithAttr { fg:AU_Color; bg:AU_Color; bold:boolean; + faint:boolean; italic: boolean; underline: boolean; text:string; @@ -66,6 +67,7 @@ export class AnsiUp private fg:AU_Color; private bg:AU_Color; private bold:boolean; + private faint:boolean; private italic: boolean; private underline:boolean; private _use_classes:boolean; @@ -80,6 +82,12 @@ export class AnsiUp private _buffer:string; + private _boldStyle:string; + private _faintStyle:string; + private _italicStyle:string; + private _underlineStyle:string; + + constructor() { // All construction occurs here @@ -87,6 +95,7 @@ export class AnsiUp this._use_classes = false; this.bold = false; + this.faint = false; this.italic = false; this.underline = false; this.fg = this.bg = null; @@ -95,6 +104,11 @@ export class AnsiUp this._url_whitelist = { 'http':1, 'https':1 }; this._escape_html = true; + + this.boldStyle = 'font-weight:bold'; + this.faintStyle = 'opacity:0.7'; + this.italicStyle = 'font-style:italic'; + this.underlineStyle = 'text-decoration:underline' } set use_classes(arg:boolean) @@ -127,6 +141,15 @@ export class AnsiUp return this._escape_html; } + set boldStyle(arg:string) { this._boldStyle = arg; } + get boldStyle():string { return this._boldStyle; } + set faintStyle(arg:string) { this._faintStyle = arg; } + get faintStyle():string { return this._faintStyle; } + set italicStyle(arg:string) { this._italicStyle = arg; } + get italicStyle():string { return this._italicStyle; } + set underlineStyle(arg:string) { this._underlineStyle = arg; } + get underlineStyle():string { return this._underlineStyle; } + private setup_palettes():void { @@ -570,7 +593,7 @@ export class AnsiUp } private with_state(pkt:TextPacket):TextWithAttr { - return { bold: this.bold, italic: this.italic, underline: this.underline, fg: this.fg, bg: this.bg, text: pkt.text }; + return { bold: this.bold, faint: this.faint, italic: this.italic, underline: this.underline, fg: this.fg, bg: this.bg, text: pkt.text }; } private process_ansi(pkt:TextPacket) @@ -583,39 +606,38 @@ export class AnsiUp // Why do we shift through the array instead of a forEach?? // ... because some commands consume the params that follow ! + while (sgr_cmds.length > 0) { let sgr_cmd_str = sgr_cmds.shift(); let num = parseInt(sgr_cmd_str, 10); + // TODO + // AT SOME POINT, JUST CONVERT TO A LOOKUP TABLE if (isNaN(num) || num === 0) { - this.fg = this.bg = null; - this.bold = false; - this.italic = false; + this.fg = null; + this.bg = null; + this.bold = false; + this.faint = false; + this.italic = false; this.underline = false; - } else if (num === 1) { - this.bold = true; - } else if (num === 3) { - this.italic = true; - } else if (num === 4) { - this.underline = true; - } else if (num === 22) { - this.bold = false; - } else if (num === 23) { - this.italic = false; - } else if (num === 24) { - this.underline = false; - } else if (num === 39) { - this.fg = null; - } else if (num === 49) { - this.bg = null; - } else if ((num >= 30) && (num < 38)) { - this.fg = this.ansi_colors[0][(num - 30)]; - } else if ((num >= 40) && (num < 48)) { - this.bg = this.ansi_colors[0][(num - 40)]; - } else if ((num >= 90) && (num < 98)) { - this.fg = this.ansi_colors[1][(num - 90)]; - } else if ((num >= 100) && (num < 108)) { - this.bg = this.ansi_colors[1][(num - 100)]; + + } else if (num === 1) { this.bold = true; + } else if (num === 2) { this.faint = true; + } else if (num === 3) { this.italic = true; + } else if (num === 4) { this.underline = true; + } else if (num === 21) { this.bold = false; + } else if (num === 22) { this.faint = false; + } else if (num === 23) { this.italic = false; + } else if (num === 24) { this.underline = false; + + } else if (num === 39) { this.fg = null; + } else if (num === 49) { this.bg = null; + + } else if ((num >= 30) && (num < 38)) { this.fg = this.ansi_colors[0][(num - 30)]; + } else if ((num >= 40) && (num < 48)) { this.bg = this.ansi_colors[0][(num - 40)]; + } else if ((num >= 90) && (num < 98)) { this.fg = this.ansi_colors[1][(num - 90)]; + } else if ((num >= 100) && (num < 108)) { this.bg = this.ansi_colors[1][(num - 100)]; + } else if (num === 38 || num === 48) { // extended set foreground/background color @@ -676,14 +698,10 @@ export class AnsiUp let bg = fragment.bg; // Note on bold: https://stackoverflow.com/questions/6737005/what-are-some-advantages-to-using-span-style-font-weightbold-rather-than-b?rq=1 - if (fragment.bold) - styles.push('font-weight:bold'); - - if (fragment.italic) - styles.push('font-style:italic'); - - if (fragment.underline) - styles.push('text-decoration:underline'); + if (fragment.bold) styles.push(this._boldStyle); + if (fragment.faint) styles.push(this._faintStyle); + if (fragment.italic) styles.push(this._italicStyle); + if (fragment.underline) styles.push(this._underlineStyle); if (!this._use_classes) { // USE INLINE STYLES diff --git a/test/ansi_up-test.js b/test/ansi_up-test.js index bbe0002..f2fe7a0 100644 --- a/test/ansi_up-test.js +++ b/test/ansi_up-test.js @@ -273,6 +273,18 @@ describe('ansi_up', function () { l.should.eql(expected); }); + it('should transform a faint attr;foreground to html', function () { + var attr = 2; + var fg = 32; + var start = "\x1B[" + attr + ";" + fg + "m " + attr + ";" + fg + " \x1B[0m"; + + var expected = " " + attr + ";" + fg + " "; + + var au = new AnsiUp(); + var l = au.ansi_to_html(start); + l.should.eql(expected); + }); + it('should transform an italic attr;foreground to html', function () { var attr = 3; var fg = 32; From e16e2d90dee03c8876297f8f1ebf386270ad4e28 Mon Sep 17 00:00:00 2001 From: Dru Nelson Date: Mon, 14 Aug 2023 16:43:05 -0700 Subject: [PATCH 4/6] rename whitelist acceptlist --- ansi_up.d.ts | 6 +++--- ansi_up.js | 12 ++++++------ ansi_up.ts | 14 +++++++------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/ansi_up.d.ts b/ansi_up.d.ts index dd40842..021f331 100644 --- a/ansi_up.d.ts +++ b/ansi_up.d.ts @@ -12,7 +12,7 @@ export declare class AnsiUp { private _csi_regex; private _osc_st; private _osc_regex; - private _url_whitelist; + private _url_acceptlist; private _escape_html; private _buffer; private _boldStyle; @@ -22,8 +22,8 @@ export declare class AnsiUp { constructor(); set use_classes(arg: boolean); get use_classes(): boolean; - set url_whitelist(arg: {}); - get url_whitelist(): {}; + set url_acceptlist(arg: {}); + get url_acceptlist(): {}; set escape_html(arg: boolean); get escape_html(): boolean; set boldStyle(arg: string); diff --git a/ansi_up.js b/ansi_up.js index 0668afa..ee92437 100644 --- a/ansi_up.js +++ b/ansi_up.js @@ -24,7 +24,7 @@ export class AnsiUp { this.underline = false; this.fg = this.bg = null; this._buffer = ''; - this._url_whitelist = { 'http': 1, 'https': 1 }; + this._url_acceptlist = { 'http': 1, 'https': 1 }; this._escape_html = true; this.boldStyle = 'font-weight:bold'; this.faintStyle = 'opacity:0.7'; @@ -37,11 +37,11 @@ export class AnsiUp { get use_classes() { return this._use_classes; } - set url_whitelist(arg) { - this._url_whitelist = arg; + set url_acceptlist(arg) { + this._url_acceptlist = arg; } - get url_whitelist() { - return this._url_whitelist; + get url_acceptlist() { + return this._url_acceptlist; } set escape_html(arg) { this._escape_html = arg; @@ -409,7 +409,7 @@ export class AnsiUp { let parts = pkt.url.split(':'); if (parts.length < 1) return ''; - if (!this._url_whitelist[parts[0]]) + if (!this._url_acceptlist[parts[0]]) return ''; let result = `${this.escape_txt_for_html(pkt.text)}`; return result; diff --git a/ansi_up.ts b/ansi_up.ts index 19e96fd..5097cd6 100644 --- a/ansi_up.ts +++ b/ansi_up.ts @@ -77,7 +77,7 @@ export class AnsiUp private _osc_st:RegExp; private _osc_regex:RegExp; - private _url_whitelist:{}; + private _url_acceptlist:{}; private _escape_html:boolean; private _buffer:string; @@ -102,7 +102,7 @@ export class AnsiUp this._buffer = ''; - this._url_whitelist = { 'http':1, 'https':1 }; + this._url_acceptlist = { 'http':1, 'https':1 }; this._escape_html = true; this.boldStyle = 'font-weight:bold'; @@ -121,14 +121,14 @@ export class AnsiUp return this._use_classes; } - set url_whitelist(arg:{}) + set url_acceptlist(arg:{}) { - this._url_whitelist = arg; + this._url_acceptlist = arg; } - get url_whitelist():{} + get url_acceptlist():{} { - return this._url_whitelist; + return this._url_acceptlist; } set escape_html(arg:boolean) @@ -746,7 +746,7 @@ export class AnsiUp if (parts.length < 1) return ''; - if (! this._url_whitelist[parts[0]]) + if (! this._url_acceptlist[parts[0]]) return ''; let result = `${this.escape_txt_for_html(pkt.text)}`; From 1889f986ca8e41a766c5c45bf931004bb4659bf8 Mon Sep 17 00:00:00 2001 From: Dru Nelson Date: Mon, 14 Aug 2023 17:01:41 -0700 Subject: [PATCH 5/6] Update npm version for security/dependabot --- package-lock.json | 47 ++++++++++++++++++++++++++--------------------- package.json | 2 +- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4400ac1..3a3c078 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,16 @@ { "name": "ansi_up", - "version": "5.2.1", + "version": "6.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ansi_up", - "version": "5.2.1", + "version": "6.0.0", "license": "MIT", "devDependencies": { "mocha": "^10.2.0", - "npm": "^9.6.3", + "npm": "^9.8.1", "should": "*", "typescript": "^5.1.0" }, @@ -634,15 +634,17 @@ } }, "node_modules/npm": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-9.8.0.tgz", - "integrity": "sha512-AXeiBAdfM5K2jvBwA7EGLKeYyt0VnhmJRnlq4k2+M0Ao9v7yKJBqF8xFPzQL8kAybzwlfpTPCZwM4uTIszb3xA==", + "version": "9.8.1", + "resolved": "https://registry.npmjs.org/npm/-/npm-9.8.1.tgz", + "integrity": "sha512-AfDvThQzsIXhYgk9zhbk5R+lh811lKkLAeQMMhSypf1BM7zUafeIIBzMzespeuVEJ0+LvY36oRQYf7IKLzU3rw==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", "@npmcli/config", + "@npmcli/fs", "@npmcli/map-workspaces", "@npmcli/package-json", + "@npmcli/promise-spawn", "@npmcli/run-script", "abbrev", "archy", @@ -710,13 +712,15 @@ "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/arborist": "^6.3.0", "@npmcli/config": "^6.2.1", + "@npmcli/fs": "^3.1.0", "@npmcli/map-workspaces": "^3.0.4", - "@npmcli/package-json": "^4.0.0", + "@npmcli/package-json": "^4.0.1", + "@npmcli/promise-spawn": "^6.0.2", "@npmcli/run-script": "^6.0.2", "abbrev": "^2.0.0", "archy": "~1.0.0", "cacache": "^17.1.3", - "chalk": "^5.2.0", + "chalk": "^5.3.0", "ci-info": "^3.8.0", "cli-columns": "^4.0.0", "cli-table3": "^0.6.3", @@ -732,7 +736,7 @@ "json-parse-even-better-errors": "^3.0.0", "libnpmaccess": "^7.0.2", "libnpmdiff": "^5.0.19", - "libnpmexec": "^6.0.2", + "libnpmexec": "^6.0.3", "libnpmfund": "^4.0.19", "libnpmhook": "^9.0.3", "libnpmorg": "^5.0.4", @@ -742,7 +746,7 @@ "libnpmteam": "^5.0.3", "libnpmversion": "^4.0.2", "make-fetch-happen": "^11.1.1", - "minimatch": "^9.0.0", + "minimatch": "^9.0.3", "minipass": "^5.0.0", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", @@ -762,10 +766,10 @@ "proc-log": "^3.0.0", "qrcode-terminal": "^0.12.0", "read": "^2.1.0", - "semver": "^7.5.2", + "semver": "^7.5.4", "sigstore": "^1.7.0", "ssri": "^10.0.4", - "supports-color": "^9.3.1", + "supports-color": "^9.4.0", "tar": "^6.1.15", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", @@ -1039,17 +1043,18 @@ } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "4.0.0", + "version": "4.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/git": "^4.1.0", "glob": "^10.2.2", + "hosted-git-info": "^6.1.1", "json-parse-even-better-errors": "^3.0.0", "normalize-package-data": "^5.0.0", - "npm-normalize-package-bin": "^3.0.1", - "proc-log": "^3.0.0" + "proc-log": "^3.0.0", + "semver": "^7.5.3" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -1294,7 +1299,7 @@ "license": "MIT" }, "node_modules/npm/node_modules/bin-links": { - "version": "4.0.1", + "version": "4.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -1383,7 +1388,7 @@ } }, "node_modules/npm/node_modules/chalk": { - "version": "5.2.0", + "version": "5.3.0", "dev": true, "inBundle": true, "license": "MIT", @@ -2129,7 +2134,7 @@ } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "6.0.2", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -2299,7 +2304,7 @@ } }, "node_modules/npm/node_modules/minimatch": { - "version": "9.0.1", + "version": "9.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -3216,7 +3221,7 @@ "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.5.2", + "version": "7.5.4", "dev": true, "inBundle": true, "license": "ISC", @@ -3444,7 +3449,7 @@ } }, "node_modules/npm/node_modules/supports-color": { - "version": "9.3.1", + "version": "9.4.0", "dev": true, "inBundle": true, "license": "MIT", diff --git a/package.json b/package.json index 47ee0ea..2290dba 100644 --- a/package.json +++ b/package.json @@ -26,8 +26,8 @@ "build": "make typescript" }, "devDependencies": { - "npm": "^9.6.3", "mocha": "^10.2.0", + "npm": "^9.8.1", "should": "*", "typescript": "^5.1.0" } From 803e79a012cead1a0ea4a45c034cfc053dd23cf3 Mon Sep 17 00:00:00 2001 From: Dru Nelson Date: Mon, 14 Aug 2023 17:21:03 -0700 Subject: [PATCH 6/6] Update Readme for v6.0.0 --- Readme.md | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/Readme.md b/Readme.md index e739b67..21918ca 100644 --- a/Readme.md +++ b/Readme.md @@ -3,7 +3,7 @@ __ansi_up__ is an easy to use library that transforms text containing [ANSI color escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors) into HTML. -This module is a single Javascript file with no dependencies. +This module is a single ES6 Javascript file with no dependencies. It is "isomorphic" javascript. This is just another way of saying that the ansi_up.js file will work in both the browser or node.js. The js library is compiled from TypeScript and its type description ships with the NPM. @@ -25,12 +25,13 @@ For example, turn this terminal output: ## Browser Example ```HTML - -