Back to Medusa

{metadata.title}

www/apps/resources/app/lint/rules/scheduled-job-default-export-required/page.mdx

2.17.01.0 KB
Original Source

export const metadata = { title: scheduled-job-default-export-required - ESLint plugin rules, }

{metadata.title}

This rule requires scheduled job files to default-export the job function.

Severity

error. This rule is enabled in the recommended preset.

What it Targets

This rule targets files in your project's src/jobs directory. It reports a scheduled job file that has no default export.

The following code is reported by the rule:

ts
export const syncProducts = async () => {}

Instead, default-export the async job function:

ts
export default async function syncProducts() {}

export const config = {
  name: "sync-products",
  schedule: "0 0 * * *",
}

Why it's Important

Medusa registers and runs the job's default export on its schedule. Without a default export, the job never runs.

Learn more in the Scheduled Jobs documentation.

Fixable

This rule isn't auto-fixable.