كيفية التخلص من خطأ TypeScript في تقييم Puppeteer؟


لدي سكربت بسيط باستخدام Puppeteer:

export async function inspectWebpage(source) {
  const b = await getBrowser()
  const p = await b.newPage()
  await p.goto(path)
  const script = fs.readFileSync(
    'host/code/node/puppeteer/crawl.js',
    'utf-8',
  )
  await p.evaluate(script)
  let data = await p.evaluate(() => task.getWebpageData())
  await b.close()
  return data
}

أرى هذا في كل مرة أستخدمها، وأود التخلص منه.

Cannot find name 'task'.ts(2304)

كائن task هو ما قمت بتصديره على مستوى العالم من بناء webpack، للحصول على ذلك script داخل سياق puppeteer.

وضع مشابه عند محاولة الوصول إلى أشياء على window في puppeteer، مثل window.X.y يعطيني:

Property 'X' does not exist on type 'Window & typeof globalThis'.

فكيف أضيف تعليقات نوعية في هذا الموضع؟ ماذا لو أراد نصي الوصول إلى متغير عالمي قمت بحقنه، مثل هذا النوع من الأشياء.