Make typescript happy, tsc test run in CI
This commit is contained in:
		
							parent
							
								
									5610df8b37
								
							
						
					
					
						commit
						a89e17a390
					
				
					 11 changed files with 45 additions and 36 deletions
				
			
		
							
								
								
									
										2
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							|  | @ -24,4 +24,4 @@ jobs: | |||
|               run: pnpm install --frozen-lockfile | ||||
| 
 | ||||
|             - name: Lint & Test if it compiles | ||||
|               run: pnpm lint && pnpm build | ||||
|               run: pnpm test | ||||
|  |  | |||
							
								
								
									
										54
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										54
									
								
								package.json
									
									
									
									
									
								
							|  | @ -1,28 +1,30 @@ | |||
| { | ||||
|     "devDependencies": { | ||||
|         "@types/node": "^18.7.13", | ||||
|         "@types/react": "^18.0.17", | ||||
|         "@types/yazl": "^2.4.2", | ||||
|         "@typescript-eslint/parser": "^5.39.0", | ||||
|         "electron": "^20.1.0", | ||||
|         "esbuild": "^0.15.5", | ||||
|         "eslint": "^8.24.0", | ||||
|         "typescript": "^4.8.4", | ||||
|         "yazl": "^2.5.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "console-menu": "^0.1.0", | ||||
|         "discord-types": "^1.3.26", | ||||
|         "electron-devtools-installer": "^3.2.0" | ||||
|     }, | ||||
|     "scripts": { | ||||
|         "buildWeb": "node buildWeb.mjs", | ||||
|         "build": "node build.mjs", | ||||
|         "watch": "node build.mjs --watch", | ||||
|         "inject": "node scripts/patcher/install.js", | ||||
|         "uninject": "node scripts/patcher/uninstall.js", | ||||
|         "lint": "eslint . --ext .js,.jsx,.ts,.tsx", | ||||
|         "lint:fix": "pnpm lint --fix" | ||||
|     }, | ||||
|     "packageManager": "pnpm@7.12.2" | ||||
|   "scripts": { | ||||
|     "build": "node build.mjs", | ||||
|     "buildWeb": "node buildWeb.mjs", | ||||
|     "inject": "node scripts/patcher/install.js", | ||||
|     "lint": "eslint . --ext .js,.jsx,.ts,.tsx", | ||||
|     "lint:fix": "pnpm lint --fix", | ||||
|     "test": "pnpm lint && pnpm build && pnpm testTsc", | ||||
|     "testTsc": "tsc --noEmit", | ||||
|     "uninject": "node scripts/patcher/uninstall.js", | ||||
|     "watch": "node build.mjs --watch" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "console-menu": "^0.1.0", | ||||
|     "electron-devtools-installer": "^3.2.0" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@types/node": "^18.7.13", | ||||
|     "@types/react": "^18.0.17", | ||||
|     "@types/yazl": "^2.4.2", | ||||
|     "@typescript-eslint/parser": "^5.39.0", | ||||
|     "discord-types": "^1.3.26", | ||||
|     "electron": "^20.1.0", | ||||
|     "esbuild": "^0.15.5", | ||||
|     "eslint": "^8.24.0", | ||||
|     "typescript": "^4.8.4", | ||||
|     "yazl": "^2.5.1" | ||||
|   }, | ||||
|   "packageManager": "pnpm@7.12.2" | ||||
| } | ||||
|  |  | |||
|  | @ -22,7 +22,7 @@ Object.defineProperty(window, "IS_WEB", { | |||
|     enumerable: true | ||||
| }); | ||||
| 
 | ||||
| export let Components; | ||||
| export let Components: any; | ||||
| 
 | ||||
| async function init() { | ||||
|     await onceReady; | ||||
|  |  | |||
|  | @ -67,7 +67,7 @@ type ClickListener = (message: Message, channel: Channel, event: MouseEvent) => | |||
| 
 | ||||
| const listeners = new Set<ClickListener>(); | ||||
| 
 | ||||
| export function _handleClick(message, channel, event) { | ||||
| export function _handleClick(message: Message, channel: Channel, event: MouseEvent) { | ||||
|     for (const listener of listeners) { | ||||
|         try { | ||||
|             listener(message, channel, event); | ||||
|  |  | |||
|  | @ -127,7 +127,7 @@ export default ErrorBoundary.wrap(function Settings() { | |||
|                         disabled={p.required || dependency} | ||||
|                         key={p.name} | ||||
|                         value={settings.plugins[p.name].enabled || p.required || dependency} | ||||
|                         onChange={v => { | ||||
|                         onChange={(v: boolean) => { | ||||
|                             settings.plugins[p.name].enabled = v; | ||||
|                             let needsRestart = Boolean(p.patches?.length); | ||||
|                             if (v) { | ||||
|  |  | |||
							
								
								
									
										2
									
								
								src/globals.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								src/globals.d.ts
									
									
									
									
										vendored
									
									
								
							|  | @ -12,7 +12,7 @@ declare global { | |||
|             push(chunk: any): any; | ||||
|             pop(): any; | ||||
|         }; | ||||
|         [k: PropertyKey]: any; | ||||
|         [k: string]: any; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -16,7 +16,7 @@ export default definePlugin({ | |||
|         }, | ||||
|     ], | ||||
| 
 | ||||
|     rand(file) { | ||||
|     rand(file: string) { | ||||
|         const chars = | ||||
|             "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; | ||||
|         const rand = Array.from( | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| export class ChangeList<T>{ | ||||
|     private set = new Set<T>; | ||||
|     private set = new Set<T>(); | ||||
| 
 | ||||
|     public get changeCount() { | ||||
|         return this.set.size; | ||||
|  |  | |||
|  | @ -28,7 +28,7 @@ export function lazyWebpack<T = any>(filter: FilterFn): T { | |||
|         construct: (_, args, newTarget) => Reflect.construct(getMod(), args, newTarget), | ||||
|         deleteProperty: (_, prop) => delete getMod()[prop], | ||||
|         defineProperty: (_, property, attributes) => !!Object.defineProperty(getMod(), property, attributes) | ||||
|     }) as T; | ||||
|     }) as any as T; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  |  | |||
|  | @ -12,7 +12,8 @@ export async function toggle(isEnabled: boolean) { | |||
|             VencordNative.ipc.on(IpcEvents.QUICK_CSS_UPDATE, (_, css: string) => style.innerText = css); | ||||
|             style.innerText = await VencordNative.ipc.invoke(IpcEvents.GET_QUICK_CSS); | ||||
|         } | ||||
|     } else style.disabled = !isEnabled; | ||||
|     } else // @ts-ignore yes typescript, property 'disabled' does exist on type 'HTMLStyleElement' u should try reading the docs some time
 | ||||
|         style.disabled = !isEnabled; | ||||
| } | ||||
| 
 | ||||
| document.addEventListener("DOMContentLoaded", () => { | ||||
|  |  | |||
|  | @ -2,7 +2,13 @@ | |||
|     "compilerOptions": { | ||||
|         "allowSyntheticDefaultImports": true, | ||||
|         "esModuleInterop": true, | ||||
|         "lib": ["DOM", "esnext", "esnext.array", "esnext.asynciterable", "esnext.symbol"], | ||||
|         "lib": [ | ||||
|             "DOM", | ||||
|             "esnext", | ||||
|             "esnext.array", | ||||
|             "esnext.asynciterable", | ||||
|             "esnext.symbol" | ||||
|         ], | ||||
|         "module": "commonjs", | ||||
|         "moduleResolution": "node", | ||||
|         "strict": true, | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue