diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 60fa108..cf5e1ef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,6 +14,15 @@ jobs: node-version: 16 - run: yarn install --immutable - run: yarn build + deps: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 16 + - run: yarn install --immutable + - run: yarn dedupe --check docs: runs-on: ubuntu-latest steps: diff --git a/.yarn/cache/@eslint-eslintrc-npm-1.3.1-f9e7aea43c-9844dcc58a.zip b/.yarn/cache/@eslint-eslintrc-npm-1.3.3-9e3a462140-f03e9d6727.zip similarity index 61% rename from .yarn/cache/@eslint-eslintrc-npm-1.3.1-f9e7aea43c-9844dcc58a.zip rename to .yarn/cache/@eslint-eslintrc-npm-1.3.3-9e3a462140-f03e9d6727.zip index 8bfc979..4d1a8ef 100644 Binary files a/.yarn/cache/@eslint-eslintrc-npm-1.3.1-f9e7aea43c-9844dcc58a.zip and b/.yarn/cache/@eslint-eslintrc-npm-1.3.3-9e3a462140-f03e9d6727.zip differ diff --git a/.yarn/cache/@humanwhocodes-config-array-npm-0.10.4-8334b3c6a2-d480e5d57e.zip b/.yarn/cache/@humanwhocodes-config-array-npm-0.10.4-8334b3c6a2-d480e5d57e.zip deleted file mode 100644 index 70b1644..0000000 Binary files a/.yarn/cache/@humanwhocodes-config-array-npm-0.10.4-8334b3c6a2-d480e5d57e.zip and /dev/null differ diff --git a/.yarn/cache/@humanwhocodes-config-array-npm-0.10.7-81c0f4b5e6-009d64be8d.zip b/.yarn/cache/@humanwhocodes-config-array-npm-0.10.7-81c0f4b5e6-009d64be8d.zip new file mode 100644 index 0000000..9bcc70f Binary files /dev/null and b/.yarn/cache/@humanwhocodes-config-array-npm-0.10.7-81c0f4b5e6-009d64be8d.zip differ diff --git a/.yarn/cache/@humanwhocodes-gitignore-to-minimatch-npm-1.0.2-247ae8a408-aba5c40c9e.zip b/.yarn/cache/@humanwhocodes-gitignore-to-minimatch-npm-1.0.2-247ae8a408-aba5c40c9e.zip deleted file mode 100644 index 2636f8c..0000000 Binary files a/.yarn/cache/@humanwhocodes-gitignore-to-minimatch-npm-1.0.2-247ae8a408-aba5c40c9e.zip and /dev/null differ diff --git a/.yarn/cache/@typescript-eslint-scope-manager-npm-5.39.0-3bce0c88f0-8d8b55eb21.zip b/.yarn/cache/@typescript-eslint-scope-manager-npm-5.39.0-3bce0c88f0-8d8b55eb21.zip new file mode 100644 index 0000000..e644704 Binary files /dev/null and b/.yarn/cache/@typescript-eslint-scope-manager-npm-5.39.0-3bce0c88f0-8d8b55eb21.zip differ diff --git a/.yarn/cache/@typescript-eslint-types-npm-5.39.0-1c26ad3ade-5f67fe02ad.zip b/.yarn/cache/@typescript-eslint-types-npm-5.39.0-1c26ad3ade-5f67fe02ad.zip new file mode 100644 index 0000000..918cc59 Binary files /dev/null and b/.yarn/cache/@typescript-eslint-types-npm-5.39.0-1c26ad3ade-5f67fe02ad.zip differ diff --git a/.yarn/cache/@typescript-eslint-typescript-estree-npm-5.39.0-d5659c74ce-86143dd9dd.zip b/.yarn/cache/@typescript-eslint-typescript-estree-npm-5.39.0-d5659c74ce-86143dd9dd.zip new file mode 100644 index 0000000..074eeb6 Binary files /dev/null and b/.yarn/cache/@typescript-eslint-typescript-estree-npm-5.39.0-d5659c74ce-86143dd9dd.zip differ diff --git a/.yarn/cache/@typescript-eslint-utils-npm-5.39.0-401dad3ea6-460a883775.zip b/.yarn/cache/@typescript-eslint-utils-npm-5.39.0-401dad3ea6-460a883775.zip new file mode 100644 index 0000000..535b98d Binary files /dev/null and b/.yarn/cache/@typescript-eslint-utils-npm-5.39.0-401dad3ea6-460a883775.zip differ diff --git a/.yarn/cache/@typescript-eslint-visitor-keys-npm-5.39.0-5dd5e2b702-941e49fd1f.zip b/.yarn/cache/@typescript-eslint-visitor-keys-npm-5.39.0-5dd5e2b702-941e49fd1f.zip new file mode 100644 index 0000000..aa8e277 Binary files /dev/null and b/.yarn/cache/@typescript-eslint-visitor-keys-npm-5.39.0-5dd5e2b702-941e49fd1f.zip differ diff --git a/.yarn/cache/@vue-compiler-core-npm-3.2.38-46fb179cd6-fd1049aa14.zip b/.yarn/cache/@vue-compiler-core-npm-3.2.38-46fb179cd6-fd1049aa14.zip deleted file mode 100644 index b445036..0000000 Binary files a/.yarn/cache/@vue-compiler-core-npm-3.2.38-46fb179cd6-fd1049aa14.zip and /dev/null differ diff --git a/.yarn/cache/@vue-compiler-core-npm-3.2.40-f464645db3-2683bf13ef.zip b/.yarn/cache/@vue-compiler-core-npm-3.2.40-f464645db3-2683bf13ef.zip new file mode 100644 index 0000000..b675b66 Binary files /dev/null and b/.yarn/cache/@vue-compiler-core-npm-3.2.40-f464645db3-2683bf13ef.zip differ diff --git a/.yarn/cache/@vue-compiler-dom-npm-3.2.38-8d84663aca-21ee60938a.zip b/.yarn/cache/@vue-compiler-dom-npm-3.2.38-8d84663aca-21ee60938a.zip deleted file mode 100644 index 1d6863a..0000000 Binary files a/.yarn/cache/@vue-compiler-dom-npm-3.2.38-8d84663aca-21ee60938a.zip and /dev/null differ diff --git a/.yarn/cache/@vue-compiler-dom-npm-3.2.40-df00f2f10c-d928a16ebd.zip b/.yarn/cache/@vue-compiler-dom-npm-3.2.40-df00f2f10c-d928a16ebd.zip new file mode 100644 index 0000000..9b77cb2 Binary files /dev/null and b/.yarn/cache/@vue-compiler-dom-npm-3.2.40-df00f2f10c-d928a16ebd.zip differ diff --git a/.yarn/cache/@vue-compiler-sfc-npm-3.2.38-7bed368b71-1d72cc4f1c.zip b/.yarn/cache/@vue-compiler-sfc-npm-3.2.38-7bed368b71-1d72cc4f1c.zip deleted file mode 100644 index 702d99b..0000000 Binary files a/.yarn/cache/@vue-compiler-sfc-npm-3.2.38-7bed368b71-1d72cc4f1c.zip and /dev/null differ diff --git a/.yarn/cache/@vue-compiler-sfc-npm-3.2.40-7a8032e16c-96cbfd078a.zip b/.yarn/cache/@vue-compiler-sfc-npm-3.2.40-7a8032e16c-96cbfd078a.zip new file mode 100644 index 0000000..23867e7 Binary files /dev/null and b/.yarn/cache/@vue-compiler-sfc-npm-3.2.40-7a8032e16c-96cbfd078a.zip differ diff --git a/.yarn/cache/@vue-compiler-ssr-npm-3.2.38-6f286befd4-f457245a43.zip b/.yarn/cache/@vue-compiler-ssr-npm-3.2.38-6f286befd4-f457245a43.zip deleted file mode 100644 index bce91a6..0000000 Binary files a/.yarn/cache/@vue-compiler-ssr-npm-3.2.38-6f286befd4-f457245a43.zip and /dev/null differ diff --git a/.yarn/cache/@vue-compiler-ssr-npm-3.2.40-76cabde3f1-026461fcee.zip b/.yarn/cache/@vue-compiler-ssr-npm-3.2.40-76cabde3f1-026461fcee.zip new file mode 100644 index 0000000..67c6dfd Binary files /dev/null and b/.yarn/cache/@vue-compiler-ssr-npm-3.2.40-76cabde3f1-026461fcee.zip differ diff --git a/.yarn/cache/@vue-reactivity-npm-3.2.38-6f7f3405e8-c9afb01846.zip b/.yarn/cache/@vue-reactivity-npm-3.2.40-d9155c50c7-927d22b424.zip similarity index 97% rename from .yarn/cache/@vue-reactivity-npm-3.2.38-6f7f3405e8-c9afb01846.zip rename to .yarn/cache/@vue-reactivity-npm-3.2.40-d9155c50c7-927d22b424.zip index 6e2f390..09e2871 100644 Binary files a/.yarn/cache/@vue-reactivity-npm-3.2.38-6f7f3405e8-c9afb01846.zip and b/.yarn/cache/@vue-reactivity-npm-3.2.40-d9155c50c7-927d22b424.zip differ diff --git a/.yarn/cache/@vue-reactivity-transform-npm-3.2.38-a150dadf5f-84b665185e.zip b/.yarn/cache/@vue-reactivity-transform-npm-3.2.40-c8706743e9-b86fc29b52.zip similarity index 89% rename from .yarn/cache/@vue-reactivity-transform-npm-3.2.38-a150dadf5f-84b665185e.zip rename to .yarn/cache/@vue-reactivity-transform-npm-3.2.40-c8706743e9-b86fc29b52.zip index 9fb359f..dbdde7f 100644 Binary files a/.yarn/cache/@vue-reactivity-transform-npm-3.2.38-a150dadf5f-84b665185e.zip and b/.yarn/cache/@vue-reactivity-transform-npm-3.2.40-c8706743e9-b86fc29b52.zip differ diff --git a/.yarn/cache/@vue-runtime-core-npm-3.2.38-c82f2ddcaf-d3936ca50b.zip b/.yarn/cache/@vue-runtime-core-npm-3.2.38-c82f2ddcaf-d3936ca50b.zip deleted file mode 100644 index fd975cb..0000000 Binary files a/.yarn/cache/@vue-runtime-core-npm-3.2.38-c82f2ddcaf-d3936ca50b.zip and /dev/null differ diff --git a/.yarn/cache/@vue-runtime-core-npm-3.2.40-62158afe79-47c4918c12.zip b/.yarn/cache/@vue-runtime-core-npm-3.2.40-62158afe79-47c4918c12.zip new file mode 100644 index 0000000..223f9c4 Binary files /dev/null and b/.yarn/cache/@vue-runtime-core-npm-3.2.40-62158afe79-47c4918c12.zip differ diff --git a/.yarn/cache/@vue-runtime-dom-npm-3.2.38-aabe3e891b-d1d889c3e8.zip b/.yarn/cache/@vue-runtime-dom-npm-3.2.38-aabe3e891b-d1d889c3e8.zip deleted file mode 100644 index 30423de..0000000 Binary files a/.yarn/cache/@vue-runtime-dom-npm-3.2.38-aabe3e891b-d1d889c3e8.zip and /dev/null differ diff --git a/.yarn/cache/@vue-runtime-dom-npm-3.2.40-1bb705cd21-4615d00cc4.zip b/.yarn/cache/@vue-runtime-dom-npm-3.2.40-1bb705cd21-4615d00cc4.zip new file mode 100644 index 0000000..b04368b Binary files /dev/null and b/.yarn/cache/@vue-runtime-dom-npm-3.2.40-1bb705cd21-4615d00cc4.zip differ diff --git a/.yarn/cache/@vue-server-renderer-npm-3.2.38-9a4710effb-d7d8458e69.zip b/.yarn/cache/@vue-server-renderer-npm-3.2.38-9a4710effb-d7d8458e69.zip deleted file mode 100644 index 71f68ae..0000000 Binary files a/.yarn/cache/@vue-server-renderer-npm-3.2.38-9a4710effb-d7d8458e69.zip and /dev/null differ diff --git a/.yarn/cache/@vue-server-renderer-npm-3.2.40-b8eff98a5b-f9d53aefca.zip b/.yarn/cache/@vue-server-renderer-npm-3.2.40-b8eff98a5b-f9d53aefca.zip new file mode 100644 index 0000000..1d9478b Binary files /dev/null and b/.yarn/cache/@vue-server-renderer-npm-3.2.40-b8eff98a5b-f9d53aefca.zip differ diff --git a/.yarn/cache/@vue-shared-npm-3.2.38-96d5011787-c1aa5ec132.zip b/.yarn/cache/@vue-shared-npm-3.2.40-6b1329b2bd-d91a1e12ff.zip similarity index 96% rename from .yarn/cache/@vue-shared-npm-3.2.38-96d5011787-c1aa5ec132.zip rename to .yarn/cache/@vue-shared-npm-3.2.40-6b1329b2bd-d91a1e12ff.zip index 8775ab4..c7098a6 100644 Binary files a/.yarn/cache/@vue-shared-npm-3.2.38-96d5011787-c1aa5ec132.zip and b/.yarn/cache/@vue-shared-npm-3.2.40-6b1329b2bd-d91a1e12ff.zip differ diff --git a/.yarn/cache/acorn-globals-npm-6.0.0-acbec28ad5-72d95e5b5e.zip b/.yarn/cache/acorn-globals-npm-6.0.0-acbec28ad5-72d95e5b5e.zip deleted file mode 100644 index 9a302bb..0000000 Binary files a/.yarn/cache/acorn-globals-npm-6.0.0-acbec28ad5-72d95e5b5e.zip and /dev/null differ diff --git a/.yarn/cache/acorn-globals-npm-7.0.1-97c48c0140-2a2998a547.zip b/.yarn/cache/acorn-globals-npm-7.0.1-97c48c0140-2a2998a547.zip new file mode 100644 index 0000000..f18c3d9 Binary files /dev/null and b/.yarn/cache/acorn-globals-npm-7.0.1-97c48c0140-2a2998a547.zip differ diff --git a/.yarn/cache/acorn-npm-7.4.1-f450b4646c-1860f23c21.zip b/.yarn/cache/acorn-npm-7.4.1-f450b4646c-1860f23c21.zip deleted file mode 100644 index 9fdd048..0000000 Binary files a/.yarn/cache/acorn-npm-7.4.1-f450b4646c-1860f23c21.zip and /dev/null differ diff --git a/.yarn/cache/acorn-walk-npm-7.2.0-5f8b515308-9252158a79.zip b/.yarn/cache/acorn-walk-npm-7.2.0-5f8b515308-9252158a79.zip deleted file mode 100644 index db97eed..0000000 Binary files a/.yarn/cache/acorn-walk-npm-7.2.0-5f8b515308-9252158a79.zip and /dev/null differ diff --git a/.yarn/cache/acorn-walk-npm-8.2.0-2f2cac3177-1715e76c01.zip b/.yarn/cache/acorn-walk-npm-8.2.0-2f2cac3177-1715e76c01.zip new file mode 100644 index 0000000..f140c4a Binary files /dev/null and b/.yarn/cache/acorn-walk-npm-8.2.0-2f2cac3177-1715e76c01.zip differ diff --git a/.yarn/cache/browser-process-hrtime-npm-1.0.0-db700805c2-e30f868cdb.zip b/.yarn/cache/browser-process-hrtime-npm-1.0.0-db700805c2-e30f868cdb.zip deleted file mode 100644 index a2de0dc..0000000 Binary files a/.yarn/cache/browser-process-hrtime-npm-1.0.0-db700805c2-e30f868cdb.zip and /dev/null differ diff --git a/.yarn/cache/chalk-npm-5.0.1-6afcb94227-7b45300372.zip b/.yarn/cache/chalk-npm-5.0.1-6afcb94227-7b45300372.zip deleted file mode 100644 index 6e33620..0000000 Binary files a/.yarn/cache/chalk-npm-5.0.1-6afcb94227-7b45300372.zip and /dev/null differ diff --git a/.yarn/cache/decimal.js-npm-10.3.1-797c736b6c-0351ac9f05.zip b/.yarn/cache/decimal.js-npm-10.3.1-797c736b6c-0351ac9f05.zip deleted file mode 100644 index 585ed75..0000000 Binary files a/.yarn/cache/decimal.js-npm-10.3.1-797c736b6c-0351ac9f05.zip and /dev/null differ diff --git a/.yarn/cache/decimal.js-npm-10.4.1-0e20c56305-5da6dc74af.zip b/.yarn/cache/decimal.js-npm-10.4.1-0e20c56305-5da6dc74af.zip new file mode 100644 index 0000000..8d9b7ab Binary files /dev/null and b/.yarn/cache/decimal.js-npm-10.4.1-0e20c56305-5da6dc74af.zip differ diff --git a/.yarn/cache/entities-npm-4.3.1-3a76d89ee3-e8f6d2bac2.zip b/.yarn/cache/entities-npm-4.3.1-3a76d89ee3-e8f6d2bac2.zip deleted file mode 100644 index e916792..0000000 Binary files a/.yarn/cache/entities-npm-4.3.1-3a76d89ee3-e8f6d2bac2.zip and /dev/null differ diff --git a/.yarn/cache/entities-npm-4.4.0-97635dc5cc-84d250329f.zip b/.yarn/cache/entities-npm-4.4.0-97635dc5cc-84d250329f.zip new file mode 100644 index 0000000..4509c22 Binary files /dev/null and b/.yarn/cache/entities-npm-4.4.0-97635dc5cc-84d250329f.zip differ diff --git a/.yarn/cache/esbuild-darwin-64-npm-0.14.49-55333913ef-8.zip b/.yarn/cache/esbuild-darwin-64-npm-0.14.49-55333913ef-8.zip deleted file mode 100644 index cb17726..0000000 Binary files a/.yarn/cache/esbuild-darwin-64-npm-0.14.49-55333913ef-8.zip and /dev/null differ diff --git a/.yarn/cache/esbuild-darwin-64-npm-0.15.10-50d06034ab-8.zip b/.yarn/cache/esbuild-darwin-64-npm-0.15.10-50d06034ab-8.zip new file mode 100644 index 0000000..122b270 Binary files /dev/null and b/.yarn/cache/esbuild-darwin-64-npm-0.15.10-50d06034ab-8.zip differ diff --git a/.yarn/cache/esbuild-darwin-64-npm-0.15.7-723c8cbc8e-8.zip b/.yarn/cache/esbuild-darwin-64-npm-0.15.7-723c8cbc8e-8.zip deleted file mode 100644 index bd4af97..0000000 Binary files a/.yarn/cache/esbuild-darwin-64-npm-0.15.7-723c8cbc8e-8.zip and /dev/null differ diff --git a/.yarn/cache/esbuild-npm-0.14.49-8ea32c7f59-b718f4c9ea.zip b/.yarn/cache/esbuild-npm-0.14.49-8ea32c7f59-b718f4c9ea.zip deleted file mode 100644 index 1533a36..0000000 Binary files a/.yarn/cache/esbuild-npm-0.14.49-8ea32c7f59-b718f4c9ea.zip and /dev/null differ diff --git a/.yarn/cache/esbuild-npm-0.15.10-cd7bf58045-bc2daadb95.zip b/.yarn/cache/esbuild-npm-0.15.10-cd7bf58045-bc2daadb95.zip new file mode 100644 index 0000000..ea02e26 Binary files /dev/null and b/.yarn/cache/esbuild-npm-0.15.10-cd7bf58045-bc2daadb95.zip differ diff --git a/.yarn/cache/esbuild-npm-0.15.7-9aee421406-54ddaa6cf9.zip b/.yarn/cache/esbuild-npm-0.15.7-9aee421406-54ddaa6cf9.zip deleted file mode 100644 index 9a7d213..0000000 Binary files a/.yarn/cache/esbuild-npm-0.15.7-9aee421406-54ddaa6cf9.zip and /dev/null differ diff --git a/.yarn/cache/eslint-npm-8.23.0-4ce1a8504a-ff6075daa2.zip b/.yarn/cache/eslint-npm-8.25.0-2af5e4f121-7acf2693b5.zip similarity index 75% rename from .yarn/cache/eslint-npm-8.23.0-4ce1a8504a-ff6075daa2.zip rename to .yarn/cache/eslint-npm-8.25.0-2af5e4f121-7acf2693b5.zip index bbe836d..0c04e02 100644 Binary files a/.yarn/cache/eslint-npm-8.23.0-4ce1a8504a-ff6075daa2.zip and b/.yarn/cache/eslint-npm-8.25.0-2af5e4f121-7acf2693b5.zip differ diff --git a/.yarn/cache/eslint-plugin-solid-npm-0.7.1-374d9fa5dd-6a68bd95d2.zip b/.yarn/cache/eslint-plugin-solid-npm-0.7.1-374d9fa5dd-6a68bd95d2.zip deleted file mode 100644 index 8aa78ef..0000000 Binary files a/.yarn/cache/eslint-plugin-solid-npm-0.7.1-374d9fa5dd-6a68bd95d2.zip and /dev/null differ diff --git a/.yarn/cache/eslint-plugin-solid-npm-0.7.3-6f9bee689b-4066d6a363.zip b/.yarn/cache/eslint-plugin-solid-npm-0.7.3-6f9bee689b-4066d6a363.zip new file mode 100644 index 0000000..b425560 Binary files /dev/null and b/.yarn/cache/eslint-plugin-solid-npm-0.7.3-6f9bee689b-4066d6a363.zip differ diff --git a/.yarn/cache/js-sdsl-npm-4.1.5-66fcf4f580-695f657ddc.zip b/.yarn/cache/js-sdsl-npm-4.1.5-66fcf4f580-695f657ddc.zip new file mode 100644 index 0000000..c581e91 Binary files /dev/null and b/.yarn/cache/js-sdsl-npm-4.1.5-66fcf4f580-695f657ddc.zip differ diff --git a/.yarn/cache/jsdom-npm-20.0.0-9c1ad43ab8-f69b40679d.zip b/.yarn/cache/jsdom-npm-20.0.1-b1381838f2-9fc0b66a86.zip similarity index 91% rename from .yarn/cache/jsdom-npm-20.0.0-9c1ad43ab8-f69b40679d.zip rename to .yarn/cache/jsdom-npm-20.0.1-b1381838f2-9fc0b66a86.zip index f209ba8..53582ad 100644 Binary files a/.yarn/cache/jsdom-npm-20.0.0-9c1ad43ab8-f69b40679d.zip and b/.yarn/cache/jsdom-npm-20.0.1-b1381838f2-9fc0b66a86.zip differ diff --git a/.yarn/cache/jsx-ast-utils-npm-3.3.2-fdadb9d53a-61d4596d44.zip b/.yarn/cache/jsx-ast-utils-npm-3.3.3-3d3171e1e4-a2ed78cac4.zip similarity index 82% rename from .yarn/cache/jsx-ast-utils-npm-3.3.2-fdadb9d53a-61d4596d44.zip rename to .yarn/cache/jsx-ast-utils-npm-3.3.3-3d3171e1e4-a2ed78cac4.zip index 15470ca..1a14df0 100644 Binary files a/.yarn/cache/jsx-ast-utils-npm-3.3.2-fdadb9d53a-61d4596d44.zip and b/.yarn/cache/jsx-ast-utils-npm-3.3.3-3d3171e1e4-a2ed78cac4.zip differ diff --git a/.yarn/cache/nwsapi-npm-2.2.0-8f05590043-5ef4a9bc0c.zip b/.yarn/cache/nwsapi-npm-2.2.0-8f05590043-5ef4a9bc0c.zip deleted file mode 100644 index c83001f..0000000 Binary files a/.yarn/cache/nwsapi-npm-2.2.0-8f05590043-5ef4a9bc0c.zip and /dev/null differ diff --git a/.yarn/cache/nwsapi-npm-2.2.2-b77040326c-4376910629.zip b/.yarn/cache/nwsapi-npm-2.2.2-b77040326c-4376910629.zip new file mode 100644 index 0000000..c44e18d Binary files /dev/null and b/.yarn/cache/nwsapi-npm-2.2.2-b77040326c-4376910629.zip differ diff --git a/.yarn/cache/object.assign-npm-4.1.2-d52edada1c-d621d832ed.zip b/.yarn/cache/object.assign-npm-4.1.2-d52edada1c-d621d832ed.zip deleted file mode 100644 index 0031b97..0000000 Binary files a/.yarn/cache/object.assign-npm-4.1.2-d52edada1c-d621d832ed.zip and /dev/null differ diff --git a/.yarn/cache/object.assign-npm-4.1.4-fb3deb1c3a-76cab513a5.zip b/.yarn/cache/object.assign-npm-4.1.4-fb3deb1c3a-76cab513a5.zip new file mode 100644 index 0000000..8a1fef0 Binary files /dev/null and b/.yarn/cache/object.assign-npm-4.1.4-fb3deb1c3a-76cab513a5.zip differ diff --git a/.yarn/cache/parse5-npm-7.0.0-3158a72394-7da5d61cc1.zip b/.yarn/cache/parse5-npm-7.0.0-3158a72394-7da5d61cc1.zip deleted file mode 100644 index 3159f21..0000000 Binary files a/.yarn/cache/parse5-npm-7.0.0-3158a72394-7da5d61cc1.zip and /dev/null differ diff --git a/.yarn/cache/parse5-npm-7.1.1-27fa6524c4-8f72fbfa6d.zip b/.yarn/cache/parse5-npm-7.1.1-27fa6524c4-8f72fbfa6d.zip new file mode 100644 index 0000000..480cbdc Binary files /dev/null and b/.yarn/cache/parse5-npm-7.1.1-27fa6524c4-8f72fbfa6d.zip differ diff --git a/.yarn/cache/querystringify-npm-2.2.0-4e77c9f606-5641ea231b.zip b/.yarn/cache/querystringify-npm-2.2.0-4e77c9f606-5641ea231b.zip new file mode 100644 index 0000000..492bf88 Binary files /dev/null and b/.yarn/cache/querystringify-npm-2.2.0-4e77c9f606-5641ea231b.zip differ diff --git a/.yarn/cache/requires-port-npm-1.0.0-fd036b488a-eee0e303ad.zip b/.yarn/cache/requires-port-npm-1.0.0-fd036b488a-eee0e303ad.zip new file mode 100644 index 0000000..b130302 Binary files /dev/null and b/.yarn/cache/requires-port-npm-1.0.0-fd036b488a-eee0e303ad.zip differ diff --git a/.yarn/cache/rollup-npm-2.77.3-be523d3443-b179c68249.zip b/.yarn/cache/rollup-npm-2.77.3-be523d3443-b179c68249.zip deleted file mode 100644 index 03496bf..0000000 Binary files a/.yarn/cache/rollup-npm-2.77.3-be523d3443-b179c68249.zip and /dev/null differ diff --git a/.yarn/cache/rollup-npm-2.78.1-25ffe2a567-9034814383.zip b/.yarn/cache/rollup-npm-2.78.1-25ffe2a567-9034814383.zip new file mode 100644 index 0000000..8306827 Binary files /dev/null and b/.yarn/cache/rollup-npm-2.78.1-25ffe2a567-9034814383.zip differ diff --git a/.yarn/cache/strip-literal-npm-0.4.2-b47e8474aa-831cdcaba6.zip b/.yarn/cache/strip-literal-npm-0.4.2-b47e8474aa-831cdcaba6.zip new file mode 100644 index 0000000..9d01cf0 Binary files /dev/null and b/.yarn/cache/strip-literal-npm-0.4.2-b47e8474aa-831cdcaba6.zip differ diff --git a/.yarn/cache/tinybench-npm-2.3.0-3684370132-6556e42b3b.zip b/.yarn/cache/tinybench-npm-2.3.0-3684370132-6556e42b3b.zip new file mode 100644 index 0000000..1fdb812 Binary files /dev/null and b/.yarn/cache/tinybench-npm-2.3.0-3684370132-6556e42b3b.zip differ diff --git a/.yarn/cache/tinypool-npm-0.2.4-1940a28d43-f050bd36c8.zip b/.yarn/cache/tinypool-npm-0.3.0-e11f8ec8eb-92291c309e.zip similarity index 81% rename from .yarn/cache/tinypool-npm-0.2.4-1940a28d43-f050bd36c8.zip rename to .yarn/cache/tinypool-npm-0.3.0-e11f8ec8eb-92291c309e.zip index 1adf223..7677bce 100644 Binary files a/.yarn/cache/tinypool-npm-0.2.4-1940a28d43-f050bd36c8.zip and b/.yarn/cache/tinypool-npm-0.3.0-e11f8ec8eb-92291c309e.zip differ diff --git a/.yarn/cache/tough-cookie-npm-4.0.0-7c5f3086af-0891b37eb7.zip b/.yarn/cache/tough-cookie-npm-4.0.0-7c5f3086af-0891b37eb7.zip deleted file mode 100644 index dd3687b..0000000 Binary files a/.yarn/cache/tough-cookie-npm-4.0.0-7c5f3086af-0891b37eb7.zip and /dev/null differ diff --git a/.yarn/cache/tough-cookie-npm-4.1.2-09068826e1-a7359e9a3e.zip b/.yarn/cache/tough-cookie-npm-4.1.2-09068826e1-a7359e9a3e.zip new file mode 100644 index 0000000..474ee18 Binary files /dev/null and b/.yarn/cache/tough-cookie-npm-4.1.2-09068826e1-a7359e9a3e.zip differ diff --git a/.yarn/cache/universalify-npm-0.1.2-9b22d31d2d-40cdc60f6e.zip b/.yarn/cache/universalify-npm-0.1.2-9b22d31d2d-40cdc60f6e.zip deleted file mode 100644 index b49f2fc..0000000 Binary files a/.yarn/cache/universalify-npm-0.1.2-9b22d31d2d-40cdc60f6e.zip and /dev/null differ diff --git a/.yarn/cache/universalify-npm-0.2.0-9984e61c10-e86134cb12.zip b/.yarn/cache/universalify-npm-0.2.0-9984e61c10-e86134cb12.zip new file mode 100644 index 0000000..7f1d80c Binary files /dev/null and b/.yarn/cache/universalify-npm-0.2.0-9984e61c10-e86134cb12.zip differ diff --git a/.yarn/cache/url-parse-npm-1.5.10-64fa2bcd6d-fbdba6b1d8.zip b/.yarn/cache/url-parse-npm-1.5.10-64fa2bcd6d-fbdba6b1d8.zip new file mode 100644 index 0000000..a0666e4 Binary files /dev/null and b/.yarn/cache/url-parse-npm-1.5.10-64fa2bcd6d-fbdba6b1d8.zip differ diff --git a/.yarn/cache/vite-npm-3.0.9-db8ab8ac70-6341aa4357.zip b/.yarn/cache/vite-npm-3.0.9-db8ab8ac70-6341aa4357.zip deleted file mode 100644 index 2090978..0000000 Binary files a/.yarn/cache/vite-npm-3.0.9-db8ab8ac70-6341aa4357.zip and /dev/null differ diff --git a/.yarn/cache/vite-npm-3.1.6-3415c9365e-393369af4d.zip b/.yarn/cache/vite-npm-3.1.6-3415c9365e-393369af4d.zip new file mode 100644 index 0000000..5801c3d Binary files /dev/null and b/.yarn/cache/vite-npm-3.1.6-3415c9365e-393369af4d.zip differ diff --git a/.yarn/cache/vite-plugin-externalize-deps-npm-0.1.4-3e4cf2a6d5-ea7328d220.zip b/.yarn/cache/vite-plugin-externalize-deps-npm-0.1.4-3e4cf2a6d5-ea7328d220.zip deleted file mode 100644 index 88a29c6..0000000 Binary files a/.yarn/cache/vite-plugin-externalize-deps-npm-0.1.4-3e4cf2a6d5-ea7328d220.zip and /dev/null differ diff --git a/.yarn/cache/vite-plugin-externalize-deps-npm-0.4.0-1e15e407a0-d5e4d45d99.zip b/.yarn/cache/vite-plugin-externalize-deps-npm-0.4.0-1e15e407a0-d5e4d45d99.zip new file mode 100644 index 0000000..a75cce9 Binary files /dev/null and b/.yarn/cache/vite-plugin-externalize-deps-npm-0.4.0-1e15e407a0-d5e4d45d99.zip differ diff --git a/.yarn/cache/vitest-npm-0.22.1-71e16894d0-7abe50ceb5.zip b/.yarn/cache/vitest-npm-0.22.1-71e16894d0-7abe50ceb5.zip deleted file mode 100644 index 5d537ca..0000000 Binary files a/.yarn/cache/vitest-npm-0.22.1-71e16894d0-7abe50ceb5.zip and /dev/null differ diff --git a/.yarn/cache/vitest-npm-0.24.0-ccd919f5aa-869b9342e0.zip b/.yarn/cache/vitest-npm-0.24.0-ccd919f5aa-869b9342e0.zip new file mode 100644 index 0000000..901b12c Binary files /dev/null and b/.yarn/cache/vitest-npm-0.24.0-ccd919f5aa-869b9342e0.zip differ diff --git a/.yarn/cache/vue-npm-3.2.38-519d1421b6-9b82cb8930.zip b/.yarn/cache/vue-npm-3.2.38-519d1421b6-9b82cb8930.zip deleted file mode 100644 index bb82253..0000000 Binary files a/.yarn/cache/vue-npm-3.2.38-519d1421b6-9b82cb8930.zip and /dev/null differ diff --git a/.yarn/cache/vue-npm-3.2.40-ee1b0f06d2-fb5ca87c16.zip b/.yarn/cache/vue-npm-3.2.40-ee1b0f06d2-fb5ca87c16.zip new file mode 100644 index 0000000..e4d41c7 Binary files /dev/null and b/.yarn/cache/vue-npm-3.2.40-ee1b0f06d2-fb5ca87c16.zip differ diff --git a/.yarn/cache/w3c-hr-time-npm-1.0.2-87f88e51d9-ec3c2dacbf.zip b/.yarn/cache/w3c-hr-time-npm-1.0.2-87f88e51d9-ec3c2dacbf.zip deleted file mode 100644 index 557b9d9..0000000 Binary files a/.yarn/cache/w3c-hr-time-npm-1.0.2-87f88e51d9-ec3c2dacbf.zip and /dev/null differ diff --git a/.yarn/cache/ws-npm-8.8.1-955e8c9f58-2152cf862c.zip b/.yarn/cache/ws-npm-8.9.0-d620434feb-23aa0f021b.zip similarity index 75% rename from .yarn/cache/ws-npm-8.8.1-955e8c9f58-2152cf862c.zip rename to .yarn/cache/ws-npm-8.9.0-d620434feb-23aa0f021b.zip index 120d358..fede246 100644 Binary files a/.yarn/cache/ws-npm-8.8.1-955e8c9f58-2152cf862c.zip and b/.yarn/cache/ws-npm-8.9.0-d620434feb-23aa0f021b.zip differ diff --git a/examples/hooks.test.ts b/examples/hooks.test.ts index 0d36146..3cffee4 100644 --- a/examples/hooks.test.ts +++ b/examples/hooks.test.ts @@ -1,4 +1,3 @@ -// @vitest-environment jsdom import { describe, expect, it } from 'vitest' import { mockAll } from '/test/helpers/dom' diff --git a/examples/minimal.test.ts b/examples/minimal.test.ts index 207f654..746ff78 100644 --- a/examples/minimal.test.ts +++ b/examples/minimal.test.ts @@ -1,4 +1,3 @@ -// @vitest-environment jsdom import { describe, expect, it } from 'vitest' import { mockAll } from '/test/helpers/dom' diff --git a/package.json b/package.json index 9bb0cc0..fc30a03 100644 --- a/package.json +++ b/package.json @@ -81,6 +81,7 @@ "build": "yarn build:root && yarn build:vue", "build:root": "tsc && vite build && VITE_SSR=1 vite build --ssr ./src/index.tsx && tsc --project ./tsconfig.types.json && cp ./types/ink.d.ts ./dist/index.d.ts && mv ./dist/index.js ./dist/server.js && mv ./dist/index.cjs ./dist/server.cjs", "build:vue": "vue-tsc --project ./vue/tsconfig.json && vite build -c ./vue/vite.config.ts && VITE_SSR=1 vite build -c ./vue/vite.config.ts --ssr ./vue/src/InkMde.vue && vue-tsc --project ./vue/tsconfig.types.json && mv ./vue/dist/InkMde.vue.d.ts ./vue/dist/index.d.ts && mv ./vue/dist/InkMde.js ./vue/dist/server.js && mv ./vue/dist/InkMde.cjs ./vue/dist/server.cjs", + "ci": "yarn build && yarn test:once && yarn lint && yarn dedupe --check", "dev": "vite", "dev:vue": "tsx ./vue/server.ts", "docs:check": "embedme --verify README.md", @@ -124,17 +125,17 @@ "@vitejs/plugin-vue": "^3.0.3", "@vue/tsconfig": "^0.1.3", "embedme": "git+https://github.com/voracious/embedme.git#live-fork", - "eslint": "^8.23.0", - "eslint-plugin-solid": "^0.7.1", + "eslint": "^8.25.0", + "eslint-plugin-solid": "^0.7.3", "express": "^4.18.1", - "jsdom": "^20.0.0", + "jsdom": "^20.0.1", "tsx": "^3.9.0", "typescript": "^4.8.2", - "vite": "^3.0.9", - "vite-plugin-externalize-deps": "^0.1.4", - "vite-plugin-solid": "^2.3.0", - "vitest": "^0.22.1", - "vue": "^3.2.38", + "vite": "^3.1.6", + "vite-plugin-externalize-deps": "^0.4.0", + "vite-plugin-solid": "2.3.0", + "vitest": "^0.24.0", + "vue": "^3.2.40", "vue-tsc": "^0.40.5" }, "publishConfig": { diff --git a/src/api/destroy.ts b/src/api/destroy.ts new file mode 100644 index 0000000..7b987cb --- /dev/null +++ b/src/api/destroy.ts @@ -0,0 +1,7 @@ +import type InkInternal from '/types/internal' + +export const destroy = ([state]: InkInternal.Store) => { + const { editor } = state() + + editor.destroy() +} diff --git a/src/api/focus.ts b/src/api/focus.ts new file mode 100644 index 0000000..ae03b45 --- /dev/null +++ b/src/api/focus.ts @@ -0,0 +1,9 @@ +import type InkInternal from '/types/internal' + +export const focus = ([state]: InkInternal.Store) => { + const { editor } = state() + + if (!editor.hasFocus) { + editor.focus() + } +} diff --git a/src/formatter.ts b/src/api/format.ts similarity index 98% rename from src/formatter.ts rename to src/api/format.ts index 003b64e..90ae5fb 100644 --- a/src/formatter.ts +++ b/src/api/format.ts @@ -1,7 +1,6 @@ import { syntaxTree } from '@codemirror/language' -import { insert, selections, wrap } from '/src/instance' +import { insert, selections, wrap } from '/src/api' import * as InkValues from '/types/values' - import type { NodeType } from '@lezer/common' import type * as Ink from '/types/ink' import type InkInternal from '/types/internal' @@ -251,7 +250,7 @@ const formatInline = ([state, setState]: InkInternal.Store, definition: FormatDe } } -export const format = ([state, setState]: InkInternal.Store, formatType: `${Ink.Values.Markup}`, userSelection?: Ink.Editor.Selection) => { +export const format = ([state, setState]: InkInternal.Store, formatType: Ink.EnumString, { selection: userSelection }: Ink.Instance.FormatOptions = {}) => { const definition = formatting[formatType] const selection = getSelection([state, setState], userSelection) diff --git a/src/api/get_doc.ts b/src/api/get_doc.ts new file mode 100644 index 0000000..36b856f --- /dev/null +++ b/src/api/get_doc.ts @@ -0,0 +1,7 @@ +import type InkInternal from '/types/internal' + +export const getDoc = ([state]: InkInternal.Store) => { + const { editor } = state() + + return editor.state.sliceDoc() +} diff --git a/src/api/index.ts b/src/api/index.ts new file mode 100644 index 0000000..5b8bb2e --- /dev/null +++ b/src/api/index.ts @@ -0,0 +1,12 @@ +export * from './destroy' +export * from './focus' +export * from './format' +export * from './get_doc' +export * from './insert' +export * from './load' +export * from './options' +export * from './reconfigure' +export * from './select' +export * from './selections' +export * from './update' +export * from './wrap' diff --git a/src/api/insert.ts b/src/api/insert.ts new file mode 100644 index 0000000..430ad88 --- /dev/null +++ b/src/api/insert.ts @@ -0,0 +1,30 @@ +import { selections } from './selections' +import type * as Ink from '/types/ink' +import type InkInternal from '/types/internal' + +export const insert = ([state, setState]: InkInternal.Store, text: string, selection?: Ink.Editor.Selection, updateSelection = false) => { + const { editor } = state() + + let start = selection?.start + let end = selection?.end || selection?.start + + if (typeof start === 'undefined') { + const current = selections([state, setState]).pop() as Ink.Editor.Selection + + start = current.start + end = current.end + } + + const updates = { changes: { from: start, to: end, insert: text } } + + if (updateSelection) { + const anchor = start === end ? start + text.length : start + const head = start === end ? start + text.length : start + text.length + + Object.assign(updates, { selection: { anchor, head } }) + } + + editor.dispatch( + editor.state.update(updates), + ) +} diff --git a/src/api/load.ts b/src/api/load.ts new file mode 100644 index 0000000..b6b4b10 --- /dev/null +++ b/src/api/load.ts @@ -0,0 +1,9 @@ +import { override } from '/src/utils/merge' +import { makeState } from '/src/vendor/state' +import type InkInternal from '/types/internal' + +export const load = ([state, setState]: InkInternal.Store, doc: string) => { + setState(override(state(), { options: { doc } })) + + state().editor.setState(makeState(state())) +} diff --git a/src/api/options.ts b/src/api/options.ts new file mode 100644 index 0000000..914533b --- /dev/null +++ b/src/api/options.ts @@ -0,0 +1,5 @@ +import type InkInternal from '/types/internal' + +export const options = ([state]: InkInternal.Store) => { + return state().options +} diff --git a/src/api/reconfigure.ts b/src/api/reconfigure.ts new file mode 100644 index 0000000..4223b19 --- /dev/null +++ b/src/api/reconfigure.ts @@ -0,0 +1,12 @@ +import { buildVendorUpdates } from '/src/extensions' +import { override } from '/src/utils/merge' +import type * as Ink from '/types/ink' +import type InkInternal from '/types/internal' + +export const reconfigure = ([state, setState]: InkInternal.Store, options: Ink.Options) => { + const effects = buildVendorUpdates(setState(override(state(), { options }))) + + state().editor.dispatch({ + effects, + }) +} diff --git a/src/api/select.ts b/src/api/select.ts new file mode 100644 index 0000000..b92a9a3 --- /dev/null +++ b/src/api/select.ts @@ -0,0 +1,40 @@ +import { toCodeMirror } from '/src/vendor/adapters/selections' +import * as InkValues from '/types/values' +import type * as Ink from '/types/ink' +import type InkInternal from '/types/internal' + +export const select = (store: InkInternal.Store, options: Ink.Instance.SelectOptions = {}) => { + if (options.selections) + return selectMultiple(store, options.selections) + if (options.selection) + return selectOne(store, options.selection) + if (options.at) + return selectAt(store, options.at) +} + +export const selectAt = (store: InkInternal.Store, at: Ink.Values.Selection) => { + const [state] = store + + if (at === InkValues.Selection.Start) + return selectOne(store, { start: 0, end: 0 }) + + if (at === InkValues.Selection.End) { + const position = state().editor.state.doc.length + + return selectOne(store, { start: position, end: position }) + } +} + +export const selectMultiple = ([state]: InkInternal.Store, selections: Ink.Editor.Selection[]) => { + const { editor } = state() + + editor.dispatch( + editor.state.update({ + selection: toCodeMirror(selections), + }), + ) +} + +export const selectOne = (store: InkInternal.Store, selection: Ink.Editor.Selection) => { + return selectMultiple(store, [selection]) +} diff --git a/src/api/selections.ts b/src/api/selections.ts new file mode 100644 index 0000000..f4ebb7e --- /dev/null +++ b/src/api/selections.ts @@ -0,0 +1,9 @@ +import { toInk } from '/src/vendor/adapters/selections' +import type * as Ink from '/types/ink' +import type InkInternal from '/types/internal' + +export const selections = ([state]: InkInternal.Store): Ink.Editor.Selection[] => { + const { editor } = state() + + return toInk(editor.state.selection) +} diff --git a/src/api/update.ts b/src/api/update.ts new file mode 100644 index 0000000..65070b0 --- /dev/null +++ b/src/api/update.ts @@ -0,0 +1,15 @@ +import type InkInternal from '/types/internal' + +export const update = ([state]: InkInternal.Store, doc: string) => { + const { editor } = state() + + editor.dispatch( + editor.state.update({ + changes: { + from: 0, + to: editor.state.doc.length, + insert: doc, + }, + }), + ) +} diff --git a/src/api/wrap.ts b/src/api/wrap.ts new file mode 100644 index 0000000..0a2f3b0 --- /dev/null +++ b/src/api/wrap.ts @@ -0,0 +1,15 @@ +import { insert } from './insert' +import { select } from './select' +import { selections } from './selections' +import type * as Ink from '/types/ink' +import type InkInternal from '/types/internal' + +export const wrap = ([state, setState]: InkInternal.Store, { after, before, selection: userSelection }: Ink.Instance.WrapOptions) => { + const { editor } = state() + + const selection = userSelection || selections([state, setState]).pop() || { start: 0, end: 0 } + const text = editor.state.sliceDoc(selection.start, selection.end) + + insert([state, setState], `${before}${text}${after}`, selection) + select([state, setState], { selections: [{ start: selection.start + before.length, end: selection.end + before.length }] }) +} diff --git a/src/instance.ts b/src/instance.ts index 2b90080..480d624 100644 --- a/src/instance.ts +++ b/src/instance.ts @@ -1,80 +1,26 @@ -import { override } from '/src/utils/merge' -import { toCodeMirror, toInk } from '/src/vendor/adapters/selections' -import { buildVendorUpdates } from '/src/extensions' -import * as formatter from '/src/formatter' -import { makeState } from '/src/vendor/state' - +import { + destroy, + focus, + format, + getDoc, + insert, + load, + options, + reconfigure, + select, + selections, + update, + wrap, +} from '/src/api' import type * as Ink from '/types/ink' import type InkInternal from '/types/internal' -export const destroy = ([state]: InkInternal.Store) => { - const { editor } = state() - - editor.destroy() -} - -/** - * @deprecated Use `getDoc` instead. - */ -export const doc = ([state, setState]: InkInternal.Store) => { - return getDoc([state, setState]) -} - -export const focus = ([state]: InkInternal.Store) => { - const { editor } = state() - - if (!editor.hasFocus) - editor.focus() -} - -export const format = ([state, setState]: InkInternal.Store, type: `${Ink.Values.Markup}`, selection?: Ink.Editor.Selection) => { - return formatter.format([state, setState], type, selection) -} - -export const getDoc = ([state]: InkInternal.Store) => { - const { editor } = state() - - return editor.state.sliceDoc() -} - -export const insert = ([state, setState]: InkInternal.Store, text: string, selection?: Ink.Editor.Selection, updateSelection = false) => { - const { editor } = state() - - let start = selection?.start - let end = selection?.end || selection?.start - - if (typeof start === 'undefined') { - const current = selections([state, setState]).pop() as Ink.Editor.Selection - - start = current.start - end = current.end - } - - const updates = { changes: { from: start, to: end, insert: text } } - - if (updateSelection) { - const anchor = start === end ? start + text.length : start - const head = start === end ? start + text.length : start + text.length - - Object.assign(updates, { selection: { anchor, head } }) - } - - editor.dispatch( - editor.state.update(updates), - ) -} - -export const load = ([state, setState]: InkInternal.Store, doc: string) => { - setState(override(state(), { options: { doc } })) - - state().editor.setState(makeState(state())) -} - export const makeInstance = (store: InkInternal.Store): Ink.Instance => { return { destroy: destroy.bind(undefined, store), - doc: doc.bind(undefined, store), focus: focus.bind(undefined, store), + format: format.bind(undefined, store), + getDoc: getDoc.bind(undefined, store), insert: insert.bind(undefined, store), load: load.bind(undefined, store), options: options.bind(undefined, store), @@ -85,55 +31,3 @@ export const makeInstance = (store: InkInternal.Store): Ink.Instance => { wrap: wrap.bind(undefined, store), } } - -export const options = ([state]: InkInternal.Store) => { - return state().options -} - -export const reconfigure = ([state, setState]: InkInternal.Store, options: Ink.Options) => { - const effects = buildVendorUpdates(setState(override(state(), { options }))) - - state().editor.dispatch({ - effects, - }) -} - -export const select = ([state]: InkInternal.Store, selections: Ink.Editor.Selection[]) => { - const { editor } = state() - - editor.dispatch( - editor.state.update({ - selection: toCodeMirror(selections), - }), - ) -} - -export const selections = ([state]: InkInternal.Store): Ink.Editor.Selection[] => { - const { editor } = state() - - return toInk(editor.state.selection) -} - -export const update = ([state]: InkInternal.Store, doc: string) => { - const { editor } = state() - - editor.dispatch( - editor.state.update({ - changes: { - from: 0, - to: editor.state.doc.length, - insert: doc, - }, - }), - ) -} - -export const wrap = ([state, setState]: InkInternal.Store, { after, before, selection: userSelection }: Ink.Instance.WrapOptions) => { - const { editor } = state() - - const selection = userSelection || selections([state, setState]).pop() || { start: 0, end: 0 } - const text = editor.state.sliceDoc(selection.start, selection.end) - - insert([state, setState], `${before}${text}${after}`, selection) - select([state, setState], [{ start: selection.start + before.length, end: selection.end + before.length }]) -} diff --git a/src/ui/components/drop_zone/index.tsx b/src/ui/components/drop_zone/index.tsx index 67552e4..b7ce2e1 100644 --- a/src/ui/components/drop_zone/index.tsx +++ b/src/ui/components/drop_zone/index.tsx @@ -1,7 +1,7 @@ import type { Component } from 'solid-js' import { For, Show, createSignal, onCleanup, onMount } from 'solid-js' import { useStore } from '../../app' -import { insert } from '/src/instance' +import { insert } from '/src/api' import styles from './styles.css?inline' export const DropZone: Component = () => { diff --git a/src/ui/components/toolbar/index.tsx b/src/ui/components/toolbar/index.tsx index 9df3aec..b32ec32 100644 --- a/src/ui/components/toolbar/index.tsx +++ b/src/ui/components/toolbar/index.tsx @@ -2,7 +2,7 @@ import { Show, createSignal } from 'solid-js' import type { Component } from 'solid-js' import { Button } from '../button' import styles from './styles.css?inline' -import { focus, format, insert } from '/src/instance' +import { focus, format, insert } from '/src/api' import { useStore } from '/src/ui/app' import * as InkValues from '/types/values' diff --git a/test/helpers/dom.ts b/test/helpers/dom.ts index 6e7ecac..f76d870 100644 --- a/test/helpers/dom.ts +++ b/test/helpers/dom.ts @@ -1,4 +1,3 @@ -// @vitest-environment jsdom import { vi } from 'vitest' export const mockAll = () => { diff --git a/test/mocks/editor.ts b/test/mocks/editor.ts new file mode 100644 index 0000000..4d712d4 --- /dev/null +++ b/test/mocks/editor.ts @@ -0,0 +1,13 @@ +import { EditorState } from '@codemirror/state' +import { EditorView } from '@codemirror/view' +import { vi } from 'vitest' +import type InkInternal from '/types/internal' + +vi.mock('@codemirror/state') +vi.mock('@codemirror/view') + +export const makeEditor = (): InkInternal.Editor => { + return new EditorView({ + state: EditorState.create(), + }) +} diff --git a/test/mocks/store.ts b/test/mocks/store.ts new file mode 100644 index 0000000..20a84e1 --- /dev/null +++ b/test/mocks/store.ts @@ -0,0 +1,17 @@ +import { vi } from 'vitest' +import { blankState } from '/src/store' +import { makeEditor } from '/test/mocks/editor' +import type { Options } from '/types/ink' +import type InkInternal from '/types/internal' + +export const makeState = (partialState: InkInternal.State): InkInternal.StateResolved => { + return { ...blankState(), ...partialState } as InkInternal.StateResolved +} + +export const makeStore = (options: Options = {}, overrides: InkInternal.State = {}): InkInternal.Store => { + const state = makeState({ editor: makeEditor(), ...overrides, options }) + const stateMock = vi.fn().mockImplementation(() => state) + const setStateMock = vi.fn().mockImplementation((value: unknown) => (typeof value === 'function' ? value(state) : value)) + + return [stateMock, setStateMock] +} diff --git a/test/src/__snapshots__/index.test.ts.snap b/test/src/__snapshots__/index.test.ts.snap index c314832..7f91a47 100644 --- a/test/src/__snapshots__/index.test.ts.snap +++ b/test/src/__snapshots__/index.test.ts.snap @@ -77,7 +77,7 @@ exports[`ink > matches the snapshot 1`] = ` --ink-internal-syntax-strong-font-weight: var(--ink-syntax-strong-font-weight, 600); --ink-internal-syntax-url-color: var(--ink-syntax-url-color, #666666); } - +undefined diff --git a/test/src/api/index.test.ts b/test/src/api/index.test.ts new file mode 100644 index 0000000..ba45bb6 --- /dev/null +++ b/test/src/api/index.test.ts @@ -0,0 +1,46 @@ +import { describe, expect, it, vi } from 'vitest' +import { + destroy, + focus, +} from '/src/api' +import { makeStore } from '/test/mocks/store' + +describe('api', () => { + describe('destroy', () => { + it('destroys the editor', () => { + const store = makeStore() + const [state] = store + const { editor } = state() + + destroy(store) + + expect(editor.destroy).toHaveBeenCalledOnce() + }) + }) + + describe('focus', () => { + it('focuses the editor', () => { + const store = makeStore() + const [state] = store + const { editor } = state() + + vi.spyOn(editor, 'hasFocus', 'get').mockReturnValue(false) + + focus(store) + + expect(editor.focus).toHaveBeenCalledOnce() + }) + + it('does not focus the editor when it already has focus', () => { + const store = makeStore() + const [state] = store + const { editor } = state() + + vi.spyOn(editor, 'hasFocus', 'get').mockReturnValue(true) + + focus(store) + + expect(editor.focus).not.toHaveBeenCalledOnce() + }) + }) +}) diff --git a/test/src/index.test.ts b/test/src/index.test.ts index 2461eb8..340bfab 100644 --- a/test/src/index.test.ts +++ b/test/src/index.test.ts @@ -1,11 +1,11 @@ -// @vitest-environment jsdom -import { beforeEach, describe, expect, it } from 'vitest' +import { beforeEach, describe, expect, it, vi } from 'vitest' import { mockAll } from '/test/helpers/dom' import { ink } from '/src/index' import example from '/test/assets/example.md?raw' describe('ink', () => { beforeEach(() => { + vi.restoreAllMocks() mockAll() }) @@ -20,7 +20,7 @@ describe('ink', () => { doc: '# Hello', }) - expect(instance.doc()).toEqual('# Hello') + expect(instance.getDoc()).toEqual('# Hello') }) it('can be reconfigured', () => { diff --git a/types/ink.d.ts b/types/ink.d.ts index 3a67004..62f81e2 100644 --- a/types/ink.d.ts +++ b/types/ink.d.ts @@ -21,23 +21,34 @@ export type EnumString = `${T}` export interface Instance { destroy: () => void - doc: () => string focus: () => void + format: (type: EnumString, options: Instance.FormatOptions) => void + getDoc: () => string insert: (text: string, selection: Editor.Selection) => void load: (doc: string) => void options: () => OptionsResolved reconfigure: (updates: Options) => void - select: (selections: Editor.Selection[]) => void + select: (options: Instance.SelectOptions) => void selections: () => Editor.Selection[] update: (doc: string) => void wrap: (options: Instance.WrapOptions) => void } export namespace Instance { + export interface FormatOptions { + selection?: Ink.Editor.Selection, + } + + export interface SelectOptions { + at?: EnumString, + selection?: Editor.Selection, + selections?: Editor.Selection[], + } + export interface WrapOptions { - after: string - before: string - selection?: Editor.Selection + after: string, + before: string, + selection?: Editor.Selection, } } @@ -167,10 +178,11 @@ export namespace Options { } export namespace Values { - export type Appearance = InkValues.Appearance - export type Extensions = InkValues.Extensions - export type Markup = InkValues.Markup - export type PluginType = InkValues.PluginType + export type Appearance = EnumString + export type Extensions = EnumString + export type Markup = EnumString + export type PluginType = EnumString + export type Selection = EnumString } export declare function defineOptions(options: Options): Options diff --git a/types/values.ts b/types/values.ts index f91a598..0864208 100644 --- a/types/values.ts +++ b/types/values.ts @@ -33,3 +33,8 @@ export enum PluginType { Default = 'default', Grammar = 'grammar', } + +export enum Selection { + End = 'end', + Start = 'start', +} diff --git a/vite.config.ts b/vite.config.ts index 6f49593..7f00ceb 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -54,14 +54,13 @@ export default defineConfig(({ ssrBuild }) => { ], }, test: { + clearMocks: true, deps: { inline: [ 'solid-js', ], }, - transformMode: { - web: [/\.tsx?$/], - }, + environment: 'jsdom', }, } }) diff --git a/vue/src/InkMde.vue b/vue/src/InkMde.vue index 812b3ac..1079c09 100644 --- a/vue/src/InkMde.vue +++ b/vue/src/InkMde.vue @@ -26,7 +26,7 @@ export default defineComponent({ }, watch: { modelValue(value) { - if (this.instance?.doc() !== value) { + if (this.instance?.getDoc() !== value) { this.instance?.update(value) } }, @@ -38,15 +38,6 @@ export default defineComponent({ }, }, methods: { - focus() { - this.instance?.focus() - }, - select(selections: Ink.Editor.Selection[]) { - this.instance?.select(selections) - }, - selections() { - return this.instance?.selections() - }, tryInit() { if (this.$refs.ink && !this.instance) { this.instance = ink(this.$refs.ink as HTMLElement, { diff --git a/yarn.lock b/yarn.lock index 3a6e272..94c081a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -690,16 +690,23 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.15.7": - version: 0.15.7 - resolution: "@esbuild/linux-loong64@npm:0.15.7" +"@esbuild/android-arm@npm:0.15.10": + version: 0.15.10 + resolution: "@esbuild/android-arm@npm:0.15.10" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.15.10": + version: 0.15.10 + resolution: "@esbuild/linux-loong64@npm:0.15.10" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@eslint/eslintrc@npm:^1.3.1": - version: 1.3.1 - resolution: "@eslint/eslintrc@npm:1.3.1" +"@eslint/eslintrc@npm:^1.3.3": + version: 1.3.3 + resolution: "@eslint/eslintrc@npm:1.3.3" dependencies: ajv: ^6.12.4 debug: ^4.3.2 @@ -710,7 +717,7 @@ __metadata: js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: 9844dcc58a44399649926d5a17a2d53d529b80d3e8c3e9d0964ae198bac77ee6bb1cf44940f30cd9c2e300f7568ec82500be42ace6cacefb08aebf9905fe208e + checksum: f03e9d6727efd3e0719da2051ea80c0c73d20e28c171121527dbb868cd34232ca9c1d0525a66e517a404afea26624b1e47895b6a92474678418c2f50c9566694 languageName: node linkType: hard @@ -721,21 +728,14 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.10.4": - version: 0.10.4 - resolution: "@humanwhocodes/config-array@npm:0.10.4" +"@humanwhocodes/config-array@npm:^0.10.5": + version: 0.10.7 + resolution: "@humanwhocodes/config-array@npm:0.10.7" dependencies: "@humanwhocodes/object-schema": ^1.2.1 debug: ^4.1.1 minimatch: ^3.0.4 - checksum: d480e5d57e6d787565b6cff78e27c3d1b380692d4ffb0ada7d7f5957a56c9032f034da05a3e443065dbd0671ebf4d859036ced34e96b325bbc1badbae3c05300 - languageName: node - linkType: hard - -"@humanwhocodes/gitignore-to-minimatch@npm:^1.0.2": - version: 1.0.2 - resolution: "@humanwhocodes/gitignore-to-minimatch@npm:1.0.2" - checksum: aba5c40c9e3770ed73a558b0bfb53323842abfc2ce58c91d7e8b1073995598e6374456d38767be24ab6176915f0a8d8b23eaae5c85e2b488c0dccca6d795e2ad + checksum: 009d64be8d5bd098ff04e10af79e34f5633245250581fca032fac12a8667b2df8e7d169e69c05bff4d83ea3dd3c7d2d0e05ea9b94d89a7d092e26530caf6f8a3 languageName: node linkType: hard @@ -1190,6 +1190,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:5.39.0": + version: 5.39.0 + resolution: "@typescript-eslint/scope-manager@npm:5.39.0" + dependencies: + "@typescript-eslint/types": 5.39.0 + "@typescript-eslint/visitor-keys": 5.39.0 + checksum: 8d8b55eb219a23b3de64602ea23269fb1e16120ff03c58ebb7ed571372cbc591c5f4641b91ba1cf7fd02cf13f7bb906a7bd6e3db6da3543c97fcea8c61c15c07 + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:5.36.1": version: 5.36.1 resolution: "@typescript-eslint/type-utils@npm:5.36.1" @@ -1214,6 +1224,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:5.39.0": + version: 5.39.0 + resolution: "@typescript-eslint/types@npm:5.39.0" + checksum: 5f67fe02adc87d594b6cc8ec5387d64419d4bbff701f4da51bf9929cdc50bc613df865e5a2457f13e4a637e8dfdb1fdf15fe8138f8968462de9e54ea056cc1a7 + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:5.36.1": version: 5.36.1 resolution: "@typescript-eslint/typescript-estree@npm:5.36.1" @@ -1232,7 +1249,25 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.36.1, @typescript-eslint/utils@npm:^5.10.0, @typescript-eslint/utils@npm:^5.35.1": +"@typescript-eslint/typescript-estree@npm:5.39.0": + version: 5.39.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.39.0" + dependencies: + "@typescript-eslint/types": 5.39.0 + "@typescript-eslint/visitor-keys": 5.39.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + semver: ^7.3.7 + tsutils: ^3.21.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 86143dd9dd33ce65a20badbce5509ae4e77e9dfe202a6966dd416a8ce8147e5b05d12ce0b8f593ed7924797f6420d0bcd558c773042466e24386cdda24f24eb8 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:5.36.1": version: 5.36.1 resolution: "@typescript-eslint/utils@npm:5.36.1" dependencies: @@ -1248,6 +1283,22 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:^5.30.7, @typescript-eslint/utils@npm:^5.35.1": + version: 5.39.0 + resolution: "@typescript-eslint/utils@npm:5.39.0" + dependencies: + "@types/json-schema": ^7.0.9 + "@typescript-eslint/scope-manager": 5.39.0 + "@typescript-eslint/types": 5.39.0 + "@typescript-eslint/typescript-estree": 5.39.0 + eslint-scope: ^5.1.1 + eslint-utils: ^3.0.0 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 460a883775c24ed1a328db15101d58e1207797c97d2347a6e1adb2e26ef56ac0b525a326d2dd74333daf00e2b2e3dd28d51e0d4c4c38cdade2d132d8b08917cb + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:5.36.1": version: 5.36.1 resolution: "@typescript-eslint/visitor-keys@npm:5.36.1" @@ -1258,6 +1309,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:5.39.0": + version: 5.39.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.39.0" + dependencies: + "@typescript-eslint/types": 5.39.0 + eslint-visitor-keys: ^3.3.0 + checksum: 941e49fd1f4d2e42cd15a52a50f6f1102e2a83b173d182b5dd43ba3d7b7f0f1457d74fcaac710da4a19c28f804c78bc265d900802f4e2c7c46a608fff3204e7c + languageName: node + linkType: hard + "@vitejs/plugin-vue@npm:^3.0.3": version: 3.0.3 resolution: "@vitejs/plugin-vue@npm:3.0.3" @@ -1321,66 +1382,66 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-core@npm:3.2.38, @vue/compiler-core@npm:^3.2.37": - version: 3.2.38 - resolution: "@vue/compiler-core@npm:3.2.38" +"@vue/compiler-core@npm:3.2.40, @vue/compiler-core@npm:^3.2.37": + version: 3.2.40 + resolution: "@vue/compiler-core@npm:3.2.40" dependencies: "@babel/parser": ^7.16.4 - "@vue/shared": 3.2.38 + "@vue/shared": 3.2.40 estree-walker: ^2.0.2 source-map: ^0.6.1 - checksum: fd1049aa14f93ac167d5cff2c867c12aca3a57b6070ca07b45930549a3643296fd07ad0b2e3799a3cabdbc08609325431b475b6d504b47bfe098ebaca61a120d + checksum: 2683bf13ef93701af1ca4850e887c8d4d67e5583b9c426fc2b08b5512df090bc464955f031cca9f52c11cc6ad49f1ab682011fdf3ba0b6c63b5ae8bea4e68c69 languageName: node linkType: hard -"@vue/compiler-dom@npm:3.2.38, @vue/compiler-dom@npm:^3.2.37": - version: 3.2.38 - resolution: "@vue/compiler-dom@npm:3.2.38" +"@vue/compiler-dom@npm:3.2.40, @vue/compiler-dom@npm:^3.2.37": + version: 3.2.40 + resolution: "@vue/compiler-dom@npm:3.2.40" dependencies: - "@vue/compiler-core": 3.2.38 - "@vue/shared": 3.2.38 - checksum: 21ee60938a9a4e81365be3cb29f336a1b7be8878ad750f8f9735ee04d00d51f3c11b3ce60136491abf3a9c7fb714c1c58561e859bde83dc1e0759d0f3488a50f + "@vue/compiler-core": 3.2.40 + "@vue/shared": 3.2.40 + checksum: d928a16ebdda9d91a579546d108c9399f8c9a5c9c976196cfefa32f10c0ecb3111233c3291ba05898def85fcfccdc71e3446b977a7cdbc0d47d5d47b0dac75a3 languageName: node linkType: hard -"@vue/compiler-sfc@npm:3.2.38, @vue/compiler-sfc@npm:^3.2.37": - version: 3.2.38 - resolution: "@vue/compiler-sfc@npm:3.2.38" +"@vue/compiler-sfc@npm:3.2.40, @vue/compiler-sfc@npm:^3.2.37": + version: 3.2.40 + resolution: "@vue/compiler-sfc@npm:3.2.40" dependencies: "@babel/parser": ^7.16.4 - "@vue/compiler-core": 3.2.38 - "@vue/compiler-dom": 3.2.38 - "@vue/compiler-ssr": 3.2.38 - "@vue/reactivity-transform": 3.2.38 - "@vue/shared": 3.2.38 + "@vue/compiler-core": 3.2.40 + "@vue/compiler-dom": 3.2.40 + "@vue/compiler-ssr": 3.2.40 + "@vue/reactivity-transform": 3.2.40 + "@vue/shared": 3.2.40 estree-walker: ^2.0.2 magic-string: ^0.25.7 postcss: ^8.1.10 source-map: ^0.6.1 - checksum: 1d72cc4f1c643db455a0034d11ede23c83a3ff4fd4e2ffcfdb85805c99fc7a4227faddc8994b41a41d5abbf3e9edf7b87557378f13c141f920b9b12dd180d285 + checksum: 96cbfd078ad9c5718afced84a1a46dfed87f61bb30ff50ebb929331470d11e672d6a090ad5766ff1e60a5287b7596be31f925af44b6b1bdf69b6f14e938ae7e2 languageName: node linkType: hard -"@vue/compiler-ssr@npm:3.2.38": - version: 3.2.38 - resolution: "@vue/compiler-ssr@npm:3.2.38" +"@vue/compiler-ssr@npm:3.2.40": + version: 3.2.40 + resolution: "@vue/compiler-ssr@npm:3.2.40" dependencies: - "@vue/compiler-dom": 3.2.38 - "@vue/shared": 3.2.38 - checksum: f457245a43d8290dbdb8f782fd873557041798801be61e8c3e52d88784232a7545dc23532c4552ed3fd74c1dfdfd07531ab83be3e5b5441dda4c4b282055043a + "@vue/compiler-dom": 3.2.40 + "@vue/shared": 3.2.40 + checksum: 026461fcee54cf9968b1e12c32dada6dcde0a322919aa5a2c2e6e13cff7b6b2bdbc06860796895a8deef03ed1f8000e4320878576c498a1f218a62aa3e1c0bf6 languageName: node linkType: hard -"@vue/reactivity-transform@npm:3.2.38": - version: 3.2.38 - resolution: "@vue/reactivity-transform@npm:3.2.38" +"@vue/reactivity-transform@npm:3.2.40": + version: 3.2.40 + resolution: "@vue/reactivity-transform@npm:3.2.40" dependencies: "@babel/parser": ^7.16.4 - "@vue/compiler-core": 3.2.38 - "@vue/shared": 3.2.38 + "@vue/compiler-core": 3.2.40 + "@vue/shared": 3.2.40 estree-walker: ^2.0.2 magic-string: ^0.25.7 - checksum: 84b665185ed60b21195992b33b6cc068fe8c6c68ffa526f3aa1334ffdeac94daf07a74fc6dda6ef40230bcb940ec6607aa5ae0ae0309942a71717c7b22639d8a + checksum: b86fc29b52f2460801a3c820370104b734b33cc3a66dbe0ad389a00a62b7a1069121b1ef5dfa50ca3530cbfa98c158743eee0e25af54ca45806f9497757db8c0 languageName: node linkType: hard @@ -1393,45 +1454,45 @@ __metadata: languageName: node linkType: hard -"@vue/reactivity@npm:3.2.38, @vue/reactivity@npm:^3.2.37": - version: 3.2.38 - resolution: "@vue/reactivity@npm:3.2.38" +"@vue/reactivity@npm:3.2.40, @vue/reactivity@npm:^3.2.37": + version: 3.2.40 + resolution: "@vue/reactivity@npm:3.2.40" dependencies: - "@vue/shared": 3.2.38 - checksum: c9afb0184603c93a450553d8280a4e32b4e327ab90cadb94d020d8118d6214bee820db4312d26d0570679ede18e9b8d4ca696eab012abd0839a346c30b5ca07e + "@vue/shared": 3.2.40 + checksum: 927d22b424b63a14234810a3b8e4e9127b7238a7cb2fbd749180279048a109348a29fc724fd9d636a6e09b5f4c902f71c789f081d3ab9b4473faedc6a03d7865 languageName: node linkType: hard -"@vue/runtime-core@npm:3.2.38": - version: 3.2.38 - resolution: "@vue/runtime-core@npm:3.2.38" +"@vue/runtime-core@npm:3.2.40": + version: 3.2.40 + resolution: "@vue/runtime-core@npm:3.2.40" dependencies: - "@vue/reactivity": 3.2.38 - "@vue/shared": 3.2.38 - checksum: d3936ca50b3eabc3eae575bb9e3b8219c4a0d6ebcde0e111fefe0b154d9aba827a87cc939ce9be626a9fa92b408b000287fb57ca97126186a8c7ef2b7f9c4844 + "@vue/reactivity": 3.2.40 + "@vue/shared": 3.2.40 + checksum: 47c4918c1294a3dc9b50effac8fb0af4ae34476a9bf443774f66cd18230e44b6b6d1cb49657ea5670f04691fc116a1040356492393dd43523b43fd90be81078a languageName: node linkType: hard -"@vue/runtime-dom@npm:3.2.38": - version: 3.2.38 - resolution: "@vue/runtime-dom@npm:3.2.38" +"@vue/runtime-dom@npm:3.2.40": + version: 3.2.40 + resolution: "@vue/runtime-dom@npm:3.2.40" dependencies: - "@vue/runtime-core": 3.2.38 - "@vue/shared": 3.2.38 + "@vue/runtime-core": 3.2.40 + "@vue/shared": 3.2.40 csstype: ^2.6.8 - checksum: d1d889c3e85b6b1a12efd432160c57d8b5eff4889717d36d27dae39094578bdcceefa536e991bf040e32e4baf3dc096f579aa14af1077eb91a79772843755fca + checksum: 4615d00cc4e2e19dc3e6e2baf5fa0cbab7d33fbbd7550b42264b6ef2e2ef5b750ef0d0c98591c10fea60d69fc33444ba4824954bce38abfa3473785a58d74c80 languageName: node linkType: hard -"@vue/server-renderer@npm:3.2.38": - version: 3.2.38 - resolution: "@vue/server-renderer@npm:3.2.38" +"@vue/server-renderer@npm:3.2.40": + version: 3.2.40 + resolution: "@vue/server-renderer@npm:3.2.40" dependencies: - "@vue/compiler-ssr": 3.2.38 - "@vue/shared": 3.2.38 + "@vue/compiler-ssr": 3.2.40 + "@vue/shared": 3.2.40 peerDependencies: - vue: 3.2.38 - checksum: d7d8458e6913f0c6cd517cd2b3b673ebd28b3d85fdb4a004896c0da68a9e58eb69d30141b403b8afaa2f341029aa00c2860b845363f75ed5e1116787283bcc1c + vue: 3.2.40 + checksum: f9d53aefcace97b9e6d20de2d9bc106112bd0ff0ef849a104996fc1256e994b64e33e91853ba7bc716d4f75a2ade81b57f3fb1482eba07324eb7cedbd0dab96d languageName: node linkType: hard @@ -1442,10 +1503,10 @@ __metadata: languageName: node linkType: hard -"@vue/shared@npm:3.2.38, @vue/shared@npm:^3.2.37": - version: 3.2.38 - resolution: "@vue/shared@npm:3.2.38" - checksum: c1aa5ec1320fff7431297c594cb976908b5ff240a16384930b4b16dc2a0d663aa09706337dee6910db260c5bb24fb31359006637d01de98009247a68acde5eae +"@vue/shared@npm:3.2.40, @vue/shared@npm:^3.2.37": + version: 3.2.40 + resolution: "@vue/shared@npm:3.2.40" + checksum: d91a1e12ffb106a444dcb42c0a54d39f6688f98151dc3b77e8da1e7d3cfd09e1761268d11e7f920f233b43162e727d06f3af4408ef59c53ac2dce9c1d2881511 languageName: node linkType: hard @@ -1485,13 +1546,13 @@ __metadata: languageName: node linkType: hard -"acorn-globals@npm:^6.0.0": - version: 6.0.0 - resolution: "acorn-globals@npm:6.0.0" +"acorn-globals@npm:^7.0.0": + version: 7.0.1 + resolution: "acorn-globals@npm:7.0.1" dependencies: - acorn: ^7.1.1 - acorn-walk: ^7.1.1 - checksum: 72d95e5b5e585f9acd019b993ab8bbba68bb3cbc9d9b5c1ebb3c2f1fe5981f11deababfb4949f48e6262f9c57878837f5958c0cca396f81023814680ca878042 + acorn: ^8.1.0 + acorn-walk: ^8.0.2 + checksum: 2a2998a547af6d0db5f0cdb90acaa7c3cbca6709010e02121fb8b8617c0fbd8bab0b869579903fde358ac78454356a14fadcc1a672ecb97b04b1c2ccba955ce8 languageName: node linkType: hard @@ -1504,23 +1565,14 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^7.1.1": - version: 7.2.0 - resolution: "acorn-walk@npm:7.2.0" - checksum: 9252158a79b9d92f1bc0dd6acc0fcfb87a67339e84bcc301bb33d6078936d27e35d606b4d35626d2962cd43c256d6f27717e70cbe15c04fff999ab0b2260b21f +"acorn-walk@npm:^8.0.2": + version: 8.2.0 + resolution: "acorn-walk@npm:8.2.0" + checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 languageName: node linkType: hard -"acorn@npm:^7.1.1": - version: 7.4.1 - resolution: "acorn@npm:7.4.1" - bin: - acorn: bin/acorn - checksum: 1860f23c2107c910c6177b7b7be71be350db9e1080d814493fae143ae37605189504152d1ba8743ba3178d0b37269ce1ffc42b101547fdc1827078f82671e407 - languageName: node - linkType: hard - -"acorn@npm:^8.5.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0": +"acorn@npm:^8.1.0, acorn@npm:^8.5.0, acorn@npm:^8.8.0": version: 8.8.0 resolution: "acorn@npm:8.8.0" bin: @@ -1753,13 +1805,6 @@ __metadata: languageName: node linkType: hard -"browser-process-hrtime@npm:^1.0.0": - version: 1.0.0 - resolution: "browser-process-hrtime@npm:1.0.0" - checksum: e30f868cdb770b1201afb714ad1575dd86366b6e861900884665fb627109b3cc757c40067d3bfee1ff2a29c835257ea30725a8018a9afd02ac1c24b408b1e45f - languageName: node - linkType: hard - "browserslist@npm:^4.20.2": version: 4.21.3 resolution: "browserslist@npm:4.21.3" @@ -1900,13 +1945,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^5.0.1": - version: 5.0.1 - resolution: "chalk@npm:5.0.1" - checksum: 7b45300372b908f0471fbf7389ce2f5de8d85bb949026fd51a1b95b10d0ed32c7ed5aab36dd5e9d2bf3191867909b4404cef75c5f4d2d1daeeacd301dd280b76 - languageName: node - linkType: hard - "character-entities-legacy@npm:^1.0.0": version: 1.1.4 resolution: "character-entities-legacy@npm:1.1.4" @@ -2171,10 +2209,10 @@ __metadata: languageName: node linkType: hard -"decimal.js@npm:^10.3.1": - version: 10.3.1 - resolution: "decimal.js@npm:10.3.1" - checksum: 0351ac9f05fe050f23227aa6a4573bee2d58fa7378fcf28d969a8c789525032effb488a90320fd3fe86a66e17b4bc507d811b15eada5b7f0e7ec5d2af4c24a59 +"decimal.js@npm:^10.4.1": + version: 10.4.1 + resolution: "decimal.js@npm:10.4.1" + checksum: 5da6dc74af5b73d954741b24d404ef6da07841794d9e51412a2708ec384dd7b4bced3365fb178f4cd119b7ef45f0b34344014a4dc0494c8374c5e746df3cb410 languageName: node linkType: hard @@ -2364,10 +2402,10 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.2.0, entities@npm:^4.3.0": - version: 4.3.1 - resolution: "entities@npm:4.3.1" - checksum: e8f6d2bac238494b2355e90551893882d2675142be7e7bdfcb15248ed0652a630678ba0e3a8dc750693e736cb6011f504c27dabeb4cd3330560092e88b105090 +"entities@npm:^4.2.0, entities@npm:^4.3.0, entities@npm:^4.4.0": + version: 4.4.0 + resolution: "entities@npm:4.4.0" + checksum: 84d250329f4b56b40fa93ed067b194db21e8815e4eb9b59f43a086f0ecd342814f6bc483de8a77da5d64e0f626033192b1b4f1792232a7ea6b970ebe0f3187c2 languageName: node linkType: hard @@ -2445,383 +2483,175 @@ __metadata: languageName: node linkType: hard -"esbuild-android-64@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-android-64@npm:0.14.49" +"esbuild-android-64@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-android-64@npm:0.15.10" conditions: os=android & cpu=x64 languageName: node linkType: hard -"esbuild-android-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-android-64@npm:0.15.7" - conditions: os=android & cpu=x64 - languageName: node - linkType: hard - -"esbuild-android-arm64@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-android-arm64@npm:0.14.49" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"esbuild-android-arm64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-android-arm64@npm:0.15.7" +"esbuild-android-arm64@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-android-arm64@npm:0.15.10" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"esbuild-darwin-64@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-darwin-64@npm:0.14.49" +"esbuild-darwin-64@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-darwin-64@npm:0.15.10" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"esbuild-darwin-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-darwin-64@npm:0.15.7" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"esbuild-darwin-arm64@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-darwin-arm64@npm:0.14.49" +"esbuild-darwin-arm64@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-darwin-arm64@npm:0.15.10" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"esbuild-darwin-arm64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-darwin-arm64@npm:0.15.7" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"esbuild-freebsd-64@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-freebsd-64@npm:0.14.49" +"esbuild-freebsd-64@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-freebsd-64@npm:0.15.10" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"esbuild-freebsd-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-freebsd-64@npm:0.15.7" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"esbuild-freebsd-arm64@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-freebsd-arm64@npm:0.14.49" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - -"esbuild-freebsd-arm64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-freebsd-arm64@npm:0.15.7" +"esbuild-freebsd-arm64@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-freebsd-arm64@npm:0.15.10" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"esbuild-linux-32@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-linux-32@npm:0.14.49" +"esbuild-linux-32@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-linux-32@npm:0.15.10" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"esbuild-linux-32@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-32@npm:0.15.7" - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - -"esbuild-linux-64@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-linux-64@npm:0.14.49" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - -"esbuild-linux-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-64@npm:0.15.7" +"esbuild-linux-64@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-linux-64@npm:0.15.10" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"esbuild-linux-arm64@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-linux-arm64@npm:0.14.49" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"esbuild-linux-arm64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-arm64@npm:0.15.7" +"esbuild-linux-arm64@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-linux-arm64@npm:0.15.10" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"esbuild-linux-arm@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-linux-arm@npm:0.14.49" +"esbuild-linux-arm@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-linux-arm@npm:0.15.10" conditions: os=linux & cpu=arm languageName: node linkType: hard -"esbuild-linux-arm@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-arm@npm:0.15.7" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"esbuild-linux-mips64le@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-linux-mips64le@npm:0.14.49" +"esbuild-linux-mips64le@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-linux-mips64le@npm:0.15.10" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"esbuild-linux-mips64le@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-mips64le@npm:0.15.7" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - -"esbuild-linux-ppc64le@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-linux-ppc64le@npm:0.14.49" +"esbuild-linux-ppc64le@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-linux-ppc64le@npm:0.15.10" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"esbuild-linux-ppc64le@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-ppc64le@npm:0.15.7" - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - -"esbuild-linux-riscv64@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-linux-riscv64@npm:0.14.49" +"esbuild-linux-riscv64@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-linux-riscv64@npm:0.15.10" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"esbuild-linux-riscv64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-riscv64@npm:0.15.7" - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - -"esbuild-linux-s390x@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-linux-s390x@npm:0.14.49" - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - -"esbuild-linux-s390x@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-s390x@npm:0.15.7" +"esbuild-linux-s390x@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-linux-s390x@npm:0.15.10" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"esbuild-netbsd-64@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-netbsd-64@npm:0.14.49" - conditions: os=netbsd & cpu=x64 - languageName: node - linkType: hard - -"esbuild-netbsd-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-netbsd-64@npm:0.15.7" +"esbuild-netbsd-64@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-netbsd-64@npm:0.15.10" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"esbuild-openbsd-64@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-openbsd-64@npm:0.14.49" +"esbuild-openbsd-64@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-openbsd-64@npm:0.15.10" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"esbuild-openbsd-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-openbsd-64@npm:0.15.7" - conditions: os=openbsd & cpu=x64 - languageName: node - linkType: hard - -"esbuild-sunos-64@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-sunos-64@npm:0.14.49" - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - -"esbuild-sunos-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-sunos-64@npm:0.15.7" +"esbuild-sunos-64@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-sunos-64@npm:0.15.10" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"esbuild-windows-32@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-windows-32@npm:0.14.49" +"esbuild-windows-32@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-windows-32@npm:0.15.10" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"esbuild-windows-32@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-windows-32@npm:0.15.7" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"esbuild-windows-64@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-windows-64@npm:0.14.49" +"esbuild-windows-64@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-windows-64@npm:0.15.10" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"esbuild-windows-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-windows-64@npm:0.15.7" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"esbuild-windows-arm64@npm:0.14.49": - version: 0.14.49 - resolution: "esbuild-windows-arm64@npm:0.14.49" +"esbuild-windows-arm64@npm:0.15.10": + version: 0.15.10 + resolution: "esbuild-windows-arm64@npm:0.15.10" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"esbuild-windows-arm64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-windows-arm64@npm:0.15.7" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"esbuild@npm:^0.14.47": - version: 0.14.49 - resolution: "esbuild@npm:0.14.49" - dependencies: - esbuild-android-64: 0.14.49 - esbuild-android-arm64: 0.14.49 - esbuild-darwin-64: 0.14.49 - esbuild-darwin-arm64: 0.14.49 - esbuild-freebsd-64: 0.14.49 - esbuild-freebsd-arm64: 0.14.49 - esbuild-linux-32: 0.14.49 - esbuild-linux-64: 0.14.49 - esbuild-linux-arm: 0.14.49 - esbuild-linux-arm64: 0.14.49 - esbuild-linux-mips64le: 0.14.49 - esbuild-linux-ppc64le: 0.14.49 - esbuild-linux-riscv64: 0.14.49 - esbuild-linux-s390x: 0.14.49 - esbuild-netbsd-64: 0.14.49 - esbuild-openbsd-64: 0.14.49 - esbuild-sunos-64: 0.14.49 - esbuild-windows-32: 0.14.49 - esbuild-windows-64: 0.14.49 - esbuild-windows-arm64: 0.14.49 +"esbuild@npm:^0.15.9, esbuild@npm:~0.15.7": + version: 0.15.10 + resolution: "esbuild@npm:0.15.10" + dependencies: + "@esbuild/android-arm": 0.15.10 + "@esbuild/linux-loong64": 0.15.10 + esbuild-android-64: 0.15.10 + esbuild-android-arm64: 0.15.10 + esbuild-darwin-64: 0.15.10 + esbuild-darwin-arm64: 0.15.10 + esbuild-freebsd-64: 0.15.10 + esbuild-freebsd-arm64: 0.15.10 + esbuild-linux-32: 0.15.10 + esbuild-linux-64: 0.15.10 + esbuild-linux-arm: 0.15.10 + esbuild-linux-arm64: 0.15.10 + esbuild-linux-mips64le: 0.15.10 + esbuild-linux-ppc64le: 0.15.10 + esbuild-linux-riscv64: 0.15.10 + esbuild-linux-s390x: 0.15.10 + esbuild-netbsd-64: 0.15.10 + esbuild-openbsd-64: 0.15.10 + esbuild-sunos-64: 0.15.10 + esbuild-windows-32: 0.15.10 + esbuild-windows-64: 0.15.10 + esbuild-windows-arm64: 0.15.10 dependenciesMeta: - esbuild-android-64: - optional: true - esbuild-android-arm64: - optional: true - esbuild-darwin-64: - optional: true - esbuild-darwin-arm64: - optional: true - esbuild-freebsd-64: - optional: true - esbuild-freebsd-arm64: - optional: true - esbuild-linux-32: - optional: true - esbuild-linux-64: - optional: true - esbuild-linux-arm: - optional: true - esbuild-linux-arm64: - optional: true - esbuild-linux-mips64le: - optional: true - esbuild-linux-ppc64le: - optional: true - esbuild-linux-riscv64: - optional: true - esbuild-linux-s390x: - optional: true - esbuild-netbsd-64: - optional: true - esbuild-openbsd-64: - optional: true - esbuild-sunos-64: - optional: true - esbuild-windows-32: - optional: true - esbuild-windows-64: - optional: true - esbuild-windows-arm64: + "@esbuild/android-arm": optional: true - bin: - esbuild: bin/esbuild - checksum: b718f4c9eaf2f83bb26f2cdb18d82d70365179ae8d1d88636afc3073a0c328364340695798b9a6322ae15e31b90e1f71266151f61637412649fb31bb3ecb2e0a - languageName: node - linkType: hard - -"esbuild@npm:~0.15.7": - version: 0.15.7 - resolution: "esbuild@npm:0.15.7" - dependencies: - "@esbuild/linux-loong64": 0.15.7 - esbuild-android-64: 0.15.7 - esbuild-android-arm64: 0.15.7 - esbuild-darwin-64: 0.15.7 - esbuild-darwin-arm64: 0.15.7 - esbuild-freebsd-64: 0.15.7 - esbuild-freebsd-arm64: 0.15.7 - esbuild-linux-32: 0.15.7 - esbuild-linux-64: 0.15.7 - esbuild-linux-arm: 0.15.7 - esbuild-linux-arm64: 0.15.7 - esbuild-linux-mips64le: 0.15.7 - esbuild-linux-ppc64le: 0.15.7 - esbuild-linux-riscv64: 0.15.7 - esbuild-linux-s390x: 0.15.7 - esbuild-netbsd-64: 0.15.7 - esbuild-openbsd-64: 0.15.7 - esbuild-sunos-64: 0.15.7 - esbuild-windows-32: 0.15.7 - esbuild-windows-64: 0.15.7 - esbuild-windows-arm64: 0.15.7 - dependenciesMeta: "@esbuild/linux-loong64": optional: true esbuild-android-64: @@ -2866,7 +2696,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 54ddaa6cf96798d817861b4f68cb8d176075dc09b6e0ed511c57e5db6fd86d2c673ac2ec631ad9b11678d58ad4a77cd6b7a3853b9c6eac29b7f5c6d38e42f92e + checksum: bc2daadb952c527e7ab0a972fd4f79071c9fd3d948cd97290d3de8811b6b7fc0abc43fb20116dffa24dc923550f4fe7b0d930ff6418ae7dfbff3034c1a01d59a languageName: node linkType: hard @@ -3053,19 +2883,19 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-solid@npm:^0.7.1": - version: 0.7.1 - resolution: "eslint-plugin-solid@npm:0.7.1" +"eslint-plugin-solid@npm:^0.7.3": + version: 0.7.3 + resolution: "eslint-plugin-solid@npm:0.7.3" dependencies: - "@typescript-eslint/utils": ^5.10.0 + "@typescript-eslint/utils": ^5.30.7 is-html: ^2.0.0 - jsx-ast-utils: ^3.2.0 + jsx-ast-utils: ^3.3.2 kebab-case: ^1.0.1 known-css-properties: ^0.24.0 style-to-object: ^0.3.0 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 6a68bd95d2027736bc413466def4130954a0812c3ca979973adbbf65dceac96b1ba181a64a73841afb98b13c9908accc0ef046ab2f688b28b9d0d2d701a128f8 + checksum: 4066d6a363bbafd4fda3012712ea2b43b64426eeae88fa799412e53a0782ad6b7d6ce829a244a89da85c1f0cdc0ce9c7bd7366774e49e402440f77efaf35634b languageName: node linkType: hard @@ -3168,13 +2998,12 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.23.0": - version: 8.23.0 - resolution: "eslint@npm:8.23.0" +"eslint@npm:^8.25.0": + version: 8.25.0 + resolution: "eslint@npm:8.25.0" dependencies: - "@eslint/eslintrc": ^1.3.1 - "@humanwhocodes/config-array": ^0.10.4 - "@humanwhocodes/gitignore-to-minimatch": ^1.0.2 + "@eslint/eslintrc": ^1.3.3 + "@humanwhocodes/config-array": ^0.10.5 "@humanwhocodes/module-importer": ^1.0.1 ajv: ^6.10.0 chalk: ^4.0.0 @@ -3191,7 +3020,6 @@ __metadata: fast-deep-equal: ^3.1.3 file-entry-cache: ^6.0.1 find-up: ^5.0.0 - functional-red-black-tree: ^1.0.1 glob-parent: ^6.0.1 globals: ^13.15.0 globby: ^11.1.0 @@ -3200,6 +3028,7 @@ __metadata: import-fresh: ^3.0.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 + js-sdsl: ^4.1.4 js-yaml: ^4.1.0 json-stable-stringify-without-jsonify: ^1.0.1 levn: ^0.4.1 @@ -3213,7 +3042,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: ff6075daa28d817a7ac4508f31bc108a04d9ab5056608c8651b5bf9cfea5d708ca16dea6cdab2c3c0ae99b0bf0e726af8504eaa8e17c8e12e242cb68237ead64 + checksum: 7acf2693b522b573657b53d2245b5522d3a131e4224b1cbf01e2c3579632fdbf62599284f68bc483e6e4eba23ae3643c9544744e0214a86e727cc361cedcd0fa languageName: node linkType: hard @@ -3743,7 +3572,7 @@ __metadata: languageName: node linkType: hard -"has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": +"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 @@ -3962,20 +3791,20 @@ __metadata: "@vitejs/plugin-vue": ^3.0.3 "@vue/tsconfig": ^0.1.3 embedme: "git+https://github.com/voracious/embedme.git#live-fork" - eslint: ^8.23.0 - eslint-plugin-solid: ^0.7.1 + eslint: ^8.25.0 + eslint-plugin-solid: ^0.7.3 express: ^4.18.1 ink-mde: "workspace:*" - jsdom: ^20.0.0 + jsdom: ^20.0.1 solid-js: ^1.5.5 style-mod: ^4.0.0 tsx: ^3.9.0 typescript: ^4.8.2 - vite: ^3.0.9 - vite-plugin-externalize-deps: ^0.1.4 - vite-plugin-solid: ^2.3.0 - vitest: ^0.22.1 - vue: ^3.2.38 + vite: ^3.1.6 + vite-plugin-externalize-deps: ^0.4.0 + vite-plugin-solid: 2.3.0 + vitest: ^0.24.0 + vue: ^3.2.40 vue-tsc: ^0.40.5 peerDependencies: vue: ^3.0.0 @@ -4237,6 +4066,13 @@ __metadata: languageName: node linkType: hard +"js-sdsl@npm:^4.1.4": + version: 4.1.5 + resolution: "js-sdsl@npm:4.1.5" + checksum: 695f657ddc5be462b97cac4e8e60f37de28d628ee0e23016baecff0bb584a18dddb5caeac537a775030f180b5afd62133ac4481e7024c8d03a62d73e4da0713e + languageName: node + linkType: hard + "js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -4255,17 +4091,17 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^20.0.0": - version: 20.0.0 - resolution: "jsdom@npm:20.0.0" +"jsdom@npm:^20.0.1": + version: 20.0.1 + resolution: "jsdom@npm:20.0.1" dependencies: abab: ^2.0.6 - acorn: ^8.7.1 - acorn-globals: ^6.0.0 + acorn: ^8.8.0 + acorn-globals: ^7.0.0 cssom: ^0.5.0 cssstyle: ^2.3.0 data-urls: ^3.0.2 - decimal.js: ^10.3.1 + decimal.js: ^10.4.1 domexception: ^4.0.0 escodegen: ^2.0.0 form-data: ^4.0.0 @@ -4273,25 +4109,24 @@ __metadata: http-proxy-agent: ^5.0.0 https-proxy-agent: ^5.0.1 is-potential-custom-element-name: ^1.0.1 - nwsapi: ^2.2.0 - parse5: ^7.0.0 + nwsapi: ^2.2.2 + parse5: ^7.1.1 saxes: ^6.0.0 symbol-tree: ^3.2.4 - tough-cookie: ^4.0.0 - w3c-hr-time: ^1.0.2 + tough-cookie: ^4.1.2 w3c-xmlserializer: ^3.0.0 webidl-conversions: ^7.0.0 whatwg-encoding: ^2.0.0 whatwg-mimetype: ^3.0.0 whatwg-url: ^11.0.0 - ws: ^8.8.0 + ws: ^8.9.0 xml-name-validator: ^4.0.0 peerDependencies: canvas: ^2.5.0 peerDependenciesMeta: canvas: optional: true - checksum: f69b40679d8cfaee2353615445aaff08b823c53dc7778ede6592d02ed12b3e9fb4e8db2b6d033551b67e08424a3adb2b79d231caa7dcda2d16019c20c705c11f + checksum: 9fc0b66a866f58a28e95f5a39b167ea663dc01c9754a019c356cc517d27ff0216055f37ace69e0f4414c51084adca8d5ec71c1e6faee3b8df0941a494167c3a0 languageName: node linkType: hard @@ -4357,13 +4192,13 @@ __metadata: languageName: node linkType: hard -"jsx-ast-utils@npm:^3.2.0": - version: 3.3.2 - resolution: "jsx-ast-utils@npm:3.3.2" +"jsx-ast-utils@npm:^3.3.2": + version: 3.3.3 + resolution: "jsx-ast-utils@npm:3.3.3" dependencies: array-includes: ^3.1.5 - object.assign: ^4.1.2 - checksum: 61d4596d44480afc03ae0a7ebb272aa6603dc4c3645805dea0fc8d9f0693542cd0959f3ba7c0c9b16c13dd5a900c7c4310108bada273132a8355efe3fed22064 + object.assign: ^4.1.3 + checksum: a2ed78cac49a0f0c4be8b1eafe3c5257a1411341d8e7f1ac740debae003de04e5f6372bfcfbd9d082e954ffd99aac85bcda85b7c6bc11609992483f4cdc0f745 languageName: node linkType: hard @@ -4835,10 +4670,10 @@ __metadata: languageName: node linkType: hard -"nwsapi@npm:^2.2.0": - version: 2.2.0 - resolution: "nwsapi@npm:2.2.0" - checksum: 5ef4a9bc0c1a5b7f2e014aa6a4b359a257503b796618ed1ef0eb852098f77e772305bb0e92856e4bbfa3e6c75da48c0113505c76f144555ff38867229c2400a7 +"nwsapi@npm:^2.2.2": + version: 2.2.2 + resolution: "nwsapi@npm:2.2.2" + checksum: 43769106292bc95f776756ca2f3513dab7b4d506a97c67baec32406447841a35f65f29c1f95ab5d42785210fd41668beed33ca16fa058780be43b101ad73e205 languageName: node linkType: hard @@ -4856,15 +4691,15 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.2": - version: 4.1.2 - resolution: "object.assign@npm:4.1.2" +"object.assign@npm:^4.1.2, object.assign@npm:^4.1.3": + version: 4.1.4 + resolution: "object.assign@npm:4.1.4" dependencies: - call-bind: ^1.0.0 - define-properties: ^1.1.3 - has-symbols: ^1.0.1 + call-bind: ^1.0.2 + define-properties: ^1.1.4 + has-symbols: ^1.0.3 object-keys: ^1.1.1 - checksum: d621d832ed7b16ac74027adb87196804a500d80d9aca536fccb7ba48d33a7e9306a75f94c1d29cbfa324bc091bfc530bc24789568efdaee6a47fcfa298993814 + checksum: 76cab513a5999acbfe0ff355f15a6a125e71805fcf53de4e9d4e082e1989bdb81d1e329291e1e4e0ae7719f0e4ef80e88fb2d367ae60500d79d25a6224ac8864 languageName: node linkType: hard @@ -5037,12 +4872,12 @@ __metadata: languageName: node linkType: hard -"parse5@npm:^7.0.0": - version: 7.0.0 - resolution: "parse5@npm:7.0.0" +"parse5@npm:^7.1.1": + version: 7.1.1 + resolution: "parse5@npm:7.1.1" dependencies: - entities: ^4.3.0 - checksum: 7da5d61cc18eb36ffa71fc861e65cbfd1f23d96483a6631254e627be667dbc9c93ac0b0e6cb17a13a2e4033dab19bfb2f76f38e5936cfb57240ed49036a83fcc + entities: ^4.4.0 + checksum: 8f72fbfa6df83a3f29f58e1818f7bd46b47ff3e26d79c74e10b8fc7ef7ee76163f205113f1b2f6a5b8dc4e31e726f490444f04890cead6e974dbcbe8172b1321 languageName: node linkType: hard @@ -5205,6 +5040,13 @@ __metadata: languageName: node linkType: hard +"querystringify@npm:^2.1.1": + version: 2.2.0 + resolution: "querystringify@npm:2.2.0" + checksum: 5641ea231bad7ef6d64d9998faca95611ed4b11c2591a8cae741e178a974f6a8e0ebde008475259abe1621cb15e692404e6b6626e927f7b849d5c09392604b15 + languageName: node + linkType: hard + "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -5292,6 +5134,13 @@ __metadata: languageName: node linkType: hard +"requires-port@npm:^1.0.0": + version: 1.0.0 + resolution: "requires-port@npm:1.0.0" + checksum: eee0e303adffb69be55d1a214e415cf42b7441ae858c76dfc5353148644f6fd6e698926fc4643f510d5c126d12a705e7c8ed7e38061113bdf37547ab356797ff + languageName: node + linkType: hard + "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -5350,9 +5199,9 @@ __metadata: languageName: node linkType: hard -"rollup@npm:>=2.75.6 <2.77.0 || ~2.77.0": - version: 2.77.3 - resolution: "rollup@npm:2.77.3" +"rollup@npm:~2.78.0": + version: 2.78.1 + resolution: "rollup@npm:2.78.1" dependencies: fsevents: ~2.3.2 dependenciesMeta: @@ -5360,7 +5209,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: b179c68249584565ddb5664a241e8e48c293b2207718d885b08ee25797d98857a383f06b544bb89819407da5a71557f4713309a278f61c4778bb32b1d3321a1c + checksum: 9034814383ca5bdb4bea6d499270aeb31cdb0bb884f81b0c6a1d19c63cc973f040e6ee09b7af8a7169dd231c090f4b44ef8b99c4bfdf884aceeb3dcefb8cfa14 languageName: node linkType: hard @@ -5734,6 +5583,15 @@ __metadata: languageName: node linkType: hard +"strip-literal@npm:^0.4.2": + version: 0.4.2 + resolution: "strip-literal@npm:0.4.2" + dependencies: + acorn: ^8.8.0 + checksum: 831cdcaba61bc82c14ef5ca423a64bb8044b3b128abd15dff454d3fd05b0dbc7b4403760a7a636923d3c2e71a8e65174cef28ee9aef61f9a66819f865da4fdda + languageName: node + linkType: hard + "style-mod@npm:^4.0.0": version: 4.0.0 resolution: "style-mod@npm:4.0.0" @@ -5803,10 +5661,17 @@ __metadata: languageName: node linkType: hard -"tinypool@npm:^0.2.4": - version: 0.2.4 - resolution: "tinypool@npm:0.2.4" - checksum: f050bd36c89529a2a0d3f9c1fdbba3f317114e3ee6eb5d5ba72c51e887d45ef3ef8d8533fb2ca2eba7189d19d2231712b81b3a75e099248532f5563369929c33 +"tinybench@npm:^2.2.1": + version: 2.3.0 + resolution: "tinybench@npm:2.3.0" + checksum: 6556e42b3b7700795caca07f5bbc2c78e33261ffe5db4c434d54bcfa1cd5c64863357c5b7fff53e031ee236d098313dac78938e12f8f1a9b47f1d7ad55417ce8 + languageName: node + linkType: hard + +"tinypool@npm:^0.3.0": + version: 0.3.0 + resolution: "tinypool@npm:0.3.0" + checksum: 92291c309ed8d004c1ee1ef7f610cd90352383f12c52b0ec16abd9ebc665c03626e7afbc9993df97f63e67fea002b5cc18ba5e8f90260643867cbcac278a183c languageName: node linkType: hard @@ -5840,14 +5705,15 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.0.0": - version: 4.0.0 - resolution: "tough-cookie@npm:4.0.0" +"tough-cookie@npm:^4.1.2": + version: 4.1.2 + resolution: "tough-cookie@npm:4.1.2" dependencies: psl: ^1.1.33 punycode: ^2.1.1 - universalify: ^0.1.2 - checksum: 0891b37eb7d17faa3479d47f0dce2e3007f2583094ad272f2670d120fbcc3df3b0b0a631ba96ecad49f9e2297d93ff8995ce0d3292d08dd7eabe162f5b224d69 + universalify: ^0.2.0 + url-parse: ^1.5.3 + checksum: a7359e9a3e875121a84d6ba40cc184dec5784af84f67f3a56d1d2ae39b87c0e004e6ba7c7331f9622a7d2c88609032473488b28fe9f59a1fec115674589de39a languageName: node linkType: hard @@ -6029,10 +5895,10 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.1.2": - version: 0.1.2 - resolution: "universalify@npm:0.1.2" - checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff +"universalify@npm:^0.2.0": + version: 0.2.0 + resolution: "universalify@npm:0.2.0" + checksum: e86134cb12919d177c2353196a4cc09981524ee87abf621f7bc8d249dbbbebaec5e7d1314b96061497981350df786e4c5128dbf442eba104d6e765bc260678b5 languageName: node linkType: hard @@ -6066,6 +5932,16 @@ __metadata: languageName: node linkType: hard +"url-parse@npm:^1.5.3": + version: 1.5.10 + resolution: "url-parse@npm:1.5.10" + dependencies: + querystringify: ^2.1.1 + requires-port: ^1.0.0 + checksum: fbdba6b1d83336aca2216bbdc38ba658d9cfb8fc7f665eb8b17852de638ff7d1a162c198a8e4ed66001ddbf6c9888d41e4798912c62b4fd777a31657989f7bdf + languageName: node + linkType: hard + "util-deprecate@npm:^1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" @@ -6097,16 +5973,16 @@ __metadata: languageName: node linkType: hard -"vite-plugin-externalize-deps@npm:^0.1.4": - version: 0.1.4 - resolution: "vite-plugin-externalize-deps@npm:0.1.4" - dependencies: - chalk: ^5.0.1 - checksum: ea7328d220ddc12d52aa0a7dfdf2e5b5fb704ed1c1af40cc9b8d454af80eeda1d3332499b96c8f8e713af0d68bfa897010741d82ff1b0b4d625f2e8eefcb718d +"vite-plugin-externalize-deps@npm:^0.4.0": + version: 0.4.0 + resolution: "vite-plugin-externalize-deps@npm:0.4.0" + peerDependencies: + vite: ^2.0.0 || ^3.0.0 + checksum: d5e4d45d9953cd4dd8996c2e9ce56b95a4255ebf1b6a444a5a617f3815d4538fe9e2c4addc04001d8bb470072522cb70a1cfd7918ddd9295a9418eed027138d7 languageName: node linkType: hard -"vite-plugin-solid@npm:^2.3.0": +"vite-plugin-solid@npm:2.3.0": version: 2.3.0 resolution: "vite-plugin-solid@npm:2.3.0" dependencies: @@ -6122,15 +5998,15 @@ __metadata: languageName: node linkType: hard -"vite@npm:^2.9.12 || ^3.0.0-0, vite@npm:^3.0.9": - version: 3.0.9 - resolution: "vite@npm:3.0.9" +"vite@npm:^3.0.0, vite@npm:^3.1.6": + version: 3.1.6 + resolution: "vite@npm:3.1.6" dependencies: - esbuild: ^0.14.47 + esbuild: ^0.15.9 fsevents: ~2.3.2 postcss: ^8.4.16 resolve: ^1.22.1 - rollup: ">=2.75.6 <2.77.0 || ~2.77.0" + rollup: ~2.78.0 peerDependencies: less: "*" sass: "*" @@ -6150,13 +6026,13 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 6341aa43579ae45f8a383bdc0c5041dea3dff98f14e0a546d6d884a864134b00082246a28d1de8adff0ce0dd92b468c7ade8f972ffe1ed97258671d63e0f16f7 + checksum: 393369af4da85aef8718d2236fceb238410c130cc740462c317c6ae4d9c04c519c1591cf8fef2ccc61195e41db54c0d892b3f9a10d3ed0e3c8ae8f0cffaa46ed languageName: node linkType: hard -"vitest@npm:^0.22.1": - version: 0.22.1 - resolution: "vitest@npm:0.22.1" +"vitest@npm:^0.24.0": + version: 0.24.0 + resolution: "vitest@npm:0.24.0" dependencies: "@types/chai": ^4.3.3 "@types/chai-subset": ^1.3.3 @@ -6164,9 +6040,11 @@ __metadata: chai: ^4.3.6 debug: ^4.3.4 local-pkg: ^0.4.2 - tinypool: ^0.2.4 + strip-literal: ^0.4.2 + tinybench: ^2.2.1 + tinypool: ^0.3.0 tinyspy: ^1.0.2 - vite: ^2.9.12 || ^3.0.0-0 + vite: ^3.0.0 peerDependencies: "@edge-runtime/vm": "*" "@vitest/browser": "*" @@ -6186,7 +6064,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: 7abe50ceb51181e77cd62eb3a07c2da17f13078f09be34cc2e98f1f94a77eba33a56c644d48ae16bb474945ffc1cfc8664b1f4976c3de495c5e474057420c4ca + checksum: 869b9342e00824eaf446227c2b1bb5ccbe0b38894c93765d16cee135c755c05aa9a8b9fe714628ec0f0847fc9da510e7cfd53346c649c4b9c75526ae66199fc5 languageName: node linkType: hard @@ -6204,25 +6082,16 @@ __metadata: languageName: node linkType: hard -"vue@npm:^3.2.38": - version: 3.2.38 - resolution: "vue@npm:3.2.38" - dependencies: - "@vue/compiler-dom": 3.2.38 - "@vue/compiler-sfc": 3.2.38 - "@vue/runtime-dom": 3.2.38 - "@vue/server-renderer": 3.2.38 - "@vue/shared": 3.2.38 - checksum: 9b82cb893018d6fae601823bdf1523a600c90f38bb690f92a2f2ec56d536beb2a86bf3bc0c0e6252ca0daddb86f46ead38dfbb546078f4c18281eb7bc5b7366e - languageName: node - linkType: hard - -"w3c-hr-time@npm:^1.0.2": - version: 1.0.2 - resolution: "w3c-hr-time@npm:1.0.2" +"vue@npm:^3.2.40": + version: 3.2.40 + resolution: "vue@npm:3.2.40" dependencies: - browser-process-hrtime: ^1.0.0 - checksum: ec3c2dacbf8050d917bbf89537a101a08c2e333b4c19155f7d3bedde43529d4339db6b3d049d9610789cb915f9515f8be037e0c54c079e9d4735c50b37ed52b9 + "@vue/compiler-dom": 3.2.40 + "@vue/compiler-sfc": 3.2.40 + "@vue/runtime-dom": 3.2.40 + "@vue/server-renderer": 3.2.40 + "@vue/shared": 3.2.40 + checksum: fb5ca87c16e58f24c0088add152ca1ef70ac6d198ec3a60e7904201c31aadefb2c28e361934c42a704742835cdd9c02ab5765f0c29e8335eb13261d7b764b0ee languageName: node linkType: hard @@ -6322,9 +6191,9 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.8.0": - version: 8.8.1 - resolution: "ws@npm:8.8.1" +"ws@npm:^8.9.0": + version: 8.9.0 + resolution: "ws@npm:8.9.0" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -6333,7 +6202,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 2152cf862cae0693f3775bc688a6afb2e989d19d626d215e70f5fcd8eb55b1c3b0d3a6a4052905ec320e2d7734e20aeedbf9744496d62f15a26ad79cf4cf7dae + checksum: 23aa0f021b2eb65c108ec4c3e08c0d81ba01f82b500432dfe327fd6be36079c1d81fdb0eac6464d2a0eb49904d34a9ab8c59619d673fa07b8346f83aeb0cbf12 languageName: node linkType: hard