fix: upgrade typescript
This commit is contained in:
parent
7a5b699b30
commit
ca2d087569
|
|
@ -66,7 +66,7 @@
|
|||
"puppeteer": "^17.1.3",
|
||||
"rimraf": "^3.0.2",
|
||||
"tree-kill": "^1.2.0",
|
||||
"typescript": "4.0.2",
|
||||
"typescript": "^5.9.2",
|
||||
"wait-on": "^5.3.0"
|
||||
},
|
||||
"eslintConfig": {
|
||||
|
|
|
|||
|
|
@ -89,7 +89,10 @@ export default class AddDialog extends Component<IProps, IState> {
|
|||
);
|
||||
}
|
||||
|
||||
private handleChange(propertyName: string, event: React.ChangeEvent<HTMLInputElement>) {
|
||||
private handleChange(
|
||||
propertyName: 'description' | 'name',
|
||||
event: React.ChangeEvent<HTMLInputElement>
|
||||
) {
|
||||
const state = this.state;
|
||||
state[propertyName] = event.target.value;
|
||||
this.setState(state);
|
||||
|
|
|
|||
|
|
@ -101,7 +101,10 @@ export default class UpdateDialog extends Component<IProps, IState> {
|
|||
);
|
||||
}
|
||||
|
||||
private handleChange(propertyName: string, event: React.ChangeEvent<HTMLInputElement>) {
|
||||
private handleChange(
|
||||
propertyName: 'name' | 'description',
|
||||
event: React.ChangeEvent<HTMLInputElement>
|
||||
) {
|
||||
const state = this.state;
|
||||
state[propertyName] = event.target.value;
|
||||
this.setState(state);
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ export default class AddDialog extends Component<IProps, {name: string}> {
|
|||
);
|
||||
}
|
||||
|
||||
private handleChange(propertyName: string, event: React.ChangeEvent<HTMLInputElement>) {
|
||||
private handleChange(propertyName: 'name', event: React.ChangeEvent<HTMLInputElement>) {
|
||||
const state = this.state;
|
||||
state[propertyName] = event.target.value;
|
||||
this.setState(state);
|
||||
|
|
|
|||
|
|
@ -78,8 +78,8 @@ export default class UpdateDialog extends Component<IProps, IState> {
|
|||
);
|
||||
}
|
||||
|
||||
private handleChange(propertyName: string, event: React.ChangeEvent<HTMLInputElement>) {
|
||||
const state = {};
|
||||
private handleChange(propertyName: 'name', event: React.ChangeEvent<HTMLInputElement>) {
|
||||
const state = this.state;
|
||||
state[propertyName] = event.target.value;
|
||||
this.setState(state);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,15 +136,17 @@ export class MessagesStore {
|
|||
}
|
||||
};
|
||||
|
||||
private getUnCached = (appId: number): Array<IMessage & {image: string | null}> => {
|
||||
const appToImage = this.appStore
|
||||
private getUnCached = (appId: number): Array<IMessage> => {
|
||||
const appToImage: Partial<Record<string, string>> = this.appStore
|
||||
.getItems()
|
||||
.reduce((all, app) => ({...all, [app.id]: app.image}), {});
|
||||
|
||||
return this.stateOf(appId, false).messages.map((message: IMessage) => ({
|
||||
...message,
|
||||
image: appToImage[message.appid] || null,
|
||||
}));
|
||||
return this.stateOf(appId, false).messages.map(
|
||||
(message: IMessage): IMessage => ({
|
||||
...message,
|
||||
image: appToImage[message.appid],
|
||||
})
|
||||
);
|
||||
};
|
||||
|
||||
public get = createTransformer(this.getUnCached);
|
||||
|
|
|
|||
|
|
@ -7,9 +7,7 @@ export enum RenderMode {
|
|||
|
||||
export const contentType = (extras?: IMessageExtras): RenderMode => {
|
||||
const type = extract(extras, 'client::display', 'contentType');
|
||||
const valid = Object.keys(RenderMode)
|
||||
.map((k) => RenderMode[k])
|
||||
.some((mode) => mode === type);
|
||||
const valid = Object.values(RenderMode).includes(type);
|
||||
return valid ? type : RenderMode.Plain;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -172,6 +172,9 @@ describe('plugin', () => {
|
|||
await inDetailPage(1, async () => {
|
||||
await page.waitForSelector('.displayer a');
|
||||
const hook = await page.$eval('.displayer a', (el) => el.getAttribute('href'));
|
||||
if (!hook) {
|
||||
throw 'href not found';
|
||||
}
|
||||
await axios.get(hook);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -50,7 +50,9 @@ export const newTest = async (pluginsDir = ''): Promise<GotifyTest> => {
|
|||
close: async () => {
|
||||
await Promise.all([
|
||||
browser.close(),
|
||||
new Promise((resolve) => kill(gotifyInstance.pid!, 'SIGKILL', () => resolve())),
|
||||
new Promise((resolve) =>
|
||||
kill(gotifyInstance.pid!, 'SIGKILL', () => resolve(undefined))
|
||||
),
|
||||
]);
|
||||
rimraf.sync(gotifyFile, {maxBusyTries: 8});
|
||||
},
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ export const waitForExists = async (page: Page, selector: string, text: string):
|
|||
export const clearField = async (element: ElementHandle | Page, selector: string) => {
|
||||
const elementHandle = await element.$(selector);
|
||||
if (!elementHandle) {
|
||||
throw "element handle not set"
|
||||
throw 'element handle not set';
|
||||
}
|
||||
await elementHandle.click();
|
||||
await elementHandle.focus();
|
||||
|
|
|
|||
|
|
@ -110,13 +110,13 @@ export default class AddEditDialog extends Component<IProps, IState> {
|
|||
);
|
||||
}
|
||||
|
||||
private handleChange(propertyName: string, event: ChangeEvent<HTMLInputElement>) {
|
||||
private handleChange(propertyName: 'name' | 'pass', event: ChangeEvent<HTMLInputElement>) {
|
||||
const state = this.state;
|
||||
state[propertyName] = event.target.value;
|
||||
this.setState(state);
|
||||
}
|
||||
|
||||
private handleChecked(propertyName: string, event: ChangeEvent<HTMLInputElement>) {
|
||||
private handleChecked(propertyName: 'admin', event: ChangeEvent<HTMLInputElement>) {
|
||||
const state = this.state;
|
||||
state[propertyName] = event.target.checked;
|
||||
this.setState(state);
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ export default class RegistrationDialog extends Component<IProps, IState> {
|
|||
);
|
||||
}
|
||||
|
||||
private handleChange(propertyName: string, event: ChangeEvent<HTMLInputElement>) {
|
||||
private handleChange(propertyName: keyof IState, event: ChangeEvent<HTMLInputElement>) {
|
||||
const state = this.state;
|
||||
state[propertyName] = event.target.value;
|
||||
this.setState(state);
|
||||
|
|
|
|||
|
|
@ -3827,10 +3827,10 @@ typeface-roboto@1.1.13:
|
|||
resolved "https://registry.yarnpkg.com/typeface-roboto/-/typeface-roboto-1.1.13.tgz#9c4517cb91e311706c74823e857b4bac9a764ae5"
|
||||
integrity sha512-YXvbd3a1QTREoD+FJoEkl0VQNJoEjewR2H11IjVv4bp6ahuIcw0yyw/3udC4vJkHw3T3cUh85FTg8eWef3pSaw==
|
||||
|
||||
typescript@4.0.2:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.2.tgz#7ea7c88777c723c681e33bf7988be5d008d05ac2"
|
||||
integrity sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==
|
||||
typescript@^5.9.2:
|
||||
version "5.9.2"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.2.tgz#d93450cddec5154a2d5cabe3b8102b83316fb2a6"
|
||||
integrity sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==
|
||||
|
||||
ua-parser-js@^0.7.30:
|
||||
version "0.7.31"
|
||||
|
|
|
|||
Loading…
Reference in New Issue