This app demonstrates the new *On-Demand ISR support* in Next.js 12.1 (view source).

How does this work?

When issues on the `on-demand-isr` repo change (get created, commented on, deleted, etc), GitHub fires off a webhook and the impacted pages get re-rendered and pushed to the edge, on demand. The webhook on the Next.js app side executes a new `res.revalidate()` API call.

Didn't this exist already?

Unlike `revalidate` with a time interval, a Serverless Function is invoked _only when content changes_, making it faster for the user (they see changes immediately), and more cost-efficient for owners.

_💡 Try creating a new issue or commenting, and refresh this page to see the regenerated one!_
Pages take about *300ms~* to fully propagate to the global Vercel Edge Network after the regeneration completes.

sajidhasan007
sajidhasan007 commented 8 months ago

[āϏāĻŽā§āĻĒāĻžāĻĻāĻ•ā§€ā§Ÿ: āĻĒā§āϰāϜāĻ¨ā§āĻŽâ€™ ā§­ā§§ (āĻŽā§āĻ•ā§āϤāĻŋāϝ⧁āĻĻā§āϧ⧇ āĻļāĻšā§€āĻĻāĻĻ⧇āϰ āϏāĻ¨ā§āϤāĻžāύ) āύāĻžāĻŽāĻ• āϏāĻ‚āĻ—āĻ āύāϟāĻŋ āϝāĻžāĻ¤ā§āϰāĻž āĻļ⧁āϰ⧁ āĻ•āϰ⧇āĻ›āĻŋāϞ ⧧⧝⧝⧧ āϏāύ⧇āϰ ⧍⧝ āĻ…āĻ•ā§āĻŸā§‹āĻŦāϰāĨ¤ āĻĒā§āϰāĻĨāĻŽ āĻĒā§āϰāϤāĻŋāĻˇā§āĻ āĻžāĻŦāĻžāĻ°ā§āώāĻŋāϕ⧀ āωāĻĒāϞāĻ•ā§āώ⧇ ⧧⧝⧝⧍ āϏāĻžāϞ⧇ āϤāĻžāϰāĻž ‘āωāĻ¤ā§āϤāϰāϏ⧂āĻ°ā§€â€™ āύāĻžāĻŽāĻ• āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāϰāĻ• āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰ⧇āύāĨ¤ āϜāĻžāĻšāĻžāύāĻžāϰāĻž āχāĻŽāĻžāĻŽā§‡āϰ āĻāχ āϏāĻžāĻ•ā§āώāĻžā§ŽāĻ•āĻžāϰāϟāĻŋ āϏ⧇āχ āĻ¸ā§āĻŽāĻžāϰāϕ⧇ āĻĒā§āϰāĻ•āĻžāĻļāĻŋāϤ āĻšā§Ÿā§‡āĻ›āĻŋāϞāĨ¤ āφāϜ ⧍ā§Ŧ āϜ⧁āύ, āĻļāĻšāĻŋāĻĻ āϜāύāύ⧀ āϜāĻžāĻšāĻžāύāĻžāϰāĻž āχāĻŽāĻžāĻŽā§‡āϰ āĻŽā§ƒāĻ¤ā§āϝ⧁āĻŦāĻžāĻ°ā§āώāĻŋāϕ⧀āĨ¤ āϤāĻžāρāϰ āĻ¸ā§āĻŽāϰāϪ⧇ āĻĒ⧁āϰāύ⧋ āϏāĻžāĻ•ā§āώāĻžā§ŽāĻ•āĻžāϰāϟāĻŋ āĻŦā§āϞāϗ⧇ āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰāĻž āĻšāϞ⧋āĨ¤ āĻĒā§āϰ⧟āĻžāύāĻĻāĻŋāĻŦāϏ⧇ āφāĻŽāϰāĻž āĻļā§āϰāĻĻā§āϧāĻžāĻ­āϰ⧇ āĻ¸ā§āĻŽāϰāĻŖ āĻ•āϰāĻ›āĻŋ āĻļāĻšāĻŋāĻĻ āϜāύāύ⧀āϕ⧇āĨ¤ āĻĒā§āϰāĻ•āĻžāĻļāύāĻžāϟāĻŋāϰ āĻ¨ā§‡ā§ŸāĻž āĻšā§Ÿā§‡āϛ⧇ āĻ—āĻŖāĻšāĻ¤ā§āϝāĻž āϜāĻžāĻĻ⧁āϘāϰ⧇āϰ āφāĻ°ā§āĻ•āĻžāχāĻ­ āĻĨ⧇āϕ⧇āĨ¤]

