Make typescript happy, tsc test run in CI
This commit is contained in:
parent
5610df8b37
commit
a89e17a390
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
|
||||
|
30
package.json
30
package.json
@ -1,28 +1,30 @@
|
||||
{
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
|
@ -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 New Issue
Block a user