From 0f036e964a8f53a545b1049d3e6a4424753389dd Mon Sep 17 00:00:00 2001 From: lyngai Date: Mon, 21 Aug 2023 14:28:26 +0800 Subject: [PATCH] fix(types): fix type check & security issues (#538) * fix(types): fix type check issues * chore(*): fix yarnrc registry configuration * chore(*): fix type check errors * chore(glob-watcher): force glob-watcher@6.0.0 in resolution --- .npmrc | 1 + .yarnrc | 2 +- package.json | 7 +- src/CherryStatic.js | 5 ++ src/core/hooks/Emphasis.js | 10 ++- src/core/hooks/Header.js | 6 +- src/core/hooks/Strikethrough.js | 8 +-- src/core/hooks/Suggester.js | 4 +- src/core/hooks/Table.js | 6 +- src/core/hooks/Toc.js | 14 +++- src/core/hooks/Transfer.js | 9 ++- src/utils/regexp.js | 8 ++- yarn.lock | 109 ++++++++------------------------ 13 files changed, 87 insertions(+), 102 deletions(-) create mode 100644 .npmrc diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..2467b590 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +registry="https://registry.npmjs.org" diff --git a/.yarnrc b/.yarnrc index 08b5d85c..7262427a 100644 --- a/.yarnrc +++ b/.yarnrc @@ -1 +1 @@ -registry "https://registry.npmjs.org" \ No newline at end of file +registry: https://registry.npmjs.org diff --git a/package.json b/package.json index 22cbaced..8fed4627 100644 --- a/package.json +++ b/package.json @@ -138,7 +138,7 @@ "standard-version": "^9.3.2", "ts-jest": "^27.1.1", "ts-node": "^10.7.0", - "typescript": "4.3.5", + "typescript": "4.5.5", "virtual-dom": "^2.1.1" }, "dependencies": { @@ -152,7 +152,8 @@ "lodash.template": "4.5.0", "yargs-parser": "20.2.9", "xmldom": "0.5.0", - "ansi-regex": "5.0.1" + "ansi-regex": "5.0.1", + "glob-watcher": "6.0.0" }, "config": { "commitizen": { @@ -168,4 +169,4 @@ "engines": { "node": ">=14" } -} +} \ No newline at end of file diff --git a/src/CherryStatic.js b/src/CherryStatic.js index 0d371841..45d20b29 100644 --- a/src/CherryStatic.js +++ b/src/CherryStatic.js @@ -62,4 +62,9 @@ export class CherryStatic { // @ts-ignore PluginClass.$cherry$mounted = true; } + + // for type check only + // TODO: fix this error + // eslint-disable-next-line no-useless-constructor + constructor(...args) {} } diff --git a/src/core/hooks/Emphasis.js b/src/core/hooks/Emphasis.js index 4805bd57..f2a15436 100644 --- a/src/core/hooks/Emphasis.js +++ b/src/core/hooks/Emphasis.js @@ -52,9 +52,13 @@ export default class Emphasis extends SyntaxBase { $str = $str.replace(/(^|\n[\s]*)(\*{2,})((?:.*?)(?:(?:\n.*?)*?))\2/g, converAsterisk); $str = $str.replace(/([^\n*\\\s][ ]*)(\*+)((?:.*?)(?:(?:\n.*?)*?))\2/g, converAsterisk); } else { + // TODO: fix this error + // @ts-expect-error $str = $str.replace(this.RULE.asterisk.reg, converAsterisk); } + // TODO: fix this error + // @ts-expect-error $str = $str.replace(this.RULE.underscore.reg, (match, leading, symbol, text, index, string) => { if (text.trim() === '') { return match; @@ -84,6 +88,10 @@ export default class Emphasis extends SyntaxBase { return this.RULE[flavor].reg && this.RULE[flavor].reg.test(str); } + /** + * TODO: fix type errors, prefer use `rules` for multiple spec instead + * @returns + */ rule({ config } = { config: undefined }) { const allowWhitespace = config ? !!config.allowWhitespace : false; const REGEX = allowWhitespace @@ -104,6 +112,6 @@ export default class Emphasis extends SyntaxBase { asterisk.reg = compileRegExp(asterisk, 'g'); underscore.reg = compileRegExp(underscore, 'g'); - return { asterisk, underscore }; + return /** @type {any} */ ({ asterisk, underscore }); } } diff --git a/src/core/hooks/Header.js b/src/core/hooks/Header.js index 65c97824..0ed0dd34 100644 --- a/src/core/hooks/Header.js +++ b/src/core/hooks/Header.js @@ -195,6 +195,10 @@ export default class Header extends ParagraphBase { return this.RULE[flavor].reg && this.RULE[flavor].reg.test(str); } + /** + * TODO: fix type errors, prefer use `rules` for multiple spec instead + * @returns + */ rule() { // setext Header // TODO: 支持多行标题 @@ -221,6 +225,6 @@ export default class Header extends ParagraphBase { this.strict && (atx.begin += '(?=\\h+)'); // (?=\\s+) for strict mode atx.reg = compileRegExp(atx, 'g', true); - return { setext, atx }; + return /** @type {any} */ ({ setext, atx }); } } diff --git a/src/core/hooks/Strikethrough.js b/src/core/hooks/Strikethrough.js index 9be0b72d..08b1b209 100644 --- a/src/core/hooks/Strikethrough.js +++ b/src/core/hooks/Strikethrough.js @@ -41,12 +41,12 @@ export default class Strikethrough extends SyntaxBase { } rule({ config } = { config: undefined }) { - /** @type {Partial} */ - let ret = {}; + /** @type {import('~types/syntax').BasicHookRegexpRule} */ + let ret = /** @type {any} */ ({}); if (!!config.needWhitespace) { - ret = { begin: '(^|[\\s])\\~T\\~T', end: '\\~T\\~T(?=\\s|$)', content: '([\\w\\W]+?)' }; + ret = { ...ret, begin: '(^|[\\s])\\~T\\~T', end: '\\~T\\~T(?=\\s|$)', content: '([\\w\\W]+?)' }; } else { - ret = { begin: '(^|[^\\\\])\\~T\\~T', end: '\\~T\\~T', content: '([\\w\\W]+?)' }; + ret = { ...ret, begin: '(^|[^\\\\])\\~T\\~T', end: '\\~T\\~T', content: '([\\w\\W]+?)' }; } ret.reg = new RegExp(ret.begin + ret.content + ret.end, 'g'); return ret; diff --git a/src/core/hooks/Suggester.js b/src/core/hooks/Suggester.js index fa41d26b..561c9455 100644 --- a/src/core/hooks/Suggester.js +++ b/src/core/hooks/Suggester.js @@ -264,9 +264,9 @@ export default class Suggester extends SyntaxBase { `${isLookbehindSupported() ? '((? { if (!this.allowMultiToc && !this.isFirstTocToken) { // 需要补齐非捕获的\n,以及第一个分组中的\n @@ -65,6 +67,8 @@ export default class Toc extends ParagraphBase { }); } if (this.test($str, 'standard')) { + // TODO: fix this error + // @ts-expect-error $str = $str.replace(this.RULE.standard.reg, (match, lines, toc) => { if (!this.allowMultiToc && !this.isFirstTocToken) { // 需要补齐非捕获的\n,以及第一个分组中的\n @@ -245,10 +249,14 @@ export default class Toc extends ParagraphBase { match.replace(/(\]\]|\]|】】)([<~])/, '$1\n$2'), ); // 首先识别扩展语法 + // TODO: fix this error + // @ts-expect-error $str = $str.replace(this.RULE.extend.reg, (match, preLinesMatch) => this.$makeToc(headerList, str2Md5, preLinesMatch), ); // 处理标准语法 + // TODO: fix this error + // @ts-expect-error $str = $str.replace(this.RULE.standard.reg, (match, preLinesMatch) => this.$makeToc(headerList, str2Md5, preLinesMatch), ); @@ -261,6 +269,10 @@ export default class Toc extends ParagraphBase { return this.RULE[flavor].reg ? this.RULE[flavor].reg.test(str) : false; } + /** + * TODO: fix type errors, prefer use `rules` for multiple spec instead + * @returns + */ rule() { const extend = { begin: '(?:^|\\n)(\\n*)', @@ -270,6 +282,6 @@ export default class Toc extends ParagraphBase { extend.reg = new RegExp(extend.begin + extend.content + extend.end, 'g'); const standard = { begin: '(?:^|\\n)(\\n*)', end: '(?=$|\\n)', content: '[ ]*(\\[(?:toc|TOC)\\])[ ]*' }; standard.reg = new RegExp(standard.begin + standard.content + standard.end, 'g'); - return { extend, standard }; + return /** @type {any} */ ({ extend, standard }); } } diff --git a/src/core/hooks/Transfer.js b/src/core/hooks/Transfer.js index 19867689..45c8e091 100644 --- a/src/core/hooks/Transfer.js +++ b/src/core/hooks/Transfer.js @@ -23,9 +23,12 @@ export default class Transfer extends SyntaxBase { // } rule() { - const ret = {}; - ret.reg = new RegExp(''); - return ret; + return { + begin: '', + content: '', + end: '', + reg: new RegExp(''), + }; } beforeMakeHtml(str) { diff --git a/src/utils/regexp.js b/src/utils/regexp.js index 571c49c5..540dc2fb 100644 --- a/src/utils/regexp.js +++ b/src/utils/regexp.js @@ -165,9 +165,15 @@ export function getCodeBlockRule() { begin: /(?:^|\n)(\n*((?:>[\t ]*)*)(?:[^\S\n]*))(`{3,})([^`]*?)\n/, content: /([\w\W]*?)/, // '([\\w\\W]*?)', end: /[^\S\n]*\3[ \t]*(?=$|\n+)/, // '\\s*```[ \\t]*(?=$|\\n+)', + reg: new RegExp(''), }; codeBlock.reg = new RegExp(codeBlock.begin.source + codeBlock.content.source + codeBlock.end.source, 'g'); - return codeBlock; + return { + ...codeBlock, + begin: codeBlock.begin.source, + content: codeBlock.content.source, + end: codeBlock.end.source, + }; } /** diff --git a/yarn.lock b/yarn.lock index 2e1ab39f..5b883edd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2178,14 +2178,6 @@ ansi-wrap@0.1.0, ansi-wrap@^0.1.0: resolved "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" integrity sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw== -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" @@ -2432,7 +2424,7 @@ astral-regex@^2.0.0: resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async-done@^1.2.0, async-done@^1.2.2: +async-done@^1.2.2: version "1.3.2" resolved "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2" integrity sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw== @@ -2442,10 +2434,14 @@ async-done@^1.2.0, async-done@^1.2.2: process-nextick-args "^2.0.0" stream-exhaust "^1.0.1" -async-each@^1.0.1: - version "1.0.6" - resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz#52f1d9403818c179b7561e11a5d1b77eb2160e77" - integrity sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg== +async-done@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/async-done/-/async-done-2.0.0.tgz#f1ec5df738c6383a52b0a30d0902fd897329c15a" + integrity sha512-j0s3bzYq9yKIVLKGE/tWlCpa3PfFLcrDZLTSVdnnCTGagXuXBJO4SsY9Xdk/fQBirCkH4evW5xOeJXqlAQFdsw== + dependencies: + end-of-stream "^1.4.4" + once "^1.4.0" + stream-exhaust "^1.0.2" async-settle@^1.0.0: version "1.0.0" @@ -2629,11 +2625,6 @@ big.js@^5.2.2: resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" @@ -2694,7 +2685,7 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^2.3.1, braces@^2.3.2: +braces@^2.3.1: version "2.3.2" resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== @@ -2996,7 +2987,7 @@ cheerio@1.0.0-rc.10: parse5-htmlparser2-tree-adapter "^6.0.1" tslib "^2.2.0" -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.0: +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.0, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -3011,25 +3002,6 @@ cheerio@1.0.0-rc.10: optionalDependencies: fsevents "~2.3.2" -chokidar@^2.0.0: - version "2.1.8" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - chownr@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" @@ -4629,7 +4601,7 @@ encoding@^0.1.13: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.0.0, end-of-stream@^1.1.0: +end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.4: version "1.4.4" resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -5544,7 +5516,7 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@2.3.2, fsevents@^1.2.7, fsevents@^2.3.2, fsevents@~2.3.2: +fsevents@^2.3.2, fsevents@~2.3.2: version "2.3.2" resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -5715,18 +5687,13 @@ glob-stream@^6.1.0: to-absolute-glob "^2.0.0" unique-stream "^2.0.2" -glob-watcher@^5.0.3: - version "5.0.5" - resolved "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz#aa6bce648332924d9a8489be41e3e5c52d4186dc" - integrity sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw== +glob-watcher@6.0.0, glob-watcher@^5.0.3: + version "6.0.0" + resolved "https://registry.npmjs.org/glob-watcher/-/glob-watcher-6.0.0.tgz#8565341978a92233fb3881b8857b4d1e9c6bf080" + integrity sha512-wGM28Ehmcnk2NqRORXFOTOR064L4imSw3EeOqU5bIwUf62eXGwg89WivH6VMahL8zlQHeodzvHpXplrqzrz3Nw== dependencies: - anymatch "^2.0.0" - async-done "^1.2.0" - chokidar "^2.0.0" - is-negated-glob "^1.0.0" - just-debounce "^1.0.0" - normalize-path "^3.0.0" - object.defaults "^1.1.0" + async-done "^2.0.0" + chokidar "^3.5.3" glob@7.2.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.3" @@ -6504,13 +6471,6 @@ is-bigint@^1.0.1: dependencies: has-bigints "^1.0.1" -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== - dependencies: - binary-extensions "^1.0.0" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -7524,11 +7484,6 @@ juice@^8.0.0: slick "^1.12.2" web-resource-inliner "^6.0.1" -just-debounce@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz#2f81a3ad4121a76bc7cb45dbf704c0d76a8e5ddf" - integrity sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ== - khroma@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz#7577de98aed9f36c7a474c4d453d94c0d6c6588b" @@ -8096,7 +8051,7 @@ microbuffer@^1.0.0: resolved "https://registry.npmjs.org/microbuffer/-/microbuffer-1.0.0.tgz#8b3832ed40c87d51f47bb234913a698a756d19d2" integrity sha512-O/SUXauVN4x6RaEJFqSPcXNtLFL+QzJHKZlyDVYFwcDDRVca3Fa/37QXXC+4zAGGa4YhHrHxKXuuHvLDIQECtA== -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.0.4: version "3.1.10" resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -9736,15 +9691,6 @@ readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - readdirp@~3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -10621,7 +10567,7 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" -stream-exhaust@^1.0.1: +stream-exhaust@^1.0.1, stream-exhaust@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== @@ -11406,10 +11352,10 @@ typedarray@^0.0.6: resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@4.3.5: - version "4.3.5" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4" - integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA== +typescript@4.5.5: + version "4.5.5" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" + integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== "typescript@^4.6.4 || ^5.0.0": version "5.1.6" @@ -11545,11 +11491,6 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - update-browserslist-db@^1.0.11: version "1.0.11" resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940"