Changeset - 8ebf79d6b957
[Not reviewed]
default
0 4 1
drewp@bigasterisk.com - 20 months ago 2023-05-29 18:33:23
drewp@bigasterisk.com
add vitest
5 files changed with 416 insertions and 11 deletions:
0 comments (0 inline, 0 general)
.vscode/settings.json
Show inline comments
 
@@ -26,8 +26,10 @@
 
        "program": "${file}",
 
        "justMyCode": true,
 
        "python": "./bin/python"
 
      }
 
    ],
 
    "compounds": []
 
  },
 
  "vitest.commandLine": "pnpm exec vitest",
 
  "vitest.enable": true
 
  }
 
}
light9/web/patch.test.ts
Show inline comments
 
new file 100644
 
import { assert, describe, expect, it } from "vitest";
 

	
makefile
Show inline comments
 
@@ -103,20 +103,12 @@ arduino_upload: /usr/share/arduino/Ardui
 
pytest:
 
	pdm run pytest
 

	
 
pytest_watch:
 
	pdm run ptw
 

	
 
test_js_init:
 
	npm install
 

	
 
test_js:
 
	pnpx coffee -c light9/web/*.coffee
 
	pnpx mocha --compilers coffee:coffee-script/register --globals window,N3 light9/web/graph_test.coffee
 

	
 
test_js_watch:
 
	# have coffee continuously running
 
	watch -c pnpx mocha --compilers coffee:coffee-script/register --globals window,N3 light9/web/graph_test.coffee --colors
 
	pnpm exec vitest
 

	
 
profile_seq:
 
	echo in lib, get https://github.com/uber/pyflame.git and https://github.com/brendangregg/FlameGraph.git
 
	sudo lib/pyflame/src/pyflame  -s 10 -p `pgrep -f effectsequencer` | perl -lpe 's,/home/drewp/projects-local/light9/,,g; s,env/local/lib/python2.7/site-packages/,,g;' | lib/FlameGraph/flamegraph.pl --width 2500 > /tmp/fl.svg
package.json
Show inline comments
 
@@ -31,9 +31,10 @@
 
    "reconnectingwebsocket": "^1.0.0",
 
    "sub-events": "^1.9.0",
 
    "sylvester": "^0.0.21",
 
    "typescript": "^5.0.4",
 
    "underscore": "^1.13.6",
 
    "vite": "^4.3.7",
 
    "vite-plugin-rewrite-all": "^1.0.1"
 
    "vite-plugin-rewrite-all": "^1.0.1",
 
    "vitest": "^0.31.1"
 
  }
 
}
pnpm-lock.yaml
Show inline comments
 
@@ -4,60 +4,66 @@ specifiers:
 
  '@material/mwc-slider': ^0.27.0
 
  '@microsoft/fast-components': ^2.30.6
 
  '@types/async': ^3.2.20
 
  '@types/d3': ^7.4.0
 
  '@types/debug': ^4.1.7
 
  '@types/fpsmeter': ^0.3.31
 
  '@types/lodash': ^4.14.195
 
  '@types/n3': ^1.10.4
 
  '@types/node': ^20.2.0
 
  '@types/reconnectingwebsocket': ^1.0.7
 
  '@types/underscore': ^1.11.4
 
  async: ^3.2.4
 
  d3: ^7.8.4
 
  debug: ^4.3.4
 
  fpsmeter: ^0.3.1
 
  knockout: ^3.5.1
 
  lit: ^2.7.4
 
  lodash: ^4.17.21
 
  n3: ^1.16.4
 
  onecolor: ^4.0.0
 
  parse-prometheus-text-format: ^1.1.1
 
  reconnectingwebsocket: ^1.0.0
 
  sub-events: ^1.9.0
 
  sylvester: ^0.0.21
 
  typescript: ^5.0.4
 
  underscore: ^1.13.6
 
  vite: ^4.3.7
 
  vite-plugin-rewrite-all: ^1.0.1
 
  vitest: ^0.31.1
 

	
 
dependencies:
 
  '@material/mwc-slider': 0.27.0
 
  '@microsoft/fast-components': 2.30.6
 
  '@types/async': 3.2.20
 
  '@types/d3': 7.4.0
 
  '@types/debug': 4.1.7
 
  '@types/fpsmeter': 0.3.31
 
  '@types/lodash': 4.14.195
 
  '@types/n3': 1.10.4
 
  '@types/node': 20.2.0
 
  '@types/reconnectingwebsocket': 1.0.7
 
  '@types/underscore': 1.11.4
 
  async: 3.2.4
 
  d3: 7.8.4
 
  debug: 4.3.4
 
  fpsmeter: 0.3.1
 
  knockout: 3.5.1
 
  lit: 2.7.4
 
  lodash: 4.17.21
 
  n3: 1.16.4
 
  onecolor: 4.0.0
 
  parse-prometheus-text-format: 1.1.1
 
  reconnectingwebsocket: 1.0.0
 
  sub-events: 1.9.0
 
  sylvester: 0.0.21
 
  typescript: 5.0.4
 
  underscore: 1.13.6
 
  vite: 4.3.7_@types+node@20.2.0
 
  vite-plugin-rewrite-all: 1.0.1_vite@4.3.7
 
  vitest: 0.31.1
 

	
 
packages:
 

	
 
  /@esbuild/android-arm/0.17.19:
 
    resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
 
    engines: {node: '>=12'}
 
@@ -253,12 +259,16 @@ packages:
 
    cpu: [x64]
 
    os: [win32]
 
    requiresBuild: true
 
    dev: false
 
    optional: true
 

	
 
  /@jridgewell/sourcemap-codec/1.4.15:
 
    resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
 
    dev: false
 

	
 
  /@lit-labs/ssr-dom-shim/1.1.1:
 
    resolution: {integrity: sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==}
 
    dev: false
 

	
 
  /@lit/reactive-element/1.6.1:
 
    resolution: {integrity: sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA==}
 
@@ -421,12 +431,22 @@ packages:
 
    dev: false
 

	
 
  /@types/async/3.2.20:
 
    resolution: {integrity: sha512-6jSBQQugzyX1aWto0CbvOnmxrU9tMoXfA9gc4IrLEtvr3dTwSg5GLGoWiZnGLI6UG/kqpB3JOQKQrqnhUWGKQA==}
 
    dev: false
 

	
 
  /@types/chai-subset/1.3.3:
 
    resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
 
    dependencies:
 
      '@types/chai': 4.3.5
 
    dev: false
 

	
 
  /@types/chai/4.3.5:
 
    resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==}
 
    dev: false
 

	
 
  /@types/d3-array/3.0.4:
 
    resolution: {integrity: sha512-nwvEkG9vYOc0Ic7G7kwgviY4AQlTfYGIZ0fqB7CQHXGyYM6nO7kJh5EguSNA3jfh4rq7Sb7eMVq8isuvg2/miQ==}
 
    dev: false
 

	
 
  /@types/d3-axis/3.0.2:
 
    resolution: {integrity: sha512-uGC7DBh0TZrU/LY43Fd8Qr+2ja1FKmH07q2FoZFHo1eYl8aj87GhfVoY1saJVJiq24rp1+wpI6BvQJMKgQm8oA==}
 
@@ -614,12 +634,16 @@ packages:
 
    dev: false
 

	
 
  /@types/geojson/7946.0.10:
 
    resolution: {integrity: sha512-Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA==}
 
    dev: false
 

	
 
  /@types/lodash/4.14.195:
 
    resolution: {integrity: sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==}
 
    dev: false
 

	
 
  /@types/ms/0.7.31:
 
    resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==}
 
    dev: false
 

	
 
  /@types/n3/1.10.4:
 
    resolution: {integrity: sha512-FfRTwcbXcScVHuAjIASveRWL6Fi6fPALl1Ge8tMESYLqU7R42LJvtdBpUi+f9YK0oQPqIN+zFFgMDFJfLMx0bg==}
 
@@ -641,39 +665,143 @@ packages:
 
    dev: false
 

	
 
  /@types/underscore/1.11.4:
 
    resolution: {integrity: sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==}
 
    dev: false
 

	
 
  /@vitest/expect/0.31.1:
 
    resolution: {integrity: sha512-BV1LyNvhnX+eNYzJxlHIGPWZpwJFZaCcOIzp2CNG0P+bbetenTupk6EO0LANm4QFt0TTit+yqx7Rxd1qxi/SQA==}
 
    dependencies:
 
      '@vitest/spy': 0.31.1
 
      '@vitest/utils': 0.31.1
 
      chai: 4.3.7
 
    dev: false
 

	
 
  /@vitest/runner/0.31.1:
 
    resolution: {integrity: sha512-imWuc82ngOtxdCUpXwtEzZIuc1KMr+VlQ3Ondph45VhWoQWit5yvG/fFcldbnCi8DUuFi+NmNx5ehMUw/cGLUw==}
 
    dependencies:
 
      '@vitest/utils': 0.31.1
 
      concordance: 5.0.4
 
      p-limit: 4.0.0
 
      pathe: 1.1.0
 
    dev: false
 

	
 
  /@vitest/snapshot/0.31.1:
 
    resolution: {integrity: sha512-L3w5uU9bMe6asrNzJ8WZzN+jUTX4KSgCinEJPXyny0o90fG4FPQMV0OWsq7vrCWfQlAilMjDnOF9nP8lidsJ+g==}
 
    dependencies:
 
      magic-string: 0.30.0
 
      pathe: 1.1.0
 
      pretty-format: 27.5.1
 
    dev: false
 

	
 
  /@vitest/spy/0.31.1:
 
    resolution: {integrity: sha512-1cTpt2m9mdo3hRLDyCG2hDQvRrePTDgEJBFQQNz1ydHHZy03EiA6EpFxY+7ODaY7vMRCie+WlFZBZ0/dQWyssQ==}
 
    dependencies:
 
      tinyspy: 2.1.0
 
    dev: false
 

	
 
  /@vitest/utils/0.31.1:
 
    resolution: {integrity: sha512-yFyRD5ilwojsZfo3E0BnH72pSVSuLg2356cN1tCEe/0RtDzxTPYwOomIC+eQbot7m6DRy4tPZw+09mB7NkbMmA==}
 
    dependencies:
 
      concordance: 5.0.4
 
      loupe: 2.3.6
 
      pretty-format: 27.5.1
 
    dev: false
 

	
 
  /abort-controller/3.0.0:
 
    resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
 
    engines: {node: '>=6.5'}
 
    dependencies:
 
      event-target-shim: 5.0.1
 
    dev: false
 

	
 
  /acorn-walk/8.2.0:
 
    resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
 
    engines: {node: '>=0.4.0'}
 
    dev: false
 

	
 
  /acorn/8.8.2:
 
    resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
 
    engines: {node: '>=0.4.0'}
 
    hasBin: true
 
    dev: false
 

	
 
  /ansi-regex/5.0.1:
 
    resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
 
    engines: {node: '>=8'}
 
    dev: false
 

	
 
  /ansi-styles/5.2.0:
 
    resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
 
    engines: {node: '>=10'}
 
    dev: false
 

	
 
  /assertion-error/1.1.0:
 
    resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
 
    dev: false
 

	
 
  /async/3.2.4:
 
    resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==}
 
    dev: false
 

	
 
  /base64-js/1.5.1:
 
    resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
 
    dev: false
 

	
 
  /blueimp-md5/2.19.0:
 
    resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==}
 
    dev: false
 

	
 
  /buffer/6.0.3:
 
    resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
 
    dependencies:
 
      base64-js: 1.5.1
 
      ieee754: 1.2.1
 
    dev: false
 

	
 
  /cac/6.7.14:
 
    resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
 
    engines: {node: '>=8'}
 
    dev: false
 

	
 
  /chai/4.3.7:
 
    resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==}
 
    engines: {node: '>=4'}
 
    dependencies:
 
      assertion-error: 1.1.0
 
      check-error: 1.0.2
 
      deep-eql: 4.1.3
 
      get-func-name: 2.0.0
 
      loupe: 2.3.6
 
      pathval: 1.1.1
 
      type-detect: 4.0.8
 
    dev: false
 

	
 
  /check-error/1.0.2:
 
    resolution: {integrity: sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=}
 
    dev: false
 

	
 
  /commander/7.2.0:
 
    resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
 
    engines: {node: '>= 10'}
 
    dev: false
 

	
 
  /concordance/5.0.4:
 
    resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==}
 
    engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'}
 
    dependencies:
 
      date-time: 3.1.0
 
      esutils: 2.0.3
 
      fast-diff: 1.3.0
 
      js-string-escape: 1.0.1
 
      lodash: 4.17.21
 
      md5-hex: 3.0.1
 
      semver: 7.5.1
 
      well-known-symbols: 2.0.0
 
    dev: false
 

	
 
  /connect-history-api-fallback/1.6.0:
 
    resolution: {integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==}
 
    engines: {node: '>=0.8'}
 
    dev: false
 

	
 
  /d3-array/3.2.3:
 
@@ -921,24 +1049,38 @@ packages:
 
      d3-time-format: 4.1.0
 
      d3-timer: 3.0.1
 
      d3-transition: 3.0.1_d3-selection@3.0.0
 
      d3-zoom: 3.0.0
 
    dev: false
 

	
 
  /date-time/3.1.0:
 
    resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==}
 
    engines: {node: '>=6'}
 
    dependencies:
 
      time-zone: 1.0.0
 
    dev: false
 

	
 
  /debug/4.3.4:
 
    resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
 
    engines: {node: '>=6.0'}
 
    peerDependencies:
 
      supports-color: '*'
 
    peerDependenciesMeta:
 
      supports-color:
 
        optional: true
 
    dependencies:
 
      ms: 2.1.2
 
    dev: false
 

	
 
  /deep-eql/4.1.3:
 
    resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
 
    engines: {node: '>=6'}
 
    dependencies:
 
      type-detect: 4.0.8
 
    dev: false
 

	
 
  /delaunator/5.0.0:
 
    resolution: {integrity: sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==}
 
    dependencies:
 
      robust-predicates: 3.0.1
 
    dev: false
 

	
 
@@ -969,12 +1111,17 @@ packages:
 
      '@esbuild/sunos-x64': 0.17.19
 
      '@esbuild/win32-arm64': 0.17.19
 
      '@esbuild/win32-ia32': 0.17.19
 
      '@esbuild/win32-x64': 0.17.19
 
    dev: false
 

	
 
  /esutils/2.0.3:
 
    resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
 
    engines: {node: '>=0.10.0'}
 
    dev: false
 

	
 
  /event-target-shim/5.0.1:
 
    resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
 
    engines: {node: '>=6'}
 
    dev: false
 

	
 
  /events/3.3.0:
 
@@ -983,24 +1130,32 @@ packages:
 
    dev: false
 

	
 
  /exenv-es6/1.1.1:
 
    resolution: {integrity: sha512-vlVu3N8d6yEMpMsEm+7sUBAI81aqYYuEvfK0jNqmdb/OPXzzH7QWDDnVjMvDSY47JdHEqx/dfC/q8WkfoTmpGQ==}
 
    dev: false
 

	
 
  /fast-diff/1.3.0:
 
    resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
 
    dev: false
 

	
 
  /fpsmeter/0.3.1:
 
    resolution: {integrity: sha512-i3zzNJwGkA+9WWIXpAtP0TCN64eO5VkKQgirYE7ZCVqyC3NfUPszU35R044fmSCjiMqefiBs5NiGKvD7lFJ87Q==}
 
    dev: false
 

	
 
  /fsevents/2.3.2:
 
    resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
 
    engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
 
    os: [darwin]
 
    requiresBuild: true
 
    dev: false
 
    optional: true
 

	
 
  /get-func-name/2.0.0:
 
    resolution: {integrity: sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=}
 
    dev: false
 

	
 
  /iconv-lite/0.6.3:
 
    resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
 
    engines: {node: '>=0.10.0'}
 
    dependencies:
 
      safer-buffer: 2.1.2
 
    dev: false
 
@@ -1011,12 +1166,21 @@ packages:
 

	
 
  /internmap/2.0.3:
 
    resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
 
    engines: {node: '>=12'}
 
    dev: false
 

	
 
  /js-string-escape/1.0.1:
 
    resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==}
 
    engines: {node: '>= 0.8'}
 
    dev: false
 

	
 
  /jsonc-parser/3.2.0:
 
    resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
 
    dev: false
 

	
 
  /knockout/3.5.1:
 
    resolution: {integrity: sha512-wRJ9I4az0QcsH7A4v4l0enUpkS++MBx0BnL/68KaLzJg7x1qmbjSlwEoCNol7KTYZ+pmtI7Eh2J0Nu6/2Z5J/Q==}
 
    dev: false
 

	
 
  /lit-element/3.3.2:
 
    resolution: {integrity: sha512-xXAeVWKGr4/njq0rGC9dethMnYCq5hpKYrgQZYTzawt9YQhMiXfD+T1RgrdY3NamOxwq2aXlb0vOI6e29CKgVQ==}
 
@@ -1037,12 +1201,57 @@ packages:
 
    dependencies:
 
      '@lit/reactive-element': 1.6.1
 
      lit-element: 3.3.2
 
      lit-html: 2.7.4
 
    dev: false
 

	
 
  /local-pkg/0.4.3:
 
    resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
 
    engines: {node: '>=14'}
 
    dev: false
 

	
 
  /lodash/4.17.21:
 
    resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
 
    dev: false
 

	
 
  /loupe/2.3.6:
 
    resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==}
 
    dependencies:
 
      get-func-name: 2.0.0
 
    dev: false
 

	
 
  /lru-cache/6.0.0:
 
    resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
 
    engines: {node: '>=10'}
 
    dependencies:
 
      yallist: 4.0.0
 
    dev: false
 

	
 
  /magic-string/0.30.0:
 
    resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==}
 
    engines: {node: '>=12'}
 
    dependencies:
 
      '@jridgewell/sourcemap-codec': 1.4.15
 
    dev: false
 

	
 
  /md5-hex/3.0.1:
 
    resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==}
 
    engines: {node: '>=8'}
 
    dependencies:
 
      blueimp-md5: 2.19.0
 
    dev: false
 

	
 
  /mlly/1.3.0:
 
    resolution: {integrity: sha512-HT5mcgIQKkOrZecOjOX3DJorTikWXwsBfpcr/MGBkhfWcjiqvnaL/9ppxvIUXfjT6xt4DVIAsN9fMUz1ev4bIw==}
 
    dependencies:
 
      acorn: 8.8.2
 
      pathe: 1.1.0
 
      pkg-types: 1.0.3
 
      ufo: 1.1.2
 
    dev: false
 

	
 
  /ms/2.1.2:
 
    resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
 
    dev: false
 

	
 
  /n3/1.16.4:
 
    resolution: {integrity: sha512-jtC53efM5/q4BYC3qBnegn1MJDKXHH9PEd6gVDNpIicbgXS6gkANz4DdI0jt4aLvza1xSjCcni33riXWvfoEdw==}
 
@@ -1060,31 +1269,63 @@ packages:
 

	
 
  /onecolor/4.0.0:
 
    resolution: {integrity: sha512-DVekU/5RwE8iWt04loesYKLbePAi1KfWD3W0/7YySESLaMJnVNcdgnjEwA1SIvzqjxtYT52/cFC+tB8csFE1sA==}
 
    engines: {node: '>=0.4.8'}
 
    dev: false
 

	
 
  /p-limit/4.0.0:
 
    resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
 
    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
 
    dependencies:
 
      yocto-queue: 1.0.0
 
    dev: false
 

	
 
  /parse-prometheus-text-format/1.1.1:
 
    resolution: {integrity: sha512-dBlhYVACjRdSqLMFe4/Q1l/Gd3UmXm8ruvsTi7J6ul3ih45AkzkVpI5XHV4aZ37juGZW5+3dGU5lwk+QLM9XJA==}
 
    dependencies:
 
      shallow-equal: 1.2.1
 
    dev: false
 

	
 
  /pathe/1.1.0:
 
    resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==}
 
    dev: false
 

	
 
  /pathval/1.1.1:
 
    resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
 
    dev: false
 

	
 
  /picocolors/1.0.0:
 
    resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
 
    dev: false
 

	
 
  /pkg-types/1.0.3:
 
    resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
 
    dependencies:
 
      jsonc-parser: 3.2.0
 
      mlly: 1.3.0
 
      pathe: 1.1.0
 
    dev: false
 

	
 
  /postcss/8.4.23:
 
    resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==}
 
    engines: {node: ^10 || ^12 || >=14}
 
    dependencies:
 
      nanoid: 3.3.6
 
      picocolors: 1.0.0
 
      source-map-js: 1.0.2
 
    dev: false
 

	
 
  /pretty-format/27.5.1:
 
    resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
 
    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
 
    dependencies:
 
      ansi-regex: 5.0.1
 
      ansi-styles: 5.2.0
 
      react-is: 17.0.2
 
    dev: false
 

	
 
  /process/0.11.10:
 
    resolution: {integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI=}
 
    engines: {node: '>= 0.6.0'}
 
    dev: false
 

	
 
  /queue-microtask/1.2.3:
 
@@ -1094,12 +1335,16 @@ packages:
 
  /rdf-js/4.0.2:
 
    resolution: {integrity: sha512-ApvlFa/WsQh8LpPK/6hctQwG06Z9ztQQGWVtrcrf9L6+sejHNXLPOqL+w7q3hF+iL0C4sv3AX1PUtGkLNzyZ0Q==}
 
    dependencies:
 
      '@rdfjs/types': 1.1.0
 
    dev: false
 

	
 
  /react-is/17.0.2:
 
    resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
 
    dev: false
 

	
 
  /readable-stream/4.4.0:
 
    resolution: {integrity: sha512-kDMOq0qLtxV9f/SQv522h8cxZBqNZXuXNyjyezmfAAuribMyVXziljpQ/uQhfE1XLg2/TLTW2DsnoE4VAi/krg==}
 
    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 
    dependencies:
 
      abort-controller: 3.0.0
 
      buffer: 6.0.3
 
@@ -1128,21 +1373,47 @@ packages:
 
    dev: false
 

	
 
  /safer-buffer/2.1.2:
 
    resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
 
    dev: false
 

	
 
  /semver/7.5.1:
 
    resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==}
 
    engines: {node: '>=10'}
 
    hasBin: true
 
    dependencies:
 
      lru-cache: 6.0.0
 
    dev: false
 

	
 
  /shallow-equal/1.2.1:
 
    resolution: {integrity: sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==}
 
    dev: false
 

	
 
  /siginfo/2.0.0:
 
    resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
 
    dev: false
 

	
 
  /source-map-js/1.0.2:
 
    resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
 
    engines: {node: '>=0.10.0'}
 
    dev: false
 

	
 
  /stackback/0.0.2:
 
    resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
 
    dev: false
 

	
 
  /std-env/3.3.3:
 
    resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==}
 
    dev: false
 

	
 
  /strip-literal/1.0.1:
 
    resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==}
 
    dependencies:
 
      acorn: 8.8.2
 
    dev: false
 

	
 
  /sub-events/1.9.0:
 
    resolution: {integrity: sha512-dnFBayilG9Ku0k/lNs1Y7WV4kv91+ovCoeBV3uIYrY49DylvBb6z9d9ED2ctcrvX2YlReFalpCgJNtSgmrOaJg==}
 
    engines: {node: '>=10.0.0'}
 
    dev: false
 

	
 
  /sylvester/0.0.21:
 
@@ -1151,30 +1422,79 @@ packages:
 
    dev: false
 

	
 
  /tabbable/5.3.3:
 
    resolution: {integrity: sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==}
 
    dev: false
 

	
 
  /time-zone/1.0.0:
 
    resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==}
 
    engines: {node: '>=4'}
 
    dev: false
 

	
 
  /tinybench/2.5.0:
 
    resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==}
 
    dev: false
 

	
 
  /tinypool/0.5.0:
 
    resolution: {integrity: sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==}
 
    engines: {node: '>=14.0.0'}
 
    dev: false
 

	
 
  /tinyspy/2.1.0:
 
    resolution: {integrity: sha512-7eORpyqImoOvkQJCSkL0d0mB4NHHIFAy4b1u8PHdDa7SjGS2njzl6/lyGoZLm+eyYEtlUmFGE0rFj66SWxZgQQ==}
 
    engines: {node: '>=14.0.0'}
 
    dev: false
 

	
 
  /tslib/1.14.1:
 
    resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
 
    dev: false
 

	
 
  /tslib/2.5.1:
 
    resolution: {integrity: sha512-KaI6gPil5m9vF7DKaoXxx1ia9fxS4qG5YveErRRVknPDXXriu5M8h48YRjB6h5ZUOKuAKlSJYb0GaDe8I39fRw==}
 
    dev: false
 

	
 
  /type-detect/4.0.8:
 
    resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
 
    engines: {node: '>=4'}
 
    dev: false
 

	
 
  /typescript/5.0.4:
 
    resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==}
 
    engines: {node: '>=12.20'}
 
    hasBin: true
 
    dev: false
 

	
 
  /ufo/1.1.2:
 
    resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==}
 
    dev: false
 

	
 
  /underscore/1.13.6:
 
    resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==}
 
    dev: false
 

	
 
  /vite-node/0.31.1_@types+node@20.2.0:
 
    resolution: {integrity: sha512-BajE/IsNQ6JyizPzu9zRgHrBwczkAs0erQf/JRpgTIESpKvNj9/Gd0vxX905klLkb0I0SJVCKbdrl5c6FnqYKA==}
 
    engines: {node: '>=v14.18.0'}
 
    hasBin: true
 
    dependencies:
 
      cac: 6.7.14
 
      debug: 4.3.4
 
      mlly: 1.3.0
 
      pathe: 1.1.0
 
      picocolors: 1.0.0
 
      vite: 4.3.7_@types+node@20.2.0
 
    transitivePeerDependencies:
 
      - '@types/node'
 
      - less
 
      - sass
 
      - stylus
 
      - sugarss
 
      - supports-color
 
      - terser
 
    dev: false
 

	
 
  /vite-plugin-rewrite-all/1.0.1_vite@4.3.7:
 
    resolution: {integrity: sha512-W0DAchC8ynuQH0lYLIu5/5+JGfYlUTRD8GGNtHFXRJX4FzzB9MajtqHBp26zq/ly9sDt5BqrfdT08rv3RbB0LQ==}
 
    engines: {node: '>=12.0.0'}
 
    peerDependencies:
 
      vite: ^2.0.0 || ^3.0.0 || ^4.0.0
 
    dependencies:
 
@@ -1211,6 +1531,94 @@ packages:
 
      esbuild: 0.17.19
 
      postcss: 8.4.23
 
      rollup: 3.22.0
 
    optionalDependencies:
 
      fsevents: 2.3.2
 
    dev: false
 

	
 
  /vitest/0.31.1:
 
    resolution: {integrity: sha512-/dOoOgzoFk/5pTvg1E65WVaobknWREN15+HF+0ucudo3dDG/vCZoXTQrjIfEaWvQXmqScwkRodrTbM/ScMpRcQ==}
 
    engines: {node: '>=v14.18.0'}
 
    hasBin: true
 
    peerDependencies:
 
      '@edge-runtime/vm': '*'
 
      '@vitest/browser': '*'
 
      '@vitest/ui': '*'
 
      happy-dom: '*'
 
      jsdom: '*'
 
      playwright: '*'
 
      safaridriver: '*'
 
      webdriverio: '*'
 
    peerDependenciesMeta:
 
      '@edge-runtime/vm':
 
        optional: true
 
      '@vitest/browser':
 
        optional: true
 
      '@vitest/ui':
 
        optional: true
 
      happy-dom:
 
        optional: true
 
      jsdom:
 
        optional: true
 
      playwright:
 
        optional: true
 
      safaridriver:
 
        optional: true
 
      webdriverio:
 
        optional: true
 
    dependencies:
 
      '@types/chai': 4.3.5
 
      '@types/chai-subset': 1.3.3
 
      '@types/node': 20.2.0
 
      '@vitest/expect': 0.31.1
 
      '@vitest/runner': 0.31.1
 
      '@vitest/snapshot': 0.31.1
 
      '@vitest/spy': 0.31.1
 
      '@vitest/utils': 0.31.1
 
      acorn: 8.8.2
 
      acorn-walk: 8.2.0
 
      cac: 6.7.14
 
      chai: 4.3.7
 
      concordance: 5.0.4
 
      debug: 4.3.4
 
      local-pkg: 0.4.3
 
      magic-string: 0.30.0
 
      pathe: 1.1.0
 
      picocolors: 1.0.0
 
      std-env: 3.3.3
 
      strip-literal: 1.0.1
 
      tinybench: 2.5.0
 
      tinypool: 0.5.0
 
      vite: 4.3.7_@types+node@20.2.0
 
      vite-node: 0.31.1_@types+node@20.2.0
 
      why-is-node-running: 2.2.2
 
    transitivePeerDependencies:
 
      - less
 
      - sass
 
      - stylus
 
      - sugarss
 
      - supports-color
 
      - terser
 
    dev: false
 

	
 
  /well-known-symbols/2.0.0:
 
    resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==}
 
    engines: {node: '>=6'}
 
    dev: false
 

	
 
  /why-is-node-running/2.2.2:
 
    resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
 
    engines: {node: '>=8'}
 
    hasBin: true
 
    dependencies:
 
      siginfo: 2.0.0
 
      stackback: 0.0.2
 
    dev: false
 

	
 
  /yallist/4.0.0:
 
    resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
 
    dev: false
 

	
 
  /yocto-queue/1.0.0:
 
    resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
 
    engines: {node: '>=12.20'}
 
    dev: false
0 comments (0 inline, 0 general)