From e2282d669f18771c1ad3ceb2b65e93894d5bc213 Mon Sep 17 00:00:00 2001 From: Christian Bager Bach Houmann Date: Wed, 17 May 2023 10:29:18 +0200 Subject: [PATCH 1/8] update packages requires fixing build due to breaking changes: https://github.com/evanw/esbuild/releases/tag/v0.17.0 --- esbuild.config.mjs | 136 +-- package.json | 42 +- pnpm-lock.yaml | 1702 +++++++++++++--------------- src/engine/TemplateChoiceEngine.ts | 6 +- 4 files changed, 878 insertions(+), 1008 deletions(-) diff --git a/esbuild.config.mjs b/esbuild.config.mjs index fd42e14..36dc1e9 100644 --- a/esbuild.config.mjs +++ b/esbuild.config.mjs @@ -12,70 +12,74 @@ if you want to view the source, please visit the github repository of this plugi `; const prod = process.argv[2] === "production"; +const options = Object.freeze({ + banner: { + js: banner, + }, + entryPoints: ["src/main.ts", "src/styles.css"], + bundle: true, + external: [ + "obsidian", + "electron", + "@codemirror/autocomplete", + "@codemirror/closebrackets", + "@codemirror/collab", + "@codemirror/commands", + "@codemirror/comment", + "@codemirror/fold", + "@codemirror/gutter", + "@codemirror/highlight", + "@codemirror/history", + "@codemirror/language", + "@codemirror/lint", + "@codemirror/matchbrackets", + "@codemirror/panel", + "@codemirror/rangeset", + "@codemirror/rectangular-selection", + "@codemirror/search", + "@codemirror/state", + "@codemirror/stream-parser", + "@codemirror/text", + "@codemirror/tooltip", + "@codemirror/view", + "@lezer/common", + "@lezer/highlight", + "@lezer/lr", + ...builtins, + ], + mainFields: ["svelte", "browser", "module", "main"], + plugins: [ + esbuildSvelte({ + compilerOptions: { css: true }, + preprocess: sveltePreprocess(), + }), + ...(!prod + ? [ + copy({ + resolveFrom: "cwd", + assets: { + from: ["./styles.css"], + to: [ + // Path to dev's Obsidian CSS snippets folder, for hot-reload of CSS + "/mnt/c/Users/chhou/Documents/dev/.obsidian/snippets/quickadd.css", + ], + }, + }), + ] + : []), + ], + format: "cjs", + target: "ES2020", + logLevel: "info", + sourcemap: prod ? false : "inline", + treeShaking: true, + outdir: ".", +}); -esbuild - .build({ - banner: { - js: banner, - }, - entryPoints: ["src/main.ts", "src/styles.css"], - bundle: true, - external: [ - "obsidian", - "electron", - "@codemirror/autocomplete", - "@codemirror/closebrackets", - "@codemirror/collab", - "@codemirror/commands", - "@codemirror/comment", - "@codemirror/fold", - "@codemirror/gutter", - "@codemirror/highlight", - "@codemirror/history", - "@codemirror/language", - "@codemirror/lint", - "@codemirror/matchbrackets", - "@codemirror/panel", - "@codemirror/rangeset", - "@codemirror/rectangular-selection", - "@codemirror/search", - "@codemirror/state", - "@codemirror/stream-parser", - "@codemirror/text", - "@codemirror/tooltip", - "@codemirror/view", - "@lezer/common", - "@lezer/highlight", - "@lezer/lr", - ...builtins, - ], - mainFields: ["svelte", "browser", "module", "main"], - plugins: [ - esbuildSvelte({ - compilerOptions: { css: true }, - preprocess: sveltePreprocess(), - }), - ...(!prod - ? [ - copy({ - resolveFrom: "cwd", - assets: { - from: ["./styles.css"], - to: [ - // Path to dev's Obsidian CSS snippets folder, for hot-reload of CSS - "/mnt/c/Users/chhou/Documents/dev/.obsidian/snippets/quickadd.css", - ], - }, - }), - ] - : []), - ], - format: "cjs", - watch: !prod, - target: "ES2020", - logLevel: "info", - sourcemap: prod ? false : "inline", - treeShaking: true, - outdir: ".", - }) - .catch(() => process.exit(1)); +if (!prod) { + const context = await esbuild.context(options); + + await context.watch(); +} else { + esbuild.build(options).catch(() => process.exit(1)); +} diff --git a/package.json b/package.json index dac5dca..d6ecb0b 100644 --- a/package.json +++ b/package.json @@ -15,41 +15,41 @@ "author": "Christian B. B. Houmann", "license": "MIT", "devDependencies": { - "@fortawesome/free-regular-svg-icons": "6.2.1", - "@fortawesome/free-solid-svg-icons": "6.2.1", - "@popperjs/core": "^2.11.6", + "@fortawesome/free-regular-svg-icons": "6.4.0", + "@fortawesome/free-solid-svg-icons": "6.4.0", + "@popperjs/core": "^2.11.7", "@semantic-release/git": "^10.0.1", - "@sveltejs/vite-plugin-svelte": "^1.1.0", + "@sveltejs/vite-plugin-svelte": "^2.2.0", "@testing-library/jest-dom": "^5.16.5", "@testing-library/svelte": "^3.2.2", - "@types/node": "18.11.9", - "@types/uuid": "8.3.4", - "@typescript-eslint/eslint-plugin": "^5.54.0", - "@typescript-eslint/parser": "^5.54.0", + "@types/node": "20.1.7", + "@types/uuid": "9.0.1", + "@typescript-eslint/eslint-plugin": "^5.59.6", + "@typescript-eslint/parser": "^5.59.6", "cz-conventional-changelog": "^3.3.0", - "esbuild": "^0.15.18", - "esbuild-plugin-copy": "^2.0.2", + "esbuild": "^0.17.19", + "esbuild-plugin-copy": "^2.1.1", "esbuild-svelte": "^0.7.3", - "eslint": "^8.35.0", - "jsdom": "^21.1.0", + "eslint": "^8.40.0", + "jsdom": "^22.0.0", "obsidian": "latest", - "semantic-release": "^19.0.5", - "svelte": "^3.55.1", - "svelte-awesome": "3.0.0", - "svelte-check": "^2.10.3", + "semantic-release": "^21.0.2", + "svelte": "^3.59.1", + "svelte-awesome": "3.2.0", + "svelte-check": "^3.3.2", "svelte-dnd-action": "0.9.22", - "svelte-preprocess": "^4.10.7", + "svelte-preprocess": "^5.0.3", "three-way-merge": "^0.1.0", "tslib": "^2.5.0", - "typescript": "^4.9.5", + "typescript": "^5.0.4", "uuid": "9.0.0", - "vite": "^4.1.4", - "vitest": "^0.28.5" + "vite": "^4.3.7", + "vitest": "^0.31.0" }, "dependencies": { "builtin-modules": "^3.3.0", "fuse.js": "6.6.2", - "zustand": "^4.3.6" + "zustand": "^4.3.8" }, "repository": { "type": "git", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 469449c..0882cc2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,76 +1,76 @@ lockfileVersion: 5.4 specifiers: - '@fortawesome/free-regular-svg-icons': 6.2.1 - '@fortawesome/free-solid-svg-icons': 6.2.1 - '@popperjs/core': ^2.11.6 + '@fortawesome/free-regular-svg-icons': 6.4.0 + '@fortawesome/free-solid-svg-icons': 6.4.0 + '@popperjs/core': ^2.11.7 '@semantic-release/git': ^10.0.1 - '@sveltejs/vite-plugin-svelte': ^1.1.0 + '@sveltejs/vite-plugin-svelte': ^2.2.0 '@testing-library/jest-dom': ^5.16.5 '@testing-library/svelte': ^3.2.2 - '@types/node': 18.11.9 - '@types/uuid': 8.3.4 - '@typescript-eslint/eslint-plugin': ^5.54.0 - '@typescript-eslint/parser': ^5.54.0 + '@types/node': 20.1.7 + '@types/uuid': 9.0.1 + '@typescript-eslint/eslint-plugin': ^5.59.6 + '@typescript-eslint/parser': ^5.59.6 builtin-modules: ^3.3.0 cz-conventional-changelog: ^3.3.0 - esbuild: ^0.15.18 - esbuild-plugin-copy: ^2.0.2 + esbuild: ^0.17.19 + esbuild-plugin-copy: ^2.1.1 esbuild-svelte: ^0.7.3 - eslint: ^8.35.0 + eslint: ^8.40.0 fuse.js: 6.6.2 - jsdom: ^21.1.0 + jsdom: ^22.0.0 obsidian: latest - semantic-release: ^19.0.5 - svelte: ^3.55.1 - svelte-awesome: 3.0.0 - svelte-check: ^2.10.3 + semantic-release: ^21.0.2 + svelte: ^3.59.1 + svelte-awesome: 3.2.0 + svelte-check: ^3.3.2 svelte-dnd-action: 0.9.22 - svelte-preprocess: ^4.10.7 + svelte-preprocess: ^5.0.3 three-way-merge: ^0.1.0 tslib: ^2.5.0 - typescript: ^4.9.5 + typescript: ^5.0.4 uuid: 9.0.0 - vite: ^4.1.4 - vitest: ^0.28.5 - zustand: ^4.3.6 + vite: ^4.3.7 + vitest: ^0.31.0 + zustand: ^4.3.8 dependencies: builtin-modules: 3.3.0 fuse.js: 6.6.2 - zustand: 4.3.6 + zustand: 4.3.8 devDependencies: - '@fortawesome/free-regular-svg-icons': 6.2.1 - '@fortawesome/free-solid-svg-icons': 6.2.1 - '@popperjs/core': 2.11.6 - '@semantic-release/git': 10.0.1_semantic-release@19.0.5 - '@sveltejs/vite-plugin-svelte': 1.4.0_svelte@3.55.1+vite@4.1.4 + '@fortawesome/free-regular-svg-icons': 6.4.0 + '@fortawesome/free-solid-svg-icons': 6.4.0 + '@popperjs/core': 2.11.7 + '@semantic-release/git': 10.0.1_semantic-release@21.0.2 + '@sveltejs/vite-plugin-svelte': 2.2.0_svelte@3.59.1+vite@4.3.7 '@testing-library/jest-dom': 5.16.5 - '@testing-library/svelte': 3.2.2_svelte@3.55.1 - '@types/node': 18.11.9 - '@types/uuid': 8.3.4 - '@typescript-eslint/eslint-plugin': 5.54.0_6mj2wypvdnknez7kws2nfdgupi - '@typescript-eslint/parser': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu + '@testing-library/svelte': 3.2.2_svelte@3.59.1 + '@types/node': 20.1.7 + '@types/uuid': 9.0.1 + '@typescript-eslint/eslint-plugin': 5.59.6_hrzo544y7ygaq2nap7kmpxcgnm + '@typescript-eslint/parser': 5.59.6_3qfatcekpgbllh6uk5ivyhkbxq cz-conventional-changelog: 3.3.0 - esbuild: 0.15.18 - esbuild-plugin-copy: 2.0.2_esbuild@0.15.18 - esbuild-svelte: 0.7.3_ef4sfhaytblmzqvoxei4wk7k74 - eslint: 8.35.0 - jsdom: 21.1.0 - obsidian: 1.1.1 - semantic-release: 19.0.5 - svelte: 3.55.1 - svelte-awesome: 3.0.0_svelte@3.55.1 - svelte-check: 2.10.3_svelte@3.55.1 - svelte-dnd-action: 0.9.22_svelte@3.55.1 - svelte-preprocess: 4.10.7_4x7phaipmicbaooxtnresslofa + esbuild: 0.17.19 + esbuild-plugin-copy: 2.1.1_esbuild@0.17.19 + esbuild-svelte: 0.7.3_c6syhbf5tqx3cnesnmx4bmhec4 + eslint: 8.40.0 + jsdom: 22.0.0 + obsidian: 1.2.8 + semantic-release: 21.0.2_typescript@5.0.4 + svelte: 3.59.1 + svelte-awesome: 3.2.0_svelte@3.59.1 + svelte-check: 3.3.2_svelte@3.59.1 + svelte-dnd-action: 0.9.22_svelte@3.59.1 + svelte-preprocess: 5.0.3_gmmus3lprw664mkdmboocppfke three-way-merge: 0.1.0 tslib: 2.5.0 - typescript: 4.9.5 + typescript: 5.0.4 uuid: 9.0.0 - vite: 4.1.4_@types+node@18.11.9 - vitest: 0.28.5_jsdom@21.1.0 + vite: 4.3.7_@types+node@20.1.7 + vitest: 0.31.0_jsdom@22.0.0 packages: @@ -85,6 +85,13 @@ packages: '@babel/highlight': 7.18.6 dev: true + /@babel/code-frame/7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + /@babel/helper-validator-identifier/7.19.1: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} @@ -137,15 +144,15 @@ packages: '@commitlint/execute-rule': 17.4.0 '@commitlint/resolve-extends': 17.4.0 '@commitlint/types': 17.4.0 - '@types/node': 18.11.9 + '@types/node': 20.1.7 chalk: 4.1.2 cosmiconfig: 8.0.0 - cosmiconfig-typescript-loader: 4.3.0_bwiuyplqc3onjmhwcu7r4r7jmu + cosmiconfig-typescript-loader: 4.3.0_tmqy77o4o3gr23547vmkxp3o5y lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.1_w6ufic3jqylcjznzspnj4wjqfe + ts-node: 10.9.1_j6urctjydnxshuklyfgf5jiufq typescript: 4.9.5 transitivePeerDependencies: - '@swc/core' @@ -182,8 +189,8 @@ packages: dev: true optional: true - /@esbuild/android-arm/0.15.18: - resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} + /@esbuild/android-arm/0.17.19: + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -191,17 +198,8 @@ packages: dev: true optional: true - /@esbuild/android-arm/0.16.17: - resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64/0.16.17: - resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} + /@esbuild/android-arm64/0.17.19: + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -209,8 +207,8 @@ packages: dev: true optional: true - /@esbuild/android-x64/0.16.17: - resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} + /@esbuild/android-x64/0.17.19: + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -218,8 +216,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64/0.16.17: - resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} + /@esbuild/darwin-arm64/0.17.19: + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -227,8 +225,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64/0.16.17: - resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} + /@esbuild/darwin-x64/0.17.19: + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -236,8 +234,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64/0.16.17: - resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} + /@esbuild/freebsd-arm64/0.17.19: + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -245,8 +243,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64/0.16.17: - resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} + /@esbuild/freebsd-x64/0.17.19: + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -254,8 +252,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm/0.16.17: - resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} + /@esbuild/linux-arm/0.17.19: + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -263,8 +261,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64/0.16.17: - resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} + /@esbuild/linux-arm64/0.17.19: + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -272,8 +270,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32/0.16.17: - resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} + /@esbuild/linux-ia32/0.17.19: + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -281,17 +279,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.15.18: - resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64/0.16.17: - resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} + /@esbuild/linux-loong64/0.17.19: + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -299,8 +288,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el/0.16.17: - resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} + /@esbuild/linux-mips64el/0.17.19: + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -308,8 +297,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64/0.16.17: - resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} + /@esbuild/linux-ppc64/0.17.19: + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -317,8 +306,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64/0.16.17: - resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} + /@esbuild/linux-riscv64/0.17.19: + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -326,8 +315,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x/0.16.17: - resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} + /@esbuild/linux-s390x/0.17.19: + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -335,8 +324,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64/0.16.17: - resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} + /@esbuild/linux-x64/0.17.19: + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -344,8 +333,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64/0.16.17: - resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} + /@esbuild/netbsd-x64/0.17.19: + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -353,8 +342,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64/0.16.17: - resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} + /@esbuild/openbsd-x64/0.17.19: + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -362,8 +351,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64/0.16.17: - resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} + /@esbuild/sunos-x64/0.17.19: + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -371,8 +360,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64/0.16.17: - resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} + /@esbuild/win32-arm64/0.17.19: + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -380,8 +369,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32/0.16.17: - resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} + /@esbuild/win32-ia32/0.17.19: + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -389,8 +378,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64/0.16.17: - resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} + /@esbuild/win32-x64/0.17.19: + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -398,13 +387,28 @@ packages: dev: true optional: true - /@eslint/eslintrc/2.0.0: - resolution: {integrity: sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==} + /@eslint-community/eslint-utils/4.4.0_eslint@8.40.0: + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.40.0 + eslint-visitor-keys: 3.4.1 + dev: true + + /@eslint-community/regexpp/4.5.1: + resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc/2.0.3: + resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.4.1 + espree: 9.5.2 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -415,31 +419,31 @@ packages: - supports-color dev: true - /@eslint/js/8.35.0: - resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==} + /@eslint/js/8.40.0: + resolution: {integrity: sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@fortawesome/fontawesome-common-types/6.2.1: - resolution: {integrity: sha512-Sz07mnQrTekFWLz5BMjOzHl/+NooTdW8F8kDQxjWwbpOJcnoSg4vUDng8d/WR1wOxM0O+CY9Zw0nR054riNYtQ==} + /@fortawesome/fontawesome-common-types/6.4.0: + resolution: {integrity: sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ==} engines: {node: '>=6'} requiresBuild: true dev: true - /@fortawesome/free-regular-svg-icons/6.2.1: - resolution: {integrity: sha512-wiqcNDNom75x+pe88FclpKz7aOSqS2lOivZeicMV5KRwOAeypxEYWAK/0v+7r+LrEY30+qzh8r2XDaEHvoLsMA==} + /@fortawesome/free-regular-svg-icons/6.4.0: + resolution: {integrity: sha512-ZfycI7D0KWPZtf7wtMFnQxs8qjBXArRzczABuMQqecA/nXohquJ5J/RCR77PmY5qGWkxAZDxpnUFVXKwtY/jPw==} engines: {node: '>=6'} requiresBuild: true dependencies: - '@fortawesome/fontawesome-common-types': 6.2.1 + '@fortawesome/fontawesome-common-types': 6.4.0 dev: true - /@fortawesome/free-solid-svg-icons/6.2.1: - resolution: {integrity: sha512-oKuqrP5jbfEPJWTij4sM+/RvgX+RMFwx3QZCZcK9PrBDgxC35zuc7AOFsyMjMd/PIFPeB2JxyqDr5zs/DZFPPw==} + /@fortawesome/free-solid-svg-icons/6.4.0: + resolution: {integrity: sha512-kutPeRGWm8V5dltFP1zGjQOEAzaLZj4StdQhWVZnfGFCvAPVvHh8qk5bRrU4KXnRRRNni5tKQI9PBAdI6MP8nQ==} engines: {node: '>=6'} requiresBuild: true dependencies: - '@fortawesome/fontawesome-common-types': 6.2.1 + '@fortawesome/fontawesome-common-types': 6.4.0 dev: true /@humanwhocodes/config-array/0.11.8: @@ -483,7 +487,7 @@ packages: '@jest/schemas': 29.4.2 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.11.9 + '@types/node': 20.1.7 '@types/yargs': 17.0.22 chalk: 4.1.2 dev: true @@ -664,11 +668,11 @@ packages: config-chain: 1.1.13 dev: true - /@popperjs/core/2.11.6: - resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==} + /@popperjs/core/2.11.7: + resolution: {integrity: sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==} dev: true - /@semantic-release/commit-analyzer/9.0.2_semantic-release@19.0.5: + /@semantic-release/commit-analyzer/9.0.2_semantic-release@21.0.2: resolution: {integrity: sha512-E+dr6L+xIHZkX4zNMe6Rnwg4YQrWNXK+rNsvwOPpdFppvZO1olE2fIgWhv89TkQErygevbjsZFSIxp+u6w2e5g==} engines: {node: '>=14.17'} peerDependencies: @@ -681,7 +685,7 @@ packages: import-from: 4.0.0 lodash: 4.17.21 micromatch: 4.0.5 - semantic-release: 19.0.5 + semantic-release: 21.0.2_typescript@5.0.4 transitivePeerDependencies: - supports-color dev: true @@ -691,7 +695,7 @@ packages: engines: {node: '>=14.17'} dev: true - /@semantic-release/git/10.0.1_semantic-release@19.0.5: + /@semantic-release/git/10.0.1_semantic-release@21.0.2: resolution: {integrity: sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==} engines: {node: '>=14.17'} peerDependencies: @@ -705,12 +709,12 @@ packages: lodash: 4.17.21 micromatch: 4.0.5 p-reduce: 2.1.0 - semantic-release: 19.0.5 + semantic-release: 21.0.2_typescript@5.0.4 transitivePeerDependencies: - supports-color dev: true - /@semantic-release/github/8.0.7_semantic-release@19.0.5: + /@semantic-release/github/8.0.7_semantic-release@21.0.2: resolution: {integrity: sha512-VtgicRIKGvmTHwm//iqTh/5NGQwsncOMR5vQK9pMT92Aem7dv37JFKKRuulUsAnUOIlO4G8wH3gPiBAA0iW0ww==} engines: {node: '>=14.17'} peerDependencies: @@ -731,40 +735,42 @@ packages: mime: 3.0.0 p-filter: 2.1.0 p-retry: 4.6.2 - semantic-release: 19.0.5 + semantic-release: 21.0.2_typescript@5.0.4 url-join: 4.0.1 transitivePeerDependencies: - encoding - supports-color dev: true - /@semantic-release/npm/9.0.2_semantic-release@19.0.5: - resolution: {integrity: sha512-zgsynF6McdzxPnFet+a4iO9HpAlARXOM5adz7VGVCvj0ne8wtL2ZOQoDV2wZPDmdEotDIbVeJjafhelZjs9j6g==} - engines: {node: '>=16 || ^14.17'} + /@semantic-release/npm/10.0.3_rzee2dqr4emcr27bts2behclwa: + resolution: {integrity: sha512-Chbv3kX4o+y+r1X6hsqBVB8NFbSVfiNlYOqMG6o9Wc8r5Y4cjxfbaMCuJ++XAtw3YXYX/NVD05cPzBi4Orjusg==} + engines: {node: '>=18'} peerDependencies: - semantic-release: '>=19.0.0' + semantic-release: '>=20.1.0' dependencies: '@semantic-release/error': 3.0.0 - aggregate-error: 3.1.0 - execa: 5.1.1 + aggregate-error: 4.0.1 + execa: 7.1.1 fs-extra: 11.1.0 - lodash: 4.17.21 + lodash-es: 4.17.21 nerf-dart: 1.0.0 - normalize-url: 6.1.0 - npm: 8.19.3 + normalize-url: 8.0.0 + npm: 9.6.6 rc: 1.2.8 - read-pkg: 5.2.0 + read-pkg: 8.0.0_typescript@5.0.4 registry-auth-token: 5.0.1 - semantic-release: 19.0.5 + semantic-release: 21.0.2_typescript@5.0.4 semver: 7.3.8 - tempy: 1.0.1 + tempy: 3.0.0 + transitivePeerDependencies: + - typescript dev: true - /@semantic-release/release-notes-generator/10.0.3_semantic-release@19.0.5: - resolution: {integrity: sha512-k4x4VhIKneOWoBGHkx0qZogNjCldLPRiAjnIpMnlUh6PtaWXp/T+C9U7/TaNDDtgDa5HMbHl4WlREdxHio6/3w==} - engines: {node: '>=14.17'} + /@semantic-release/release-notes-generator/11.0.1_semantic-release@21.0.2: + resolution: {integrity: sha512-4deWsiY4Rg80oc9Ms11N20BIDgYkPMys4scNYQpi2Njdrtw5Z55nXKNsUN3kn6Sy/nI9dqqbp5L63TL4luI5Bw==} + engines: {node: '>=18'} peerDependencies: - semantic-release: '>=18.0.0-beta.1' + semantic-release: '>=20.1.0' dependencies: conventional-changelog-angular: 5.0.13 conventional-changelog-writer: 5.0.1 @@ -773,10 +779,10 @@ packages: debug: 4.3.4 get-stream: 6.0.1 import-from: 4.0.0 - into-stream: 6.0.0 - lodash: 4.17.21 - read-pkg-up: 7.0.1 - semantic-release: 19.0.5 + into-stream: 7.0.0 + lodash-es: 4.17.21 + read-pkg-up: 9.1.0 + semantic-release: 21.0.2_typescript@5.0.4 transitivePeerDependencies: - supports-color dev: true @@ -785,21 +791,21 @@ packages: resolution: {integrity: sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g==} dev: true - /@sveltejs/vite-plugin-svelte/1.4.0_svelte@3.55.1+vite@4.1.4: - resolution: {integrity: sha512-6QupI/jemMfK+yI2pMtJcu5iO2gtgTfcBdGwMZZt+lgbFELhszbDl6Qjh000HgAV8+XUA+8EY8DusOFk8WhOIg==} + /@sveltejs/vite-plugin-svelte/2.2.0_svelte@3.59.1+vite@4.3.7: + resolution: {integrity: sha512-KDtdva+FZrZlyug15KlbXuubntAPKcBau0K7QhAIqC5SAy0uDbjZwoexDRx0L0J2T4niEfC6FnA9GuQQJKg+Aw==} engines: {node: ^14.18.0 || >= 16} peerDependencies: - svelte: ^3.44.0 - vite: ^3.0.0 + svelte: ^3.54.0 + vite: ^4.0.0 dependencies: debug: 4.3.4 - deepmerge: 4.3.0 + deepmerge: 4.3.1 kleur: 4.1.5 - magic-string: 0.26.7 - svelte: 3.55.1 - svelte-hmr: 0.15.1_svelte@3.55.1 - vite: 4.1.4_@types+node@18.11.9 - vitefu: 0.2.4_vite@4.1.4 + magic-string: 0.30.0 + svelte: 3.59.1 + svelte-hmr: 0.15.1_svelte@3.59.1 + vite: 4.3.7_@types+node@20.1.7 + vitefu: 0.2.4_vite@4.3.7 transitivePeerDependencies: - supports-color dev: true @@ -833,14 +839,14 @@ packages: redent: 3.0.0 dev: true - /@testing-library/svelte/3.2.2_svelte@3.55.1: + /@testing-library/svelte/3.2.2_svelte@3.59.1: resolution: {integrity: sha512-IKwZgqbekC3LpoRhSwhd0JswRGxKdAGkf39UiDXTywK61YyLXbCYoR831e/UUC6EeNW4hiHPY+2WuovxOgI5sw==} engines: {node: '>= 10'} peerDependencies: svelte: 3.x dependencies: '@testing-library/dom': 8.20.0 - svelte: 3.55.1 + svelte: 3.59.1 dev: true /@tootallnate/once/2.0.0: @@ -923,18 +929,14 @@ packages: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/node/18.11.9: - resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==} + /@types/node/20.1.7: + resolution: {integrity: sha512-WCuw/o4GSwDGMoonES8rcvwsig77dGCMbZDrZr2x4ZZiNW4P/gcoZXe/0twgtobcTkmg9TuKflxYL/DuwDyJzg==} dev: true /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@types/parse-json/4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} - dev: true - /@types/pug/2.0.6: resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} dev: true @@ -943,12 +945,6 @@ packages: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} dev: true - /@types/sass/1.43.1: - resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} - dependencies: - '@types/node': 18.11.9 - dev: true - /@types/semver/7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true @@ -969,8 +965,8 @@ packages: '@types/jest': 29.2.3 dev: true - /@types/uuid/8.3.4: - resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + /@types/uuid/9.0.1: + resolution: {integrity: sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==} dev: true /@types/yargs-parser/21.0.0: @@ -983,8 +979,8 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin/5.54.0_6mj2wypvdnknez7kws2nfdgupi: - resolution: {integrity: sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==} + /@typescript-eslint/eslint-plugin/5.59.6_hrzo544y7ygaq2nap7kmpxcgnm: + resolution: {integrity: sha512-sXtOgJNEuRU5RLwPUb1jxtToZbgvq3M6FPpY4QENxoOggK+UpTxUBpj6tD8+Qh2g46Pi9We87E+eHnUw8YcGsw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -994,25 +990,25 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu - '@typescript-eslint/scope-manager': 5.54.0 - '@typescript-eslint/type-utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu - '@typescript-eslint/utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu + '@eslint-community/regexpp': 4.5.1 + '@typescript-eslint/parser': 5.59.6_3qfatcekpgbllh6uk5ivyhkbxq + '@typescript-eslint/scope-manager': 5.59.6 + '@typescript-eslint/type-utils': 5.59.6_3qfatcekpgbllh6uk5ivyhkbxq + '@typescript-eslint/utils': 5.59.6_3qfatcekpgbllh6uk5ivyhkbxq debug: 4.3.4 - eslint: 8.35.0 + eslint: 8.40.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 - regexpp: 3.2.0 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + tsutils: 3.21.0_typescript@5.0.4 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.54.0_ycpbpc6yetojsgtrx3mwntkhsu: - resolution: {integrity: sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==} + /@typescript-eslint/parser/5.59.6_3qfatcekpgbllh6uk5ivyhkbxq: + resolution: {integrity: sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1021,26 +1017,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.54.0 - '@typescript-eslint/types': 5.54.0 - '@typescript-eslint/typescript-estree': 5.54.0_typescript@4.9.5 + '@typescript-eslint/scope-manager': 5.59.6 + '@typescript-eslint/types': 5.59.6 + '@typescript-eslint/typescript-estree': 5.59.6_typescript@5.0.4 debug: 4.3.4 - eslint: 8.35.0 - typescript: 4.9.5 + eslint: 8.40.0 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.54.0: - resolution: {integrity: sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==} + /@typescript-eslint/scope-manager/5.59.6: + resolution: {integrity: sha512-gLbY3Le9Dxcb8KdpF0+SJr6EQ+hFGYFl6tVY8VxLPFDfUZC7BHFw+Vq7bM5lE9DwWPfx4vMWWTLGXgpc0mAYyQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.54.0 - '@typescript-eslint/visitor-keys': 5.54.0 + '@typescript-eslint/types': 5.59.6 + '@typescript-eslint/visitor-keys': 5.59.6 dev: true - /@typescript-eslint/type-utils/5.54.0_ycpbpc6yetojsgtrx3mwntkhsu: - resolution: {integrity: sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==} + /@typescript-eslint/type-utils/5.59.6_3qfatcekpgbllh6uk5ivyhkbxq: + resolution: {integrity: sha512-A4tms2Mp5yNvLDlySF+kAThV9VTBPCvGf0Rp8nl/eoDX9Okun8byTKoj3fJ52IJitjWOk0fKPNQhXEB++eNozQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -1049,23 +1045,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.54.0_typescript@4.9.5 - '@typescript-eslint/utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu + '@typescript-eslint/typescript-estree': 5.59.6_typescript@5.0.4 + '@typescript-eslint/utils': 5.59.6_3qfatcekpgbllh6uk5ivyhkbxq debug: 4.3.4 - eslint: 8.35.0 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + eslint: 8.40.0 + tsutils: 3.21.0_typescript@5.0.4 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.54.0: - resolution: {integrity: sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==} + /@typescript-eslint/types/5.59.6: + resolution: {integrity: sha512-tH5lBXZI7T2MOUgOWFdVNUILsI02shyQvfzG9EJkoONWugCG77NDDa1EeDGw7oJ5IvsTAAGVV8I3Tk2PNu9QfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.54.0_typescript@4.9.5: - resolution: {integrity: sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==} + /@typescript-eslint/typescript-estree/5.59.6_typescript@5.0.4: + resolution: {integrity: sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -1073,75 +1069,82 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.54.0 - '@typescript-eslint/visitor-keys': 5.54.0 + '@typescript-eslint/types': 5.59.6 + '@typescript-eslint/visitor-keys': 5.59.6 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + tsutils: 3.21.0_typescript@5.0.4 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.54.0_ycpbpc6yetojsgtrx3mwntkhsu: - resolution: {integrity: sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==} + /@typescript-eslint/utils/5.59.6_3qfatcekpgbllh6uk5ivyhkbxq: + resolution: {integrity: sha512-vzaaD6EXbTS29cVH0JjXBdzMt6VBlv+hE31XktDRMX1j3462wZCJa7VzO2AxXEXcIl8GQqZPcOPuW/Z1tZVogg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: + '@eslint-community/eslint-utils': 4.4.0_eslint@8.40.0 '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.54.0 - '@typescript-eslint/types': 5.54.0 - '@typescript-eslint/typescript-estree': 5.54.0_typescript@4.9.5 - eslint: 8.35.0 + '@typescript-eslint/scope-manager': 5.59.6 + '@typescript-eslint/types': 5.59.6 + '@typescript-eslint/typescript-estree': 5.59.6_typescript@5.0.4 + eslint: 8.40.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.35.0 semver: 7.3.8 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.54.0: - resolution: {integrity: sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==} + /@typescript-eslint/visitor-keys/5.59.6: + resolution: {integrity: sha512-zEfbFLzB9ETcEJ4HZEEsCR9HHeNku5/Qw1jSS5McYJv5BR+ftYXwFFAH5Al+xkGaZEqowMwl7uoJjQb1YSPF8Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.54.0 - eslint-visitor-keys: 3.3.0 + '@typescript-eslint/types': 5.59.6 + eslint-visitor-keys: 3.4.1 dev: true - /@vitest/expect/0.28.5: - resolution: {integrity: sha512-gqTZwoUTwepwGIatnw4UKpQfnoyV0Z9Czn9+Lo2/jLIt4/AXLTn+oVZxlQ7Ng8bzcNkR+3DqLJ08kNr8jRmdNQ==} + /@vitest/expect/0.31.0: + resolution: {integrity: sha512-Jlm8ZTyp6vMY9iz9Ny9a0BHnCG4fqBa8neCF6Pk/c/6vkUk49Ls6UBlgGAU82QnzzoaUs9E/mUhq/eq9uMOv/g==} dependencies: - '@vitest/spy': 0.28.5 - '@vitest/utils': 0.28.5 + '@vitest/spy': 0.31.0 + '@vitest/utils': 0.31.0 chai: 4.3.7 dev: true - /@vitest/runner/0.28.5: - resolution: {integrity: sha512-NKkHtLB+FGjpp5KmneQjTcPLWPTDfB7ie+MmF1PnUBf/tGe2OjGxWyB62ySYZ25EYp9krR5Bw0YPLS/VWh1QiA==} + /@vitest/runner/0.31.0: + resolution: {integrity: sha512-H1OE+Ly7JFeBwnpHTrKyCNm/oZgr+16N4qIlzzqSG/YRQDATBYmJb/KUn3GrZaiQQyL7GwpNHVZxSQd6juLCgw==} dependencies: - '@vitest/utils': 0.28.5 + '@vitest/utils': 0.31.0 + concordance: 5.0.4 p-limit: 4.0.0 pathe: 1.1.0 dev: true - /@vitest/spy/0.28.5: - resolution: {integrity: sha512-7if6rsHQr9zbmvxN7h+gGh2L9eIIErgf8nSKYDlg07HHimCxp4H6I/X/DPXktVPPLQfiZ1Cw2cbDIx9fSqDjGw==} + /@vitest/snapshot/0.31.0: + resolution: {integrity: sha512-5dTXhbHnyUMTMOujZPB0wjFjQ6q5x9c8TvAsSPUNKjp1tVU7i9pbqcKPqntyu2oXtmVxKbuHCqrOd+Ft60r4tg==} + dependencies: + magic-string: 0.30.0 + pathe: 1.1.0 + pretty-format: 27.5.1 + dev: true + + /@vitest/spy/0.31.0: + resolution: {integrity: sha512-IzCEQ85RN26GqjQNkYahgVLLkULOxOm5H/t364LG0JYb3Apg0PsYCHLBYGA006+SVRMWhQvHlBBCyuByAMFmkg==} dependencies: - tinyspy: 1.1.1 + tinyspy: 2.1.0 dev: true - /@vitest/utils/0.28.5: - resolution: {integrity: sha512-UyZdYwdULlOa4LTUSwZ+Paz7nBHGTT72jKwdFSV4IjHF1xsokp+CabMdhjvVhYwkLfO88ylJT46YMilnkSARZA==} + /@vitest/utils/0.31.0: + resolution: {integrity: sha512-kahaRyLX7GS1urekRXN2752X4gIgOGVX4Wo8eDUGUkTWlGpXzf5ZS6N9RUUS+Re3XEE8nVGqNyxkSxF5HXlGhQ==} dependencies: - cli-truncate: 3.1.0 - diff: 5.1.0 + concordance: 5.0.4 loupe: 2.3.6 - picocolors: 1.0.0 pretty-format: 27.5.1 dev: true @@ -1157,13 +1160,6 @@ packages: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: true - /acorn-globals/7.0.1: - resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} - dependencies: - acorn: 8.8.2 - acorn-walk: 8.2.0 - dev: true - /acorn-jsx/5.3.2_acorn@8.8.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1200,6 +1196,14 @@ packages: indent-string: 4.0.0 dev: true + /aggregate-error/4.0.1: + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} + dependencies: + clean-stack: 4.2.0 + indent-string: 5.0.0 + dev: true + /ajv/6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -1238,11 +1242,6 @@ packages: engines: {node: '>=8'} dev: true - /ansi-regex/6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - dev: true - /ansi-styles/3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -1262,11 +1261,6 @@ packages: engines: {node: '>=10'} dev: true - /ansi-styles/6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - dev: true - /ansicolors/0.3.2: resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} dev: true @@ -1355,6 +1349,10 @@ packages: readable-stream: 3.6.0 dev: true + /blueimp-md5/2.19.0: + resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} + dev: true + /bottleneck/2.19.5: resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} dev: true @@ -1377,10 +1375,6 @@ packages: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true - /buffer-from/1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true - /buffer/5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: @@ -1513,6 +1507,13 @@ packages: engines: {node: '>=6'} dev: true + /clean-stack/4.2.0: + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} + dependencies: + escape-string-regexp: 5.0.0 + dev: true + /cli-cursor/3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -1534,21 +1535,14 @@ packages: '@colors/colors': 1.5.0 dev: true - /cli-truncate/3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - slice-ansi: 5.0.0 - string-width: 5.1.2 - dev: true - /cli-width/3.0.0: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} dev: true - /cliui/7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + /cliui/8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -1623,6 +1617,20 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true + /concordance/5.0.4: + resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} + engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} + dependencies: + date-time: 3.1.0 + esutils: 2.0.3 + fast-diff: 1.2.0 + js-string-escape: 1.0.1 + lodash: 4.17.21 + md5-hex: 3.0.1 + semver: 7.3.8 + well-known-symbols: 2.0.0 + dev: true + /config-chain/1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} dependencies: @@ -1683,7 +1691,7 @@ packages: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true - /cosmiconfig-typescript-loader/4.3.0_bwiuyplqc3onjmhwcu7r4r7jmu: + /cosmiconfig-typescript-loader/4.3.0_tmqy77o4o3gr23547vmkxp3o5y: resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==} engines: {node: '>=12', npm: '>=6'} peerDependencies: @@ -1692,24 +1700,13 @@ packages: ts-node: '>=10' typescript: '>=3' dependencies: - '@types/node': 18.11.9 + '@types/node': 20.1.7 cosmiconfig: 8.0.0 - ts-node: 10.9.1_w6ufic3jqylcjznzspnj4wjqfe + ts-node: 10.9.1_j6urctjydnxshuklyfgf5jiufq typescript: 4.9.5 dev: true optional: true - /cosmiconfig/7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} - dependencies: - '@types/parse-json': 4.0.0 - import-fresh: 3.3.0 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 - dev: true - /cosmiconfig/8.0.0: resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==} engines: {node: '>=14'} @@ -1719,7 +1716,6 @@ packages: parse-json: 5.2.0 path-type: 4.0.0 dev: true - optional: true /create-require/1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -1735,28 +1731,22 @@ packages: which: 2.0.2 dev: true - /crypto-random-string/2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} + /crypto-random-string/4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + dependencies: + type-fest: 1.4.0 dev: true /css.escape/1.5.1: resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} dev: true - /cssom/0.3.8: - resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} - dev: true - - /cssom/0.5.0: - resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} - dev: true - - /cssstyle/2.3.0: - resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} - engines: {node: '>=8'} + /cssstyle/3.0.0: + resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==} + engines: {node: '>=14'} dependencies: - cssom: 0.3.8 + rrweb-cssom: 0.6.0 dev: true /cz-conventional-changelog/3.3.0: @@ -1776,13 +1766,20 @@ packages: - '@swc/wasm' dev: true - /data-urls/3.0.2: - resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} - engines: {node: '>=12'} + /data-urls/4.0.0: + resolution: {integrity: sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==} + engines: {node: '>=14'} dependencies: abab: 2.0.6 whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 + whatwg-url: 12.0.1 + dev: true + + /date-time/3.1.0: + resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} + engines: {node: '>=6'} + dependencies: + time-zone: 1.0.0 dev: true /dateformat/3.0.3: @@ -1860,8 +1857,8 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true - /deepmerge/4.3.0: - resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==} + /deepmerge/4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} dev: true @@ -1879,20 +1876,6 @@ packages: object-keys: 1.1.1 dev: true - /del/6.1.1: - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} - engines: {node: '>=10'} - dependencies: - globby: 11.1.0 - graceful-fs: 4.2.10 - is-glob: 4.0.3 - is-path-cwd: 2.2.0 - is-path-inside: 3.0.3 - p-map: 4.0.0 - rimraf: 3.0.2 - slash: 3.0.0 - dev: true - /delayed-stream/1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -1923,11 +1906,6 @@ packages: dev: true optional: true - /diff/5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} - engines: {node: '>=0.3.1'} - dev: true - /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -1966,29 +1944,20 @@ packages: readable-stream: 2.3.7 dev: true - /eastasianwidth/0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true - /emoji-regex/8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true - /emoji-regex/9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true - /entities/4.4.0: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} dev: true - /env-ci/5.5.0: - resolution: {integrity: sha512-o0JdWIbOLP+WJKIUt36hz1ImQQFuN92nhsfTkHHap+J8CiI8WgGpH/a9jEGHh4/TU5BUUGjlnKXNoDb57+ne+A==} - engines: {node: '>=10.17'} + /env-ci/9.1.0: + resolution: {integrity: sha512-ZCEas2sDVFR3gpumwwzSU4OJZwWJ46yqJH3TqH3vSxEBzeAlC0uCJLGAnZC0vX1TIXzHzjcwpKmUn2xw5mC/qA==} + engines: {node: ^16.14 || >=18} dependencies: - execa: 5.1.1 - fromentries: 1.3.2 + execa: 7.1.1 java-properties: 1.0.2 dev: true @@ -2016,266 +1985,57 @@ packages: resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true - /esbuild-android-64/0.15.18: - resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-android-arm64/0.15.18: - resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64/0.15.18: - resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64/0.15.18: - resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64/0.15.18: - resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64/0.15.18: - resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32/0.15.18: - resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64/0.15.18: - resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm/0.15.18: - resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64/0.15.18: - resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le/0.15.18: - resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-ppc64le/0.15.18: - resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-riscv64/0.15.18: - resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-s390x/0.15.18: - resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-netbsd-64/0.15.18: - resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-openbsd-64/0.15.18: - resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-plugin-copy/2.0.2_esbuild@0.15.18: - resolution: {integrity: sha512-HlDgkHXagBCwaoB8tlQFeH08/i5a2ey6Pc26annV1YcG5CkAHzzRzmCwp3wdi5KHI//HVUgipS+Zsy2tQmn9gQ==} + /esbuild-plugin-copy/2.1.1_esbuild@0.17.19: + resolution: {integrity: sha512-Bk66jpevTcV8KMFzZI1P7MZKZ+uDcrZm2G2egZ2jNIvVnivDpodZI+/KnpL3Jnap0PBdIHU7HwFGB8r+vV5CVw==} peerDependencies: esbuild: '>= 0.14.0' dependencies: chalk: 4.1.2 - esbuild: 0.15.18 + chokidar: 3.5.3 + esbuild: 0.17.19 fs-extra: 10.1.0 globby: 11.1.0 dev: true - /esbuild-sunos-64/0.15.18: - resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /esbuild-svelte/0.7.3_ef4sfhaytblmzqvoxei4wk7k74: + /esbuild-svelte/0.7.3_c6syhbf5tqx3cnesnmx4bmhec4: resolution: {integrity: sha512-aq4PjZowV2LhW5U6KYKDkaHiAp9q/NquthbX1tddGRGYrlaBBGgDNis58jNU4wU6+iHsNWfLVsg8G3W6ccszdw==} engines: {node: '>=14'} peerDependencies: esbuild: '>=0.9.6' svelte: '>=3.43.0' dependencies: - esbuild: 0.15.18 - svelte: 3.55.1 - dev: true - - /esbuild-windows-32/0.15.18: - resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-64/0.15.18: - resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-arm64/0.15.18: - resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true + esbuild: 0.17.19 + svelte: 3.59.1 dev: true - optional: true - /esbuild/0.15.18: - resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.15.18 - '@esbuild/linux-loong64': 0.15.18 - esbuild-android-64: 0.15.18 - esbuild-android-arm64: 0.15.18 - esbuild-darwin-64: 0.15.18 - esbuild-darwin-arm64: 0.15.18 - esbuild-freebsd-64: 0.15.18 - esbuild-freebsd-arm64: 0.15.18 - esbuild-linux-32: 0.15.18 - esbuild-linux-64: 0.15.18 - esbuild-linux-arm: 0.15.18 - esbuild-linux-arm64: 0.15.18 - esbuild-linux-mips64le: 0.15.18 - esbuild-linux-ppc64le: 0.15.18 - esbuild-linux-riscv64: 0.15.18 - esbuild-linux-s390x: 0.15.18 - esbuild-netbsd-64: 0.15.18 - esbuild-openbsd-64: 0.15.18 - esbuild-sunos-64: 0.15.18 - esbuild-windows-32: 0.15.18 - esbuild-windows-64: 0.15.18 - esbuild-windows-arm64: 0.15.18 - dev: true - - /esbuild/0.16.17: - resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} + /esbuild/0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.16.17 - '@esbuild/android-arm64': 0.16.17 - '@esbuild/android-x64': 0.16.17 - '@esbuild/darwin-arm64': 0.16.17 - '@esbuild/darwin-x64': 0.16.17 - '@esbuild/freebsd-arm64': 0.16.17 - '@esbuild/freebsd-x64': 0.16.17 - '@esbuild/linux-arm': 0.16.17 - '@esbuild/linux-arm64': 0.16.17 - '@esbuild/linux-ia32': 0.16.17 - '@esbuild/linux-loong64': 0.16.17 - '@esbuild/linux-mips64el': 0.16.17 - '@esbuild/linux-ppc64': 0.16.17 - '@esbuild/linux-riscv64': 0.16.17 - '@esbuild/linux-s390x': 0.16.17 - '@esbuild/linux-x64': 0.16.17 - '@esbuild/netbsd-x64': 0.16.17 - '@esbuild/openbsd-x64': 0.16.17 - '@esbuild/sunos-x64': 0.16.17 - '@esbuild/win32-arm64': 0.16.17 - '@esbuild/win32-ia32': 0.16.17 - '@esbuild/win32-x64': 0.16.17 + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 dev: true /escalade/3.1.1: @@ -2298,17 +2058,9 @@ packages: engines: {node: '>=10'} dev: true - /escodegen/2.0.0: - resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} - engines: {node: '>=6.0'} - hasBin: true - dependencies: - esprima: 4.0.1 - estraverse: 5.3.0 - esutils: 2.0.3 - optionator: 0.8.3 - optionalDependencies: - source-map: 0.6.1 + /escape-string-regexp/5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} dev: true /eslint-scope/5.1.1: @@ -2319,41 +2071,28 @@ packages: estraverse: 4.3.0 dev: true - /eslint-scope/7.1.1: - resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} + /eslint-scope/7.2.0: + resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.35.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.35.0 - eslint-visitor-keys: 2.1.0 - dev: true - - /eslint-visitor-keys/2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true - - /eslint-visitor-keys/3.3.0: - resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} + /eslint-visitor-keys/3.4.1: + resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.35.0: - resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==} + /eslint/8.40.0: + resolution: {integrity: sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 2.0.0 - '@eslint/js': 8.35.0 + '@eslint-community/eslint-utils': 4.4.0_eslint@8.40.0 + '@eslint-community/regexpp': 4.5.1 + '@eslint/eslintrc': 2.0.3 + '@eslint/js': 8.40.0 '@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -2363,10 +2102,9 @@ packages: debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.35.0 - eslint-visitor-keys: 3.3.0 - espree: 9.4.1 + eslint-scope: 7.2.0 + eslint-visitor-keys: 3.4.1 + espree: 9.5.2 esquery: 1.4.2 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -2388,7 +2126,6 @@ packages: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.1 - regexpp: 3.2.0 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 @@ -2396,13 +2133,13 @@ packages: - supports-color dev: true - /espree/9.4.1: - resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} + /espree/9.5.2: + resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.8.2 acorn-jsx: 5.3.2_acorn@8.8.2 - eslint-visitor-keys: 3.3.0 + eslint-visitor-keys: 3.4.1 dev: true /esprima/4.0.1: @@ -2455,6 +2192,21 @@ packages: strip-final-newline: 2.0.0 dev: true + /execa/7.1.1: + resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: true + /expand-tilde/2.0.2: resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} engines: {node: '>=0.10.0'} @@ -2486,6 +2238,10 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true + /fast-diff/1.2.0: + resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} + dev: true + /fast-glob/3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} @@ -2525,6 +2281,14 @@ packages: escape-string-regexp: 1.0.5 dev: true + /figures/5.0.0: + resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} + engines: {node: '>=14'} + dependencies: + escape-string-regexp: 5.0.0 + is-unicode-supported: 1.3.0 + dev: true + /file-entry-cache/6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2573,11 +2337,19 @@ packages: path-exists: 4.0.0 dev: true - /find-versions/4.0.0: - resolution: {integrity: sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==} - engines: {node: '>=10'} + /find-up/6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + dev: true + + /find-versions/5.1.0: + resolution: {integrity: sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==} + engines: {node: '>=12'} dependencies: - semver-regex: 3.1.4 + semver-regex: 4.0.5 dev: true /findup-sync/4.0.0: @@ -2624,10 +2396,6 @@ packages: readable-stream: 2.3.7 dev: true - /fromentries/1.3.2: - resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} - dev: true - /fs-extra/10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -2864,9 +2632,9 @@ packages: parse-passwd: 1.0.0 dev: true - /hook-std/2.0.0: - resolution: {integrity: sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g==} - engines: {node: '>=8'} + /hook-std/3.0.0: + resolution: {integrity: sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /hosted-git-info/2.8.9: @@ -2880,6 +2648,13 @@ packages: lru-cache: 6.0.0 dev: true + /hosted-git-info/6.1.1: + resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + lru-cache: 7.18.3 + dev: true + /html-encoding-sniffer/3.0.0: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} @@ -2913,6 +2688,11 @@ packages: engines: {node: '>=10.17.0'} dev: true + /human-signals/4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + dev: true + /iconv-lite/0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -2959,6 +2739,11 @@ packages: engines: {node: '>=8'} dev: true + /indent-string/5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + dev: true + /inflight/1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: @@ -3004,9 +2789,9 @@ packages: side-channel: 1.0.4 dev: true - /into-stream/6.0.0: - resolution: {integrity: sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==} - engines: {node: '>=10'} + /into-stream/7.0.0: + resolution: {integrity: sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==} + engines: {node: '>=12'} dependencies: from2: 2.3.0 p-is-promise: 3.0.0 @@ -3081,11 +2866,6 @@ packages: engines: {node: '>=8'} dev: true - /is-fullwidth-code-point/4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - dev: true - /is-glob/4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -3119,11 +2899,6 @@ packages: engines: {node: '>=8'} dev: true - /is-path-cwd/2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} - dev: true - /is-path-inside/3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} @@ -3166,6 +2941,11 @@ packages: engines: {node: '>=8'} dev: true + /is-stream/3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /is-string/1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -3203,6 +2983,11 @@ packages: engines: {node: '>=10'} dev: true + /is-unicode-supported/1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + dev: true + /is-utf8/0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} dev: true @@ -3296,7 +3081,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.4.2 - '@types/node': 18.11.9 + '@types/node': 20.1.7 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.10 @@ -3307,6 +3092,11 @@ packages: resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} dev: true + /js-string-escape/1.0.1: + resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} + engines: {node: '>= 0.8'} + dev: true + /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true @@ -3318,9 +3108,9 @@ packages: argparse: 2.0.1 dev: true - /jsdom/21.1.0: - resolution: {integrity: sha512-m0lzlP7qOtthD918nenK3hdItSd2I+V3W9IrBcB36sqDwG+KnUs66IF5GY7laGWUnlM9vTsD0W1QwSEBYWWcJg==} - engines: {node: '>=14'} + /jsdom/22.0.0: + resolution: {integrity: sha512-p5ZTEb5h+O+iU02t0GfEjAnkdYPrQSkfuTSMkMYyIoMvUNEHsbG0bHHbfXIcfTqD2UfvjQX7mmgiFsyRwGscVw==} + engines: {node: '>=16'} peerDependencies: canvas: ^2.5.0 peerDependenciesMeta: @@ -3328,21 +3118,18 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 8.8.2 - acorn-globals: 7.0.1 - cssom: 0.5.0 - cssstyle: 2.3.0 - data-urls: 3.0.2 + cssstyle: 3.0.0 + data-urls: 4.0.0 decimal.js: 10.4.3 domexception: 4.0.0 - escodegen: 2.0.0 form-data: 4.0.0 html-encoding-sniffer: 3.0.0 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.2 + nwsapi: 2.2.4 parse5: 7.1.2 + rrweb-cssom: 0.6.0 saxes: 6.0.0 symbol-tree: 3.2.4 tough-cookie: 4.1.2 @@ -3350,8 +3137,8 @@ packages: webidl-conversions: 7.0.0 whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 - ws: 8.12.1 + whatwg-url: 12.0.1 + ws: 8.13.0 xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil @@ -3367,6 +3154,11 @@ packages: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true + /json-parse-even-better-errors/3.0.0: + resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + /json-schema-traverse/0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true @@ -3411,14 +3203,6 @@ packages: engines: {node: '>=6'} dev: true - /levn/0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 - dev: true - /levn/0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -3431,6 +3215,11 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true + /lines-and-columns/2.0.3: + resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /load-json-file/4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} @@ -3468,6 +3257,17 @@ packages: p-locate: 5.0.0 dev: true + /locate-path/7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-locate: 6.0.0 + dev: true + + /lodash-es/4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: true + /lodash.capitalize/4.2.1: resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} dev: true @@ -3540,22 +3340,28 @@ packages: yallist: 4.0.0 dev: true + /lru-cache/7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + dev: true + /lz-string/1.4.4: resolution: {integrity: sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==} hasBin: true dev: true - /magic-string/0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + /magic-string/0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} dependencies: - sourcemap-codec: 1.4.8 + '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /magic-string/0.26.7: - resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} + /magic-string/0.30.0: + resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} engines: {node: '>=12'} dependencies: - sourcemap-codec: 1.4.8 + '@jridgewell/sourcemap-codec': 1.4.14 dev: true /make-error/1.3.6: @@ -3594,6 +3400,13 @@ packages: hasBin: true dev: true + /md5-hex/3.0.1: + resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} + engines: {node: '>=8'} + dependencies: + blueimp-md5: 2.19.0 + dev: true + /meow/8.1.2: resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} engines: {node: '>=10'} @@ -3655,6 +3468,11 @@ packages: engines: {node: '>=6'} dev: true + /mimic-fn/4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + /min-indent/1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -3690,13 +3508,13 @@ packages: minimist: 1.2.8 dev: true - /mlly/1.1.1: - resolution: {integrity: sha512-Jnlh4W/aI4GySPo6+DyTN17Q75KKbLTyFK8BrGhjNP4rxuUjbRWhE6gHg3bs33URWAF44FRm7gdQA348i3XxRw==} + /mlly/1.2.1: + resolution: {integrity: sha512-1aMEByaWgBPEbWV2BOPEMySRrzl7rIHXmQxam4DM8jVjalTQDjpN2ZKOLUrwyhfZQO7IXHml2StcHMhooDeEEQ==} dependencies: acorn: 8.8.2 pathe: 1.1.0 - pkg-types: 1.0.2 - ufo: 1.1.0 + pkg-types: 1.0.3 + ufo: 1.1.2 dev: true /modify-values/1.0.1: @@ -3721,8 +3539,8 @@ packages: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true - /nanoid/3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /nanoid/3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true @@ -3780,14 +3598,24 @@ packages: validate-npm-package-license: 3.0.4 dev: true + /normalize-package-data/5.0.0: + resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + hosted-git-info: 6.1.1 + is-core-module: 2.11.0 + semver: 7.3.8 + validate-npm-package-license: 3.0.4 + dev: true + /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} dev: true - /normalize-url/6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} + /normalize-url/8.0.0: + resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} + engines: {node: '>=14.16'} dev: true /npm-run-path/4.0.1: @@ -3797,17 +3625,22 @@ packages: path-key: 3.1.1 dev: true - /npm/8.19.3: - resolution: {integrity: sha512-0QjmyPtDxSyMWWD8I91QGbrgx9KzbV6C9FK1liEb/K0zppiZkr5KxXc990G+LzPwBHDfRjUBlO9T1qZ08vl9mA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + /npm-run-path/5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /npm/9.6.6: + resolution: {integrity: sha512-GIe+nCIw8EJIv52IXDVETSGnx7p9Ttg4VsaXNIeT4eaKZpIZ635rKC/uzQ6nnc4ibCUmESoK3PrXG0/puoqNcg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dev: true bundledDependencies: - '@isaacs/string-locale-compare' - '@npmcli/arborist' - - '@npmcli/ci-detect' - '@npmcli/config' - - '@npmcli/fs' - '@npmcli/map-workspaces' - '@npmcli/package-json' - '@npmcli/run-script' @@ -3815,7 +3648,7 @@ packages: - archy - cacache - chalk - - chownr + - ci-info - cli-columns - cli-table3 - columnify @@ -3843,8 +3676,6 @@ packages: - minimatch - minipass - minipass-pipeline - - mkdirp - - mkdirp-infer-owner - ms - node-gyp - nopt @@ -3856,7 +3687,6 @@ packages: - npm-registry-fetch - npm-user-validate - npmlog - - opener - p-map - pacote - parse-conflict-json @@ -3865,8 +3695,6 @@ packages: - read - read-package-json - read-package-json-fast - - readdir-scoped-modules - - rimraf - semver - ssri - tar @@ -3877,8 +3705,8 @@ packages: - which - write-file-atomic - /nwsapi/2.2.2: - resolution: {integrity: sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==} + /nwsapi/2.2.4: + resolution: {integrity: sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==} dev: true /object-inspect/1.12.3: @@ -3908,8 +3736,8 @@ packages: object-keys: 1.1.1 dev: true - /obsidian/1.1.1: - resolution: {integrity: sha512-GcxhsHNkPEkwHEjeyitfYNBcQuYGeAHFs1pEpZIv0CnzSfui8p8bPLm2YKLgcg20B764770B1sYGtxCvk9ptxg==} + /obsidian/1.2.8: + resolution: {integrity: sha512-HrC+feA8o0tXspj4lEAqxb1btwLwHD2oHXSwbbN+CdRHURqbCkuIDLld+nkuyJ1w1c9uvVDRVk8BoeOnWheOrQ==} peerDependencies: '@codemirror/state': ^6.0.0 '@codemirror/view': ^6.0.0 @@ -3931,16 +3759,11 @@ packages: mimic-fn: 2.1.0 dev: true - /optionator/0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} - engines: {node: '>= 0.8.0'} + /onetime/6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.3.0 - prelude-ls: 1.1.2 - type-check: 0.3.2 - word-wrap: 1.2.3 + mimic-fn: 4.0.0 dev: true /optionator/0.9.1: @@ -3975,9 +3798,9 @@ packages: engines: {node: '>=0.10.0'} dev: true - /p-each-series/2.2.0: - resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} - engines: {node: '>=8'} + /p-each-series/3.0.0: + resolution: {integrity: sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==} + engines: {node: '>=12'} dev: true /p-filter/2.1.0: @@ -4041,23 +3864,28 @@ packages: p-limit: 3.1.0 dev: true + /p-locate/6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-limit: 4.0.0 + dev: true + /p-map/2.1.0: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} dev: true - /p-map/4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - dependencies: - aggregate-error: 3.1.0 - dev: true - /p-reduce/2.1.0: resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==} engines: {node: '>=8'} dev: true + /p-reduce/3.0.0: + resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} + engines: {node: '>=12'} + dev: true + /p-retry/4.6.2: resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} engines: {node: '>=8'} @@ -4101,6 +3929,19 @@ packages: lines-and-columns: 1.2.4 dev: true + /parse-json/7.0.0_typescript@5.0.4: + resolution: {integrity: sha512-kP+TQYAzAiVnzOlWOe0diD6L35s9bJh0SCn95PIbZFKrOYuIRQsQkeWEYxzVDuHTt9V9YqvYCJ2Qo4z9wdfZPw==} + engines: {node: '>=16'} + dependencies: + '@babel/code-frame': 7.21.4 + error-ex: 1.3.2 + json-parse-even-better-errors: 3.0.0 + lines-and-columns: 2.0.3 + type-fest: 3.10.0_typescript@5.0.4 + transitivePeerDependencies: + - typescript + dev: true + /parse-passwd/1.0.0: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} @@ -4122,6 +3963,11 @@ packages: engines: {node: '>=8'} dev: true + /path-exists/5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /path-is-absolute/1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -4132,6 +3978,11 @@ packages: engines: {node: '>=8'} dev: true + /path-key/4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + /path-parse/1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true @@ -4171,28 +4022,23 @@ packages: load-json-file: 4.0.0 dev: true - /pkg-types/1.0.2: - resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==} + /pkg-types/1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 - mlly: 1.1.1 + mlly: 1.2.1 pathe: 1.1.0 dev: true - /postcss/8.4.21: - resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + /postcss/8.4.23: + resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 + nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 dev: true - /prelude-ls/1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} - engines: {node: '>= 0.8.0'} - dev: true - /prelude-ls/1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -4278,6 +4124,15 @@ packages: type-fest: 0.8.1 dev: true + /read-pkg-up/9.1.0: + resolution: {integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + find-up: 6.3.0 + read-pkg: 7.1.0 + type-fest: 2.19.0 + dev: true + /read-pkg/5.2.0: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} @@ -4288,6 +4143,28 @@ packages: type-fest: 0.6.0 dev: true + /read-pkg/7.1.0: + resolution: {integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==} + engines: {node: '>=12.20'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 3.0.3 + parse-json: 5.2.0 + type-fest: 2.19.0 + dev: true + + /read-pkg/8.0.0_typescript@5.0.4: + resolution: {integrity: sha512-Ajb9oSjxXBw0YyOiwtQ2dKbAA/vMnUPnY63XcCk+mXo0BwIdQEMgZLZiMWGttQHcUhUgbK0mH85ethMPKXxziw==} + engines: {node: '>=16'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 5.0.0 + parse-json: 7.0.0_typescript@5.0.4 + type-fest: 3.10.0_typescript@5.0.4 + transitivePeerDependencies: + - typescript + dev: true + /readable-stream/2.3.7: resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} dependencies: @@ -4343,11 +4220,6 @@ packages: functions-have-names: 1.2.3 dev: true - /regexpp/3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true - /registry-auth-token/5.0.1: resolution: {integrity: sha512-UfxVOj8seK1yaIOiieV4FIP01vfBDLsY0H9sQzi9EbbUdJiuuBjJgLa1DpImXMNPnVkBD4eVxTEXcrZA6kfpJA==} engines: {node: '>=14'} @@ -4437,14 +4309,18 @@ packages: glob: 7.2.3 dev: true - /rollup/3.17.2: - resolution: {integrity: sha512-qMNZdlQPCkWodrAZ3qnJtvCAl4vpQ8q77uEujVCCbC/6CLB7Lcmvjq7HyiOSnf4fxTT9XgsE36oLHJBH49xjqA==} + /rollup/3.22.0: + resolution: {integrity: sha512-imsigcWor5Y/dC0rz2q0bBt9PabcL3TORry2hAa6O6BuMvY71bqHyfReAz5qyAqiQATD1m70qdntqBfBQjVWpQ==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.2 dev: true + /rrweb-cssom/0.6.0: + resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} + dev: true + /run-async/2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -4497,54 +4373,55 @@ packages: xmlchars: 2.2.0 dev: true - /semantic-release/19.0.5: - resolution: {integrity: sha512-NMPKdfpXTnPn49FDogMBi36SiBfXkSOJqCkk0E4iWOY1tusvvgBwqUmxTX1kmlT6kIYed9YwNKD1sfPpqa5yaA==} - engines: {node: '>=16 || ^14.17'} + /semantic-release/21.0.2_typescript@5.0.4: + resolution: {integrity: sha512-Hl6lyJdZ0pAYD07Z1FIUmg06UzSC3fEjHS7U31YppNQ8jOwjjt7pVzW9OfpoO0vbmqD3Tc+b/iZh5fqvKt01OA==} + engines: {node: '>=18'} hasBin: true dependencies: - '@semantic-release/commit-analyzer': 9.0.2_semantic-release@19.0.5 + '@semantic-release/commit-analyzer': 9.0.2_semantic-release@21.0.2 '@semantic-release/error': 3.0.0 - '@semantic-release/github': 8.0.7_semantic-release@19.0.5 - '@semantic-release/npm': 9.0.2_semantic-release@19.0.5 - '@semantic-release/release-notes-generator': 10.0.3_semantic-release@19.0.5 - aggregate-error: 3.1.0 - cosmiconfig: 7.1.0 + '@semantic-release/github': 8.0.7_semantic-release@21.0.2 + '@semantic-release/npm': 10.0.3_rzee2dqr4emcr27bts2behclwa + '@semantic-release/release-notes-generator': 11.0.1_semantic-release@21.0.2 + aggregate-error: 4.0.1 + cosmiconfig: 8.0.0 debug: 4.3.4 - env-ci: 5.5.0 - execa: 5.1.1 - figures: 3.2.0 - find-versions: 4.0.0 + env-ci: 9.1.0 + execa: 7.1.1 + figures: 5.0.0 + find-versions: 5.1.0 get-stream: 6.0.1 git-log-parser: 1.2.0 - hook-std: 2.0.0 - hosted-git-info: 4.1.0 - lodash: 4.17.21 + hook-std: 3.0.0 + hosted-git-info: 6.1.1 + lodash-es: 4.17.21 marked: 4.2.12 marked-terminal: 5.1.1_marked@4.2.12 micromatch: 4.0.5 - p-each-series: 2.2.0 - p-reduce: 2.1.0 - read-pkg-up: 7.0.1 + p-each-series: 3.0.0 + p-reduce: 3.0.0 + read-pkg-up: 9.1.0 resolve-from: 5.0.0 semver: 7.3.8 - semver-diff: 3.1.1 + semver-diff: 4.0.0 signale: 1.4.0 - yargs: 16.2.0 + yargs: 17.7.2 transitivePeerDependencies: - encoding - supports-color + - typescript dev: true - /semver-diff/3.1.1: - resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} - engines: {node: '>=8'} + /semver-diff/4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} dependencies: - semver: 6.3.0 + semver: 7.3.8 dev: true - /semver-regex/3.1.4: - resolution: {integrity: sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==} - engines: {node: '>=8'} + /semver-regex/4.0.5: + resolution: {integrity: sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==} + engines: {node: '>=12'} dev: true /semver/5.7.1: @@ -4607,22 +4484,14 @@ packages: engines: {node: '>=8'} dev: true - /slice-ansi/5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 - dev: true - - /sorcery/0.10.0: - resolution: {integrity: sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==} + /sorcery/0.11.0: + resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==} hasBin: true dependencies: + '@jridgewell/sourcemap-codec': 1.4.14 buffer-crc32: 0.2.13 minimist: 1.2.8 sander: 0.5.1 - sourcemap-codec: 1.4.8 dev: true /source-map-js/1.0.2: @@ -4630,23 +4499,11 @@ packages: engines: {node: '>=0.10.0'} dev: true - /source-map-support/0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - /source-map/0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} dev: true - /sourcemap-codec/1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - dev: true - /spawn-error-forwarder/1.0.0: resolution: {integrity: sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==} dev: true @@ -4729,15 +4586,6 @@ packages: strip-ansi: 6.0.1 dev: true - /string-width/5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.0.1 - dev: true - /string_decoder/1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: @@ -4757,13 +4605,6 @@ packages: ansi-regex: 5.0.1 dev: true - /strip-ansi/7.0.1: - resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} - engines: {node: '>=12'} - dependencies: - ansi-regex: 6.0.1 - dev: true - /strip-bom/3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -4779,6 +4620,11 @@ packages: engines: {node: '>=6'} dev: true + /strip-final-newline/3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + /strip-indent/3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -4829,19 +4675,19 @@ packages: engines: {node: '>= 0.4'} dev: true - /svelte-awesome/3.0.0_svelte@3.55.1: - resolution: {integrity: sha512-jfK+vc7f2kTFbBCk3dR1C3JA72cugh5bZHILc0gHbaSC3f1PkwPpA4OwpCRCT1Zf0hv6oaSZKxR8V2m1SKHj3Q==} + /svelte-awesome/3.2.0_svelte@3.59.1: + resolution: {integrity: sha512-A9gqgRDs/6EjUgMHIBHz88vJIiY4fVI7e2X9uu43O7J2EYqdVVSnHHH49TxMnNinbq6K9Z/1kMD9LCZhX7ysUQ==} peerDependencies: svelte: ^3.43.1 dependencies: - svelte: 3.55.1 + svelte: 3.59.1 dev: true - /svelte-check/2.10.3_svelte@3.55.1: - resolution: {integrity: sha512-Nt1aWHTOKFReBpmJ1vPug0aGysqPwJh2seM1OvICfM2oeyaA62mOiy5EvkXhltGfhCcIQcq2LoE0l1CwcWPjlw==} + /svelte-check/3.3.2_svelte@3.59.1: + resolution: {integrity: sha512-67j3rI0LDc2DvL0ON/2pvCasVVD3nHDrTkZNr4eITNfo2oFXdw7SIyMOiFj4swu+pjmFQAigytBK1IWyik8dBw==} hasBin: true peerDependencies: - svelte: ^3.24.0 + svelte: ^3.55.0 dependencies: '@jridgewell/trace-mapping': 0.3.17 chokidar: 3.5.3 @@ -4849,14 +4695,13 @@ packages: import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 - svelte: 3.55.1 - svelte-preprocess: 4.10.7_4x7phaipmicbaooxtnresslofa - typescript: 4.9.5 + svelte: 3.59.1 + svelte-preprocess: 5.0.3_gmmus3lprw664mkdmboocppfke + typescript: 5.0.4 transitivePeerDependencies: - '@babel/core' - coffeescript - less - - node-sass - postcss - postcss-load-config - pug @@ -4865,40 +4710,39 @@ packages: - sugarss dev: true - /svelte-dnd-action/0.9.22_svelte@3.55.1: + /svelte-dnd-action/0.9.22_svelte@3.59.1: resolution: {integrity: sha512-lOQJsNLM1QWv5mdxIkCVtk6k4lHCtLgfE59y8rs7iOM6erchbLC9hMEFYSveZz7biJV0mpg7yDSs4bj/RT/YkA==} peerDependencies: svelte: '>=3.23.0' dependencies: - svelte: 3.55.1 + svelte: 3.59.1 dev: true - /svelte-hmr/0.15.1_svelte@3.55.1: + /svelte-hmr/0.15.1_svelte@3.59.1: resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: '>=3.19.0' dependencies: - svelte: 3.55.1 + svelte: 3.59.1 dev: true - /svelte-preprocess/4.10.7_4x7phaipmicbaooxtnresslofa: - resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} - engines: {node: '>= 9.11.2'} + /svelte-preprocess/5.0.3_gmmus3lprw664mkdmboocppfke: + resolution: {integrity: sha512-GrHF1rusdJVbOZOwgPWtpqmaexkydznKzy5qIC2FabgpFyKN57bjMUUUqPRfbBXK5igiEWn1uO/DXsa2vJ5VHA==} + engines: {node: '>= 14.10.0'} requiresBuild: true peerDependencies: '@babel/core': ^7.10.2 coffeescript: ^2.5.1 less: ^3.11.3 || ^4.0.0 - node-sass: '*' postcss: ^7 || ^8 postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 pug: ^3.0.0 sass: ^1.26.8 stylus: ^0.55.0 - sugarss: ^2.0.0 + sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 svelte: ^3.23.0 - typescript: ^3.9.5 || ^4.0.0 + typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' peerDependenciesMeta: '@babel/core': optional: true @@ -4906,8 +4750,6 @@ packages: optional: true less: optional: true - node-sass: - optional: true postcss: optional: true postcss-load-config: @@ -4924,17 +4766,16 @@ packages: optional: true dependencies: '@types/pug': 2.0.6 - '@types/sass': 1.43.1 detect-indent: 6.1.0 - magic-string: 0.25.9 - sorcery: 0.10.0 + magic-string: 0.27.0 + sorcery: 0.11.0 strip-indent: 3.0.0 - svelte: 3.55.1 - typescript: 4.9.5 + svelte: 3.59.1 + typescript: 5.0.4 dev: true - /svelte/3.55.1: - resolution: {integrity: sha512-S+87/P0Ve67HxKkEV23iCdAh/SX1xiSfjF1HOglno/YTbSTW7RniICMCofWGdJJbdjw3S+0PfFb1JtGfTXE0oQ==} + /svelte/3.59.1: + resolution: {integrity: sha512-pKj8fEBmqf6mq3/NfrB9SLtcJcUvjYSWyePlfCqN9gujLB25RitWK8PvFzlwim6hD/We35KbPlRteuA6rnPGcQ==} engines: {node: '>= 8'} dev: true @@ -4947,15 +4788,14 @@ packages: engines: {node: '>=8'} dev: true - /tempy/1.0.1: - resolution: {integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==} - engines: {node: '>=10'} + /tempy/3.0.0: + resolution: {integrity: sha512-B2I9X7+o2wOaW4r/CWMkpOO9mdiTRCxXNgob6iGvPmfPWgH/KyUD6Uy5crtWBxIBe3YrNZKR2lSzv1JJKWD4vA==} + engines: {node: '>=14.16'} dependencies: - del: 6.1.1 - is-stream: 2.0.1 + is-stream: 3.0.0 temp-dir: 2.0.0 - type-fest: 0.16.0 - unique-string: 2.0.0 + type-fest: 2.19.0 + unique-string: 3.0.0 dev: true /text-extensions/1.9.0: @@ -4990,17 +4830,22 @@ packages: readable-stream: 3.6.0 dev: true - /tinybench/2.3.1: - resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==} + /time-zone/1.0.0: + resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} + engines: {node: '>=4'} + dev: true + + /tinybench/2.5.0: + resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==} dev: true - /tinypool/0.3.1: - resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==} + /tinypool/0.5.0: + resolution: {integrity: sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==} engines: {node: '>=14.0.0'} dev: true - /tinyspy/1.1.1: - resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==} + /tinyspy/2.1.0: + resolution: {integrity: sha512-7eORpyqImoOvkQJCSkL0d0mB4NHHIFAy4b1u8PHdDa7SjGS2njzl6/lyGoZLm+eyYEtlUmFGE0rFj66SWxZgQQ==} engines: {node: '>=14.0.0'} dev: true @@ -5032,9 +4877,9 @@ packages: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: true - /tr46/3.0.0: - resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} - engines: {node: '>=12'} + /tr46/4.1.1: + resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} + engines: {node: '>=14'} dependencies: punycode: 2.3.0 dev: true @@ -5048,7 +4893,7 @@ packages: engines: {node: '>=8'} dev: true - /ts-node/10.9.1_w6ufic3jqylcjznzspnj4wjqfe: + /ts-node/10.9.1_j6urctjydnxshuklyfgf5jiufq: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -5067,7 +4912,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 18.11.9 + '@types/node': 20.1.7 acorn: 8.8.2 acorn-walk: 8.2.0 arg: 4.1.3 @@ -5092,21 +4937,14 @@ packages: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} dev: true - /tsutils/3.21.0_typescript@4.9.5: + /tsutils/3.21.0_typescript@5.0.4: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.9.5 - dev: true - - /type-check/0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.1.2 + typescript: 5.0.4 dev: true /type-check/0.4.0: @@ -5121,11 +4959,6 @@ packages: engines: {node: '>=4'} dev: true - /type-fest/0.16.0: - resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} - engines: {node: '>=10'} - dev: true - /type-fest/0.18.1: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} engines: {node: '>=10'} @@ -5156,14 +4989,35 @@ packages: engines: {node: '>=10'} dev: true + /type-fest/2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: true + + /type-fest/3.10.0_typescript@5.0.4: + resolution: {integrity: sha512-hmAPf1datm+gt3c2mvu0sJyhFy6lTkIGf0GzyaZWxRLnabQfPUqg6tF95RPg6sLxKI7nFLGdFxBcf2/7+GXI+A==} + engines: {node: '>=14.16'} + peerDependencies: + typescript: '>=4.7.0' + dependencies: + typescript: 5.0.4 + dev: true + /typescript/4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: true + optional: true + + /typescript/5.0.4: + resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} + engines: {node: '>=12.20'} + hasBin: true + dev: true - /ufo/1.1.0: - resolution: {integrity: sha512-LQc2s/ZDMaCN3QLpa+uzHUOQ7SdV0qgv3VBXOolQGXTaaZpIur6PwUclF5nN2hNkiTRcUugXd1zFOW3FLJ135Q==} + /ufo/1.1.2: + resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==} dev: true /uglify-js/3.17.4: @@ -5174,11 +5028,11 @@ packages: dev: true optional: true - /unique-string/2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} + /unique-string/3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} dependencies: - crypto-random-string: 2.0.0 + crypto-random-string: 4.0.0 dev: true /universal-user-agent/6.0.0: @@ -5239,19 +5093,17 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite-node/0.28.5_@types+node@18.11.9: - resolution: {integrity: sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==} - engines: {node: '>=v14.16.0'} + /vite-node/0.31.0_@types+node@20.1.7: + resolution: {integrity: sha512-8x1x1LNuPvE2vIvkSB7c1mApX5oqlgsxzHQesYF7l5n1gKrEmrClIiZuOFbFDQcjLsmcWSwwmrWrcGWm9Fxc/g==} + engines: {node: '>=v14.18.0'} hasBin: true dependencies: cac: 6.7.14 debug: 4.3.4 - mlly: 1.1.1 + mlly: 1.2.1 pathe: 1.1.0 picocolors: 1.0.0 - source-map: 0.6.1 - source-map-support: 0.5.21 - vite: 4.1.4_@types+node@18.11.9 + vite: 4.3.7_@types+node@20.1.7 transitivePeerDependencies: - '@types/node' - less @@ -5262,8 +5114,8 @@ packages: - terser dev: true - /vite/4.1.4_@types+node@18.11.9: - resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==} + /vite/4.3.7_@types+node@20.1.7: + resolution: {integrity: sha512-MTIFpbIm9v7Hh5b0wSBgkcWzSBz7SAa6K/cBTwS4kUiQJfQLFlZZRJRQgqunCVzhTPCk674tW+0Qaqh3Q00dBg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -5287,16 +5139,15 @@ packages: terser: optional: true dependencies: - '@types/node': 18.11.9 - esbuild: 0.16.17 - postcss: 8.4.21 - resolve: 1.22.1 - rollup: 3.17.2 + '@types/node': 20.1.7 + esbuild: 0.17.19 + postcss: 8.4.23 + rollup: 3.22.0 optionalDependencies: fsevents: 2.3.2 dev: true - /vitefu/0.2.4_vite@4.1.4: + /vitefu/0.2.4_vite@4.3.7: resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: vite: ^3.0.0 || ^4.0.0 @@ -5304,12 +5155,12 @@ packages: vite: optional: true dependencies: - vite: 4.1.4_@types+node@18.11.9 + vite: 4.3.7_@types+node@20.1.7 dev: true - /vitest/0.28.5_jsdom@21.1.0: - resolution: {integrity: sha512-pyCQ+wcAOX7mKMcBNkzDwEHRGqQvHUl0XnoHR+3Pb1hytAHISgSxv9h0gUiSiYtISXUU3rMrKiKzFYDrI6ZIHA==} - engines: {node: '>=v14.16.0'} + /vitest/0.31.0_jsdom@22.0.0: + resolution: {integrity: sha512-JwWJS9p3GU9GxkG7eBSmr4Q4x4bvVBSswaCFf1PBNHiPx00obfhHRJfgHcnI0ffn+NMlIh9QGvG75FlaIBdKGA==} + engines: {node: '>=v14.18.0'} hasBin: true peerDependencies: '@edge-runtime/vm': '*' @@ -5317,6 +5168,9 @@ packages: '@vitest/ui': '*' happy-dom: '*' jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -5328,31 +5182,38 @@ packages: optional: true jsdom: optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true dependencies: '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 - '@types/node': 18.11.9 - '@vitest/expect': 0.28.5 - '@vitest/runner': 0.28.5 - '@vitest/spy': 0.28.5 - '@vitest/utils': 0.28.5 + '@types/node': 20.1.7 + '@vitest/expect': 0.31.0 + '@vitest/runner': 0.31.0 + '@vitest/snapshot': 0.31.0 + '@vitest/spy': 0.31.0 + '@vitest/utils': 0.31.0 acorn: 8.8.2 acorn-walk: 8.2.0 cac: 6.7.14 chai: 4.3.7 + concordance: 5.0.4 debug: 4.3.4 - jsdom: 21.1.0 + jsdom: 22.0.0 local-pkg: 0.4.3 + magic-string: 0.30.0 pathe: 1.1.0 picocolors: 1.0.0 - source-map: 0.6.1 std-env: 3.3.2 strip-literal: 1.0.1 - tinybench: 2.3.1 - tinypool: 0.3.1 - tinyspy: 1.1.1 - vite: 4.1.4_@types+node@18.11.9 - vite-node: 0.28.5_@types+node@18.11.9 + tinybench: 2.5.0 + tinypool: 0.5.0 + vite: 4.3.7_@types+node@20.1.7 + vite-node: 0.31.0_@types+node@20.1.7 why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -5385,6 +5246,11 @@ packages: engines: {node: '>=12'} dev: true + /well-known-symbols/2.0.0: + resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} + engines: {node: '>=6'} + dev: true + /whatwg-encoding/2.0.0: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} @@ -5397,11 +5263,11 @@ packages: engines: {node: '>=12'} dev: true - /whatwg-url/11.0.0: - resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} - engines: {node: '>=12'} + /whatwg-url/12.0.1: + resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==} + engines: {node: '>=14'} dependencies: - tr46: 3.0.0 + tr46: 4.1.1 webidl-conversions: 7.0.0 dev: true @@ -5489,8 +5355,8 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true - /ws/8.12.1: - resolution: {integrity: sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==} + /ws/8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -5525,27 +5391,27 @@ packages: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - /yaml/1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - dev: true - /yargs-parser/20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} dev: true - /yargs/16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} + /yargs-parser/21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs/17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} dependencies: - cliui: 7.0.4 + cliui: 8.0.1 escalade: 3.1.1 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 20.2.9 + yargs-parser: 21.1.1 dev: true /yn/3.1.1: @@ -5564,8 +5430,8 @@ packages: engines: {node: '>=12.20'} dev: true - /zustand/4.3.6: - resolution: {integrity: sha512-6J5zDxjxLE+yukC2XZWf/IyWVKnXT9b9HUv09VJ/bwGCpKNcaTqp7Ws28Xr8jnbvnZcdRaidztAPsXFBIqufiw==} + /zustand/4.3.8: + resolution: {integrity: sha512-4h28KCkHg5ii/wcFFJ5Fp+k1J3gJoasaIbppdgZFO4BPJnsNxL0mQXBSFgOgAdCdBj35aDTPvdAJReTMntFPGg==} engines: {node: '>=12.7.0'} peerDependencies: immer: '>=9.0' diff --git a/src/engine/TemplateChoiceEngine.ts b/src/engine/TemplateChoiceEngine.ts index 4bce7fc..b4da5be 100644 --- a/src/engine/TemplateChoiceEngine.ts +++ b/src/engine/TemplateChoiceEngine.ts @@ -203,13 +203,13 @@ export class TemplateChoiceEngine extends TemplateEngine { if (this.choice.folder?.createInSameFolderAsActiveFile) { const activeFile = this.app.workspace.getActiveFile(); - if (!activeFile) { + if (!activeFile || !activeFile.parent) { log.logWarning( - "No active file. Cannot create file in same folder as active file. Creating in root folder." + "No active file or active file has no parent. Cannot create file in same folder as active file. Creating in root folder." ); return ""; } - + return this.getOrCreateFolder([activeFile.parent.path]); } From 97a15d50ef9772d7206a2c57cdfd6978593be8cd Mon Sep 17 00:00:00 2001 From: Christian Bager Bach Houmann Date: Wed, 17 May 2023 11:05:25 +0200 Subject: [PATCH 2/8] add log decorator typescript 5.0 new feature --- src/logger/logDecorator.ts | 20 ++++++++++++++++++++ src/main.ts | 5 ++++- tsconfig.json | 3 ++- 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 src/logger/logDecorator.ts diff --git a/src/logger/logDecorator.ts b/src/logger/logDecorator.ts new file mode 100644 index 0000000..368f257 --- /dev/null +++ b/src/logger/logDecorator.ts @@ -0,0 +1,20 @@ +import { log } from "./logManager"; + +/** +* A decorator function that logs the method call with its arguments and return value. +* Used by writing @logDecorator above a method. +*/ +function logDecorator(target: any, key: string, descriptor: PropertyDescriptor) { + const originalMethod = descriptor.value; + + descriptor.value = function (...args: any[]) { + log.logMessage(`Method ${key} called with arguments: ${JSON.stringify(args)}`); + const result = originalMethod.apply(this, args); + log.logMessage(`Method ${key} returned: ${JSON.stringify(result)}`); + return result; + }; + + return descriptor; +} + +export default logDecorator; \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 6163249..cf01c3b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -15,6 +15,7 @@ import { QuickAddApi } from "./quickAddApi"; import migrate from "./migrations/migrate"; import { settingsStore } from "./settingsStore"; import { UpdateModal } from "./gui/UpdateModal/UpdateModal"; +import logDecorator from "./logger/logDecorator"; export default class QuickAdd extends Plugin { static instance: QuickAdd; @@ -55,7 +56,9 @@ export default class QuickAdd extends Plugin { const id: string = this.manifest.id, plugins = this.app.plugins; - void plugins.disablePlugin(id).then(() => plugins.enablePlugin(id)); + void plugins + .disablePlugin(id) + .then(() => plugins.enablePlugin(id)); }, }); diff --git a/tsconfig.json b/tsconfig.json index 83cb4e6..9c15f2c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,7 +12,8 @@ "isolatedModules": true, "types": ["svelte", "node"], "strictNullChecks": true, - "lib": ["DOM", "ES5", "ES6", "ES7"] + "lib": ["DOM", "ES5", "ES6", "ES7"], + "experimentalDecorators": true }, "include": ["**/*.ts"] } From 0b93847a96e2a6b91b2fa4146bcff8883ec5977a Mon Sep 17 00:00:00 2001 From: Christian Bager Bach Houmann Date: Wed, 17 May 2023 11:22:28 +0200 Subject: [PATCH 3/8] fix: lifecycle console warning now resolved --- src/gui/UpdateModal/UpdateModal.ts | 4 ++-- src/gui/choiceList/ChoiceListItem.svelte | 3 ++- src/gui/choiceList/MultiChoiceListItem.svelte | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/gui/UpdateModal/UpdateModal.ts b/src/gui/UpdateModal/UpdateModal.ts index b0a4228..d070812 100644 --- a/src/gui/UpdateModal/UpdateModal.ts +++ b/src/gui/UpdateModal/UpdateModal.ts @@ -1,4 +1,4 @@ -import type { Component} from "obsidian"; +import { Component } from "obsidian"; import { MarkdownRenderer, Modal } from "obsidian"; import { log } from "src/logger/logManager"; @@ -136,7 +136,7 @@ export class UpdateModal extends Modal { markdownStr, contentDiv, app.vault.getRoot().path, - null as unknown as Component + new Component(), ); } } diff --git a/src/gui/choiceList/ChoiceListItem.svelte b/src/gui/choiceList/ChoiceListItem.svelte index 7fe8795..04f0b51 100644 --- a/src/gui/choiceList/ChoiceListItem.svelte +++ b/src/gui/choiceList/ChoiceListItem.svelte @@ -25,6 +25,7 @@ dispatcher("duplicateChoice", { choice }); } + const cmp = new Component(); let nameElement: HTMLSpanElement; $: { @@ -35,7 +36,7 @@ nameHTML, nameElement, "/", - null as unknown as Component + cmp ); } } diff --git a/src/gui/choiceList/MultiChoiceListItem.svelte b/src/gui/choiceList/MultiChoiceListItem.svelte index c0bafec..470b2d0 100644 --- a/src/gui/choiceList/MultiChoiceListItem.svelte +++ b/src/gui/choiceList/MultiChoiceListItem.svelte @@ -30,6 +30,7 @@ dispatcher('duplicateChoice', {choice}); } + const cmp = new Component(); let nameElement: HTMLSpanElement; $: { @@ -40,7 +41,7 @@ nameHTML, nameElement, "/", - null as unknown as Component + cmp ); } } From 03f77eed40ecec423c7352cc412d7e616272671e Mon Sep 17 00:00:00 2001 From: Christian Bager Bach Houmann Date: Wed, 17 May 2023 11:32:50 +0200 Subject: [PATCH 4/8] fix: (performance) cap # of suggestions for templates / files to capture to in choice settings larger vaults could potentially lead to crashs or performance issues when configuring which template to use in Template choices, and similar in Captures. --- src/gui/ChoiceBuilder/captureChoiceBuilder.ts | 6 ++++-- src/gui/ChoiceBuilder/templateChoiceBuilder.ts | 2 +- src/gui/suggesters/genericTextSuggester.ts | 8 +++++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/gui/ChoiceBuilder/captureChoiceBuilder.ts b/src/gui/ChoiceBuilder/captureChoiceBuilder.ts index db3bd10..b4824ee 100644 --- a/src/gui/ChoiceBuilder/captureChoiceBuilder.ts +++ b/src/gui/ChoiceBuilder/captureChoiceBuilder.ts @@ -119,7 +119,8 @@ export class CaptureChoiceBuilder extends ChoiceBuilder { new GenericTextSuggester( this.app, textField.inputEl, - markdownFilesAndFormatSyntax + markdownFilesAndFormatSyntax, + 50 ); } } @@ -418,7 +419,8 @@ export class CaptureChoiceBuilder extends ChoiceBuilder { new GenericTextSuggester( this.app, templateSelector.inputEl, - templateFilePaths + templateFilePaths, + 50 ); templateSelector.onChange((value) => { diff --git a/src/gui/ChoiceBuilder/templateChoiceBuilder.ts b/src/gui/ChoiceBuilder/templateChoiceBuilder.ts index 3e91339..614c234 100644 --- a/src/gui/ChoiceBuilder/templateChoiceBuilder.ts +++ b/src/gui/ChoiceBuilder/templateChoiceBuilder.ts @@ -59,7 +59,7 @@ export class TemplateChoiceBuilder extends ChoiceBuilder { search.setValue(this.choice.templatePath); search.setPlaceholder("Template path"); - new GenericTextSuggester(this.app, search.inputEl, templates); + new GenericTextSuggester(this.app, search.inputEl, templates, 50); search.onChange((value) => { this.choice.templatePath = value; diff --git a/src/gui/suggesters/genericTextSuggester.ts b/src/gui/suggesters/genericTextSuggester.ts index 631303c..7fddfad 100644 --- a/src/gui/suggesters/genericTextSuggester.ts +++ b/src/gui/suggesters/genericTextSuggester.ts @@ -5,7 +5,8 @@ export class GenericTextSuggester extends TextInputSuggest { constructor( public app: App, public inputEl: HTMLInputElement | HTMLTextAreaElement, - private items: string[] + private items: string[], + private maxSuggestions = Infinity ) { super(app, inputEl); } @@ -18,9 +19,10 @@ export class GenericTextSuggester extends TextInputSuggest { }); if (!filtered) this.close(); - if (filtered?.length > 0) return filtered; - return []; + const limited = filtered.slice(0, this.maxSuggestions); + + return limited; } selectSuggestion(item: string): void { From c12aea5d2cef68cf23fabff6460a822aa87d74e6 Mon Sep 17 00:00:00 2001 From: Christian Bager Bach Houmann Date: Wed, 17 May 2023 12:21:43 +0200 Subject: [PATCH 5/8] refactor: move helper functions --- src/migrations/{ => helpers}/isCaptureChoice.ts | 0 src/migrations/{ => helpers}/isMultiChoice.ts | 0 src/migrations/{ => helpers}/isNestedChoiceCommand.ts | 0 src/migrations/{ => helpers}/isOldTemplateChoice.ts | 0 .../incrementFileNameSettingMoveToDefaultBehavior.ts | 6 +++--- .../mutualExclusionInsertAfterAndWriteToBottomOfFile.ts | 6 +++--- 6 files changed, 6 insertions(+), 6 deletions(-) rename src/migrations/{ => helpers}/isCaptureChoice.ts (100%) rename src/migrations/{ => helpers}/isMultiChoice.ts (100%) rename src/migrations/{ => helpers}/isNestedChoiceCommand.ts (100%) rename src/migrations/{ => helpers}/isOldTemplateChoice.ts (100%) diff --git a/src/migrations/isCaptureChoice.ts b/src/migrations/helpers/isCaptureChoice.ts similarity index 100% rename from src/migrations/isCaptureChoice.ts rename to src/migrations/helpers/isCaptureChoice.ts diff --git a/src/migrations/isMultiChoice.ts b/src/migrations/helpers/isMultiChoice.ts similarity index 100% rename from src/migrations/isMultiChoice.ts rename to src/migrations/helpers/isMultiChoice.ts diff --git a/src/migrations/isNestedChoiceCommand.ts b/src/migrations/helpers/isNestedChoiceCommand.ts similarity index 100% rename from src/migrations/isNestedChoiceCommand.ts rename to src/migrations/helpers/isNestedChoiceCommand.ts diff --git a/src/migrations/isOldTemplateChoice.ts b/src/migrations/helpers/isOldTemplateChoice.ts similarity index 100% rename from src/migrations/isOldTemplateChoice.ts rename to src/migrations/helpers/isOldTemplateChoice.ts diff --git a/src/migrations/incrementFileNameSettingMoveToDefaultBehavior.ts b/src/migrations/incrementFileNameSettingMoveToDefaultBehavior.ts index 3be7e1c..ab4d8c0 100644 --- a/src/migrations/incrementFileNameSettingMoveToDefaultBehavior.ts +++ b/src/migrations/incrementFileNameSettingMoveToDefaultBehavior.ts @@ -1,9 +1,9 @@ import type QuickAdd from "src/main"; import type IChoice from "src/types/choices/IChoice"; import type { IMacro } from "src/types/macros/IMacro"; -import { isMultiChoice } from "./isMultiChoice"; -import { isNestedChoiceCommand } from "./isNestedChoiceCommand"; -import { isOldTemplateChoice } from "./isOldTemplateChoice"; +import { isMultiChoice } from "./helpers/isMultiChoice"; +import { isNestedChoiceCommand } from "./helpers/isNestedChoiceCommand"; +import { isOldTemplateChoice } from "./helpers/isOldTemplateChoice"; import type { Migration } from "./Migrations"; function recursiveRemoveIncrementFileName(choices: IChoice[]): IChoice[] { diff --git a/src/migrations/mutualExclusionInsertAfterAndWriteToBottomOfFile.ts b/src/migrations/mutualExclusionInsertAfterAndWriteToBottomOfFile.ts index d4fd7d6..e4b53a1 100644 --- a/src/migrations/mutualExclusionInsertAfterAndWriteToBottomOfFile.ts +++ b/src/migrations/mutualExclusionInsertAfterAndWriteToBottomOfFile.ts @@ -1,8 +1,8 @@ import type IChoice from "src/types/choices/IChoice"; import type { IMacro } from "src/types/macros/IMacro"; -import { isCaptureChoice } from "./isCaptureChoice"; -import { isMultiChoice } from "./isMultiChoice"; -import { isNestedChoiceCommand } from "./isNestedChoiceCommand"; +import { isCaptureChoice } from "./helpers/isCaptureChoice"; +import { isMultiChoice } from "./helpers/isMultiChoice"; +import { isNestedChoiceCommand } from "./helpers/isNestedChoiceCommand"; import type { Migration } from "./Migrations"; function recursiveMigrateSettingInChoices(choices: IChoice[]): IChoice[] { From 80f09b9052a52785cad306debe3d22c1e7df96f3 Mon Sep 17 00:00:00 2001 From: Christian Bager Bach Houmann Date: Wed, 17 May 2023 12:23:26 +0200 Subject: [PATCH 6/8] feat: you can now configure model parameters for the AI Assistant - like Temperature, Top P, etc --- src/ai/AIAssistant.ts | 19 ++- src/ai/OpenAIModelParameters.ts | 23 ++++ src/engine/MacroChoiceEngine.ts | 1 + .../AIAssistantCommandSettingsModal.ts | 116 +++++++++++++++++- .../QuickCommands/AIAssistantCommand.ts | 8 ++ .../QuickCommands/IAIAssistantCommand.ts | 2 + 6 files changed, 162 insertions(+), 7 deletions(-) create mode 100644 src/ai/OpenAIModelParameters.ts diff --git a/src/ai/AIAssistant.ts b/src/ai/AIAssistant.ts index f303d65..ec523ef 100644 --- a/src/ai/AIAssistant.ts +++ b/src/ai/AIAssistant.ts @@ -3,6 +3,7 @@ import type { Model } from "./models"; import { Notice, TFile, requestUrl } from "obsidian"; import { getMarkdownFilesInFolder } from "src/utilityObsidian"; import invariant from "src/utils/invariant"; +import { OpenAIModelParameters } from "./OpenAIModelParameters"; const noticeMsg = (task: string, message: string) => `Assistant is ${task}.${message ? `\n\n${message}` : ""}`; @@ -77,6 +78,7 @@ interface params { }; promptTemplateFolder: string; showAssistantMessages: boolean; + modelOptions: Partial; } export async function runAIAssistant( @@ -85,7 +87,7 @@ export async function runAIAssistant( ) { const notice = settings.showAssistantMessages ? new Notice(noticeMsg("starting", ""), 1000000) - : { setMessage: () => { }, hide: () => { } }; + : { setMessage: () => {}, hide: () => {} }; try { const { @@ -115,7 +117,12 @@ export async function runAIAssistant( ]; notice.setMessage(noticeMsg(promptingMsg[0], promptingMsg[1])); - const makeRequest = OpenAIRequest(apiKey, model, systemPrompt); + const makeRequest = OpenAIRequest( + apiKey, + model, + systemPrompt, + settings.modelOptions + ); const res = makeRequest(formattedPrompt); const time_start = Date.now(); @@ -183,7 +190,12 @@ type ReqResponse = { created: number; }; -function OpenAIRequest(apiKey: string, model: Model, systemPrompt: string) { +function OpenAIRequest( + apiKey: string, + model: Model, + systemPrompt: string, + modelParams: Partial = {} +) { return async function makeRequest(prompt: string) { try { const response = await requestUrl({ @@ -195,6 +207,7 @@ function OpenAIRequest(apiKey: string, model: Model, systemPrompt: string) { }, body: JSON.stringify({ model, + ...modelParams, messages: [ { role: "system", content: systemPrompt }, { role: "user", content: prompt }, diff --git a/src/ai/OpenAIModelParameters.ts b/src/ai/OpenAIModelParameters.ts new file mode 100644 index 0000000..934741e --- /dev/null +++ b/src/ai/OpenAIModelParameters.ts @@ -0,0 +1,23 @@ +export const DEFAULT_TOP_P = 1; +export const DEFAULT_TEMPERATURE = 1; +export const DEFAULT_FREQUENCY_PENALTY = 0; +export const DEFAULT_PRESENCE_PENALTY = 0; + +export interface OpenAIModelParameters { + /** + * What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. (source: OpenAI) + */ + temperature: number; + /** + * An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. (source: OpenAI) + */ + top_p: number; + /** + * Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. (source: OpenAI) + */ + frequency_penalty: number; + /** + * Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. (source: OpenAI) + */ + presence_penalty: number; +} diff --git a/src/engine/MacroChoiceEngine.ts b/src/engine/MacroChoiceEngine.ts index 1f46610..5a2046a 100644 --- a/src/engine/MacroChoiceEngine.ts +++ b/src/engine/MacroChoiceEngine.ts @@ -319,6 +319,7 @@ export class MacroChoiceEngine extends QuickAddChoiceEngine { promptTemplateFolder: aiSettings.promptTemplatesFolderPath, systemPrompt: command.systemPrompt, showAssistantMessages: aiSettings.showAssistant, + modelOptions: command.modelParameters, }, async (input: string) => { return formatter.formatFileContent(input); diff --git a/src/gui/MacroGUIs/AIAssistantCommandSettingsModal.ts b/src/gui/MacroGUIs/AIAssistantCommandSettingsModal.ts index d505444..2335dc4 100644 --- a/src/gui/MacroGUIs/AIAssistantCommandSettingsModal.ts +++ b/src/gui/MacroGUIs/AIAssistantCommandSettingsModal.ts @@ -9,6 +9,12 @@ import { GenericTextSuggester } from "../suggesters/genericTextSuggester"; import { getMarkdownFilesInFolder } from "src/utilityObsidian"; import { settingsStore } from "src/settingsStore"; import GenericInputPrompt from "../GenericInputPrompt/GenericInputPrompt"; +import { + DEFAULT_FREQUENCY_PENALTY, + DEFAULT_PRESENCE_PENALTY, + DEFAULT_TEMPERATURE, + DEFAULT_TOP_P, +} from "src/ai/OpenAIModelParameters"; export class AIAssistantCommandSettingsModal extends Modal { public waitForClose: Promise; @@ -17,6 +23,7 @@ export class AIAssistantCommandSettingsModal extends Modal { private rejectPromise: (reason?: unknown) => void; private settings: IAIAssistantCommand; + private showAdvancedSettings = false; constructor(settings: IAIAssistantCommand) { super(app); @@ -40,16 +47,16 @@ export class AIAssistantCommandSettingsModal extends Modal { }); header.style.textAlign = "center"; - header.style.cursor = "pointer"; - header.style.userSelect = "none"; + header.style.cursor = "pointer"; + header.style.userSelect = "none"; // eslint-disable-next-line @typescript-eslint/no-misused-promises header.addEventListener("click", async () => { try { const newName = await GenericInputPrompt.Prompt( app, "New name", - this.settings.name, - this.settings.name + this.settings.name, + this.settings.name ); if (newName && newName !== this.settings.name) { @@ -63,6 +70,17 @@ export class AIAssistantCommandSettingsModal extends Modal { this.addModelSetting(this.contentEl); this.addOutputVariableNameSetting(this.contentEl); + this.addShowAdvancedSettingsToggle(this.contentEl); + + if (this.showAdvancedSettings) { + if (!this.settings.modelParameters) + this.settings.modelParameters = {}; + this.addTemperatureSetting(this.contentEl); + this.addTopPSetting(this.contentEl); + this.addFrequencyPenaltySetting(this.contentEl); + this.addPresencePenaltySetting(this.contentEl); + } + this.addSystemPromptSetting(this.contentEl); } @@ -173,6 +191,96 @@ export class AIAssistantCommandSettingsModal extends Modal { )))(); } + addShowAdvancedSettingsToggle(container: HTMLElement) { + new Setting(container) + .setName("Show advanced settings") + .setDesc( + "Show advanced settings such as temperature, top p, and frequency penalty." + ) + .addToggle((toggle) => { + toggle.setValue(this.showAdvancedSettings); + toggle.onChange((value) => { + this.showAdvancedSettings = value; + this.reload(); + }); + }); + } + + addTemperatureSetting(container: HTMLElement) { + new Setting(container) + .setName("Temperature") + .setDesc( + "Sampling temperature. Higher values like 0.8 makes the output more random, whereas lower values like 0.2 will make it more focused and deterministic. The default is 1." + ) + .addSlider((slider) => { + slider.setLimits(0, 1, 0.1); + slider.setDynamicTooltip(); + slider.setValue( + this.settings.modelParameters.temperature ?? + DEFAULT_TEMPERATURE + ); + slider.onChange((value) => { + this.settings.modelParameters.temperature = value; + }); + }); + } + + addTopPSetting(container: HTMLElement) { + new Setting(container) + .setName("Top P") + .setDesc( + "Nucleus sampling - consider this an alternative to temperature. The model considers the results of the tokens with top_p probability mass. 0.1 means only tokens compromising the top 10% probability mass are considered. The default is 1." + ) + .addSlider((slider) => { + slider.setLimits(0, 1, 0.1); + slider.setDynamicTooltip(); + slider.setValue( + this.settings.modelParameters.top_p ?? DEFAULT_TOP_P + ); + slider.onChange((value) => { + this.settings.modelParameters.top_p = value; + }); + }); + } + + addFrequencyPenaltySetting(container: HTMLElement) { + new Setting(container) + .setName("Frequency Penalty") + .setDesc( + "Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. The default is 0." + ) + .addSlider((slider) => { + slider.setLimits(0, 2, 0.1); + slider.setDynamicTooltip(); + slider.setValue( + this.settings.modelParameters.frequency_penalty ?? + DEFAULT_FREQUENCY_PENALTY + ); + slider.onChange((value) => { + this.settings.modelParameters.frequency_penalty = value; + }); + }); + } + + addPresencePenaltySetting(container: HTMLElement) { + new Setting(container) + .setName("Presence Penalty") + .setDesc( + "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. The default is 0." + ) + .addSlider((slider) => { + slider.setLimits(0, 2, 0.1); + slider.setDynamicTooltip(); + slider.setValue( + this.settings.modelParameters.presence_penalty ?? + DEFAULT_PRESENCE_PENALTY + ); + slider.onChange((value) => { + this.settings.modelParameters.presence_penalty = value; + }); + }); + } + onClose(): void { this.resolvePromise(this.settings); super.onClose(); diff --git a/src/types/macros/QuickCommands/AIAssistantCommand.ts b/src/types/macros/QuickCommands/AIAssistantCommand.ts index b71e57b..2eb4772 100644 --- a/src/types/macros/QuickCommands/AIAssistantCommand.ts +++ b/src/types/macros/QuickCommands/AIAssistantCommand.ts @@ -3,6 +3,7 @@ import { Command } from "../Command"; import { CommandType } from "../CommandType"; import type { IAIAssistantCommand } from "./IAIAssistantCommand"; import { settingsStore } from "src/settingsStore"; +import { DEFAULT_FREQUENCY_PENALTY, DEFAULT_PRESENCE_PENALTY, DEFAULT_TEMPERATURE, DEFAULT_TOP_P, OpenAIModelParameters } from "src/ai/OpenAIModelParameters"; export class AIAssistantCommand extends Command implements IAIAssistantCommand { id: string; @@ -16,6 +17,7 @@ export class AIAssistantCommand extends Command implements IAIAssistantCommand { enable: boolean; name: string; }; + modelParameters: Partial; constructor() { super("AI Assistant", CommandType.AIAssistant); @@ -26,5 +28,11 @@ export class AIAssistantCommand extends Command implements IAIAssistantCommand { this.systemPrompt = defaults.defaultSystemPrompt; this.outputVariableName = "output"; this.promptTemplate = { enable: false, name: "" }; + this.modelParameters = { + temperature: DEFAULT_TEMPERATURE, + top_p: DEFAULT_TOP_P, + frequency_penalty: DEFAULT_FREQUENCY_PENALTY, + presence_penalty: DEFAULT_PRESENCE_PENALTY, + }; } } diff --git a/src/types/macros/QuickCommands/IAIAssistantCommand.ts b/src/types/macros/QuickCommands/IAIAssistantCommand.ts index 040dd56..aed7b31 100644 --- a/src/types/macros/QuickCommands/IAIAssistantCommand.ts +++ b/src/types/macros/QuickCommands/IAIAssistantCommand.ts @@ -1,5 +1,6 @@ import type { Models_And_Ask_Me } from "src/ai/models"; import type { ICommand } from "../ICommand"; +import { OpenAIModelParameters } from "src/ai/OpenAIModelParameters"; export interface IAIAssistantCommand extends ICommand { model: Models_And_Ask_Me; @@ -9,4 +10,5 @@ export interface IAIAssistantCommand extends ICommand { enable: boolean; name: string; }; + modelParameters: Partial; } From 6ec462de21a2fce18a952331f29b598bed6c88e1 Mon Sep 17 00:00:00 2001 From: Christian Bager Bach Houmann Date: Wed, 17 May 2023 13:15:35 +0200 Subject: [PATCH 7/8] feat: add option to disable AI (& online) features. If on, QuickAdd won't contact external services This setting is enabled by default. To continue using the AI Assistant for QuickAdd, please disable the setting. BREAKING CHANGE: The new AI- & Online-features-disable setting is on by default, meaning users who wish to use the AI Assistant will need to disable this setting. re #478 --- src/ai/AIAssistant.ts | 13 +++++++++++++ src/engine/MacroChoiceEngine.ts | 6 ++++++ src/gui/MacroGUIs/MacroBuilder.ts | 6 +++++- src/gui/choiceList/ChoiceView.svelte | 14 +++++++++----- src/quickAddSettingsTab.ts | 26 ++++++++++++++++++++++++++ 5 files changed, 59 insertions(+), 6 deletions(-) diff --git a/src/ai/AIAssistant.ts b/src/ai/AIAssistant.ts index ec523ef..362d8cd 100644 --- a/src/ai/AIAssistant.ts +++ b/src/ai/AIAssistant.ts @@ -4,6 +4,7 @@ import { Notice, TFile, requestUrl } from "obsidian"; import { getMarkdownFilesInFolder } from "src/utilityObsidian"; import invariant from "src/utils/invariant"; import { OpenAIModelParameters } from "./OpenAIModelParameters"; +import { settingsStore } from "src/settingsStore"; const noticeMsg = (task: string, message: string) => `Assistant is ${task}.${message ? `\n\n${message}` : ""}`; @@ -85,6 +86,12 @@ export async function runAIAssistant( settings: params, formatter: (input: string) => Promise ) { + if (settingsStore.getState().disableOnlineFeatures) { + throw new Error( + "Blocking request to OpenAI: Online features are disabled in settings." + ); + } + const notice = settings.showAssistantMessages ? new Notice(noticeMsg("starting", ""), 1000000) : { setMessage: () => {}, hide: () => {} }; @@ -197,6 +204,12 @@ function OpenAIRequest( modelParams: Partial = {} ) { return async function makeRequest(prompt: string) { + if (settingsStore.getState().disableOnlineFeatures) { + throw new Error( + "Blocking request to OpenAI: Online features are disabled in settings." + ); + } + try { const response = await requestUrl({ url: `https://api.openai.com/v1/chat/completions`, diff --git a/src/engine/MacroChoiceEngine.ts b/src/engine/MacroChoiceEngine.ts index 5a2046a..9dfc4b0 100644 --- a/src/engine/MacroChoiceEngine.ts +++ b/src/engine/MacroChoiceEngine.ts @@ -297,6 +297,12 @@ export class MacroChoiceEngine extends QuickAddChoiceEngine { } private async executeAIAssistant(command: IAIAssistantCommand) { + if (settingsStore.getState().disableOnlineFeatures) { + throw new Error( + "Blocking request to OpenAI: Online features are disabled in settings." + ); + } + const aiSettings = settingsStore.getState().ai; const options = [...models]; diff --git a/src/gui/MacroGUIs/MacroBuilder.ts b/src/gui/MacroGUIs/MacroBuilder.ts index 7df68b1..8193429 100644 --- a/src/gui/MacroGUIs/MacroBuilder.ts +++ b/src/gui/MacroGUIs/MacroBuilder.ts @@ -30,6 +30,7 @@ import { GenericTextSuggester } from "../suggesters/genericTextSuggester"; import type { MultiChoice } from "src/types/choices/MultiChoice"; import type { IconType } from "src/types/IconType"; import { AIAssistantCommand } from "src/types/macros/QuickCommands/AIAssistantCommand"; +import { settingsStore } from "src/settingsStore"; function getChoicesAsList(nestedChoices: IChoice[]): IChoice[] { const arr: IChoice[] = []; @@ -391,7 +392,10 @@ export class MacroBuilder extends Modal { this.newChoiceButton(quickCommandContainer, "Capture", CaptureChoice); this.newChoiceButton(quickCommandContainer, "Template", TemplateChoice); this.addAddWaitCommandButton(quickCommandContainer); - this.addAIAssistantCommandButton(quickCommandContainer); + + if (!settingsStore.getState().disableOnlineFeatures) { + this.addAIAssistantCommandButton(quickCommandContainer); + } } addAIAssistantCommandButton(quickCommandContainer: HTMLDivElement) { const button: ButtonComponent = new ButtonComponent( diff --git a/src/gui/choiceList/ChoiceView.svelte b/src/gui/choiceList/ChoiceView.svelte index 16049b2..ca2125a 100644 --- a/src/gui/choiceList/ChoiceView.svelte +++ b/src/gui/choiceList/ChoiceView.svelte @@ -276,10 +276,12 @@ } async function openAISettings() { - const newSettings = await new AIAssistantSettingsModal(settingsStore.getState().ai).waitForClose; + const newSettings = await new AIAssistantSettingsModal( + settingsStore.getState().ai + ).waitForClose; if (newSettings) { - settingsStore.setState(state => ({...state, ai: newSettings})); + settingsStore.setState((state) => ({ ...state, ai: newSettings })); } } @@ -299,9 +301,11 @@ - + {#if !settingsStore.getState().disableOnlineFeatures} + + {/if} diff --git a/src/quickAddSettingsTab.ts b/src/quickAddSettingsTab.ts index 8794ae1..df58534 100644 --- a/src/quickAddSettingsTab.ts +++ b/src/quickAddSettingsTab.ts @@ -16,6 +16,11 @@ export interface QuickAddSettings { templateFolderPath: string; announceUpdates: boolean; version: string; + /** + * If this is true, then the plugin is not to contact external services (e.g. OpenAI, etc.) via plugin features. + * Users _can_ still use User Scripts to do so by executing arbitrary JavaScript, but that is not something the plugin controls. + */ + disableOnlineFeatures: boolean; ai: { OpenAIApiKey: string; defaultModel: Models_And_Ask_Me; @@ -40,6 +45,7 @@ export const DEFAULT_SETTINGS: QuickAddSettings = { templateFolderPath: "", announceUpdates: true, version: "0.0.0", + disableOnlineFeatures: true, ai: { OpenAIApiKey: "", defaultModel: "Ask me", @@ -74,6 +80,7 @@ export class QuickAddSettingsTab extends PluginSettingTab { this.addUseMultiLineInputPromptSetting(); this.addTemplateFolderPathSetting(); this.addAnnounceUpdatesSetting(); + this.addDisableOnlineFeaturesSetting(); } addAnnounceUpdatesSetting() { @@ -165,4 +172,23 @@ export class QuickAddSettingsTab extends PluginSettingTab { ); }); } + + private addDisableOnlineFeaturesSetting() { + new Setting(this.containerEl) + .setName("Disable AI & Online features") + .setDesc( + "This prevents the plugin from making requests to external providers like OpenAI. You can still use User Scripts to execute arbitrary code, inclulding contacting external providers. However, this setting disables plugin features like the AI Assistant from doing so. You need to disable this setting to use the AI Assistant." + ) + .addToggle((toggle) => + toggle + .setValue(settingsStore.getState().disableOnlineFeatures) + .onChange((value) => { + settingsStore.setState({ + disableOnlineFeatures: value, + }); + + this.display(); + }) + ); + } } From 41052aefadb9fbc8e0154fe7c80c987b4ac1843c Mon Sep 17 00:00:00 2001 From: Christian Bager Bach Houmann Date: Wed, 17 May 2023 13:23:12 +0200 Subject: [PATCH 8/8] chore: fix build errors --- src/ai/AIAssistant.ts | 2 +- src/logger/logDecorator.ts | 5 +++++ src/main.ts | 1 - src/types/macros/QuickCommands/AIAssistantCommand.ts | 3 ++- .../macros/QuickCommands/IAIAssistantCommand.ts | 2 +- vitest.config.ts | 12 ++++++------ 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/ai/AIAssistant.ts b/src/ai/AIAssistant.ts index 362d8cd..48a3639 100644 --- a/src/ai/AIAssistant.ts +++ b/src/ai/AIAssistant.ts @@ -3,7 +3,7 @@ import type { Model } from "./models"; import { Notice, TFile, requestUrl } from "obsidian"; import { getMarkdownFilesInFolder } from "src/utilityObsidian"; import invariant from "src/utils/invariant"; -import { OpenAIModelParameters } from "./OpenAIModelParameters"; +import type { OpenAIModelParameters } from "./OpenAIModelParameters"; import { settingsStore } from "src/settingsStore"; const noticeMsg = (task: string, message: string) => diff --git a/src/logger/logDecorator.ts b/src/logger/logDecorator.ts index 368f257..b0058ea 100644 --- a/src/logger/logDecorator.ts +++ b/src/logger/logDecorator.ts @@ -1,3 +1,8 @@ +/* eslint-disable @typescript-eslint/no-unsafe-return */ +/* eslint-disable @typescript-eslint/no-unsafe-call */ +/* eslint-disable @typescript-eslint/no-unsafe-member-access */ +/* eslint-disable @typescript-eslint/no-unsafe-assignment */ +/* eslint-disable @typescript-eslint/no-explicit-any */ import { log } from "./logManager"; /** diff --git a/src/main.ts b/src/main.ts index cf01c3b..db010ef 100644 --- a/src/main.ts +++ b/src/main.ts @@ -15,7 +15,6 @@ import { QuickAddApi } from "./quickAddApi"; import migrate from "./migrations/migrate"; import { settingsStore } from "./settingsStore"; import { UpdateModal } from "./gui/UpdateModal/UpdateModal"; -import logDecorator from "./logger/logDecorator"; export default class QuickAdd extends Plugin { static instance: QuickAdd; diff --git a/src/types/macros/QuickCommands/AIAssistantCommand.ts b/src/types/macros/QuickCommands/AIAssistantCommand.ts index 2eb4772..5ca52f0 100644 --- a/src/types/macros/QuickCommands/AIAssistantCommand.ts +++ b/src/types/macros/QuickCommands/AIAssistantCommand.ts @@ -3,7 +3,8 @@ import { Command } from "../Command"; import { CommandType } from "../CommandType"; import type { IAIAssistantCommand } from "./IAIAssistantCommand"; import { settingsStore } from "src/settingsStore"; -import { DEFAULT_FREQUENCY_PENALTY, DEFAULT_PRESENCE_PENALTY, DEFAULT_TEMPERATURE, DEFAULT_TOP_P, OpenAIModelParameters } from "src/ai/OpenAIModelParameters"; +import type { OpenAIModelParameters } from "src/ai/OpenAIModelParameters"; +import { DEFAULT_FREQUENCY_PENALTY, DEFAULT_PRESENCE_PENALTY, DEFAULT_TEMPERATURE, DEFAULT_TOP_P } from "src/ai/OpenAIModelParameters"; export class AIAssistantCommand extends Command implements IAIAssistantCommand { id: string; diff --git a/src/types/macros/QuickCommands/IAIAssistantCommand.ts b/src/types/macros/QuickCommands/IAIAssistantCommand.ts index aed7b31..7fd7376 100644 --- a/src/types/macros/QuickCommands/IAIAssistantCommand.ts +++ b/src/types/macros/QuickCommands/IAIAssistantCommand.ts @@ -1,6 +1,6 @@ import type { Models_And_Ask_Me } from "src/ai/models"; import type { ICommand } from "../ICommand"; -import { OpenAIModelParameters } from "src/ai/OpenAIModelParameters"; +import type { OpenAIModelParameters } from "src/ai/OpenAIModelParameters"; export interface IAIAssistantCommand extends ICommand { model: Models_And_Ask_Me; diff --git a/vitest.config.ts b/vitest.config.ts index c64d20b..9800f3c 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,14 +1,14 @@ import { defineConfig } from "vitest/config"; -import { svelte } from "@sveltejs/vite-plugin-svelte"; -import sveltePreprocess from "svelte-preprocess"; +// import { svelte } from "@sveltejs/vite-plugin-svelte"; +// import sveltePreprocess from "svelte-preprocess"; import * as path from "path"; export default defineConfig({ plugins: [ - svelte({ - hot: !process.env.VITEST, - preprocess: sveltePreprocess(), - }), + // svelte({ + // hot: !process.env.VITEST, + // preprocess: sveltePreprocess(), + // }), ], resolve: { alias: {