mirror of
https://github.com/ad1217/PrinterStatus
synced 2024-12-27 03:55:43 -05:00
Compare commits
4 Commits
f39366cd82
...
32b0fd851d
Author | SHA1 | Date | |
---|---|---|---|
32b0fd851d | |||
5e99e30fc3 | |||
b25613d988 | |||
ea702f79ea |
19
package.json
19
package.json
@ -1,19 +1,20 @@
|
|||||||
{
|
{
|
||||||
"name": "printer_status",
|
"name": "printer_status",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
|
"type": "module",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vitejs/plugin-vue": "^3.0.3",
|
"@vitejs/plugin-vue": "^3.1.2",
|
||||||
"sass": "^1.54.5",
|
"sass": "^1.55.0",
|
||||||
"typescript": "^4.7.4",
|
"typescript": "^4.8.4",
|
||||||
"vite": "^3.0.9",
|
"vite": "^3.1.8",
|
||||||
"vue-tsc": "^0.40.1"
|
"vue-tsc": "^1.0.9"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@popperjs/core": "^2.11.6",
|
"@popperjs/core": "^2.11.6",
|
||||||
"bootstrap": "^5.2.0",
|
"bootstrap": "^5.2.2",
|
||||||
"hls.js": "^1.2.1",
|
"hls.js": "^1.2.4",
|
||||||
"pretty-ms": "^7.0.1",
|
"pretty-ms": "^8.0.0",
|
||||||
"vue": "^3.2.37"
|
"vue": "^3.2.41"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "pnpm run -r --include-workspace-root --parallel dev",
|
"start": "pnpm run -r --include-workspace-root --parallel dev",
|
||||||
|
492
pnpm-lock.yaml
generated
492
pnpm-lock.yaml
generated
@ -2,57 +2,66 @@ lockfileVersion: 5.4
|
|||||||
|
|
||||||
specifiers:
|
specifiers:
|
||||||
'@popperjs/core': ^2.11.6
|
'@popperjs/core': ^2.11.6
|
||||||
'@vitejs/plugin-vue': ^3.0.3
|
'@vitejs/plugin-vue': ^3.1.2
|
||||||
bootstrap: ^5.2.0
|
bootstrap: ^5.2.2
|
||||||
hls.js: ^1.2.1
|
hls.js: ^1.2.4
|
||||||
pretty-ms: ^7.0.1
|
pretty-ms: ^8.0.0
|
||||||
sass: ^1.54.5
|
sass: ^1.55.0
|
||||||
typescript: ^4.7.4
|
typescript: ^4.8.4
|
||||||
vite: ^3.0.9
|
vite: ^3.1.8
|
||||||
vue: ^3.2.37
|
vue: ^3.2.41
|
||||||
vue-tsc: ^0.40.1
|
vue-tsc: ^1.0.9
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
'@popperjs/core': 2.11.6
|
'@popperjs/core': 2.11.6
|
||||||
bootstrap: 5.2.0_@popperjs+core@2.11.6
|
bootstrap: 5.2.2_@popperjs+core@2.11.6
|
||||||
hls.js: 1.2.1
|
hls.js: 1.2.4
|
||||||
pretty-ms: 7.0.1
|
pretty-ms: 8.0.0
|
||||||
vue: 3.2.37
|
vue: 3.2.41
|
||||||
|
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37
|
'@vitejs/plugin-vue': 3.1.2_vite@3.1.8+vue@3.2.41
|
||||||
sass: 1.54.5
|
sass: 1.55.0
|
||||||
typescript: 4.7.4
|
typescript: 4.8.4
|
||||||
vite: 3.0.9_sass@1.54.5
|
vite: 3.1.8_sass@1.55.0
|
||||||
vue-tsc: 0.40.1_typescript@4.7.4
|
vue-tsc: 1.0.9_typescript@4.8.4
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
/@babel/helper-string-parser/7.18.10:
|
/@babel/helper-string-parser/7.19.4:
|
||||||
resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==}
|
resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
/@babel/helper-validator-identifier/7.18.6:
|
/@babel/helper-validator-identifier/7.19.1:
|
||||||
resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==}
|
resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
/@babel/parser/7.18.13:
|
/@babel/parser/7.19.6:
|
||||||
resolution: {integrity: sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==}
|
resolution: {integrity: sha512-h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA==}
|
||||||
engines: {node: '>=6.0.0'}
|
engines: {node: '>=6.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/types': 7.18.13
|
'@babel/types': 7.19.4
|
||||||
|
|
||||||
/@babel/types/7.18.13:
|
/@babel/types/7.19.4:
|
||||||
resolution: {integrity: sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==}
|
resolution: {integrity: sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/helper-string-parser': 7.18.10
|
'@babel/helper-string-parser': 7.19.4
|
||||||
'@babel/helper-validator-identifier': 7.18.6
|
'@babel/helper-validator-identifier': 7.19.1
|
||||||
to-fast-properties: 2.0.0
|
to-fast-properties: 2.0.0
|
||||||
|
|
||||||
/@esbuild/linux-loong64/0.14.54:
|
/@esbuild/android-arm/0.15.12:
|
||||||
resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==}
|
resolution: {integrity: sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [arm]
|
||||||
|
os: [android]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/@esbuild/linux-loong64/0.15.12:
|
||||||
|
resolution: {integrity: sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [loong64]
|
cpu: [loong64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -64,125 +73,129 @@ packages:
|
|||||||
resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==}
|
resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@vitejs/plugin-vue/3.0.3_vite@3.0.9+vue@3.2.37:
|
/@vitejs/plugin-vue/3.1.2_vite@3.1.8+vue@3.2.41:
|
||||||
resolution: {integrity: sha512-U4zNBlz9mg+TA+i+5QPc3N5lQvdUXENZLO2h0Wdzp56gI1MWhqJOv+6R+d4kOzoaSSq6TnGPBdZAXKOe4lXy6g==}
|
resolution: {integrity: sha512-3zxKNlvA3oNaKDYX0NBclgxTQ1xaFdL7PzwF6zj9tGFziKwmBa3Q/6XcJQxudlT81WxDjEhHmevvIC4Orc1LhQ==}
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
engines: {node: ^14.18.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vite: ^3.0.0
|
vite: ^3.0.0
|
||||||
vue: ^3.2.25
|
vue: ^3.2.25
|
||||||
dependencies:
|
dependencies:
|
||||||
vite: 3.0.9_sass@1.54.5
|
vite: 3.1.8_sass@1.55.0
|
||||||
vue: 3.2.37
|
vue: 3.2.41
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@volar/code-gen/0.40.1:
|
/@volar/language-core/1.0.9:
|
||||||
resolution: {integrity: sha512-mN1jn08wRKLoUj+KThltyWfsiEGt6Um1yT6S7bkruwV76yiLlzIR4WZgWng254byGMozJ00qgkZmBhraD5b48A==}
|
resolution: {integrity: sha512-5Fty3slLet6svXiJw2YxhYeo6c7wFdtILrql5bZymYLM+HbiZtJbryW1YnUEKAP7MO9Mbeh+TNH4Z0HFxHgIqw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@volar/source-map': 0.40.1
|
'@volar/source-map': 1.0.9
|
||||||
|
'@vue/reactivity': 3.2.41
|
||||||
|
muggle-string: 0.1.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@volar/source-map/0.40.1:
|
/@volar/source-map/1.0.9:
|
||||||
resolution: {integrity: sha512-ORYg5W+R4iT2k/k2U4ASkKvDxabIzKtP+lXZ1CcqFIbTF81GOooAv5tJZImf8ifhUV9p8bgGaitFj/VnNzkdYg==}
|
resolution: {integrity: sha512-fazB/vy5ZEJ3yKx4fabJyGNI3CBkdLkfEIRVu6+1P3VixK0Mn+eqyUIkLBrzGYaeFM3GybhCLCvsVdNz0Fu/CQ==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@volar/typescript-faster/0.40.1:
|
|
||||||
resolution: {integrity: sha512-UiX8OzVRJtpudGfTY2KgB5m78DIA8oVbwI4QN5i4Ot8oURQPOviH7MahikHeeXidbh3iOy/u4vceMb+mfdizpQ==}
|
|
||||||
dependencies:
|
dependencies:
|
||||||
semver: 7.3.7
|
muggle-string: 0.1.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@volar/vue-language-core/0.40.1:
|
/@volar/typescript/1.0.9:
|
||||||
resolution: {integrity: sha512-RBU2nQkj+asKZ/ht3sU3hTau+dGuTjJrQS3nNSw4+vnwUJnN/WogO/MmgKdrvVf3pUdLiucIog1E/Us1C8Y5wg==}
|
resolution: {integrity: sha512-dVziu+ShQUWuMukM6bvK2v2O446/gG6l1XkTh2vfkccw1IzjfbiP1TWQoNo1ipTfZOtu5YJGYAx+o5HNrGXWfQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@volar/code-gen': 0.40.1
|
'@volar/language-core': 1.0.9
|
||||||
'@volar/source-map': 0.40.1
|
|
||||||
'@vue/compiler-core': 3.2.37
|
|
||||||
'@vue/compiler-dom': 3.2.37
|
|
||||||
'@vue/compiler-sfc': 3.2.37
|
|
||||||
'@vue/reactivity': 3.2.37
|
|
||||||
'@vue/shared': 3.2.37
|
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@volar/vue-typescript/0.40.1:
|
/@volar/vue-language-core/1.0.9:
|
||||||
resolution: {integrity: sha512-58nW/Xwy7VBkeIPmbyEmi/j1Ta2HxGl/5aFiEEpWxoas7vI1AM+txz8+MhWho4ZMw0w0eCqPtGgugD2rr+/v7w==}
|
resolution: {integrity: sha512-tofNoR8ShPFenHT1YVMuvoXtXWwoQE+fiXVqSmW0dSKZqEDjWQ3YeXSd0a6aqyKaIbvR7kWWGp34WbpQlwf9Ww==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@volar/code-gen': 0.40.1
|
'@volar/language-core': 1.0.9
|
||||||
'@volar/typescript-faster': 0.40.1
|
'@volar/source-map': 1.0.9
|
||||||
'@volar/vue-language-core': 0.40.1
|
'@vue/compiler-dom': 3.2.41
|
||||||
|
'@vue/compiler-sfc': 3.2.41
|
||||||
|
'@vue/reactivity': 3.2.41
|
||||||
|
'@vue/shared': 3.2.41
|
||||||
|
minimatch: 5.1.0
|
||||||
|
vue-template-compiler: 2.7.13
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@vue/compiler-core/3.2.37:
|
/@volar/vue-typescript/1.0.9:
|
||||||
resolution: {integrity: sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==}
|
resolution: {integrity: sha512-ZLe4y9YNbviACa7uAMCilzxA76gbbSlKfjspXBzk6fCobd8QCIig+VyDYcjANIlm2HhgSCX8jYTzhCKlegh4mw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/parser': 7.18.13
|
'@volar/typescript': 1.0.9
|
||||||
'@vue/shared': 3.2.37
|
'@volar/vue-language-core': 1.0.9
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@vue/compiler-core/3.2.41:
|
||||||
|
resolution: {integrity: sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==}
|
||||||
|
dependencies:
|
||||||
|
'@babel/parser': 7.19.6
|
||||||
|
'@vue/shared': 3.2.41
|
||||||
estree-walker: 2.0.2
|
estree-walker: 2.0.2
|
||||||
source-map: 0.6.1
|
source-map: 0.6.1
|
||||||
|
|
||||||
/@vue/compiler-dom/3.2.37:
|
/@vue/compiler-dom/3.2.41:
|
||||||
resolution: {integrity: sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==}
|
resolution: {integrity: sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/compiler-core': 3.2.37
|
'@vue/compiler-core': 3.2.41
|
||||||
'@vue/shared': 3.2.37
|
'@vue/shared': 3.2.41
|
||||||
|
|
||||||
/@vue/compiler-sfc/3.2.37:
|
/@vue/compiler-sfc/3.2.41:
|
||||||
resolution: {integrity: sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==}
|
resolution: {integrity: sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/parser': 7.18.13
|
'@babel/parser': 7.19.6
|
||||||
'@vue/compiler-core': 3.2.37
|
'@vue/compiler-core': 3.2.41
|
||||||
'@vue/compiler-dom': 3.2.37
|
'@vue/compiler-dom': 3.2.41
|
||||||
'@vue/compiler-ssr': 3.2.37
|
'@vue/compiler-ssr': 3.2.41
|
||||||
'@vue/reactivity-transform': 3.2.37
|
'@vue/reactivity-transform': 3.2.41
|
||||||
'@vue/shared': 3.2.37
|
'@vue/shared': 3.2.41
|
||||||
estree-walker: 2.0.2
|
estree-walker: 2.0.2
|
||||||
magic-string: 0.25.9
|
magic-string: 0.25.9
|
||||||
postcss: 8.4.16
|
postcss: 8.4.18
|
||||||
source-map: 0.6.1
|
source-map: 0.6.1
|
||||||
|
|
||||||
/@vue/compiler-ssr/3.2.37:
|
/@vue/compiler-ssr/3.2.41:
|
||||||
resolution: {integrity: sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==}
|
resolution: {integrity: sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/compiler-dom': 3.2.37
|
'@vue/compiler-dom': 3.2.41
|
||||||
'@vue/shared': 3.2.37
|
'@vue/shared': 3.2.41
|
||||||
|
|
||||||
/@vue/reactivity-transform/3.2.37:
|
/@vue/reactivity-transform/3.2.41:
|
||||||
resolution: {integrity: sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==}
|
resolution: {integrity: sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/parser': 7.18.13
|
'@babel/parser': 7.19.6
|
||||||
'@vue/compiler-core': 3.2.37
|
'@vue/compiler-core': 3.2.41
|
||||||
'@vue/shared': 3.2.37
|
'@vue/shared': 3.2.41
|
||||||
estree-walker: 2.0.2
|
estree-walker: 2.0.2
|
||||||
magic-string: 0.25.9
|
magic-string: 0.25.9
|
||||||
|
|
||||||
/@vue/reactivity/3.2.37:
|
/@vue/reactivity/3.2.41:
|
||||||
resolution: {integrity: sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==}
|
resolution: {integrity: sha512-9JvCnlj8uc5xRiQGZ28MKGjuCoPhhTwcoAdv3o31+cfGgonwdPNuvqAXLhlzu4zwqavFEG5tvaoINQEfxz+l6g==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/shared': 3.2.37
|
'@vue/shared': 3.2.41
|
||||||
|
|
||||||
/@vue/runtime-core/3.2.37:
|
/@vue/runtime-core/3.2.41:
|
||||||
resolution: {integrity: sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==}
|
resolution: {integrity: sha512-0LBBRwqnI0p4FgIkO9q2aJBBTKDSjzhnxrxHYengkAF6dMOjeAIZFDADAlcf2h3GDALWnblbeprYYpItiulSVQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/reactivity': 3.2.37
|
'@vue/reactivity': 3.2.41
|
||||||
'@vue/shared': 3.2.37
|
'@vue/shared': 3.2.41
|
||||||
|
|
||||||
/@vue/runtime-dom/3.2.37:
|
/@vue/runtime-dom/3.2.41:
|
||||||
resolution: {integrity: sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==}
|
resolution: {integrity: sha512-U7zYuR1NVIP8BL6jmOqmapRAHovEFp7CSw4pR2FacqewXNGqZaRfHoNLQsqQvVQ8yuZNZtxSZy0FFyC70YXPpA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/runtime-core': 3.2.37
|
'@vue/runtime-core': 3.2.41
|
||||||
'@vue/shared': 3.2.37
|
'@vue/shared': 3.2.41
|
||||||
csstype: 2.6.20
|
csstype: 2.6.21
|
||||||
|
|
||||||
/@vue/server-renderer/3.2.37_vue@3.2.37:
|
/@vue/server-renderer/3.2.41_vue@3.2.41:
|
||||||
resolution: {integrity: sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==}
|
resolution: {integrity: sha512-7YHLkfJdTlsZTV0ae5sPwl9Gn/EGr2hrlbcS/8naXm2CDpnKUwC68i1wGlrYAfIgYWL7vUZwk2GkYLQH5CvFig==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vue: 3.2.37
|
vue: 3.2.41
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/compiler-ssr': 3.2.37
|
'@vue/compiler-ssr': 3.2.41
|
||||||
'@vue/shared': 3.2.37
|
'@vue/shared': 3.2.41
|
||||||
vue: 3.2.37
|
vue: 3.2.41
|
||||||
|
|
||||||
/@vue/shared/3.2.37:
|
/@vue/shared/3.2.41:
|
||||||
resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==}
|
resolution: {integrity: sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==}
|
||||||
|
|
||||||
/anymatch/3.1.2:
|
/anymatch/3.1.2:
|
||||||
resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
|
resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
|
||||||
@ -192,19 +205,29 @@ packages:
|
|||||||
picomatch: 2.3.1
|
picomatch: 2.3.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/balanced-match/1.0.2:
|
||||||
|
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/binary-extensions/2.2.0:
|
/binary-extensions/2.2.0:
|
||||||
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
|
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/bootstrap/5.2.0_@popperjs+core@2.11.6:
|
/bootstrap/5.2.2_@popperjs+core@2.11.6:
|
||||||
resolution: {integrity: sha512-qlnS9GL6YZE6Wnef46GxGv1UpGGzAwO0aPL1yOjzDIJpeApeMvqV24iL+pjr2kU4dduoBA9fINKWKgMToobx9A==}
|
resolution: {integrity: sha512-dEtzMTV71n6Fhmbg4fYJzQsw1N29hJKO1js5ackCgIpDcGid2ETMGC6zwSYw09v05Y+oRdQ9loC54zB1La3hHQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@popperjs/core': ^2.11.5
|
'@popperjs/core': ^2.11.6
|
||||||
dependencies:
|
dependencies:
|
||||||
'@popperjs/core': 2.11.6
|
'@popperjs/core': 2.11.6
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/brace-expansion/2.0.1:
|
||||||
|
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
|
||||||
|
dependencies:
|
||||||
|
balanced-match: 1.0.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/braces/3.0.2:
|
/braces/3.0.2:
|
||||||
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@ -227,11 +250,15 @@ packages:
|
|||||||
fsevents: 2.3.2
|
fsevents: 2.3.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/csstype/2.6.20:
|
/csstype/2.6.21:
|
||||||
resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==}
|
resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==}
|
||||||
|
|
||||||
/esbuild-android-64/0.14.54:
|
/de-indent/1.0.2:
|
||||||
resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==}
|
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/esbuild-android-64/0.15.12:
|
||||||
|
resolution: {integrity: sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [android]
|
os: [android]
|
||||||
@ -239,8 +266,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-android-arm64/0.14.54:
|
/esbuild-android-arm64/0.15.12:
|
||||||
resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==}
|
resolution: {integrity: sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [android]
|
os: [android]
|
||||||
@ -248,8 +275,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-darwin-64/0.14.54:
|
/esbuild-darwin-64/0.15.12:
|
||||||
resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==}
|
resolution: {integrity: sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
@ -257,8 +284,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-darwin-arm64/0.14.54:
|
/esbuild-darwin-arm64/0.15.12:
|
||||||
resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==}
|
resolution: {integrity: sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
@ -266,8 +293,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-freebsd-64/0.14.54:
|
/esbuild-freebsd-64/0.15.12:
|
||||||
resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==}
|
resolution: {integrity: sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [freebsd]
|
os: [freebsd]
|
||||||
@ -275,8 +302,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-freebsd-arm64/0.14.54:
|
/esbuild-freebsd-arm64/0.15.12:
|
||||||
resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==}
|
resolution: {integrity: sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [freebsd]
|
os: [freebsd]
|
||||||
@ -284,8 +311,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-32/0.14.54:
|
/esbuild-linux-32/0.15.12:
|
||||||
resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==}
|
resolution: {integrity: sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [ia32]
|
cpu: [ia32]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -293,8 +320,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-64/0.14.54:
|
/esbuild-linux-64/0.15.12:
|
||||||
resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==}
|
resolution: {integrity: sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -302,8 +329,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-arm/0.14.54:
|
/esbuild-linux-arm/0.15.12:
|
||||||
resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==}
|
resolution: {integrity: sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -311,8 +338,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-arm64/0.14.54:
|
/esbuild-linux-arm64/0.15.12:
|
||||||
resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==}
|
resolution: {integrity: sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -320,8 +347,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-mips64le/0.14.54:
|
/esbuild-linux-mips64le/0.15.12:
|
||||||
resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==}
|
resolution: {integrity: sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [mips64el]
|
cpu: [mips64el]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -329,8 +356,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-ppc64le/0.14.54:
|
/esbuild-linux-ppc64le/0.15.12:
|
||||||
resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==}
|
resolution: {integrity: sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -338,8 +365,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-riscv64/0.14.54:
|
/esbuild-linux-riscv64/0.15.12:
|
||||||
resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==}
|
resolution: {integrity: sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [riscv64]
|
cpu: [riscv64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -347,8 +374,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-s390x/0.14.54:
|
/esbuild-linux-s390x/0.15.12:
|
||||||
resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==}
|
resolution: {integrity: sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -356,8 +383,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-netbsd-64/0.14.54:
|
/esbuild-netbsd-64/0.15.12:
|
||||||
resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==}
|
resolution: {integrity: sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [netbsd]
|
os: [netbsd]
|
||||||
@ -365,8 +392,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-openbsd-64/0.14.54:
|
/esbuild-openbsd-64/0.15.12:
|
||||||
resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==}
|
resolution: {integrity: sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [openbsd]
|
os: [openbsd]
|
||||||
@ -374,8 +401,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-sunos-64/0.14.54:
|
/esbuild-sunos-64/0.15.12:
|
||||||
resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==}
|
resolution: {integrity: sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [sunos]
|
os: [sunos]
|
||||||
@ -383,8 +410,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-windows-32/0.14.54:
|
/esbuild-windows-32/0.15.12:
|
||||||
resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==}
|
resolution: {integrity: sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [ia32]
|
cpu: [ia32]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@ -392,8 +419,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-windows-64/0.14.54:
|
/esbuild-windows-64/0.15.12:
|
||||||
resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==}
|
resolution: {integrity: sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@ -401,8 +428,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-windows-arm64/0.14.54:
|
/esbuild-windows-arm64/0.15.12:
|
||||||
resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==}
|
resolution: {integrity: sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@ -410,33 +437,34 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild/0.14.54:
|
/esbuild/0.15.12:
|
||||||
resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==}
|
resolution: {integrity: sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@esbuild/linux-loong64': 0.14.54
|
'@esbuild/android-arm': 0.15.12
|
||||||
esbuild-android-64: 0.14.54
|
'@esbuild/linux-loong64': 0.15.12
|
||||||
esbuild-android-arm64: 0.14.54
|
esbuild-android-64: 0.15.12
|
||||||
esbuild-darwin-64: 0.14.54
|
esbuild-android-arm64: 0.15.12
|
||||||
esbuild-darwin-arm64: 0.14.54
|
esbuild-darwin-64: 0.15.12
|
||||||
esbuild-freebsd-64: 0.14.54
|
esbuild-darwin-arm64: 0.15.12
|
||||||
esbuild-freebsd-arm64: 0.14.54
|
esbuild-freebsd-64: 0.15.12
|
||||||
esbuild-linux-32: 0.14.54
|
esbuild-freebsd-arm64: 0.15.12
|
||||||
esbuild-linux-64: 0.14.54
|
esbuild-linux-32: 0.15.12
|
||||||
esbuild-linux-arm: 0.14.54
|
esbuild-linux-64: 0.15.12
|
||||||
esbuild-linux-arm64: 0.14.54
|
esbuild-linux-arm: 0.15.12
|
||||||
esbuild-linux-mips64le: 0.14.54
|
esbuild-linux-arm64: 0.15.12
|
||||||
esbuild-linux-ppc64le: 0.14.54
|
esbuild-linux-mips64le: 0.15.12
|
||||||
esbuild-linux-riscv64: 0.14.54
|
esbuild-linux-ppc64le: 0.15.12
|
||||||
esbuild-linux-s390x: 0.14.54
|
esbuild-linux-riscv64: 0.15.12
|
||||||
esbuild-netbsd-64: 0.14.54
|
esbuild-linux-s390x: 0.15.12
|
||||||
esbuild-openbsd-64: 0.14.54
|
esbuild-netbsd-64: 0.15.12
|
||||||
esbuild-sunos-64: 0.14.54
|
esbuild-openbsd-64: 0.15.12
|
||||||
esbuild-windows-32: 0.14.54
|
esbuild-sunos-64: 0.15.12
|
||||||
esbuild-windows-64: 0.14.54
|
esbuild-windows-32: 0.15.12
|
||||||
esbuild-windows-arm64: 0.14.54
|
esbuild-windows-64: 0.15.12
|
||||||
|
esbuild-windows-arm64: 0.15.12
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/estree-walker/2.0.2:
|
/estree-walker/2.0.2:
|
||||||
@ -475,8 +503,13 @@ packages:
|
|||||||
function-bind: 1.1.1
|
function-bind: 1.1.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/hls.js/1.2.1:
|
/he/1.2.0:
|
||||||
resolution: {integrity: sha512-+m/5+ikSpmQQvb6FmVWZUZfzvTJMn/QVfiCGP1Oq9WW4RKrAvxlExkhhbcVGgGqLNPFk1kdFkVQur//wKu3JVw==}
|
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
|
||||||
|
hasBin: true
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/hls.js/1.2.4:
|
||||||
|
resolution: {integrity: sha512-yC3K79Kzq1W+OgjT12JxKMDXv9DbfvulppxmPBl7D04SaTyd2IwWk5eNASQV1mUaPlKbjr16yI9292qpSGo0ig==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/immutable/4.1.0:
|
/immutable/4.1.0:
|
||||||
@ -490,8 +523,8 @@ packages:
|
|||||||
binary-extensions: 2.2.0
|
binary-extensions: 2.2.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/is-core-module/2.10.0:
|
/is-core-module/2.11.0:
|
||||||
resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==}
|
resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
has: 1.0.3
|
has: 1.0.3
|
||||||
dev: true
|
dev: true
|
||||||
@ -513,18 +546,22 @@ packages:
|
|||||||
engines: {node: '>=0.12.0'}
|
engines: {node: '>=0.12.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/lru-cache/6.0.0:
|
|
||||||
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
dependencies:
|
|
||||||
yallist: 4.0.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/magic-string/0.25.9:
|
/magic-string/0.25.9:
|
||||||
resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
|
resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
sourcemap-codec: 1.4.8
|
sourcemap-codec: 1.4.8
|
||||||
|
|
||||||
|
/minimatch/5.1.0:
|
||||||
|
resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dependencies:
|
||||||
|
brace-expansion: 2.0.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/muggle-string/0.1.0:
|
||||||
|
resolution: {integrity: sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/nanoid/3.3.4:
|
/nanoid/3.3.4:
|
||||||
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
|
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
|
||||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||||
@ -535,9 +572,9 @@ packages:
|
|||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/parse-ms/2.1.0:
|
/parse-ms/3.0.0:
|
||||||
resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==}
|
resolution: {integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=12'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/path-parse/1.0.7:
|
/path-parse/1.0.7:
|
||||||
@ -552,19 +589,19 @@ packages:
|
|||||||
engines: {node: '>=8.6'}
|
engines: {node: '>=8.6'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/postcss/8.4.16:
|
/postcss/8.4.18:
|
||||||
resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==}
|
resolution: {integrity: sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==}
|
||||||
engines: {node: ^10 || ^12 || >=14}
|
engines: {node: ^10 || ^12 || >=14}
|
||||||
dependencies:
|
dependencies:
|
||||||
nanoid: 3.3.4
|
nanoid: 3.3.4
|
||||||
picocolors: 1.0.0
|
picocolors: 1.0.0
|
||||||
source-map-js: 1.0.2
|
source-map-js: 1.0.2
|
||||||
|
|
||||||
/pretty-ms/7.0.1:
|
/pretty-ms/8.0.0:
|
||||||
resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==}
|
resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=14.16'}
|
||||||
dependencies:
|
dependencies:
|
||||||
parse-ms: 2.1.0
|
parse-ms: 3.0.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/readdirp/3.6.0:
|
/readdirp/3.6.0:
|
||||||
@ -578,21 +615,21 @@ packages:
|
|||||||
resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
|
resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
is-core-module: 2.10.0
|
is-core-module: 2.11.0
|
||||||
path-parse: 1.0.7
|
path-parse: 1.0.7
|
||||||
supports-preserve-symlinks-flag: 1.0.0
|
supports-preserve-symlinks-flag: 1.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/rollup/2.77.3:
|
/rollup/2.78.1:
|
||||||
resolution: {integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==}
|
resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==}
|
||||||
engines: {node: '>=10.0.0'}
|
engines: {node: '>=10.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 2.3.2
|
fsevents: 2.3.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/sass/1.54.5:
|
/sass/1.55.0:
|
||||||
resolution: {integrity: sha512-p7DTOzxkUPa/63FU0R3KApkRHwcVZYC0PLnLm5iyZACyp15qSi32x7zVUhRdABAATmkALqgGrjCJAcWvobmhHw==}
|
resolution: {integrity: sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A==}
|
||||||
engines: {node: '>=12.0.0'}
|
engines: {node: '>=12.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -601,14 +638,6 @@ packages:
|
|||||||
source-map-js: 1.0.2
|
source-map-js: 1.0.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/semver/7.3.7:
|
|
||||||
resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
hasBin: true
|
|
||||||
dependencies:
|
|
||||||
lru-cache: 6.0.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/source-map-js/1.0.2:
|
/source-map-js/1.0.2:
|
||||||
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
|
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@ -636,14 +665,14 @@ packages:
|
|||||||
is-number: 7.0.0
|
is-number: 7.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/typescript/4.7.4:
|
/typescript/4.8.4:
|
||||||
resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==}
|
resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==}
|
||||||
engines: {node: '>=4.2.0'}
|
engines: {node: '>=4.2.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite/3.0.9_sass@1.54.5:
|
/vite/3.1.8_sass@1.55.0:
|
||||||
resolution: {integrity: sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==}
|
resolution: {integrity: sha512-m7jJe3nufUbuOfotkntGFupinL/fmuTNuQmiVE7cH2IZMuf4UbfbGYMUT3jVWgGYuRVLY9j8NnrRqgw5rr5QTg==}
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
engines: {node: ^14.18.0 || >=16.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -661,35 +690,38 @@ packages:
|
|||||||
terser:
|
terser:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: 0.14.54
|
esbuild: 0.15.12
|
||||||
postcss: 8.4.16
|
postcss: 8.4.18
|
||||||
resolve: 1.22.1
|
resolve: 1.22.1
|
||||||
rollup: 2.77.3
|
rollup: 2.78.1
|
||||||
sass: 1.54.5
|
sass: 1.55.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 2.3.2
|
fsevents: 2.3.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vue-tsc/0.40.1_typescript@4.7.4:
|
/vue-template-compiler/2.7.13:
|
||||||
resolution: {integrity: sha512-Z+3rlp/6TrtKvLuaFYwBn03zrdinMR6lBb3mWBJtDA+KwlRu+I4eMoqC1qT9D7i/29u0Bw58dH7ErjMpNLN9bQ==}
|
resolution: {integrity: sha512-jYM6TClwDS9YqP48gYrtAtaOhRKkbYmbzE+Q51gX5YDr777n7tNI/IZk4QV4l/PjQPNh/FVa/E92sh/RqKMrog==}
|
||||||
|
dependencies:
|
||||||
|
de-indent: 1.0.2
|
||||||
|
he: 1.2.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/vue-tsc/1.0.9_typescript@4.8.4:
|
||||||
|
resolution: {integrity: sha512-vRmHD1K6DmBymNhoHjQy/aYKTRQNLGOu2/ESasChG9Vy113K6CdP0NlhR0bzgFJfv2eFB9Ez/9L5kIciUajBxQ==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '*'
|
typescript: '*'
|
||||||
dependencies:
|
dependencies:
|
||||||
'@volar/vue-language-core': 0.40.1
|
'@volar/vue-language-core': 1.0.9
|
||||||
'@volar/vue-typescript': 0.40.1
|
'@volar/vue-typescript': 1.0.9
|
||||||
typescript: 4.7.4
|
typescript: 4.8.4
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vue/3.2.37:
|
/vue/3.2.41:
|
||||||
resolution: {integrity: sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==}
|
resolution: {integrity: sha512-uuuvnrDXEeZ9VUPljgHkqB5IaVO8SxhPpqF2eWOukVrBnRBx2THPSGQBnVRt0GrIG1gvCmFXMGbd7FqcT1ixNQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/compiler-dom': 3.2.37
|
'@vue/compiler-dom': 3.2.41
|
||||||
'@vue/compiler-sfc': 3.2.37
|
'@vue/compiler-sfc': 3.2.41
|
||||||
'@vue/runtime-dom': 3.2.37
|
'@vue/runtime-dom': 3.2.41
|
||||||
'@vue/server-renderer': 3.2.37_vue@3.2.37
|
'@vue/server-renderer': 3.2.41_vue@3.2.41
|
||||||
'@vue/shared': 3.2.37
|
'@vue/shared': 3.2.41
|
||||||
|
|
||||||
/yallist/4.0.0:
|
|
||||||
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
|
||||||
dev: true
|
|
||||||
|
@ -1,27 +1,29 @@
|
|||||||
{
|
{
|
||||||
|
"type": "module",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/express": "^4.17.13",
|
"@types/express": "^4.17.14",
|
||||||
"@types/express-ws": "^3.0.1",
|
"@types/express-ws": "^3.0.1",
|
||||||
"@types/fluent-ffmpeg": "^2.1.20",
|
"@types/fluent-ffmpeg": "^2.1.20",
|
||||||
"@types/js-yaml": "^4.0.5",
|
"@types/js-yaml": "^4.0.5",
|
||||||
"@types/node": "^18.7.11",
|
"@types/mp4frag": "^0.6.1",
|
||||||
|
"@types/node": "^18.11.4",
|
||||||
"@types/node-fetch": "^2.6.2",
|
"@types/node-fetch": "^2.6.2",
|
||||||
"@types/ws": "^8.5.3",
|
"@types/ws": "^8.5.3",
|
||||||
"ts-node-dev": "^2.0.0",
|
"tsx": "^3.11.0",
|
||||||
"typescript": "^4.7.4"
|
"typescript": "^4.8.4"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"express": "^4.18.1",
|
"express": "^4.18.2",
|
||||||
"express-ws": "^5.0.2",
|
"express-ws": "^5.0.2",
|
||||||
"fluent-ffmpeg": "^2.1.2",
|
"fluent-ffmpeg": "^2.1.2",
|
||||||
"js-yaml": "^4.1.0",
|
"js-yaml": "^4.1.0",
|
||||||
"mp4frag": "^0.6.0",
|
"mp4frag": "^0.6.0",
|
||||||
"node-fetch": "^2.6.7",
|
"node-fetch": "^3.2.10",
|
||||||
"ws": "^8.8.1"
|
"ws": "^8.10.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "npm run dev",
|
"start": "npm run dev",
|
||||||
"dev": "ts-node-dev --files ./src/server.ts",
|
"dev": "tsx watch ./src/server.ts",
|
||||||
"build": "tsc",
|
"build": "tsc",
|
||||||
"serve": "node dist/server.js"
|
"serve": "node dist/server.js"
|
||||||
}
|
}
|
||||||
|
789
server/pnpm-lock.yaml
generated
789
server/pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@ -1,10 +1,14 @@
|
|||||||
import * as WebSocket from 'ws';
|
import * as ws from 'ws';
|
||||||
import fetch from 'node-fetch';
|
import fetch from 'node-fetch';
|
||||||
import * as Mp4Frag from 'mp4frag';
|
import * as Mp4Frag from 'mp4frag';
|
||||||
|
|
||||||
import { make_mp4frag } from './camera-stream';
|
import { make_mp4frag } from './camera-stream.js';
|
||||||
import { Message, StatusMessage, SettingsMessage } from '../../types/messages';
|
import {
|
||||||
import * as octoprint from '../../types/octoprint';
|
Message,
|
||||||
|
StatusMessage,
|
||||||
|
SettingsMessage,
|
||||||
|
} from '../../types/messages.js';
|
||||||
|
import * as octoprint from '../../types/octoprint.js';
|
||||||
|
|
||||||
const PING_TIME = 10000;
|
const PING_TIME = 10000;
|
||||||
const STATUS_TIMEOUT = 30000;
|
const STATUS_TIMEOUT = 30000;
|
||||||
@ -63,7 +67,7 @@ export default class OctoprintConnection {
|
|||||||
|
|
||||||
const url = new URL('/sockjs/websocket', this.address);
|
const url = new URL('/sockjs/websocket', this.address);
|
||||||
url.protocol = 'ws';
|
url.protocol = 'ws';
|
||||||
let websocket = new WebSocket(url.toString());
|
let websocket = new ws.WebSocket(url.toString());
|
||||||
websocket
|
websocket
|
||||||
.on('open', () => {
|
.on('open', () => {
|
||||||
pingSender = setInterval(() => websocket.ping(), PING_TIME);
|
pingSender = setInterval(() => websocket.ping(), PING_TIME);
|
||||||
@ -80,7 +84,7 @@ export default class OctoprintConnection {
|
|||||||
console.log(`Connected to "${this.slug}"`);
|
console.log(`Connected to "${this.slug}"`);
|
||||||
websocket.send(JSON.stringify({ auth: session_key }));
|
websocket.send(JSON.stringify({ auth: session_key }));
|
||||||
})
|
})
|
||||||
.on('message', (data: WebSocket.Data) => {
|
.on('message', (data: ws.Data) => {
|
||||||
const event: octoprint.Message = JSON.parse(data as string);
|
const event: octoprint.Message = JSON.parse(data as string);
|
||||||
|
|
||||||
let ext_event: StatusMessage = {
|
let ext_event: StatusMessage = {
|
||||||
@ -110,7 +114,7 @@ export default class OctoprintConnection {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
heartbeat(websocket: WebSocket, pongTimeout: Timeout): Timeout {
|
heartbeat(websocket: ws.WebSocket, pongTimeout: Timeout): Timeout {
|
||||||
clearTimeout(pongTimeout);
|
clearTimeout(pongTimeout);
|
||||||
return setTimeout(() => {
|
return setTimeout(() => {
|
||||||
console.log(`Missed 2 heartbeats for "${this.slug}", disconnecting`);
|
console.log(`Missed 2 heartbeats for "${this.slug}", disconnecting`);
|
||||||
@ -119,14 +123,19 @@ export default class OctoprintConnection {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async api_get(endpoint: string): Promise<any> {
|
async api_get(endpoint: string): Promise<any> {
|
||||||
const r = await fetch(new URL('/api/' + endpoint, this.address), {
|
const r = await fetch(
|
||||||
|
new URL('/api/' + endpoint, this.address).toString(),
|
||||||
|
{
|
||||||
headers: { 'X-Api-Key': this.apikey },
|
headers: { 'X-Api-Key': this.apikey },
|
||||||
});
|
}
|
||||||
|
);
|
||||||
return await r.json();
|
return await r.json();
|
||||||
}
|
}
|
||||||
|
|
||||||
async api_post(endpoint: string, data: any): Promise<any> {
|
async api_post(endpoint: string, data: any): Promise<any> {
|
||||||
const r = await fetch(new URL('/api/' + endpoint, this.address), {
|
const r = await fetch(
|
||||||
|
new URL('/api/' + endpoint, this.address).toString(),
|
||||||
|
{
|
||||||
headers: {
|
headers: {
|
||||||
'X-Api-Key': this.apikey,
|
'X-Api-Key': this.apikey,
|
||||||
Accept: 'application/json',
|
Accept: 'application/json',
|
||||||
@ -134,11 +143,12 @@ export default class OctoprintConnection {
|
|||||||
},
|
},
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: JSON.stringify(data),
|
body: JSON.stringify(data),
|
||||||
});
|
}
|
||||||
|
);
|
||||||
return await r.json();
|
return await r.json();
|
||||||
}
|
}
|
||||||
|
|
||||||
send_init(ws: WebSocket) {
|
send_init(ws: ws.WebSocket) {
|
||||||
if (this.settingsMessage) {
|
if (this.settingsMessage) {
|
||||||
ws.send(JSON.stringify(this.settingsMessage));
|
ws.send(JSON.stringify(this.settingsMessage));
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import * as ffmpeg from 'fluent-ffmpeg';
|
import ffmpeg from 'fluent-ffmpeg';
|
||||||
import * as Mp4Frag from 'mp4frag';
|
import Mp4Frag from 'mp4frag';
|
||||||
import { PassThrough } from 'stream';
|
import { PassThrough } from 'stream';
|
||||||
|
|
||||||
const RECONNECT_TIME = 5000;
|
const RECONNECT_TIME = 5000;
|
||||||
|
155
server/src/mp4frag.d.ts
vendored
155
server/src/mp4frag.d.ts
vendored
@ -1,155 +0,0 @@
|
|||||||
declare module 'mp4frag' {
|
|
||||||
import { Transform } from 'stream';
|
|
||||||
|
|
||||||
namespace Mp4Frag {
|
|
||||||
interface SegmentObject {
|
|
||||||
segment: Buffer;
|
|
||||||
sequence: number;
|
|
||||||
duration: number;
|
|
||||||
timestamp: number;
|
|
||||||
keyframe: number;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export = Mp4Frag;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @fileOverview
|
|
||||||
* <ul>
|
|
||||||
* <li>Creates a stream transform for piping a fmp4 (fragmented mp4) from ffmpeg.</li>
|
|
||||||
* <li>Can be used to generate a fmp4 m3u8 HLS playlist and compatible file fragments.</li>
|
|
||||||
* <li>Can be used for storing past segments of the mp4 video in a buffer for later access.</li>
|
|
||||||
* <li>Must use the following ffmpeg args <b><i>-movflags +frag_keyframe+empty_moov+default_base_moof</i></b> to generate
|
|
||||||
* a valid fmp4 with a compatible file structure : ftyp+moov -> moof+mdat -> moof+mdat -> moof+mdat ...</li>
|
|
||||||
* </ul>
|
|
||||||
* @requires stream.Transform
|
|
||||||
*/
|
|
||||||
class Mp4Frag extends Transform {
|
|
||||||
/**
|
|
||||||
* @constructor
|
|
||||||
* @param {Object} [options] - Configuration options.
|
|
||||||
* @param {String} [options.hlsPlaylistBase] - Base name of files in m3u8 playlist. Affects the generated m3u8 playlist by naming file fragments. Must be set to generate m3u8 playlist. e.g. 'front_door'
|
|
||||||
* @param {Number} [options.hlsPlaylistSize = 4] - Number of segments to use in m3u8 playlist. Must be an integer ranging from 2 to 20.
|
|
||||||
* @param {Number} [options.hlsPlaylistExtra = 0] - Number of extra segments to keep in memory. Must be an integer ranging from 0 to 10.
|
|
||||||
* @param {Boolean} [options.hlsPlaylistInit = true] - Indicates that m3u8 playlist should be generated after [initialization]{@link Mp4Frag#initialization} is created and before media segments are created.
|
|
||||||
* @param {Number} [options.segmentCount = 2] - Number of segments to keep in memory. Has no effect if using options.hlsPlaylistBase. Must be an integer ranging from 2 to 30.
|
|
||||||
* @returns {Mp4Frag} this - Returns reference to new instance of Mp4Frag for chaining event listeners.
|
|
||||||
* @throws Will throw an error if options.hlsPlaylistBase contains characters other than letters(a-zA-Z) and underscores(_).
|
|
||||||
*/
|
|
||||||
constructor(options?: {
|
|
||||||
hlsPlaylistBase?: string;
|
|
||||||
hlsPlaylistSize?: number;
|
|
||||||
hlsPlaylistExtra?: number;
|
|
||||||
hlsPlaylistInit?: boolean;
|
|
||||||
segmentCount?: number;
|
|
||||||
});
|
|
||||||
/**
|
|
||||||
* - Returns the audio codec information as a <b>String</b>.
|
|
||||||
*
|
|
||||||
* - Returns <b>Null</b> if requested before [initialized event]{@link Mp4Frag#event:initialized}.
|
|
||||||
*/
|
|
||||||
get audioCodec(): string | null;
|
|
||||||
/**
|
|
||||||
* - Returns the video codec information as a <b>String</b>.
|
|
||||||
*
|
|
||||||
* - Returns <b>Null</b> if requested before [initialized event]{@link Mp4Frag#event:initialized}.
|
|
||||||
*/
|
|
||||||
get videoCodec(): string | null;
|
|
||||||
/**
|
|
||||||
* - Returns the mime type information as a <b>String</b>.
|
|
||||||
*
|
|
||||||
* - Returns <b>Null</b> if requested before [initialized event]{@link Mp4Frag#event:initialized}.
|
|
||||||
*/
|
|
||||||
get mime(): string | null;
|
|
||||||
/**
|
|
||||||
* - Returns the Mp4 initialization fragment as a <b>Buffer</b>.
|
|
||||||
*
|
|
||||||
* - Returns <b>Null</b> if requested before [initialized event]{@link Mp4Frag#event:initialized}.
|
|
||||||
*/
|
|
||||||
get initialization(): Buffer | null;
|
|
||||||
/**
|
|
||||||
* - Returns the latest Mp4 segment as a <b>Buffer</b>.
|
|
||||||
*
|
|
||||||
* - Returns <b>Null</b> if requested before first [segment event]{@link Mp4Frag#event:segment}.
|
|
||||||
*/
|
|
||||||
get segment(): Buffer | null;
|
|
||||||
/**
|
|
||||||
* - Returns the latest Mp4 segment as an <b>Object</b>.
|
|
||||||
*
|
|
||||||
* - <b><code>{segment, sequence, duration, timestamp, keyframe}</code></b>
|
|
||||||
*
|
|
||||||
* - Returns <b>{segment: null, sequence: -1, duration: -1; timestamp: -1, keyframe: -1}</b> if requested before first [segment event]{@link Mp4Frag#event:segment}.
|
|
||||||
*/
|
|
||||||
get segmentObject(): Mp4Frag.SegmentObject;
|
|
||||||
/**
|
|
||||||
* - Returns the timestamp of the latest Mp4 segment as an <b>Integer</b>(<i>milliseconds</i>).
|
|
||||||
*
|
|
||||||
* - Returns <b>-1</b> if requested before first [segment event]{@link Mp4Frag#event:segment}.
|
|
||||||
*/
|
|
||||||
get timestamp(): number;
|
|
||||||
/**
|
|
||||||
* - Returns the duration of latest Mp4 segment as a <b>Float</b>(<i>seconds</i>).
|
|
||||||
*
|
|
||||||
* - Returns <b>-1</b> if requested before first [segment event]{@link Mp4Frag#event:segment}.
|
|
||||||
*/
|
|
||||||
get duration(): number;
|
|
||||||
/**
|
|
||||||
* - Returns the total duration of all Mp4 segments as a <b>Float</b>(<i>seconds</i>).
|
|
||||||
*
|
|
||||||
* - Returns <b>-1</b> if requested before first [segment event]{@link Mp4Frag#event:segment}.
|
|
||||||
*/
|
|
||||||
get totalDuration(): number;
|
|
||||||
/**
|
|
||||||
* - Returns the total byte length of the Mp4 initialization and all Mp4 segments as ant <b>Int</b>(<i>bytes</i>).
|
|
||||||
*
|
|
||||||
* - Returns <b>-1</b> if requested before [initialized event]{@link Mp4Frag#event:initialized}.
|
|
||||||
*/
|
|
||||||
get totalByteLength(): number;
|
|
||||||
/**
|
|
||||||
* - Returns the fmp4 HLS m3u8 playlist as a <b>String</b>.
|
|
||||||
*
|
|
||||||
* - Returns <b>Null</b> if requested before [initialized event]{@link Mp4Frag#event:initialized}.
|
|
||||||
*/
|
|
||||||
get m3u8(): string | null;
|
|
||||||
/**
|
|
||||||
* - Returns the sequence of the latest Mp4 segment as an <b>Integer</b>.
|
|
||||||
*
|
|
||||||
* - Returns <b>-1</b> if requested before first [segment event]{@link Mp4Frag#event:segment}.
|
|
||||||
*/
|
|
||||||
get sequence(): number;
|
|
||||||
/**
|
|
||||||
* - Returns the nal keyframe index of the latest Mp4 segment as an <b>Integer</b>.
|
|
||||||
*
|
|
||||||
* - Returns <b>-1</b> if segment contains no keyframe nal.
|
|
||||||
*/
|
|
||||||
get keyframe(): number;
|
|
||||||
/**
|
|
||||||
* - Returns a boolean indicating if all segments contain a keyframe.
|
|
||||||
*
|
|
||||||
* - Returns <b>false</b> if any segments do not contain a keyframe.
|
|
||||||
*/
|
|
||||||
get allKeyframes(): boolean;
|
|
||||||
/**
|
|
||||||
* - Returns the Mp4 segments as an <b>Array</b> of <b>Objects</b>
|
|
||||||
*
|
|
||||||
* - <b><code>[{segment, sequence, duration, timestamp, keyframe},...]</code></b>
|
|
||||||
*
|
|
||||||
* - Returns <b>Null</b> if requested before first [segment event]{@link Mp4Frag#event:segment}.
|
|
||||||
*/
|
|
||||||
get segmentObjects(): Mp4Frag.SegmentObject[];
|
|
||||||
/**
|
|
||||||
* @param {Number|String} sequence - sequence number
|
|
||||||
* @returns {Object|null}
|
|
||||||
* - Returns the Mp4 segment that corresponds to the numbered sequence as an <b>Object</b>.
|
|
||||||
*
|
|
||||||
* - <b><code>{segment, sequence, duration, timestamp, keyframe}</code></b>
|
|
||||||
*
|
|
||||||
* - Returns <b>Null</b> if there is no segment that corresponds to sequence number.
|
|
||||||
*/
|
|
||||||
getSegmentObject(sequence: number | string): Mp4Frag.SegmentObject | null;
|
|
||||||
/**
|
|
||||||
* Clear cached values
|
|
||||||
*/
|
|
||||||
resetCache(): void;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,12 +1,12 @@
|
|||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
|
|
||||||
import * as express from 'express';
|
import express from 'express';
|
||||||
import * as yaml from 'js-yaml';
|
import * as yaml from 'js-yaml';
|
||||||
import * as expressWs from 'express-ws';
|
import expressWs from 'express-ws';
|
||||||
import * as WebSocket from 'ws';
|
import * as ws from 'ws';
|
||||||
|
|
||||||
import { Message } from '../../types/messages';
|
import { Message } from '../../types/messages.js';
|
||||||
import OctoPrintConnection from './OctoPrintConnection';
|
import OctoPrintConnection from './OctoPrintConnection.js';
|
||||||
|
|
||||||
const PORT = process.env.PORT || 1234;
|
const PORT = process.env.PORT || 1234;
|
||||||
|
|
||||||
@ -23,9 +23,9 @@ const config: configuration = yaml.load(
|
|||||||
|
|
||||||
let octoprintConnections: OctoPrintConnection[] = [];
|
let octoprintConnections: OctoPrintConnection[] = [];
|
||||||
|
|
||||||
function broadcast(data: WebSocket.Data) {
|
function broadcast(data: ws.Data) {
|
||||||
wsInstance.getWss().clients.forEach((client: WebSocket) => {
|
wsInstance.getWss().clients.forEach((client: ws.WebSocket) => {
|
||||||
if (client.readyState === WebSocket.OPEN) {
|
if (client.readyState === ws.WebSocket.OPEN) {
|
||||||
client.send(data);
|
client.send(data);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
{
|
{
|
||||||
"include": ["src/**/*"],
|
"include": ["src/**/*"],
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"target": "es5",
|
"target": "es6",
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"module": "commonjs",
|
"module": "node16",
|
||||||
"moduleResolution": "node",
|
|
||||||
"outDir": "dist",
|
"outDir": "dist",
|
||||||
"experimentalDecorators": true
|
"experimentalDecorators": true
|
||||||
}
|
}
|
||||||
|
@ -51,7 +51,7 @@ import prettyMilliseconds from 'pretty-ms';
|
|||||||
import { CurrentOrHistoryPayload } from '../types/octoprint';
|
import { CurrentOrHistoryPayload } from '../types/octoprint';
|
||||||
import { OctoprintColor } from '../types/messages';
|
import { OctoprintColor } from '../types/messages';
|
||||||
|
|
||||||
interface Props {
|
export interface Props {
|
||||||
slug: string;
|
slug: string;
|
||||||
name?: string;
|
name?: string;
|
||||||
lastUpdate: Date;
|
lastUpdate: Date;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"target": "esnext",
|
"target": "esnext",
|
||||||
"useDefineForClassFields": true,
|
"useDefineForClassFields": true,
|
||||||
"module": "esnext",
|
"module": "node16",
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"jsx": "preserve",
|
"jsx": "preserve",
|
||||||
|
13
types/messages.d.ts
vendored
13
types/messages.d.ts
vendored
@ -1,4 +1,4 @@
|
|||||||
import { Message as OctoprintMessage } from './octoprint';
|
import { Message as OctoprintMessage } from './octoprint.js';
|
||||||
|
|
||||||
interface BaseMessage {
|
interface BaseMessage {
|
||||||
printer: string;
|
printer: string;
|
||||||
@ -9,7 +9,16 @@ export interface StatusMessage extends BaseMessage {
|
|||||||
msg: OctoprintMessage;
|
msg: OctoprintMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type OctoprintColor = 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'violet' | 'black' | 'white' | 'default';
|
export type OctoprintColor =
|
||||||
|
| 'red'
|
||||||
|
| 'orange'
|
||||||
|
| 'yellow'
|
||||||
|
| 'green'
|
||||||
|
| 'blue'
|
||||||
|
| 'violet'
|
||||||
|
| 'black'
|
||||||
|
| 'white'
|
||||||
|
| 'default';
|
||||||
|
|
||||||
export interface SettingsMessage extends BaseMessage {
|
export interface SettingsMessage extends BaseMessage {
|
||||||
kind: 'settings';
|
kind: 'settings';
|
||||||
|
Loading…
Reference in New Issue
Block a user