소스 검색

refactor: Added missing dependency types

Owen Diffey 2 년 전
부모
커밋
955cb9cefa
4개의 변경된 파일100개의 추가작업 그리고 1개의 파일을 삭제
  1. 57 0
      frontend/package-lock.json
  2. 3 0
      frontend/package.json
  3. 38 0
      frontend/src/types/toasters.d.ts
  4. 2 1
      frontend/tsconfig.json

+ 57 - 0
frontend/package-lock.json

@@ -35,6 +35,9 @@
       },
       "devDependencies": {
         "@pinia/testing": "^0.0.14",
+        "@types/can-autoplay": "^3.0.1",
+        "@types/dompurify": "^2.3.4",
+        "@types/marked": "^4.0.7",
         "@typescript-eslint/eslint-plugin": "^5.36.1",
         "@typescript-eslint/parser": "^5.36.1",
         "@vitest/coverage-c8": "^0.22.1",
@@ -960,6 +963,12 @@
         "node": ">= 10"
       }
     },
+    "node_modules/@types/can-autoplay": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/can-autoplay/-/can-autoplay-3.0.1.tgz",
+      "integrity": "sha512-E4AYbmLUKP5Bn0jb7w58ul6Yt8hlOzEExpFFIk0LLWklGAqyqy1v+QKOZGT3v5uq6P/bLUCyofkfF/aYQiYHmw==",
+      "dev": true
+    },
     "node_modules/@types/chai": {
       "version": "4.3.3",
       "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz",
@@ -975,6 +984,15 @@
         "@types/chai": "*"
       }
     },
+    "node_modules/@types/dompurify": {
+      "version": "2.3.4",
+      "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-2.3.4.tgz",
+      "integrity": "sha512-EXzDatIb5EspL2eb/xPGmaC8pePcTHrkDCONjeisusLFrVfl38Pjea/R0YJGu3k9ZQadSvMqW0WXPI2hEo2Ajg==",
+      "dev": true,
+      "dependencies": {
+        "@types/trusted-types": "*"
+      }
+    },
     "node_modules/@types/istanbul-lib-coverage": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
@@ -992,12 +1010,24 @@
       "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
       "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
     },
+    "node_modules/@types/marked": {
+      "version": "4.0.7",
+      "resolved": "https://registry.npmjs.org/@types/marked/-/marked-4.0.7.tgz",
+      "integrity": "sha512-eEAhnz21CwvKVW+YvRvcTuFKNU9CV1qH+opcgVK3pIMI6YZzDm6gc8o2vHjldFk6MGKt5pueSB7IOpvpx5Qekw==",
+      "dev": true
+    },
     "node_modules/@types/node": {
       "version": "18.7.14",
       "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.14.tgz",
       "integrity": "sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==",
       "dev": true
     },
+    "node_modules/@types/trusted-types": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz",
+      "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==",
+      "dev": true
+    },
     "node_modules/@typescript-eslint/eslint-plugin": {
       "version": "5.36.2",
       "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz",
@@ -6575,6 +6605,12 @@
       "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
       "dev": true
     },
+    "@types/can-autoplay": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/can-autoplay/-/can-autoplay-3.0.1.tgz",
+      "integrity": "sha512-E4AYbmLUKP5Bn0jb7w58ul6Yt8hlOzEExpFFIk0LLWklGAqyqy1v+QKOZGT3v5uq6P/bLUCyofkfF/aYQiYHmw==",
+      "dev": true
+    },
     "@types/chai": {
       "version": "4.3.3",
       "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz",
@@ -6590,6 +6626,15 @@
         "@types/chai": "*"
       }
     },
+    "@types/dompurify": {
+      "version": "2.3.4",
+      "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-2.3.4.tgz",
+      "integrity": "sha512-EXzDatIb5EspL2eb/xPGmaC8pePcTHrkDCONjeisusLFrVfl38Pjea/R0YJGu3k9ZQadSvMqW0WXPI2hEo2Ajg==",
+      "dev": true,
+      "requires": {
+        "@types/trusted-types": "*"
+      }
+    },
     "@types/istanbul-lib-coverage": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
@@ -6607,12 +6652,24 @@
       "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
       "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
     },
+    "@types/marked": {
+      "version": "4.0.7",
+      "resolved": "https://registry.npmjs.org/@types/marked/-/marked-4.0.7.tgz",
+      "integrity": "sha512-eEAhnz21CwvKVW+YvRvcTuFKNU9CV1qH+opcgVK3pIMI6YZzDm6gc8o2vHjldFk6MGKt5pueSB7IOpvpx5Qekw==",
+      "dev": true
+    },
     "@types/node": {
       "version": "18.7.14",
       "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.14.tgz",
       "integrity": "sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==",
       "dev": true
     },
+    "@types/trusted-types": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz",
+      "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==",
+      "dev": true
+    },
     "@typescript-eslint/eslint-plugin": {
       "version": "5.36.2",
       "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz",

+ 3 - 0
frontend/package.json

@@ -21,6 +21,9 @@
   },
   "devDependencies": {
     "@pinia/testing": "^0.0.14",
+    "@types/can-autoplay": "^3.0.1",
+    "@types/dompurify": "^2.3.4",
+    "@types/marked": "^4.0.7",
     "@typescript-eslint/eslint-plugin": "^5.36.1",
     "@typescript-eslint/parser": "^5.36.1",
     "@vitest/coverage-c8": "^0.22.1",

+ 38 - 0
frontend/src/types/toasters.d.ts

@@ -0,0 +1,38 @@
+declare module "toasters" {
+	export interface ToastObject {
+		content?: string;
+		persistent?: boolean;
+		timeout?: number;
+		interactable?: boolean;
+		visible?: boolean;
+	}
+
+	export default class Toast {
+		constructor(
+			value: ToastObject["content"] | ToastObject,
+			options?: ToastObject
+		);
+
+		get visible(): ToastObject["visible"];
+
+		set visible(value: ToastObject["visible"]);
+
+		get content(): ToastObject["content"];
+
+		set content(value: ToastObject["content"]);
+
+		startTimer(): void;
+
+		dragListener(): void;
+
+		handleInputLoss(): void;
+
+		find(): HTMLElement;
+
+		destroy(): void;
+
+		show(): void;
+
+		hide(): void;
+	}
+}

+ 2 - 1
frontend/tsconfig.json

@@ -22,7 +22,8 @@
       "@intlify/vite-plugin-vue-i18n/client",
       "vitest/globals"
     ],
-    "strict": true
+    "strict": true,
+    "allowSyntheticDefaultImports": true
   },
   "exclude": [
     "./src/index.html",