āĻĒā§āϰāϜāĻ¨ā§āĻŽâ€™ ā§­ā§§ : āĻāĻ•āϟāĻŋ āĻ•āĻĨāĻž āĻĒāĻžāϝāĻŧāχ āĻŦāϞāĻž āĻšāϝāĻŧ āϝ⧇, āĻ¸ā§āĻŦāĻžāϧ⧀āύāϤāĻžāϰ ⧍⧧ āĻŦāĻ›āϰ āĻĒāϰ⧇ āĻĒ⧁āϰāύ⧋ āĻāĻ•āϟāĻŋ āĻŦāĻŋāώāϝāĻŧ āύāĻŋāϝāĻŧ⧇ āĻāϤ āĻœā§‹āϰāĻĻāĻžāϰ āφāĻ¨ā§āĻĻā§‹āϞāύ āĻ•āϰāĻžāϰ āϕ⧋āύ āĻŽāĻžāύ⧇ āĻšāϝāĻŧāύāĻžā§ˇ āĻāĻ–āύ āϏāĻŽāϝāĻŧ āωāĻ¨ā§āύ⧟āύ⧇āϰāĨ¤ āĻāϤāĻĻāĻŋāύ āĻĒāϰ⧇ āĻāĻŽāύ āĻāĻ•āϟāĻŋ āχāĻ¸ā§āϝ⧁ āύāĻŋāϝāĻŧ⧇ āφāĻ¨ā§āĻĻā§‹āϞāύ āĻ•āϰāĻŦāĻžāϰ āĻĒ⧇āĻ›āύ⧇ āϕ⧋āύ āϞ⧁āĻ•ā§āĻ•āĻžāϝāĻŧāĻŋāϤ āωāĻĻā§āĻĻ⧇āĻļā§āϝ āĻ•āĻžāϜ āĻ•āϰāϛ⧇āĨ¤ āφāĻ¨ā§āĻĻā§‹āϞāύ āĻāϤ āĻĻ⧇āϰ⧀āϤ⧇ āĻ•āϰāĻž āĻšāϞ⧋ āϕ⧇āύ?

