From bf16916992519dfa623520c72a9130954068dd3b Mon Sep 17 00:00:00 2001 From: Yuki Hattori Date: Sun, 15 Sep 2024 21:21:00 +0900 Subject: [PATCH] Fix TypeScript error --- src/converter.ts | 36 +++++++++++++++++++----------------- src/utils/puppeteer.ts | 4 ++-- src/watcher.ts | 6 +++--- 3 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/converter.ts b/src/converter.ts index 5f5512d8..539c9061 100644 --- a/src/converter.ts +++ b/src/converter.ts @@ -296,23 +296,25 @@ export class Converter { let outlineData: OutlineData | undefined - ret.buffer = await this.usePuppeteer(html, async (page, { render }) => { - await render() - - if (tpl.rendered.outline) { - outlineData = await page.evaluate( - pptrOutlinePositionResolver, - tpl.rendered.outline.flatMap((o) => o.headings), - pdfOutlineAttr - ) - } + ret.buffer = Buffer.from( + await this.usePuppeteer(html, async (page, { render }) => { + await render() + + if (tpl.rendered.outline) { + outlineData = await page.evaluate( + pptrOutlinePositionResolver, + tpl.rendered.outline.flatMap((o) => o.headings), + pdfOutlineAttr + ) + } - return await page.pdf({ - printBackground: true, - preferCSSPageSize: true, - timeout: this.puppeteerTimeout, + return await page.pdf({ + printBackground: true, + preferCSSPageSize: true, + timeout: this.puppeteerTimeout, + }) }) - }) + ) // Apply PDF metadata and annotations const creationDate = new Date() @@ -426,14 +428,14 @@ export class Converter { page, extension: opts.type, }) - ret.buffer = await screenshot(page) + ret.buffer = Buffer.from(await screenshot(page)) files.push(ret) } } else { // Title image const ret = file.convert(this.options.output, { extension: opts.type }) - ret.buffer = await screenshot() + ret.buffer = Buffer.from(await screenshot()) files.push(ret) } diff --git a/src/utils/puppeteer.ts b/src/utils/puppeteer.ts index b1d10bc6..010bdb5b 100644 --- a/src/utils/puppeteer.ts +++ b/src/utils/puppeteer.ts @@ -13,8 +13,8 @@ import { isWSL, resolveWindowsEnv } from './wsl' let executablePath: string | undefined | false = false let wslTmp: string | undefined -export const enableHeadless = (): true | 'new' => - process.env.PUPPETEER_HEADLESS_MODE?.toLowerCase() === 'new' ? 'new' : true +export const enableHeadless = (): 'shell' | true => + process.env.PUPPETEER_HEADLESS_MODE?.toLowerCase() === 'new' ? true : 'shell' const isShebang = (path: string) => { let fd: number | null = null diff --git a/src/watcher.ts b/src/watcher.ts index e2d73685..8d3b7dfd 100644 --- a/src/watcher.ts +++ b/src/watcher.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-namespace */ import crypto from 'crypto' import path from 'path' -import chokidar from 'chokidar' +import chokidar, { type FSWatcher } from 'chokidar' import { getPortPromise } from 'portfinder' import { Server as WSServer, ServerOptions } from 'ws' import { Converter, ConvertedCallback } from './converter' @@ -9,7 +9,7 @@ import { isError } from './error' import { File, FileType } from './file' export class Watcher { - chokidar: chokidar.FSWatcher + chokidar: FSWatcher readonly converter: Converter readonly events: Watcher.Events @@ -23,7 +23,7 @@ export class Watcher { this.mode = opts.mode this.chokidar = chokidar - .watch(watchPath, { disableGlobbing: true, ignoreInitial: true }) + .watch(watchPath, { ignoreInitial: true }) .on('change', (f) => this.convert(f)) .on('add', (f) => this.convert(f)) .on('unlink', (f) => this.delete(f))