fix ts errors

This commit is contained in:
Matt Hill
2023-11-13 16:58:55 -07:00
parent e92bd61545
commit 8403ccd3da
5 changed files with 287 additions and 277 deletions

327
web/package-lock.json generated
View File

@@ -25,11 +25,11 @@
"@start9labs/argon2": "^0.2.2",
"@start9labs/emver": "^0.1.5",
"@start9labs/start-sdk": "0.4.0-rev0.lib0.rc5",
"@taiga-ui/addon-charts": "3.28.0",
"@taiga-ui/cdk": "3.28.0",
"@taiga-ui/core": "3.28.0",
"@taiga-ui/icons": "3.28.0",
"@taiga-ui/kit": "3.28.0",
"@taiga-ui/addon-charts": "3.53.0",
"@taiga-ui/cdk": "3.53.0",
"@taiga-ui/core": "3.53.0",
"@taiga-ui/icons": "3.53.0",
"@taiga-ui/kit": "3.53.0",
"angular-svg-round-progressbar": "^9.0.0",
"ansi-to-html": "^0.7.2",
"base64-js": "^1.5.1",
@@ -3746,7 +3746,6 @@
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/@ng-web-apis/common/-/common-3.0.6.tgz",
"integrity": "sha512-ral+lzGpFS3aOCFB5DcHOI4lZhhp8GH4BnjSbngH2Xk8J0FKYdxRzvcPQVy7hS+TPUu0tW9uFVp6cC7odu3iyQ==",
"peer": true,
"dependencies": {
"tslib": "^2.2.0"
},
@@ -3757,9 +3756,9 @@
}
},
"node_modules/@ng-web-apis/intersection-observer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@ng-web-apis/intersection-observer/-/intersection-observer-3.0.0.tgz",
"integrity": "sha512-Y3ts9WgXG/A6atyMlFOoP8ZNczUNxUGHSV4ii4xCepwcKW2gN/kkimsP4oPtb7UsTWzN1tF1n0bgD2civraZiA==",
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/@ng-web-apis/intersection-observer/-/intersection-observer-3.1.6.tgz",
"integrity": "sha512-Pzk0ycnYpq+EUf60kz+/A7nvCmhYzThc4ArwONwZzJqRF5xOS97CVWObs8hesorXxQdqlsrDNiu+JWuGxEvpzQ==",
"dependencies": {
"tslib": "^2.2.0"
},
@@ -3772,7 +3771,6 @@
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/@ng-web-apis/mutation-observer/-/mutation-observer-3.0.6.tgz",
"integrity": "sha512-UW1qoUi2whH0uWkVz5qpdYCLs1u2T0E0QoCMQKZfLEkBpsWRTkT0PTCa9WWX/BhehaSPg23nZZm8BEixd6PI9w==",
"peer": true,
"dependencies": {
"tslib": "^2.2.0"
},
@@ -3785,7 +3783,6 @@
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/@ng-web-apis/resize-observer/-/resize-observer-3.0.6.tgz",
"integrity": "sha512-QdGYdEdC0AzFonLfNOnyYyeCwnvK9jlskoeefvJN3Yyvds3ivBrrTjpeDOdiLsQpCPBp9/673imgq7355vkQow==",
"peer": true,
"dependencies": {
"tslib": "^2.2.0"
},
@@ -4063,35 +4060,35 @@
}
},
"node_modules/@taiga-ui/addon-charts": {
"version": "3.28.0",
"resolved": "https://registry.npmjs.org/@taiga-ui/addon-charts/-/addon-charts-3.28.0.tgz",
"integrity": "sha512-ZLsOKrEfni8T+ppteJLULooRqtmvP8aZ0cf7WUEEjEeNR05out6eh8a3uHsnx241HI/or8b4OVKHbTmiFm9Mzg==",
"version": "3.53.0",
"resolved": "https://registry.npmjs.org/@taiga-ui/addon-charts/-/addon-charts-3.53.0.tgz",
"integrity": "sha512-hmZVovX7Pg9lwz33lzITVRCWDB1SzA68KFxxrVAgkRIw05il9pv7XUuCE9hv/Yb7F7w7LEZoz0+TohB09FW/EQ==",
"dependencies": {
"tslib": ">=2.0.0"
},
"peerDependencies": {
"@angular/common": ">=12.0.0",
"@angular/core": ">=12.0.0",
"@ng-web-apis/common": ">=2.0.0",
"@taiga-ui/cdk": ">=3.28.0",
"@taiga-ui/core": ">=3.28.0",
"@ng-web-apis/common": ">=3.0.0",
"@taiga-ui/cdk": ">=3.53.0",
"@taiga-ui/core": ">=3.53.0",
"@tinkoff/ng-polymorpheus": ">=4.0.0"
}
},
"node_modules/@taiga-ui/cdk": {
"version": "3.28.0",
"resolved": "https://registry.npmjs.org/@taiga-ui/cdk/-/cdk-3.28.0.tgz",
"integrity": "sha512-U9LTaiaHABanwxssPyutqiK1I8aUKX8ZpJ3CpMvhxszHC3zMYp4/N3RvxYfI8Mb2sqeLR8D+x85EElbWQIxRkA==",
"version": "3.53.0",
"resolved": "https://registry.npmjs.org/@taiga-ui/cdk/-/cdk-3.53.0.tgz",
"integrity": "sha512-/+knIWNVxywdxxq3MwYGMSGBcc+bJ0PLc9Qnn2KyhxhQylWx9OD1O3gO64BE+pdmcCaLH0bye5j52wy+4bpowg==",
"dependencies": {
"@ng-web-apis/common": "2.1.0",
"@ng-web-apis/mutation-observer": "2.0.0",
"@ng-web-apis/resize-observer": "2.0.0",
"@ng-web-apis/common": "3.0.6",
"@ng-web-apis/mutation-observer": "3.0.6",
"@ng-web-apis/resize-observer": "3.0.6",
"@tinkoff/ng-event-plugins": "3.1.0",
"@tinkoff/ng-polymorpheus": "4.1.0",
"tslib": "2.5.2"
"@tinkoff/ng-polymorpheus": "4.2.0",
"tslib": "2.6.2"
},
"optionalDependencies": {
"ng-morph": "2.2.4",
"ng-morph": "4.0.0",
"parse5": "6.0.1"
},
"peerDependencies": {
@@ -4102,66 +4099,12 @@
"rxjs": ">=6.0.0"
}
},
"node_modules/@taiga-ui/cdk/node_modules/@ng-web-apis/common": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@ng-web-apis/common/-/common-2.1.0.tgz",
"integrity": "sha512-6DLtrsk59z9YwfR8Pm1DiExXpxvMk/RVry/mfsAKkyRmgCGICgDdyQ+eWMVhrOIyUAtt9V+DRvHUeC6iYaHKNQ==",
"dependencies": {
"tslib": "^2.2.0"
},
"peerDependencies": {
"@angular/common": ">=12.0.0",
"@angular/core": ">=12.0.0",
"rxjs": ">=6.4.0"
}
},
"node_modules/@taiga-ui/cdk/node_modules/@ng-web-apis/mutation-observer": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@ng-web-apis/mutation-observer/-/mutation-observer-2.0.0.tgz",
"integrity": "sha512-f51Cu2DloNze1HaTWdUbtYFnt9VXhzpEnHDd9KFdiKOUNfEDx7wrSXIEQqv810hrq7F2jcIAERCdiqV6ItH7Pg==",
"dependencies": {
"tslib": "^2.2.0"
},
"peerDependencies": {
"@angular/core": ">=12.0.0",
"@ng-web-apis/common": ">=2.0.0"
}
},
"node_modules/@taiga-ui/cdk/node_modules/@ng-web-apis/resize-observer": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@ng-web-apis/resize-observer/-/resize-observer-2.0.0.tgz",
"integrity": "sha512-umuXJepTYBCI3ZcW9873fozO0qt1PeHLBNM+wXA+7Wphy35+RQcPNmkwfgkKqWceIjlYAvyuPTNWa5TM1OEeqg==",
"dependencies": {
"tslib": "^2.2.0"
},
"peerDependencies": {
"@angular/core": ">=12.0.0",
"@ng-web-apis/common": ">=2.0.0"
}
},
"node_modules/@taiga-ui/cdk/node_modules/@tinkoff/ng-polymorpheus": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@tinkoff/ng-polymorpheus/-/ng-polymorpheus-4.1.0.tgz",
"integrity": "sha512-rhe7Fe+rTK5cqfbeySy9fmwBilgMUGkSVX4rrkpmPRSTDhSh/djrRUW0q5ukbN56Rx/AKSYZ5B/nEqY+HL1jZg==",
"dependencies": {
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/core": ">=12.0.0",
"@angular/platform-browser": ">=12.0.0"
}
},
"node_modules/@taiga-ui/cdk/node_modules/tslib": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz",
"integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA=="
},
"node_modules/@taiga-ui/core": {
"version": "3.28.0",
"resolved": "https://registry.npmjs.org/@taiga-ui/core/-/core-3.28.0.tgz",
"integrity": "sha512-7P62xmja4kpEwVe43zgMfSg1UmYzkdMjNr4DF1S1zU8u0gKQGYHcUFQL1hqTJk6W50xSXVyi4tlWKKCXMvEd5Q==",
"version": "3.53.0",
"resolved": "https://registry.npmjs.org/@taiga-ui/core/-/core-3.53.0.tgz",
"integrity": "sha512-3YgkJbnXeZ4FzDdoRl9XOD0r+1RpMwjXSku/fbAt78X8+uRCWMJl9dVJzhTwhcD5HmwmNOjANAr2DtqAikfcOg==",
"dependencies": {
"@taiga-ui/i18n": "^3.28.0",
"@taiga-ui/i18n": "^3.53.0",
"tslib": ">=2.0.0"
},
"peerDependencies": {
@@ -4171,10 +4114,10 @@
"@angular/forms": ">=12.0.0",
"@angular/platform-browser": ">=12.0.0",
"@angular/router": ">=12.0.0",
"@ng-web-apis/common": ">=2.0.0",
"@ng-web-apis/mutation-observer": ">=2.0.0",
"@taiga-ui/cdk": ">=3.28.0",
"@taiga-ui/i18n": ">=3.28.0",
"@ng-web-apis/common": ">=3.0.0",
"@ng-web-apis/mutation-observer": ">=3.0.0",
"@taiga-ui/cdk": ">=3.53.0",
"@taiga-ui/i18n": ">=3.53.0",
"@tinkoff/ng-event-plugins": ">=3.1.0",
"@tinkoff/ng-polymorpheus": ">=4.0.0",
"rxjs": ">=6.0.0"
@@ -4194,22 +4137,25 @@
}
},
"node_modules/@taiga-ui/icons": {
"version": "3.28.0",
"resolved": "https://registry.npmjs.org/@taiga-ui/icons/-/icons-3.28.0.tgz",
"integrity": "sha512-TzQEKgRLP5f+wGsDLMqnBUYPhCN/jgRzQbOWZPIrl+CzaYQTbsFRo1YlKEfMO3Wk55R8QBKv0qpj35+i2Q8Mmg==",
"version": "3.53.0",
"resolved": "https://registry.npmjs.org/@taiga-ui/icons/-/icons-3.53.0.tgz",
"integrity": "sha512-rQhLE4Z27r/OUmZHp3R9KXnz3TDQbzPTqoLuwNKAjrJuZ0NqnCJ74hm50RaiWAs5cO5tLZPjt0QSEi+NnM9qNg==",
"dependencies": {
"tslib": "^2.2.0"
"tslib": ">=2.0.0"
},
"peerDependencies": {
"@taiga-ui/cdk": ">=3.53.0"
}
},
"node_modules/@taiga-ui/kit": {
"version": "3.28.0",
"resolved": "https://registry.npmjs.org/@taiga-ui/kit/-/kit-3.28.0.tgz",
"integrity": "sha512-jLi/mmIS7kqG1FEY7LT+1uH76pEAiWZsZEQH+3rOwvEGaQBjLE73OPf83f/swaYtFm/DgJemMNnfEMYu661DYA==",
"version": "3.53.0",
"resolved": "https://registry.npmjs.org/@taiga-ui/kit/-/kit-3.53.0.tgz",
"integrity": "sha512-ZKWRc5aBDPZ+9L+tlWVi9kNV1PEraCmjn4QSykxtz+gyZZU19sTwwpjitFujAVFeH7fI48W+pW64pn4s7GtFAg==",
"dependencies": {
"@maskito/angular": "0.11.1",
"@maskito/core": "0.11.1",
"@maskito/kit": "0.11.1",
"@ng-web-apis/intersection-observer": "3.0.0",
"@maskito/angular": "1.8.1",
"@maskito/core": "1.8.1",
"@maskito/kit": "1.8.1",
"@ng-web-apis/intersection-observer": "3.1.6",
"text-mask-core": "5.1.2",
"tslib": ">=2.0.0"
},
@@ -4218,42 +4164,42 @@
"@angular/core": ">=12.0.0",
"@angular/forms": ">=12.0.0",
"@angular/router": ">=12.0.0",
"@ng-web-apis/common": ">=2.0.0",
"@ng-web-apis/mutation-observer": ">=2.0.0",
"@ng-web-apis/resize-observer": ">=2.0.0",
"@taiga-ui/cdk": ">=3.28.0",
"@taiga-ui/core": ">=3.28.0",
"@taiga-ui/i18n": ">=3.28.0",
"@ng-web-apis/common": ">=3.0.0",
"@ng-web-apis/mutation-observer": ">=3.0.0",
"@ng-web-apis/resize-observer": ">=3.0.0",
"@taiga-ui/cdk": ">=3.53.0",
"@taiga-ui/core": ">=3.53.0",
"@taiga-ui/i18n": ">=3.53.0",
"@tinkoff/ng-polymorpheus": ">=4.0.0",
"rxjs": ">=6.0.0"
}
},
"node_modules/@taiga-ui/kit/node_modules/@maskito/angular": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/@maskito/angular/-/angular-0.11.1.tgz",
"integrity": "sha512-80V4FT2jHv+VrJA2gRJpvWvbYVJvPHHoS0ZDqt8DZO/ejWe2SJP3+i/tFHar3i423tXk59dBLp0ahfwkaaNN1A==",
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/@maskito/angular/-/angular-1.8.1.tgz",
"integrity": "sha512-iT9/YK+lTRd8ofU1Qd2pJHofshi/QnSGXS9MBIjt8Mk034pLCYutB5ua+2kiZYMdPk7kyuaSXYZOSL/Pt5cBuA==",
"dependencies": {
"tslib": "^2.3.0"
"tslib": "2.6.2"
},
"peerDependencies": {
"@angular/common": ">=12.0.0",
"@angular/core": ">=12.0.0",
"@angular/forms": ">=12.0.0",
"@maskito/core": "^0.11.1",
"@maskito/core": "^1.8.1",
"rxjs": ">=6.0.0"
}
},
"node_modules/@taiga-ui/kit/node_modules/@maskito/core": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/@maskito/core/-/core-0.11.1.tgz",
"integrity": "sha512-8wPNVvlf+q1g4KF1By++eppIZxYs0XWCd/dzvtbfLQRwPXIPTnp9Cm8yWFPGbUVkfA5znkpk5OiiCLzkuYYg7A=="
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/@maskito/core/-/core-1.8.1.tgz",
"integrity": "sha512-h9+Z91WASHQ6z6kDP7uIHyMUPxNwA1mOIPsFxdg2MHq1RASFUNKHj66uU5xuR0OJu17qcCCzUu7ixZ43QQ/HYg=="
},
"node_modules/@taiga-ui/kit/node_modules/@maskito/kit": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/@maskito/kit/-/kit-0.11.1.tgz",
"integrity": "sha512-5P+WC/oP9Cwk2aEyxGLpy934jpOwagvm2wLGGfNLZ7D0WaXSuDtXJGizG0Yt6EOnx3/EdChwI3WcmdLhDKK+bQ==",
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/@maskito/kit/-/kit-1.8.1.tgz",
"integrity": "sha512-eevH2iyqRjxw8kzt7gmLETrlkPTj4Mq1mbIOOD2VQ+O33ocNFl1a87s02mRQGk6UmSJBmHLT/2EaVfUEswBmWA==",
"peerDependencies": {
"@maskito/core": "^0.11.1"
"@maskito/core": "^1.8.1"
}
},
"node_modules/@tinkoff/ng-event-plugins": {
@@ -4273,7 +4219,6 @@
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/@tinkoff/ng-polymorpheus/-/ng-polymorpheus-4.2.0.tgz",
"integrity": "sha512-DBjAXyfYq5PUuJSZK42TSJXqgAFkinavUdHy9bPSy88tLl0ZH3h+JK1EQSYqRP0WJzBe4lXywwDyH4HjagK7sg==",
"peer": true,
"dependencies": {
"tslib": "2.6.2"
},
@@ -4292,37 +4237,45 @@
}
},
"node_modules/@ts-morph/common": {
"version": "0.9.2",
"resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.9.2.tgz",
"integrity": "sha512-IPyg+c3Am0EBoa63W0f/AKeLrJhvzMzQ4BIvD1baxLopmiHOj1HFTXYxC6e8iTZ+UYtN+/WFM9UyGRnoA20b8g==",
"version": "0.20.0",
"resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.20.0.tgz",
"integrity": "sha512-7uKjByfbPpwuzkstL3L5MQyuXPSKdoNG93Fmi2JoDcTf3pEP731JdRFAduRVkOs8oqxPsXKA+ScrWkdQ8t/I+Q==",
"optional": true,
"dependencies": {
"fast-glob": "^3.2.5",
"minimatch": "^3.0.4",
"mkdirp": "^1.0.4",
"fast-glob": "^3.2.12",
"minimatch": "^7.4.3",
"mkdirp": "^2.1.6",
"path-browserify": "^1.0.1"
}
},
"node_modules/@ts-morph/common/node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"optional": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"node_modules/@ts-morph/common/node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"version": "7.4.6",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz",
"integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==",
"optional": true,
"dependencies": {
"brace-expansion": "^1.1.7"
"brace-expansion": "^2.0.1"
},
"engines": {
"node": "*"
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/@ts-morph/common/node_modules/mkdirp": {
"version": "2.1.6",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz",
"integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==",
"optional": true,
"bin": {
"mkdirp": "dist/cjs/src/bin.js"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/@tsconfig/node10": {
@@ -6001,9 +5954,9 @@
}
},
"node_modules/code-block-writer": {
"version": "10.1.1",
"resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-10.1.1.tgz",
"integrity": "sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==",
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-12.0.0.tgz",
"integrity": "sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==",
"optional": true
},
"node_modules/color-convert": {
@@ -10957,49 +10910,77 @@
}
},
"node_modules/ng-morph": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/ng-morph/-/ng-morph-2.2.4.tgz",
"integrity": "sha512-4AIsjcvUAT6htnX56DsUPZDQuNhWxmi09exUS6TreD6hKghGuqT3QfRf+K9aFw1FJyCsLsh/0py3S/sMtarsIA==",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/ng-morph/-/ng-morph-4.0.0.tgz",
"integrity": "sha512-+opfMF/33fMQRt38oSPT+fnexZm8c635LaTDKOlAnkaDGRWcOM4EllqLf73m+5+D8gurwYXOkimIzj6Jmpx1cA==",
"optional": true,
"dependencies": {
"jsonc-parser": "3.0.0",
"minimatch": "3.0.5",
"jsonc-parser": "3.2.0",
"minimatch": "9.0.1",
"multimatch": "5.0.0",
"ts-morph": "10.0.2"
"semver": "7.4.0",
"ts-morph": "19.0.0"
},
"peerDependencies": {
"@angular-devkit/core": ">=11.0.0",
"@angular-devkit/schematics": ">=11.0.0"
}
},
"node_modules/ng-morph/node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"optional": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
"@angular-devkit/schematics": ">=11.0.0",
"tslib": "2.5.3"
}
},
"node_modules/ng-morph/node_modules/jsonc-parser": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz",
"integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==",
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
"integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
"optional": true
},
"node_modules/ng-morph/node_modules/minimatch": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
"integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
"node_modules/ng-morph/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"optional": true,
"dependencies": {
"brace-expansion": "^1.1.7"
"yallist": "^4.0.0"
},
"engines": {
"node": "*"
"node": ">=10"
}
},
"node_modules/ng-morph/node_modules/minimatch": {
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
"integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
"optional": true,
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
"node": ">=16 || 14 >=14.17"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/ng-morph/node_modules/semver": {
"version": "7.4.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz",
"integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==",
"optional": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/ng-morph/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"optional": true
},
"node_modules/ng-packagr": {
"version": "14.2.2",
"resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-14.2.2.tgz",
@@ -15083,13 +15064,13 @@
"integrity": "sha512-kXrY75F0s0WD15N2bWKDScKlKgwnusN6dTRzGs1N7LlxQRnazrsBISC1HL4sy2adsyk65Zbx3Ui3IGN8leAFOQ=="
},
"node_modules/ts-morph": {
"version": "10.0.2",
"resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-10.0.2.tgz",
"integrity": "sha512-TVuIfEqtr9dW25K3Jajqpqx7t/zLRFxKu2rXQZSDjTm4MO4lfmuj1hn8WEryjeDDBFcNOCi+yOmYUYR4HucrAg==",
"version": "19.0.0",
"resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-19.0.0.tgz",
"integrity": "sha512-D6qcpiJdn46tUqV45vr5UGM2dnIEuTGNxVhg0sk5NX11orcouwj6i1bMqZIz2mZTZB1Hcgy7C3oEVhAT+f6mbQ==",
"optional": true,
"dependencies": {
"@ts-morph/common": "~0.9.0",
"code-block-writer": "^10.1.1"
"@ts-morph/common": "~0.20.0",
"code-block-writer": "^12.0.0"
}
},
"node_modules/ts-node": {

View File

@@ -50,11 +50,11 @@
"@start9labs/argon2": "^0.2.2",
"@start9labs/emver": "^0.1.5",
"@start9labs/start-sdk": "0.4.0-rev0.lib0.rc5",
"@taiga-ui/addon-charts": "3.28.0",
"@taiga-ui/cdk": "3.28.0",
"@taiga-ui/core": "3.28.0",
"@taiga-ui/icons": "3.28.0",
"@taiga-ui/kit": "3.28.0",
"@taiga-ui/addon-charts": "3.53.0",
"@taiga-ui/cdk": "3.53.0",
"@taiga-ui/core": "3.53.0",
"@taiga-ui/icons": "3.53.0",
"@taiga-ui/kit": "3.53.0",
"angular-svg-round-progressbar": "^9.0.0",
"ansi-to-html": "^0.7.2",
"base64-js": "^1.5.1",

View File

@@ -6,7 +6,7 @@ import { SetupLogsService } from '../../../services/setup-logs.service'
import { Log } from '../../../types/api'
import { toLocalIsoString } from '../../../util/to-local-iso-string'
var Convert = require('ansi-to-html')
import Convert from 'ansi-to-html'
var convert = new Convert({
bg: 'transparent',
})

View File

@@ -13,24 +13,24 @@
<ion-text color="warning">Websocket Failed. Reconnecting</ion-text>
</p>
<ng-container *ngIf="serverData[0] as timeInfo">
<ion-item-divider>System Time</ion-item-divider>
<ion-item>
<ion-label>Current Time (UTC)</ion-label>
<h6 slot="end">
{{ timeInfo.systemCurrentTime | date : 'MMMM d, y, h:mm:ss a' : 'UTC'
}}
</h6>
</ion-item>
<ion-item>
<ion-label>Start Time (UTC)</ion-label>
<h6 slot="end">
{{ timeInfo.systemStartTime | date : 'MMMM d, y, h:mm:ss a' : 'UTC' }}
</h6>
</ion-item>
<ion-item>
<ion-label>Uptime</ion-label>
<h6 *ngIf="timeInfo.systemUptime as uptime" slot="end">
<ion-item>
<ion-label>
<h2>Current Time (UTC)</h2>
<h2>
{{ serverData[0].value | date : 'MMMM d, y, h:mm:ss a' : 'UTC' }}
</h2>
<p *ngIf="!serverData[0].synced">
<ion-text color="warning">
NTP not synced, time could be wrong
</ion-text>
</p>
</ion-label>
</ion-item>
<ion-item>
<ion-label>
<h1>Uptime</h1>
<h2 *ngIf="serverData[1] as uptime">
<b>{{ uptime.days }}</b>
Days,
<b>{{ uptime.hours }}</b>
@@ -39,87 +39,115 @@
Minutes,
<b>{{ uptime.seconds }}</b>
Seconds
</h6>
</ion-item>
</ng-container>
</h2>
</ion-label>
</ion-item>
<ng-container *ngIf="serverData[1] as metrics">
<!-- General -->
<ion-item-divider>General</ion-item-divider>
<ion-item>
<ion-label>Temperature</ion-label>
<h6 slot="end">{{ metrics.general.temperature }} °C</h6>
</ion-item>
<!-- Memory -->
<ion-item-divider>Memory</ion-item-divider>
<ion-item>
<ion-label>Percentage Used</ion-label>
<h6 slot="end">{{ metrics.memory['percentage-used'] }} %</h6>
</ion-item>
<ion-item>
<ion-label>Total</ion-label>
<h6 slot="end">{{ metrics.memory.total }} MiB</h6>
</ion-item>
<ion-item>
<ion-label>Available</ion-label>
<h6 slot="end">{{ metrics.memory.available }} MiB</h6>
</ion-item>
<ion-item>
<ion-label>Used</ion-label>
<h6 slot="end">{{ metrics.memory.used }} MiB</h6>
</ion-item>
<ion-item>
<ion-label>Swap Total</ion-label>
<h6 slot="end">{{ metrics.memory['swap-total'] }} MiB</h6>
</ion-item>
<ion-item>
<ion-label>Swap Free</ion-label>
<h6 slot="end">{{ metrics.memory['swap-free'] }} MiB</h6>
</ion-item>
<ion-item>
<ion-label>Swap Used</ion-label>
<h6 slot="end">{{ metrics.memory['swap-used'] }} MiB</h6>
</ion-item>
<!-- CPU -->
<ion-item-divider>CPU</ion-item-divider>
<ion-item>
<ion-label>User Space</ion-label>
<h6 slot="end">{{ metrics.cpu['user-space'] }} %</h6>
</ion-item>
<ion-item>
<ion-label>Kernel Space</ion-label>
<h6 slot="end">{{ metrics.cpu['kernel-space'] }} %</h6>
</ion-item>
<ion-item>
<ion-label>I/O Wait</ion-label>
<h6 slot="end">{{ metrics.cpu['io-wait'] }} %</h6>
</ion-item>
<ion-item>
<ion-label>Idle</ion-label>
<h6 slot="end">{{ metrics.cpu.idle }} %</h6>
</ion-item>
<ion-item>
<ion-label>Usage</ion-label>
<h6 slot="end">{{ metrics.cpu.usage }} %</h6>
</ion-item>
<!-- Disk -->
<ion-item-divider>Disk</ion-item-divider>
<ion-item>
<ion-label>Size</ion-label>
<h6 slot="end">{{ metrics.disk.size }} GB</h6>
</ion-item>
<ion-item>
<ion-label>Used</ion-label>
<h6 slot="end">{{ metrics.disk.used }} GB</h6>
</ion-item>
<ion-item>
<ion-label>Percentage Used</ion-label>
<h6 slot="end">{{ metrics.disk['percentage-used'] }} %</h6>
</ion-item>
<ion-item>
<ion-label>Available</ion-label>
<h6 slot="end">{{ metrics.disk.available }} GB</h6>
</ion-item>
<ng-container *ngIf="serverData[2] as metrics">
<ng-container *ngIf="metrics.general as general">
<ion-item-divider>General</ion-item-divider>
<ion-item>
<ion-label>Temperature</ion-label>
<ion-note slot="end">
<ng-container *ngIf="general.temperature; else noTemp">
{{ general.temperature.value }} &deg;C
</ng-container>
<ng-template #noTemp>N/A</ng-template>
</ion-note>
</ion-item>
</ng-container>
<ng-container *ngIf="metrics.memory as memory">
<ion-item-divider>Memory</ion-item-divider>
<ion-item>
<ion-label>Percentage Used</ion-label>
<ion-note slot="end">
{{ memory['percentage-used'].value }} %
</ion-note>
</ion-item>
<ion-item>
<ion-label>Total</ion-label>
<ion-note slot="end">
<ion-text>{{ memory.total.value }} MiB</ion-text>
</ion-note>
</ion-item>
<ion-item>
<ion-label>Used</ion-label>
<ion-note slot="end">
<ion-text>{{ memory.used.value }} MiB</ion-text>
</ion-note>
</ion-item>
<ion-item>
<ion-label>Available</ion-label>
<ion-note slot="end">{{ memory.available.value }} MiB</ion-note>
</ion-item>
<ion-item>
<ion-label>zram Used</ion-label>
<ion-note slot="end">{{ memory['zram-used'].value }} MiB</ion-note>
</ion-item>
<ion-item>
<ion-label>zram Total</ion-label>
<ion-note slot="end">{{ memory['zram-total'].value }} MiB</ion-note>
</ion-item>
<ion-item>
<ion-label>zram Available</ion-label>
<ion-note slot="end">
{{ memory['zram-available'].value }} MiB
</ion-note>
</ion-item>
</ng-container>
<ng-container *ngIf="metrics.cpu as cpu">
<ion-item-divider>CPU</ion-item-divider>
<ion-item>
<ion-label>Percentage Used</ion-label>
<ion-note slot="end">{{ cpu['percentage-used'].value }} %</ion-note>
</ion-item>
<ion-item>
<ion-label>User Space</ion-label>
<ion-note slot="end">
<ion-text>{{ cpu['user-space'].value }} %</ion-text>
</ion-note>
</ion-item>
<ion-item>
<ion-label>Kernel Space</ion-label>
<ion-note slot="end">
<ion-text>{{ cpu['kernel-space'].value }} %</ion-text>
</ion-note>
</ion-item>
<ion-item>
<ion-label>Idle</ion-label>
<ion-note slot="end">{{ cpu.idle.value }} %</ion-note>
</ion-item>
<ion-item>
<ion-label>I/O Wait</ion-label>
<ion-note slot="end">{{ cpu.wait.value }} %</ion-note>
</ion-item>
</ng-container>
<ng-container *ngIf="metrics.disk as disk">
<ion-item-divider>Disk</ion-item-divider>
<ion-item>
<ion-label>Percentage Used</ion-label>
<ion-note slot="end">{{ disk['percentage-used'].value }} %</ion-note>
</ion-item>
<ion-item>
<ion-label>Capacity</ion-label>
<ion-note slot="end">
<ion-text>{{ disk.capacity.value }} GB</ion-text>
</ion-note>
</ion-item>
<ion-item>
<ion-label>Used</ion-label>
<ion-note slot="end">
<ion-text>{{ disk.used.value }} GB</ion-text>
</ion-note>
</ion-item>
<ion-item>
<ion-label>Available</ion-label>
<ion-note slot="end">{{ disk.available.value }} GB</ion-note>
</ion-item>
</ng-container>
</ng-container>
</ion-item-group>

View File

@@ -19,6 +19,7 @@
"target": "es2020",
"module": "es2020",
"lib": ["es2020", "dom"],
"allowSyntheticDefaultImports": true,
"paths": {
/* These paths are relative to each app base folder */
"@start9labs/marketplace": ["../marketplace/src/public-api"],