From 20d4a216711c1eec02ca2989e16ba7ab5f30e1da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Barr=C3=A9?= Date: Sat, 20 Apr 2024 11:39:39 +0200 Subject: [PATCH] Tailwind 3.4.2 [publish] --- CHANGELOG.md | 6 + README.md | 2 + bun.lockb | Bin 95688 -> 109856 bytes package.json | 14 +- src/base/base.css | 7 +- src/coreRules.ts | 6 +- src/index.ts | 21 +- tests/generate.test.ts | 6 +- tests/snapshots/codegen-omit.css | 2 + tests/snapshots/codegen.css | 6 + tests/snapshots/esbuildPlugin.css | 7 +- tests/snapshots/generate.css | 19 +- tests/snapshots/vite-minify.css | 2 +- tests/snapshots/vite.css | 18 +- tests/vitePlugin.test.ts | 8 +- yarn.lock | 785 ++++++++++++++++++++---------- 16 files changed, 605 insertions(+), 304 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f6ca4d0..2bb271e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ ## Unreleased +## 0.7.5 + +- Align `base.css` with Tailwind 3.4.2 +- Support named color (ie `text-[red]` generate a color utility) +- Skip merging of utilities that contains vendor prefixes + ## 0.7.4 - Actually fix plugin usage in build watch mode diff --git a/README.md b/README.md index aac0c5f..66247a3 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,8 @@ export const config: DownwindConfig = async () => { ## Differences with Tailwind +The current implementation aligns with Tailwind 3.4.2. + ### Components Downwind doesn't have the notion of components, but custom rules can be injected before core rules by using `injectFirst: true`. diff --git a/bun.lockb b/bun.lockb index 13d3c4392f11739cc49c04b88f4ed1280a73551b..b07daf961cecb14f7510979ae569e152de7d31ff 100755 GIT binary patch delta 26487 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 diff --git a/package.json b/package.json index 8467788..65b87a4 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "description": "A bundler-first & PostCSS-independent implementation of Tailwind", "private": true, "type": "module", - "version": "0.7.4", + "version": "0.7.5", "author": "Arnaud Barré (https://github.com/ArnaudBarre)", "license": "MIT", "scripts": { @@ -28,14 +28,14 @@ "@arnaud-barre/config-loader": "^0.7.1" }, "devDependencies": { - "@arnaud-barre/eslint-config": "^4.0.1", + "@arnaud-barre/eslint-config": "^4.1.1", "@arnaud-barre/prettier-plugin-sort-imports": "^0.1.3", "@arnaud-barre/tnode": "^0.19.2", - "@types/node": "^20.10.5", - "eslint": "^8.56.0", - "lightningcss": "^1.22.1", + "@types/node": "^20.12.7", + "eslint": "^8.57.0", + "lightningcss": "^1.24.1", "prettier": "3.0.3", - "typescript": "^5.3.3", - "vite": "^5.0.10" + "typescript": "^5.4.5", + "vite": "^5.2.9" } } diff --git a/src/base/base.css b/src/base/base.css index c25f997..a6a6cb7 100644 --- a/src/base/base.css +++ b/src/base/base.css @@ -170,6 +170,7 @@ textarea { font-size: 100%; /* 1 */ font-weight: inherit; /* 1 */ line-height: inherit; /* 1 */ + letter-spacing: inherit; /* 1 */ color: inherit; /* 1 */ margin: 0; /* 2 */ padding: 0; /* 3 */ @@ -190,9 +191,9 @@ select { */ button, -[type="button"], -[type="reset"], -[type="submit"] { +input:where([type="button"]), +input:where([type="reset"]), +input:where([type="submit"]) { -webkit-appearance: button; /* 1 */ background-color: transparent; /* 2 */ background-image: none; /* 2 */ diff --git a/src/coreRules.ts b/src/coreRules.ts index b3593c2..e32de5c 100644 --- a/src/coreRules.ts +++ b/src/coreRules.ts @@ -1023,7 +1023,11 @@ export const getCoreRules = ({ "background-blend-mode", blendModes, ), - mixBlendMode: enumRule("mix-blend-", "mix-blend-mode", blendModes), + mixBlendMode: enumRule( + "mix-blend-", + "mix-blend-mode", + blendModes.concat(["plus-darker", "plus-lighter"]), + ), // Non-compliant: incompatible with ring boxShadow: complexThemeRule("shadow", theme.boxShadow, (value) => typeof value === "string" diff --git a/src/index.ts b/src/index.ts index 68e4c6f..4d780a5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -572,17 +572,12 @@ export const initDownwindWithConfig = ({ nextLines = nextMatch ? getLines(nextMatch) : undefined; if ( lines.length === nextLines?.length && - nextLines.every((l, i) => l === lines[i]) + nextLines.every((l, i) => l === lines[i]) && + !isUnsafeSelector(selector) ) { utilsOutput += `${indentation}${selector},\n`; } else { - utilsOutput += printBlock( - selector, - match.type === "Rule" - ? toCSS(match.ruleEntry, match.important) - : [arbitraryPropertyMatchToLine(match)], - indentation, - ); + utilsOutput += printBlock(selector, lines, indentation); } } @@ -689,6 +684,16 @@ const isMatchesGroupEmpty = (group: MatchesGroup) => { const getOrder = (match: Match) => match.type === "Rule" ? match.ruleEntry.order : Infinity; +// If selector contains a vendor prefix after a pseudo element or class, +// we consider them separately because merging the declarations into +// a single rule will cause browsers that do not understand the +// vendor prefix to throw out the whole rule +// lightningcss smartly separate them afterward, but esbuild does not +// For `:has`, for people that really want progressive enhancement for +// they CSS should use lightningcss as a post processor +const isUnsafeSelector = (selector: string) => + selector.includes(":-") || selector.includes("::-"); + export const staticRules: typeof staticRulesDeclaration = (rules) => Object.entries(rules).map(([key, value]) => [key, Object.entries(value)]); diff --git a/tests/generate.test.ts b/tests/generate.test.ts index f696b3f..04fc57e 100644 --- a/tests/generate.test.ts +++ b/tests/generate.test.ts @@ -89,7 +89,7 @@ const cases: [name: string, content: string, config?: UserConfig][] = [ ], [ "arbitrary-values", - "inset-[-10px] pt-[100px] w-[45%] text-[#ddd] text-[#f009] text-[12px] text-[10px] animate-[highlight_1s_ease-in-out_1] bg-[#ddd]/50 bg-[--primary] bg-red-500/[--opacity] text-[19px]/7 text-[19px]/[27px]", + "inset-[-10px] pt-[100px] w-[45%] text-[#ddd] text-[#f009] text-[red] text-[transparent] text-[12px] text-[10px] animate-[highlight_1s_ease-in-out_1] bg-[#ddd]/50 bg-[--primary] bg-red-500/[--opacity] text-[19px]/7 text-[19px]/[27px]", ], [ "line height modifier", @@ -111,6 +111,10 @@ const cases: [name: string, content: string, config?: UserConfig][] = [ ["max-screen", "sm:max-md:p-2"], ["min-* max=*", "min-[900px]:p-4 max-[1200px]:m-4"], ["group-nested-media", "p-1 sm:p-3 sm:print:p-2 m-1 sm:m-3 sm:print:m-2"], + [ + "skip merge for vendor prefixed", + "[&:-moz-focusring]:outline-none outline-none", + ], ["media-order-stable-1", "portrait:p-1 landscape:p-1"], ["media-order-stable-2", "landscape:p-1 portrait:p-1"], ["supports-*", "supports-[container-type]:grid supports-[display:grid]:grid"], diff --git a/tests/snapshots/codegen-omit.css b/tests/snapshots/codegen-omit.css index a65a787..39e5cb0 100644 --- a/tests/snapshots/codegen-omit.css +++ b/tests/snapshots/codegen-omit.css @@ -9475,6 +9475,8 @@ .mix-blend-saturation{} .mix-blend-color{} .mix-blend-luminosity{} +.mix-blend-plus-darker{} +.mix-blend-plus-lighter{} .shadow-sm{} .shadow{} .shadow-md{} diff --git a/tests/snapshots/codegen.css b/tests/snapshots/codegen.css index 7e68039..31c1b9f 100644 --- a/tests/snapshots/codegen.css +++ b/tests/snapshots/codegen.css @@ -33812,6 +33812,12 @@ .mix-blend-luminosity { mix-blend-mode: luminosity; } +.mix-blend-plus-darker { + mix-blend-mode: plus-darker; +} +.mix-blend-plus-lighter { + mix-blend-mode: plus-lighter; +} .shadow-sm { --tw-shadow-color: rgb(0 0 0 / 0.05); box-shadow: 0 1px 2px 0 var(--tw-shadow-color); diff --git a/tests/snapshots/esbuildPlugin.css b/tests/snapshots/esbuildPlugin.css index 4710c92..7d2f383 100644 --- a/tests/snapshots/esbuildPlugin.css +++ b/tests/snapshots/esbuildPlugin.css @@ -103,6 +103,7 @@ textarea { font-size: 100%; font-weight: inherit; line-height: inherit; + letter-spacing: inherit; color: inherit; margin: 0; padding: 0; @@ -112,9 +113,9 @@ select { text-transform: none; } button, -[type=button], -[type=reset], -[type=submit] { +input:where([type=button]), +input:where([type=reset]), +input:where([type=submit]) { -webkit-appearance: button; background-color: transparent; background-image: none; diff --git a/tests/snapshots/generate.css b/tests/snapshots/generate.css index da842cb..9d1732c 100644 --- a/tests/snapshots/generate.css +++ b/tests/snapshots/generate.css @@ -314,7 +314,7 @@ color:red !important } -/* arbitrary-values: inset-[-10px] pt-[100px] w-[45%] text-[#ddd] text-[#f009] text-[12px] text-[10px] animate-[highlight_1s_ease-in-out_1] bg-[#ddd]/50 bg-[--primary] bg-red-500/[--opacity] text-[19px]/7 text-[19px]/[27px] */ +/* arbitrary-values: inset-[-10px] pt-[100px] w-[45%] text-[#ddd] text-[#f009] text-[red] text-[transparent] text-[12px] text-[10px] animate-[highlight_1s_ease-in-out_1] bg-[#ddd]/50 bg-[--primary] bg-red-500/[--opacity] text-[19px]/7 text-[19px]/[27px] */ .inset-\[-10px\] { inset: -10px; } @@ -357,6 +357,13 @@ .text-\[\#f009\] { color: #f009; } +.text-\[red\] { + --tw-text-opacity: 1; + color: rgb(255 0 0 / var(--tw-text-opacity)); +} +.text-\[transparent\] { + color: transparent; +} /* line height modifier: text-lg/[18px] text-[calc(3rem/5)]/7 text-[calc(3rem/5)]/[calc(4rem/5)] */ .text-lg\/\[18px\] { @@ -465,6 +472,16 @@ html:has(.\[html\:has\(\&\)\]\:bg-blue-500) { } } +/* skip merge for vendor prefixed: [&:-moz-focusring]:outline-none outline-none */ +.\[\&\:-moz-focusring\]\:outline-none:-moz-focusring { + outline: 2px solid transparent; + outline-offset: 2px; +} +.outline-none { + outline: 2px solid transparent; + outline-offset: 2px; +} + /* media-order-stable-1: portrait:p-1 landscape:p-1 */ @media (orientation: portrait) { .portrait\:p-1 { diff --git a/tests/snapshots/vite-minify.css b/tests/snapshots/vite-minify.css index aac52c2..6243664 100644 --- a/tests/snapshots/vite-minify.css +++ b/tests/snapshots/vite-minify.css @@ -1 +1 @@ -*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{color:inherit;border-top-width:1px;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none}html{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity));height:100%;overflow:hidden}.WXqopW_container{text-align:center;padding:3rem}.WXqopW_container .WXqopW_title{font-size:1.25rem;font-weight:700;line-height:1.75rem}*,:before,:after{--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: }::backdrop{--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: }.btn{--tw-shadow-color:#0000001a;box-shadow:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);border-radius:.5rem;padding:.5rem 1rem;font-weight:600}.btn-green{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.btn-green:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.mt-4{margin-top:1rem}.p-4{padding:1rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal)var(--tw-slashed-zero)var(--tw-numeric-figure)var(--tw-numeric-spacing)var(--tw-numeric-fraction)} +*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{color:inherit;border-top-width:1px;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button{-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=button]){-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=reset]){-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none}html{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity));height:100%;overflow:hidden}.WXqopW_container{text-align:center;padding:3rem}.WXqopW_container .WXqopW_title{font-size:1.25rem;font-weight:700;line-height:1.75rem}*,:before,:after{--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: }::backdrop{--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: }.btn{--tw-shadow-color:#0000001a;box-shadow:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);border-radius:.5rem;padding:.5rem 1rem;font-weight:600}.btn-green{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.btn-green:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.mt-4{margin-top:1rem}.p-4{padding:1rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal)var(--tw-slashed-zero)var(--tw-numeric-figure)var(--tw-numeric-spacing)var(--tw-numeric-fraction)} diff --git a/tests/snapshots/vite.css b/tests/snapshots/vite.css index cc02713..325c5cf 100644 --- a/tests/snapshots/vite.css +++ b/tests/snapshots/vite.css @@ -9,10 +9,9 @@ html, :host { -webkit-text-size-adjust: 100%; - -moz-tab-size: 4; tab-size: 4; -webkit-tap-highlight-color: transparent; - font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Noto Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; + font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; line-height: 1.5; } @@ -28,7 +27,6 @@ hr { } abbr:where([title]) { - -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } @@ -39,7 +37,6 @@ h1, h2, h3, h4, h5, h6 { a { color: inherit; - -webkit-text-decoration: inherit; text-decoration: inherit; } @@ -84,6 +81,7 @@ button, input, optgroup, select, textarea { font-size: 100%; font-weight: inherit; line-height: inherit; + letter-spacing: inherit; color: inherit; margin: 0; padding: 0; @@ -93,7 +91,7 @@ button, select { text-transform: none; } -button, [type="button"], [type="reset"], [type="submit"] { +button, input:where([type="button"]), input:where([type="reset"]), input:where([type="submit"]) { -webkit-appearance: button; background-color: #0000; background-image: none; @@ -208,15 +206,7 @@ html { font-weight: 700; line-height: 1.75rem; } -*, :before, :after { - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; -} - -::backdrop { +*, :before, :after, ::backdrop { --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; diff --git a/tests/vitePlugin.test.ts b/tests/vitePlugin.test.ts index 6100022..d8e4363 100644 --- a/tests/vitePlugin.test.ts +++ b/tests/vitePlugin.test.ts @@ -11,8 +11,12 @@ pluginSnapshotTest("vite", async () => { root, plugins: [downwind()], logLevel: "warn", - css: { transformer: "lightningcss" }, - build: { cssMinify: false, target: ["chrome104"] }, + css: { + transformer: "lightningcss", + // eslint-disable-next-line no-bitwise + lightningcss: { targets: { chrome: 104 << 16 } }, + }, + build: { cssMinify: false }, configFile: false, }); return readFileSync( diff --git a/yarn.lock b/yarn.lock index a05a082..264aa7c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,6 +1,6 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 -# bun ./bun.lockb --hash: FAA03FF85A292BF7-e4b639b18626d8f7-63BEA116E804A0ED-594a1f01568ffb60 +# bun ./bun.lockb --hash: C3DDB688ED781FF9-b2708783d851c315-28F2BE440DD291DC-1a0e093fa729a167 "@aashutoshrathi/word-wrap@^1.2.3": @@ -15,27 +15,27 @@ dependencies: esbuild "^0.19" -"@arnaud-barre/eslint-config@^4.0.1": - version "4.0.1" - resolved "https://registry.npmjs.org/@arnaud-barre/eslint-config/-/eslint-config-4.0.1.tgz" - integrity sha512-y5ixEjE9OZjlTxgnwF4IOeCLDwG5gJ+QmgArqe4QiYUg6KhpUYwjxS4vVEwe69rIatkOLxN+bRrXaqkW7fXQbQ== +"@arnaud-barre/eslint-config@^4.1.1": + version "4.1.1" + resolved "https://registry.npmjs.org/@arnaud-barre/eslint-config/-/eslint-config-4.1.1.tgz" + integrity sha512-/pj45Au3nmafm6DYxLp2d9j/wNtPY3lgV3QwBGfkA4JPcEZomIU9wtKoPXUaH3GKtefe/1y4NZD2obfv/BYy9A== dependencies: - "@arnaud-barre/eslint-plugin" "^1.2.9" + "@arnaud-barre/eslint-plugin" "^1.3.1" "@arnaud-barre/eslint-plugin-local" "^2.0.0" - "@typescript-eslint/eslint-plugin" "^6.13.1" - "@typescript-eslint/parser" "^6.13.1" + "@typescript-eslint/eslint-plugin" "^7.5.0" + "@typescript-eslint/parser" "^7.5.0" confusing-browser-globals "^1.0.11" eslint-plugin-react-hooks "^4.6.0" - eslint-plugin-react-refresh "^0.4.5" + eslint-plugin-react-refresh "^0.4.6" eslint-plugin-unicorn "^49.0.0" -"@arnaud-barre/eslint-plugin@^1.2.9": - version "1.2.9" - resolved "https://registry.npmjs.org/@arnaud-barre/eslint-plugin/-/eslint-plugin-1.2.9.tgz" - integrity sha512-hHRCRajJb5qJAdxco0/8Lps0924acMFcAZNdpja7cqZX17wRP8xlQ8Nnvv9Rhh5CTvaJyvLtKT+El41VHsmWRQ== +"@arnaud-barre/eslint-plugin@^1.3.1": + version "1.3.1" + resolved "https://registry.npmjs.org/@arnaud-barre/eslint-plugin/-/eslint-plugin-1.3.1.tgz" + integrity sha512-gVSxVs4G07jVctlVXwsC0UEyCAdFW+nhv7qpqeXjybcSgBVfY/ISe9dcxuoybOKqqHRFwLmGh1ut9zmUSCP6Bw== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/utils" "^6.13.1" + "@typescript-eslint/utils" "^7.5.0" "@arnaud-barre/eslint-plugin-local@^2.0.0": version "2.0.0" @@ -81,116 +81,231 @@ resolved "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz" integrity sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q== +"@esbuild/aix-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz" + integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== + "@esbuild/android-arm@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.10.tgz" integrity sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w== +"@esbuild/android-arm@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz" + integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== + "@esbuild/android-arm64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz" integrity sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q== +"@esbuild/android-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz" + integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== + "@esbuild/android-x64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.10.tgz" integrity sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw== +"@esbuild/android-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz" + integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== + "@esbuild/darwin-arm64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz" integrity sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA== +"@esbuild/darwin-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz" + integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== + "@esbuild/darwin-x64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz" integrity sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA== +"@esbuild/darwin-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz" + integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== + "@esbuild/freebsd-arm64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz" integrity sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg== +"@esbuild/freebsd-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz" + integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== + "@esbuild/freebsd-x64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz" integrity sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag== +"@esbuild/freebsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz" + integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== + "@esbuild/linux-arm@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz" integrity sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg== +"@esbuild/linux-arm@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz" + integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== + "@esbuild/linux-arm64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz" integrity sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ== +"@esbuild/linux-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz" + integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== + "@esbuild/linux-ia32@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz" integrity sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg== +"@esbuild/linux-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz" + integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== + "@esbuild/linux-loong64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz" integrity sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA== +"@esbuild/linux-loong64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz" + integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== + "@esbuild/linux-mips64el@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz" integrity sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A== +"@esbuild/linux-mips64el@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz" + integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== + "@esbuild/linux-ppc64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz" integrity sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ== +"@esbuild/linux-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz" + integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== + "@esbuild/linux-riscv64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz" integrity sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA== +"@esbuild/linux-riscv64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz" + integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== + "@esbuild/linux-s390x@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz" integrity sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA== +"@esbuild/linux-s390x@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz" + integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== + "@esbuild/linux-x64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz" integrity sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA== +"@esbuild/linux-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz" + integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== + "@esbuild/netbsd-x64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz" integrity sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q== +"@esbuild/netbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz" + integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== + "@esbuild/openbsd-x64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz" integrity sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg== +"@esbuild/openbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz" + integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== + "@esbuild/sunos-x64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz" integrity sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA== +"@esbuild/sunos-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz" + integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== + "@esbuild/win32-arm64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz" integrity sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw== +"@esbuild/win32-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz" + integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== + "@esbuild/win32-ia32@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz" integrity sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ== +"@esbuild/win32-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz" + integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== + "@esbuild/win32-x64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz" integrity sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA== +"@esbuild/win32-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz" + integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== + "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" @@ -198,7 +313,7 @@ dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": version "4.10.0" resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== @@ -223,6 +338,11 @@ resolved "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz" integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== +"@eslint/js@8.57.0": + version "8.57.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz" + integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== + "@humanwhocodes/config-array@^0.11.13": version "0.11.13" resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz" @@ -232,6 +352,15 @@ debug "^4.1.1" minimatch "^3.0.5" +"@humanwhocodes/config-array@^0.11.14": + version "0.11.14" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + dependencies: + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" + minimatch "^3.0.5" + "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" @@ -242,6 +371,11 @@ resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz" integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.3" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" @@ -263,80 +397,100 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@rollup/rollup-android-arm-eabi@4.9.1": - version "4.9.1" - resolved "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.1.tgz" - integrity sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig== - -"@rollup/rollup-android-arm64@4.9.1": - version "4.9.1" - resolved "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.1.tgz" - integrity sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ== - -"@rollup/rollup-darwin-arm64@4.9.1": - version "4.9.1" - resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.1.tgz" - integrity sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA== - -"@rollup/rollup-darwin-x64@4.9.1": - version "4.9.1" - resolved "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.1.tgz" - integrity sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og== - -"@rollup/rollup-linux-arm-gnueabihf@4.9.1": - version "4.9.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.1.tgz" - integrity sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q== - -"@rollup/rollup-linux-arm64-gnu@4.9.1": - version "4.9.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.1.tgz" - integrity sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q== - -"@rollup/rollup-linux-arm64-musl@4.9.1": - version "4.9.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.1.tgz" - integrity sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw== - -"@rollup/rollup-linux-riscv64-gnu@4.9.1": - version "4.9.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.1.tgz" - integrity sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw== - -"@rollup/rollup-linux-x64-gnu@4.9.1": - version "4.9.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.1.tgz" - integrity sha512-kr8rEPQ6ns/Lmr/hiw8sEVj9aa07gh1/tQF2Y5HrNCCEPiCBGnBUt9tVusrcBBiJfIt1yNaXN6r1CCmpbFEDpg== - -"@rollup/rollup-linux-x64-musl@4.9.1": - version "4.9.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.1.tgz" - integrity sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw== - -"@rollup/rollup-win32-arm64-msvc@4.9.1": - version "4.9.1" - resolved "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.1.tgz" - integrity sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g== - -"@rollup/rollup-win32-ia32-msvc@4.9.1": - version "4.9.1" - resolved "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.1.tgz" - integrity sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg== - -"@rollup/rollup-win32-x64-msvc@4.9.1": - version "4.9.1" - resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.1.tgz" - integrity sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA== - -"@types/json-schema@^7.0.12": +"@rollup/rollup-android-arm-eabi@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.15.0.tgz" + integrity sha512-O63bJ7p909pRRQfOJ0k/Jp8gNFMud+ZzLLG5EBWquylHxmRT2k18M2ifg8WyjCgFVdpA7+rI0YZ8EkAtg6dSUw== + +"@rollup/rollup-android-arm64@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.15.0.tgz" + integrity sha512-5UywPdmC9jiVOShjQx4uuIcnTQOf85iA4jgg8bkFoH5NYWFfAfrJpv5eeokmTdSmYwUTT5IrcrBCJNkowhrZDA== + +"@rollup/rollup-darwin-arm64@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.15.0.tgz" + integrity sha512-hNkt75uFfWpRxHItCBmbS0ba70WnibJh6yz60WShSWITLlVRbkvAu1E/c7RlliPY4ajhqJd0UPZz//gNalTd4g== + +"@rollup/rollup-darwin-x64@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.15.0.tgz" + integrity sha512-HnC5bTP7qdfO9nUw/mBhNcjOEZfbS8NwV+nFegiMhYOn1ATAGZF4kfAxR9BuZevBrebWCxMmxm8NCU1CUoz+wQ== + +"@rollup/rollup-linux-arm-gnueabihf@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.15.0.tgz" + integrity sha512-QGOIQIJZeIIqMsc4BUGe8TnV4dkXhSW2EhaQ1G4LqMUNpkyeLztvlDlOoNHn7SR7a4dBANdcEbPkkEzz3rzjzA== + +"@rollup/rollup-linux-arm-musleabihf@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.15.0.tgz" + integrity sha512-PS/Cp8CinYgoysQ8i4UXYH/TZl06fXszvY/RDkyBYgUB1+tKyOMS925/4FZhfrhkl3XQEKjMc3BKtsxpB9Tz9Q== + +"@rollup/rollup-linux-arm64-gnu@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.15.0.tgz" + integrity sha512-XzOsnD6lGDP+k+vGgTYAryVGu8N89qpjMN5BVFUj75dGVFP3FzIVAufJAraxirpDwEQZA7Gjs0Vo5p4UmnnjsA== + +"@rollup/rollup-linux-arm64-musl@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.15.0.tgz" + integrity sha512-+ScJA4Epbx/ZQGjDnbvTAcb8ZD06b+TlIka2UkujbKf1I/A+yrvEcJwG3/27zMmvcWMQyeCJhbL9TlSjzL0B7Q== + +"@rollup/rollup-linux-powerpc64le-gnu@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.15.0.tgz" + integrity sha512-1cUSvYgnyTakM4FDyf/GxUCDcqmj/hUh1NOizEOJU7+D5xEfFGCxgcNOs3hYBeRMUCcGmGkt01EhD3ILgKpGHQ== + +"@rollup/rollup-linux-riscv64-gnu@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.15.0.tgz" + integrity sha512-3A1FbHDbBUvpJXFAZwVsiROIcstVHP9AX/cwnyIhAp+xyQ1cBCxywKtuzmw0Av1MDNNg/y/9dDHtNypfRa8bdw== + +"@rollup/rollup-linux-s390x-gnu@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.15.0.tgz" + integrity sha512-hYPbhg9ow6/mXIkojc8LOeiip2sCTuw1taWyoOXTOWk9vawIXz8x7B4KkgWUAtvAElssxhSyEXr2EZycH/FGzQ== + +"@rollup/rollup-linux-x64-gnu@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.15.0.tgz" + integrity sha512-511qln5mPSUKwv7HI28S1jCD1FK+2WbX5THM9A9annr3c1kzmfnf8Oe3ZakubEjob3IV6OPnNNcesfy+adIrmw== + +"@rollup/rollup-linux-x64-musl@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.15.0.tgz" + integrity sha512-4qKKGTDIv2bQZ+afhPWqPL+94+dLtk4lw1iwbcylKlLNqQ/Yyjof2CFYBxf6npiDzPV+zf4EWRiHb26/4Vsm9w== + +"@rollup/rollup-win32-arm64-msvc@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.15.0.tgz" + integrity sha512-nEtaFBHp1OnbOf+tz66DtID579sNRHGgMC23to8HUyVuOCpCMD0CvRNqiDGLErLNnwApWIUtUl1VvuovCWUxwg== + +"@rollup/rollup-win32-ia32-msvc@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.15.0.tgz" + integrity sha512-5O49NykwSgX6iT2HgZ6cAoGHt6T/FqNMB5OqFOGxU/y1GyFSHquox1sK2OqApQc0ANxiHFQEMNDLNVCL7AUDnQ== + +"@rollup/rollup-win32-x64-msvc@4.15.0": + version "4.15.0" + resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.15.0.tgz" + integrity sha512-YA0hTwCunmKNeTOFWdJuKhdXse9jBqgo34FDo+9aS0spfCkp+wj0o1bCcOOTu+0P48O95GTfkLTAaVonwNuIdQ== + +"@types/estree@1.0.5": + version "1.0.5" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/json-schema@^7.0.15": version "7.0.15" resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== -"@types/node@^18.0.0 || >=20.0.0", "@types/node@^20.10.5": - version "20.10.5" - resolved "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz" - integrity sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw== +"@types/node@^18.0.0 || >=20.0.0", "@types/node@^20.12.7": + version "20.12.7" + resolved "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz" + integrity sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== dependencies: undici-types "~5.26.4" @@ -345,95 +499,96 @@ resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz" integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== -"@types/semver@^7.5.0": - version "7.5.6" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz" - integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== - -"@typescript-eslint/eslint-plugin@^6.13.1": - version "6.15.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.15.0.tgz" - integrity sha512-j5qoikQqPccq9QoBAupOP+CBu8BaJ8BLjaXSioDISeTZkVO3ig7oSIKh3H+rEpee7xCXtWwSB4KIL5l6hWZzpg== - dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.15.0" - "@typescript-eslint/type-utils" "6.15.0" - "@typescript-eslint/utils" "6.15.0" - "@typescript-eslint/visitor-keys" "6.15.0" +"@types/semver@^7.5.8": + version "7.5.8" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + +"@typescript-eslint/eslint-plugin@^7.5.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz" + integrity sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "7.7.0" + "@typescript-eslint/type-utils" "7.7.0" + "@typescript-eslint/utils" "7.7.0" + "@typescript-eslint/visitor-keys" "7.7.0" debug "^4.3.4" graphemer "^1.4.0" - ignore "^5.2.4" + ignore "^5.3.1" natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/parser@^6.0.0 || ^6.0.0-alpha", "@typescript-eslint/parser@^6.13.1": - version "6.15.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.15.0.tgz" - integrity sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA== - dependencies: - "@typescript-eslint/scope-manager" "6.15.0" - "@typescript-eslint/types" "6.15.0" - "@typescript-eslint/typescript-estree" "6.15.0" - "@typescript-eslint/visitor-keys" "6.15.0" + semver "^7.6.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/parser@^7.0.0", "@typescript-eslint/parser@^7.5.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.0.tgz" + integrity sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg== + dependencies: + "@typescript-eslint/scope-manager" "7.7.0" + "@typescript-eslint/types" "7.7.0" + "@typescript-eslint/typescript-estree" "7.7.0" + "@typescript-eslint/visitor-keys" "7.7.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@6.15.0": - version "6.15.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.15.0.tgz" - integrity sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg== +"@typescript-eslint/scope-manager@7.7.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz" + integrity sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw== dependencies: - "@typescript-eslint/types" "6.15.0" - "@typescript-eslint/visitor-keys" "6.15.0" + "@typescript-eslint/types" "7.7.0" + "@typescript-eslint/visitor-keys" "7.7.0" -"@typescript-eslint/type-utils@6.15.0": - version "6.15.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.15.0.tgz" - integrity sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ== +"@typescript-eslint/type-utils@7.7.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz" + integrity sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg== dependencies: - "@typescript-eslint/typescript-estree" "6.15.0" - "@typescript-eslint/utils" "6.15.0" + "@typescript-eslint/typescript-estree" "7.7.0" + "@typescript-eslint/utils" "7.7.0" debug "^4.3.4" - ts-api-utils "^1.0.1" + ts-api-utils "^1.3.0" -"@typescript-eslint/types@6.15.0": - version "6.15.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.15.0.tgz" - integrity sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ== +"@typescript-eslint/types@7.7.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.0.tgz" + integrity sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w== -"@typescript-eslint/typescript-estree@6.15.0": - version "6.15.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.15.0.tgz" - integrity sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew== +"@typescript-eslint/typescript-estree@7.7.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz" + integrity sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ== dependencies: - "@typescript-eslint/types" "6.15.0" - "@typescript-eslint/visitor-keys" "6.15.0" + "@typescript-eslint/types" "7.7.0" + "@typescript-eslint/visitor-keys" "7.7.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" -"@typescript-eslint/utils@6.15.0", "@typescript-eslint/utils@^6.13.1": - version "6.15.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.15.0.tgz" - integrity sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw== +"@typescript-eslint/utils@7.7.0", "@typescript-eslint/utils@^7.5.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz" + integrity sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.15.0" - "@typescript-eslint/types" "6.15.0" - "@typescript-eslint/typescript-estree" "6.15.0" - semver "^7.5.4" - -"@typescript-eslint/visitor-keys@6.15.0": - version "6.15.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.15.0.tgz" - integrity sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w== - dependencies: - "@typescript-eslint/types" "6.15.0" - eslint-visitor-keys "^3.4.1" + "@types/json-schema" "^7.0.15" + "@types/semver" "^7.5.8" + "@typescript-eslint/scope-manager" "7.7.0" + "@typescript-eslint/types" "7.7.0" + "@typescript-eslint/typescript-estree" "7.7.0" + semver "^7.6.0" + +"@typescript-eslint/visitor-keys@7.7.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz" + integrity sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA== + dependencies: + "@typescript-eslint/types" "7.7.0" + eslint-visitor-keys "^3.4.3" "@ungap/structured-clone@^1.2.0": version "1.2.0" @@ -502,6 +657,13 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + braces@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" @@ -591,7 +753,7 @@ cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" -debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: +debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -629,7 +791,7 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -esbuild@^0.19, esbuild@^0.19.3: +esbuild@^0.19: version "0.19.10" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.19.10.tgz" integrity sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA== @@ -658,6 +820,35 @@ esbuild@^0.19, esbuild@^0.19.3: "@esbuild/win32-ia32" "0.19.10" "@esbuild/win32-x64" "0.19.10" +esbuild@^0.20.1: + version "0.20.2" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz" + integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== + optionalDependencies: + "@esbuild/aix-ppc64" "0.20.2" + "@esbuild/android-arm" "0.20.2" + "@esbuild/android-arm64" "0.20.2" + "@esbuild/android-x64" "0.20.2" + "@esbuild/darwin-arm64" "0.20.2" + "@esbuild/darwin-x64" "0.20.2" + "@esbuild/freebsd-arm64" "0.20.2" + "@esbuild/freebsd-x64" "0.20.2" + "@esbuild/linux-arm" "0.20.2" + "@esbuild/linux-arm64" "0.20.2" + "@esbuild/linux-ia32" "0.20.2" + "@esbuild/linux-loong64" "0.20.2" + "@esbuild/linux-mips64el" "0.20.2" + "@esbuild/linux-ppc64" "0.20.2" + "@esbuild/linux-riscv64" "0.20.2" + "@esbuild/linux-s390x" "0.20.2" + "@esbuild/linux-x64" "0.20.2" + "@esbuild/netbsd-x64" "0.20.2" + "@esbuild/openbsd-x64" "0.20.2" + "@esbuild/sunos-x64" "0.20.2" + "@esbuild/win32-arm64" "0.20.2" + "@esbuild/win32-ia32" "0.20.2" + "@esbuild/win32-x64" "0.20.2" + escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" @@ -668,7 +859,7 @@ escape-string-regexp@^4.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint@>=7, eslint@>=8.52.0, "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.0.0 || ^8.0.0", eslint@^8.55.0, eslint@^8.56.0: +eslint@>=8.52.0, "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0": version "8.56.0" resolved "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz" integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== @@ -712,15 +903,59 @@ eslint@>=7, eslint@>=8.52.0, "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7. strip-ansi "^6.0.1" text-table "^0.2.0" +eslint@>=7, eslint@^8.56.0, eslint@^8.57.0: + version "8.57.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" + integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.0" + "@humanwhocodes/config-array" "^0.11.14" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + eslint-plugin-react-hooks@^4.6.0: version "4.6.0" resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== -eslint-plugin-react-refresh@^0.4.5: - version "0.4.5" - resolved "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.5.tgz" - integrity sha512-D53FYKJa+fDmZMtriODxvhwrO+IOqrxoEo21gMA0sjHdU6dPVH4OhyFip9ypl8HOF5RV5KdTo+rBQLvnY2cO8w== +eslint-plugin-react-refresh@^0.4.6: + version "0.4.6" + resolved "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.6.tgz" + integrity sha512-NjGXdm7zgcKRkKMua34qVO9doI7VOxZ6ancSvBELJSSoX97jyndXcSoa8XBh69JoB31dNz3EEzlMcizZl7LaMA== eslint-plugin-unicorn@^49.0.0: version "49.0.0" @@ -952,11 +1187,16 @@ hosted-git-info@^2.1.4: resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -ignore@^5.2.0, ignore@^5.2.4: +ignore@^5.2.0: version "5.3.0" resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz" integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== +ignore@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" @@ -1091,67 +1331,67 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -lightningcss@^1.21.0, lightningcss@^1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.22.1.tgz" - integrity sha512-Fy45PhibiNXkm0cK5FJCbfO8Y6jUpD/YcHf/BtuI+jvYYqSXKF4muk61jjE8YxCR9y+hDYIWSzHTc+bwhDE6rQ== +lightningcss@^1.21.0, lightningcss@^1.24.1: + version "1.24.1" + resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.24.1.tgz" + integrity sha512-kUpHOLiH5GB0ERSv4pxqlL0RYKnOXtgGtVe7shDGfhS0AZ4D1ouKFYAcLcZhql8aMspDNzaUCumGHZ78tb2fTg== dependencies: detect-libc "^1.0.3" optionalDependencies: - lightningcss-darwin-x64 "1.22.1" - lightningcss-linux-x64-gnu "1.22.1" - lightningcss-win32-x64-msvc "1.22.1" - lightningcss-darwin-arm64 "1.22.1" - lightningcss-linux-arm64-gnu "1.22.1" - lightningcss-linux-arm-gnueabihf "1.22.1" - lightningcss-linux-arm64-musl "1.22.1" - lightningcss-linux-x64-musl "1.22.1" - lightningcss-freebsd-x64 "1.22.1" - -lightningcss-darwin-arm64@1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.22.1.tgz" - integrity sha512-ldvElu+R0QimNTjsKpaZkUv3zf+uefzLy/R1R19jtgOfSRM+zjUCUgDhfEDRmVqJtMwYsdhMI2aJtJChPC6Osg== - -lightningcss-darwin-x64@1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.22.1.tgz" - integrity sha512-5p2rnlVTv6Gpw4PlTLq925nTVh+HFh4MpegX8dPDYJae+NFVjQ67gY7O6iHIzQjLipDiYejFF0yHrhjU3XgLBQ== - -lightningcss-freebsd-x64@1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.22.1.tgz" - integrity sha512-1FaBtcFrZqB2hkFbAxY//Pnp8koThvyB6AhjbdVqKD4/pu13Rl91fKt2N9qyeQPUt3xy7ORUvSO+dPk3J6EjXg== - -lightningcss-linux-arm-gnueabihf@1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.22.1.tgz" - integrity sha512-6rub98tYGfE5I5j0BP8t/2d4BZyu1S7Iz9vUkm0H26snAFHYxLfj3RbQn0xHHIePSetjLnhcg3QlfwUAkD/FYg== - -lightningcss-linux-arm64-gnu@1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.22.1.tgz" - integrity sha512-nYO5qGtb/1kkTZu3FeTiM+2B2TAb7m2DkLCTgQIs2bk2o9aEs7I96fwySKcoHWQAiQDGR9sMux9vkV4KQXqPaQ== - -lightningcss-linux-arm64-musl@1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.22.1.tgz" - integrity sha512-MCV6RuRpzXbunvzwY644iz8cw4oQxvW7oer9xPkdadYqlEyiJJ6wl7FyJOH7Q6ZYH4yjGAUCvxDBxPbnDu9ZVg== - -lightningcss-linux-x64-gnu@1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.22.1.tgz" - integrity sha512-RjNgpdM20VUXgV7us/VmlO3Vn2ZRiDnc3/bUxCVvySZWPiVPprpqW/QDWuzkGa+NCUf6saAM5CLsZLSxncXJwg== - -lightningcss-linux-x64-musl@1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.22.1.tgz" - integrity sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA== - -lightningcss-win32-x64-msvc@1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.22.1.tgz" - integrity sha512-4pozV4eyD0MDET41ZLHAeBo+H04Nm2UEYIk5w/ts40231dRFV7E0cjwbnZvSoc1DXFgecAhiC0L16ruv/ZDCpg== + lightningcss-darwin-x64 "1.24.1" + lightningcss-linux-x64-gnu "1.24.1" + lightningcss-win32-x64-msvc "1.24.1" + lightningcss-darwin-arm64 "1.24.1" + lightningcss-linux-arm64-gnu "1.24.1" + lightningcss-linux-arm-gnueabihf "1.24.1" + lightningcss-linux-arm64-musl "1.24.1" + lightningcss-linux-x64-musl "1.24.1" + lightningcss-freebsd-x64 "1.24.1" + +lightningcss-darwin-arm64@1.24.1: + version "1.24.1" + resolved "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.24.1.tgz" + integrity sha512-1jQ12jBy+AE/73uGQWGSafK5GoWgmSiIQOGhSEXiFJSZxzV+OXIx+a9h2EYHxdJfX864M+2TAxWPWb0Vv+8y4w== + +lightningcss-darwin-x64@1.24.1: + version "1.24.1" + resolved "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.24.1.tgz" + integrity sha512-R4R1d7VVdq2mG4igMU+Di8GPf0b64ZLnYVkubYnGG0Qxq1KaXQtAzcLI43EkpnoWvB/kUg8JKCWH4S13NfiLcQ== + +lightningcss-freebsd-x64@1.24.1: + version "1.24.1" + resolved "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.24.1.tgz" + integrity sha512-z6NberUUw5ALES6Ixn2shmjRRrM1cmEn1ZQPiM5IrZ6xHHL5a1lPin9pRv+w6eWfcrEo+qGG6R9XfJrpuY3e4g== + +lightningcss-linux-arm-gnueabihf@1.24.1: + version "1.24.1" + resolved "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.24.1.tgz" + integrity sha512-NLQLnBQW/0sSg74qLNI8F8QKQXkNg4/ukSTa+XhtkO7v3BnK19TS1MfCbDHt+TTdSgNEBv0tubRuapcKho2EWw== + +lightningcss-linux-arm64-gnu@1.24.1: + version "1.24.1" + resolved "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.24.1.tgz" + integrity sha512-AQxWU8c9E9JAjAi4Qw9CvX2tDIPjgzCTrZCSXKELfs4mCwzxRkHh2RCxX8sFK19RyJoJAjA/Kw8+LMNRHS5qEg== + +lightningcss-linux-arm64-musl@1.24.1: + version "1.24.1" + resolved "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.24.1.tgz" + integrity sha512-JCgH/SrNrhqsguUA0uJUM1PvN5+dVuzPIlXcoWDHSv2OU/BWlj2dUYr3XNzEw748SmNZPfl2NjQrAdzaPOn1lA== + +lightningcss-linux-x64-gnu@1.24.1: + version "1.24.1" + resolved "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.24.1.tgz" + integrity sha512-TYdEsC63bHV0h47aNRGN3RiK7aIeco3/keN4NkoSQ5T8xk09KHuBdySltWAvKLgT8JvR+ayzq8ZHnL1wKWY0rw== + +lightningcss-linux-x64-musl@1.24.1: + version "1.24.1" + resolved "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.24.1.tgz" + integrity sha512-HLfzVik3RToot6pQ2Rgc3JhfZkGi01hFetHt40HrUMoeKitLoqUUT5owM6yTZPTytTUW9ukLBJ1pc3XNMSvlLw== + +lightningcss-win32-x64-msvc@1.24.1: + version "1.24.1" + resolved "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.24.1.tgz" + integrity sha512-joEupPjYJ7PjZtDsS5lzALtlAudAbgIBMGJPNeFe5HfdmJXFd13ECmEM+5rXNxYVMRHua2w8132R6ab5Z6K9Ow== lines-and-columns@^1.1.6: version "1.2.4" @@ -1209,6 +1449,13 @@ minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" +minimatch@^9.0.4: + version "9.0.4" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + ms@2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" @@ -1343,14 +1590,14 @@ pluralize@^8.0.0: resolved "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== -postcss@^8.4.32: - version "8.4.32" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz" - integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw== +postcss@^8.4.38: + version "8.4.38" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== dependencies: nanoid "^3.3.7" picocolors "^1.0.0" - source-map-js "^1.0.2" + source-map-js "^1.2.0" prelude-ls@^1.2.1: version "1.2.1" @@ -1429,25 +1676,30 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" -rollup@^4.2.0: - version "4.9.1" - resolved "https://registry.npmjs.org/rollup/-/rollup-4.9.1.tgz" - integrity sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw== +rollup@^4.13.0: + version "4.15.0" + resolved "https://registry.npmjs.org/rollup/-/rollup-4.15.0.tgz" + integrity sha512-i0ir57IMF5o7YvNYyUNeIGG+IZaaucnGZAOsSctO2tPLXlCEaZzyBa+QhpHNSgtpyLMoDev2DyN6a7J1dQA8Tw== + dependencies: + "@types/estree" "1.0.5" optionalDependencies: fsevents "~2.3.2" - "@rollup/rollup-darwin-arm64" "4.9.1" - "@rollup/rollup-android-arm64" "4.9.1" - "@rollup/rollup-win32-arm64-msvc" "4.9.1" - "@rollup/rollup-linux-arm64-gnu" "4.9.1" - "@rollup/rollup-linux-arm64-musl" "4.9.1" - "@rollup/rollup-android-arm-eabi" "4.9.1" - "@rollup/rollup-linux-arm-gnueabihf" "4.9.1" - "@rollup/rollup-win32-ia32-msvc" "4.9.1" - "@rollup/rollup-linux-riscv64-gnu" "4.9.1" - "@rollup/rollup-darwin-x64" "4.9.1" - "@rollup/rollup-win32-x64-msvc" "4.9.1" - "@rollup/rollup-linux-x64-gnu" "4.9.1" - "@rollup/rollup-linux-x64-musl" "4.9.1" + "@rollup/rollup-darwin-arm64" "4.15.0" + "@rollup/rollup-android-arm64" "4.15.0" + "@rollup/rollup-win32-arm64-msvc" "4.15.0" + "@rollup/rollup-linux-arm64-gnu" "4.15.0" + "@rollup/rollup-linux-arm64-musl" "4.15.0" + "@rollup/rollup-android-arm-eabi" "4.15.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.15.0" + "@rollup/rollup-linux-arm-musleabihf" "4.15.0" + "@rollup/rollup-win32-ia32-msvc" "4.15.0" + "@rollup/rollup-linux-riscv64-gnu" "4.15.0" + "@rollup/rollup-linux-powerpc64le-gnu" "4.15.0" + "@rollup/rollup-linux-s390x-gnu" "4.15.0" + "@rollup/rollup-darwin-x64" "4.15.0" + "@rollup/rollup-win32-x64-msvc" "4.15.0" + "@rollup/rollup-linux-x64-gnu" "4.15.0" + "@rollup/rollup-linux-x64-musl" "4.15.0" run-parallel@^1.1.9: version "1.2.0" @@ -1468,6 +1720,13 @@ semver@^7.5.4: dependencies: lru-cache "^6.0.0" +semver@^7.6.0: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" @@ -1485,10 +1744,10 @@ slash@^3.0.0: resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== spdx-correct@^3.0.0: version "3.2.0" @@ -1566,10 +1825,10 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -ts-api-utils@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz" - integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== +ts-api-utils@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== type-check@^0.4.0: version "0.4.0" @@ -1593,10 +1852,10 @@ type-fest@^0.20.2: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -typescript@>=4.2.0, typescript@^5.3, typescript@^5.3.3: - version "5.3.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz" - integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== +typescript@>=4.2.0, typescript@^5.4, typescript@^5.4.5: + version "5.4.5" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz" + integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== undici-types@~5.26.4: version "5.26.5" @@ -1618,14 +1877,14 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -vite@^5.0.10: - version "5.0.10" - resolved "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz" - integrity sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw== +vite@^5.2.9: + version "5.2.9" + resolved "https://registry.npmjs.org/vite/-/vite-5.2.9.tgz" + integrity sha512-uOQWfuZBlc6Y3W/DTuQ1Sr+oIXWvqljLvS881SVmAj00d5RdgShLcuXWxseWPd4HXwiYBFW/vXHfKFeqj9uQnw== dependencies: - esbuild "^0.19.3" - postcss "^8.4.32" - rollup "^4.2.0" + esbuild "^0.20.1" + postcss "^8.4.38" + rollup "^4.13.0" optionalDependencies: fsevents "~2.3.3"