TS1309
TypeScriptERRORNotableSyntaxHIGH confidence

The current file is a CommonJS module and cannot use 'await' at the top level.

Production Risk

Build will fail; resolve before shipping.

What this means

A syntax error (TS1309): The current file is a CommonJS module and cannot use 'await' at the top level.. This diagnostic is emitted by the TypeScript compiler when the current file is a CommonJS module and cannot use 'await' at the top level..

Why it happens
  1. 1await used outside an async function, or async/await return type mismatch
How to reproduce

TypeScript compiler reports TS1309 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS1309
// The current file is a CommonJS module and cannot use 'await' at the top level.

expected output

error TS1309: The current file is a CommonJS module and cannot use 'await' at the top level.

Fix

Add 'async' to the containing function

WHEN Using await outside an async function

Add 'async' to the containing function
// Mark the function as async
async function fetchData() {
  const result = await fetch('/api/data');
  return result.json();
}

Why this works

await can only be used inside async functions; the 'async' keyword makes the function return a Promise.

Sources
Official documentation ↗

TypeScript Compiler Diagnostics

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All TypeScript errors