āϜāĻžāĻšāĻžāύāĻžāϰāĻž āχāĻŽāĻžāĻŽ: āĻāĻ•āĻžāĻ¤ā§āϤāϰ⧇āϰ āϝ⧁āĻĻā§āϧāĻžāĻĒāϰāĻžāϧ⧀ āĻ—ā§‹āϞāĻžāĻŽ āφāϜāĻŽā§‡āϰ āĻŦāĻŋāϚāĻžāϰ⧇āϰ āĻĻāĻžāĻŦā§€āϕ⧇ āϝāĻžāϰāĻž āĻāϕ⧁āĻļ āĻŦāĻ›āϰ⧇āϰ āĻĒ⧁āϰāύ⧋ āĻŦāĻŋāώāϝāĻŧ āĻŦāϞ⧇ āωāĻĄāĻŧāĻŋāϝāĻŧ⧇ āĻĻāĻŋāϤ⧇ āϚāĻžāϝāĻŧ, āϤāĻžāĻĻ⧇āϰ āĻ…āĻŦāĻ—āϤāĻŋāϰ āϜāĻ¨ā§āϝ āϜāĻžāύāĻžāχ, āϝ⧁āĻĻā§āϧāĻžāĻĒāϰāĻžāϧ⧇āϰ āĻŦāĻŋāϚāĻžāϰ⧇āϰ āϕ⧋āύ āϏāĻŽāϝāĻŧāϏ⧀āĻŽāĻž āĻŦāĻžāϧāĻž āύ⧇āχāĨ¤ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āĻŽāĻšāĻžāϝ⧁āĻĻā§āϧ⧇āϰ āĻĒāĻžā§āϚāĻžāĻļ āĻŦāĻ›āϰ āĻĒāϰ⧇āĻ“ āĻāĻ–āύ⧋ āύāĻžā§ŽāϏ⧀ āϝ⧁āĻĻā§āϧāĻžāĻĒāϰāĻžāϧ⧀āĻĻ⧇āϰ āϖ⧁āρāĻœā§‡ āϖ⧁āρāĻœā§‡ āϧāϰ⧇ āĻŦāĻŋāϚāĻžāϰ āĻ•āϰāĻž āĻšāĻšā§āϛ⧇āĨ¤ āĻāϕ⧁āĻļ āĻŦāĻ›āϰ āϕ⧇āύ, āĻāĻ•āĻļā§‹ āĻŦāĻ›āϰ āĻĒāϰ⧇āĻ“ āϝ⧁āĻĻā§āϧāĻžāĻĒāϰāĻžāϧ⧀āϰ āĻŦāĻŋāϚāĻžāϰ āĻĻāĻžāĻŦā§€ āĻ•āϰāĻž āϝāĻžāϝāĻŧāĨ¤ āĻāχ āĻĻāĻžāĻŦā§€āϰ āĻĒ⧇āĻ›āύ⧇ āϕ⧋āύ āϞ⧁āĻ•ā§āĻ•āĻžāϝāĻŧāĻŋāϤ āωāĻĻā§āĻĻ⧇āĻļā§āϝ āĻŽā§‹āĻŸā§‡āĻ“ āĻ•āĻžāϜ āĻ•āϰāϛ⧇ āύāĻžāĨ¤ āωāĻ¨ā§āĻŽā§āĻ•ā§āϤ āωāĻĻā§āĻĻ⧇āĻļā§āϝ āϝ⧇āϟāĻž āĻ•āĻžāϜ āĻ•āϰāϛ⧇, āϏ⧇āϟāĻž āĻšāϞ āĻāĻ•āĻžāĻ¤ā§āϤāϰ⧇āϰ āĻŽā§āĻ•ā§āϤāĻŋāϝ⧁āĻĻā§āϧ⧇ āϝāĻžāρāϰāĻž āĻļāĻšā§€āĻĻ āĻšāϝāĻŧ⧇āϛ⧇āύ, āϤāĻžāρāĻĻ⧇āϰ āĻŽāĻž, āĻŦāĻžāĻŦāĻž, āĻ­āĻžāχāĻŦā§‹āύ, āĻ¸ā§āĻ¤ā§āϰ⧀, āĻ“ āϛ⧇āϞ⧇ āĻŽā§‡āϝāĻŧ⧇āϰāĻž āϘāĻžāϤāĻ•āĻĻ⧇āϰ āĻŦāĻŋāϚāĻžāϰ āϚāĻžāϝāĻŧāĨ¤ āĻ¸ā§āĻŦāĻžāϧ⧀āύāϤāĻžāϰ āĻĒāϰ āĻĻ⧇āĻļ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϏāĻŽāϝāĻŧ⧇ āĻ…āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āϰāĻžāϜāύ⧈āϤāĻŋāĻ• āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ, āϏāĻžāĻŽāϰāĻŋāĻ• āĻļāĻžāϏāύ, āĻ¸ā§āĻŦ⧈āϰāĻļāĻžāϏāύ āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āĻŦāĻŋāϰāĻžāϜ āĻ•āϰāĻžāϰ āĻ•āĻžāϰāύ⧇ āϘāĻžāϤāĻ•-āĻĻāĻžāϞāĻžāϞāĻĻ⧇āϰ āĻŦāĻŋāϰ⧁āĻĻā§āϧ⧇ āĻāĻ•āϤāĻžāĻŦāĻĻā§āϧ āφāĻ¨ā§āĻĻā§‹āϞāύ āĻœā§‹āϰāĻĻāĻžāϰ āĻ•āϰāĻž āϏāĻŽā§āĻ­āĻŦ āĻšāϝāĻŧāύāĻŋāĨ¤ āφāĻ¨ā§āĻĻā§‹āϞāύ āϝ⧇ āĻāϕ⧇āĻŦāĻžāϰ⧇ āĻšāϝāĻŧāύāĻŋ, āϤāĻž āύāϝāĻŧāĨ¤ āϝāĻ–āύ āĻĨ⧇āϕ⧇ āĻĒāĻžāĻ•āĻŋāĻ¸ā§āϤāĻžāύ⧇āϰ āύāĻžāĻ—āϰāĻŋāĻ• āĻ—ā§‹āϞāĻžāĻŽ āφāϜāĻŽ āĻ…āĻŦ⧈āϧāĻ­āĻžāĻŦ⧇ āĻāĻĻ⧇āĻļ⧇ āĻŦāϏāĻŦāĻžāϏ āĻļ⧁āϰ⧁ āĻ•āϰāϞ āĻāĻŦāĻ‚ āϜāĻžāĻŽāĻžāϤ⧇ āχāϏāϞāĻžāĻŽā§€āϏāĻš āϏāĻžāĻŽā§āĻĒā§āϰāĻĻāĻžāϝāĻŧāĻŋāĻ• āĻĻāϞāϗ⧁āϞāĻŋ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϰāĻžāϜāύ⧀āϤāĻŋ āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĒ⧇āϞ, āϤāĻ–āύ āĻĨ⧇āϕ⧇āχ āĻŽā§āĻ•ā§āϤāĻŋāϝ⧁āĻĻā§āϧ⧇āϰ āĻšā§‡āϤāύāĻžāϰ āĻ¸ā§āĻŦāĻĒāĻ•ā§āώ⧇āϰ āĻĻ⧇āĻļāĻĒā§āϰ⧇āĻŽāĻŋāĻ• āύāĻžāĻ—āϰāĻŋāĻ•āĻŦ⧃āĻ¨ā§āĻĻ āĻŽāĻžāĻā§‡ āĻŽāĻžāĻā§‡āχ āĻĢā§āϝāĻžāϏ⧀āĻŦāĻžāĻĻ āĻ“ āϏāĻžāĻŽā§āĻĒā§āϰāĻĻāĻžāϝāĻŧāĻŋāĻ•āϤāĻž āĻŦāĻŋāϰ⧋āϧ⧀ āφāĻ¨ā§āĻĻā§‹āϞāύ āĻ•āϰ⧇āϛ⧇āύāĨ¤ āĻāĻ–āύ āĻĻ⧇āĻļ⧇ āϏāĻ‚āϏāĻĻā§€āϝāĻŧ āĻ—āύāϤāĻ¨ā§āĻ¤ā§āϰ āĻĒā§āϰāϤāĻŋāĻˇā§āĻ āĻŋāϤ āĻš