From cf7645a976b1f7c97187649c5a2493d87141edd8 Mon Sep 17 00:00:00 2001
From: Cody Coljee-Gray <cody.cg@gmail.com>
Date: Fri, 8 Aug 2025 01:52:06 -0700
Subject: [PATCH 1/5] fix: grammar call stack vs event queue (#32)

---
 .../en-US.mdx                                                 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/questions/what-is-event-loop-what-is-the-difference-between-call-stack-and-task-queue/en-US.mdx b/questions/what-is-event-loop-what-is-the-difference-between-call-stack-and-task-queue/en-US.mdx
index 20bfdb8..36ff350 100644
--- a/questions/what-is-event-loop-what-is-the-difference-between-call-stack-and-task-queue/en-US.mdx
+++ b/questions/what-is-event-loop-what-is-the-difference-between-call-stack-and-task-queue/en-US.mdx
@@ -5,7 +5,7 @@ subtitle: What is the difference between call stack and task queue?
 
 ## TL;DR
 
-The event loop is concept within the JavaScript runtime environment regarding how asynchronous operations are executed within JavaScript engines. It works as such:
+The event loop is a concept within the JavaScript runtime environment regarding how asynchronous operations are executed within JavaScript engines. It works as such:
 
 1. The JavaScript engine starts executing scripts, placing synchronous operations on the call stack.
 2. When an asynchronous operation is encountered (e.g., `setTimeout()`, HTTP request), it is offloaded to the respective Web API or Node.js API to handle the operation in the background.
@@ -19,7 +19,7 @@ The event loop is concept within the JavaScript runtime environment regarding ho
 
 The unfortunate truth is that it is extremely hard to explain the event loop well using only text. We recommend checking out one of the following excellent videos explaining the event loop:
 
-- [JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue](https://www.youtube.com/watch?v=eiC58R16hb8) (2024): Lydia Hallie is a popular educator on JavaScript and this is the best recent videos explaining the event loop. There's also an [accompanying blog post](https://www.lydiahallie.com/blog/event-loop) for those who prefer detailed text-based explanations.
+- [JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue](https://www.youtube.com/watch?v=eiC58R16hb8) (2024): Lydia Hallie is a popular educator on JavaScript and this is the best recent video explaining the event loop. There's also an [accompanying blog post](https://www.lydiahallie.com/blog/event-loop) for those who prefer detailed text-based explanations.
 - [In the Loop](https://www.youtube.com/watch?v=cCOL7MC4Pl0) (2018): Jake Archibald previously from the Chrome team provides a visual demonstration of the event loop during JSConf 2018, accounting for different types of tasks.
 - [What the heck is the event loop anyway?](https://www.youtube.com/watch?v=8aGhZQkoFbQ) (2014): Philip Robert's gave this epic talk at JSConf 2014 and it is one of the most viewed JavaScript videos on YouTube.
 

From 4739ce95c0f29d1138fd76b8f708978a227771c7 Mon Sep 17 00:00:00 2001
From: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Date: Fri, 8 Aug 2025 08:52:18 +0000
Subject: [PATCH 2/5] [auto] regenerate table of contents

---
 README.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index a237bcf..d1379ba 100644
--- a/README.md
+++ b/README.md
@@ -374,7 +374,7 @@ In JavaScript, `let`, `var`, and `const` are all keywords used to declare variab
 
 <!-- Update here: /questions/what-is-event-loop-what-is-the-difference-between-call-stack-and-task-queue/en-US.mdx -->
 
-The event loop is concept within the JavaScript runtime environment regarding how asynchronous operations are executed within JavaScript engines. It works as such:
+The event loop is a concept within the JavaScript runtime environment regarding how asynchronous operations are executed within JavaScript engines. It works as such:
 
 1. The JavaScript engine starts executing scripts, placing synchronous operations on the call stack.
 2. When an asynchronous operation is encountered (e.g., `setTimeout()`, HTTP request), it is offloaded to the respective Web API or Node.js API to handle the operation in the background.
@@ -388,7 +388,7 @@ The event loop is concept within the JavaScript runtime environment regarding ho
 
 The unfortunate truth is that it is extremely hard to explain the event loop well using only text. We recommend checking out one of the following excellent videos explaining the event loop:
 
-- [JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue](https://www.youtube.com/watch?v=eiC58R16hb8) (2024): Lydia Hallie is a popular educator on JavaScript and this is the best recent videos explaining the event loop. There's also an [accompanying blog post](https://www.lydiahallie.com/blog/event-loop) for those who prefer detailed text-based explanations.
+- [JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue](https://www.youtube.com/watch?v=eiC58R16hb8) (2024): Lydia Hallie is a popular educator on JavaScript and this is the best recent video explaining the event loop. There's also an [accompanying blog post](https://www.lydiahallie.com/blog/event-loop) for those who prefer detailed text-based explanations.
 - [In the Loop](https://www.youtube.com/watch?v=cCOL7MC4Pl0) (2018): Jake Archibald previously from the Chrome team provides a visual demonstration of the event loop during JSConf 2018, accounting for different types of tasks.
 - [What the heck is the event loop anyway?](https://www.youtube.com/watch?v=8aGhZQkoFbQ) (2014): Philip Robert's gave this epic talk at JSConf 2014 and it is one of the most viewed JavaScript videos on YouTube.
 
@@ -3748,7 +3748,7 @@ console.log(isEmpty(obj)); // true
 
 <!-- Update here: /questions/what-is-event-loop-what-is-the-difference-between-call-stack-and-task-queue/en-US.mdx -->
 
-The event loop is concept within the JavaScript runtime environment regarding how asynchronous operations are executed within JavaScript engines. It works as such:
+The event loop is a concept within the JavaScript runtime environment regarding how asynchronous operations are executed within JavaScript engines. It works as such:
 
 1. The JavaScript engine starts executing scripts, placing synchronous operations on the call stack.
 2. When an asynchronous operation is encountered (e.g., `setTimeout()`, HTTP request), it is offloaded to the respective Web API or Node.js API to handle the operation in the background.
@@ -3762,7 +3762,7 @@ The event loop is concept within the JavaScript runtime environment regarding ho
 
 The unfortunate truth is that it is extremely hard to explain the event loop well using only text. We recommend checking out one of the following excellent videos explaining the event loop:
 
-- [JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue](https://www.youtube.com/watch?v=eiC58R16hb8) (2024): Lydia Hallie is a popular educator on JavaScript and this is the best recent videos explaining the event loop. There's also an [accompanying blog post](https://www.lydiahallie.com/blog/event-loop) for those who prefer detailed text-based explanations.
+- [JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue](https://www.youtube.com/watch?v=eiC58R16hb8) (2024): Lydia Hallie is a popular educator on JavaScript and this is the best recent video explaining the event loop. There's also an [accompanying blog post](https://www.lydiahallie.com/blog/event-loop) for those who prefer detailed text-based explanations.
 - [In the Loop](https://www.youtube.com/watch?v=cCOL7MC4Pl0) (2018): Jake Archibald previously from the Chrome team provides a visual demonstration of the event loop during JSConf 2018, accounting for different types of tasks.
 - [What the heck is the event loop anyway?](https://www.youtube.com/watch?v=8aGhZQkoFbQ) (2014): Philip Robert's gave this epic talk at JSConf 2014 and it is one of the most viewed JavaScript videos on YouTube.
 

From 49becd167da6c0dec9b24bd74cb50c3b6b1513ec Mon Sep 17 00:00:00 2001
From: Cody Coljee-Gray <cody.cg@gmail.com>
Date: Fri, 8 Aug 2025 01:52:39 -0700
Subject: [PATCH 3/5] fix: improve describe-event-bubbling (#33)

---
 questions/describe-event-bubbling/en-US.mdx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/questions/describe-event-bubbling/en-US.mdx b/questions/describe-event-bubbling/en-US.mdx
index 3ca9bb1..0bb9e2c 100644
--- a/questions/describe-event-bubbling/en-US.mdx
+++ b/questions/describe-event-bubbling/en-US.mdx
@@ -151,7 +151,7 @@ productList.addEventListener('click', handleBuyClick);
 function handleBuyClick(event) {
   // Check if the clicked element is a button within the list
   if (event.target.tagName.toLowerCase() === 'button') {
-    console.log('Buy button clicked for item:', event.target.textContent);
+    console.log('Buy button clicked for item:', event.target.id);
   }
 }
 ```

From 1504f1bedb6359ee2e4b7784fa67ae55ede5a397 Mon Sep 17 00:00:00 2001
From: Yangshun Tay <tay.yang.shun@gmail.com>
Date: Fri, 8 Aug 2025 16:54:25 +0800
Subject: [PATCH 4/5] fix: remove outdated link in differences between esm and
 cjs

Fixes #34
---
 .../en-US.mdx                                                    | 1 -
 1 file changed, 1 deletion(-)

diff --git a/questions/explain-the-differences-between-commonjs-modules-and-es-modules/en-US.mdx b/questions/explain-the-differences-between-commonjs-modules-and-es-modules/en-US.mdx
index b004ada..17cbfe8 100644
--- a/questions/explain-the-differences-between-commonjs-modules-and-es-modules/en-US.mdx
+++ b/questions/explain-the-differences-between-commonjs-modules-and-es-modules/en-US.mdx
@@ -94,7 +94,6 @@ While CommonJS was the default module system in Node.js initially, ES modules ar
 ## Further reading
 
 - [JavaScript modules - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules)
-- [CommonJS vs ES Modules: the shift from require to import](https://nikolasbarwicki.com/articles/commonjs-vs-es-modules-the-shift-from-require-to-import/)
 - [Modules, introduction - javascript.info](https://javascript.info/modules-intro)
 - [Modules - Eloquent Javascript](https://eloquentjavascript.net/10_modules.html)
 - [CommonJS vs. ES modules in Node.js](https://blog.logrocket.com/commonjs-vs-es-modules-node-js/)

From 40e51eca288c29cbff54bc62c27b0ef790d9eef7 Mon Sep 17 00:00:00 2001
From: Yangshun <tay.yang.shun@gmail.com>
Date: Fri, 8 Aug 2025 17:08:37 +0800
Subject: [PATCH 5/5] i18n

---
 .../describe-event-bubbling/en-US.langnostic.json     |  4 ++--
 questions/describe-event-bubbling/zh-CN.mdx           |  8 ++++----
 .../en-US.langnostic.json                             |  4 ++--
 .../zh-CN.mdx                                         | 11 +++++------
 .../en-US.langnostic.json                             |  8 ++++----
 .../zh-CN.mdx                                         |  4 ++--
 6 files changed, 19 insertions(+), 20 deletions(-)

diff --git a/questions/describe-event-bubbling/en-US.langnostic.json b/questions/describe-event-bubbling/en-US.langnostic.json
index ba1eea0..9be0694 100644
--- a/questions/describe-event-bubbling/en-US.langnostic.json
+++ b/questions/describe-event-bubbling/en-US.langnostic.json
@@ -34,7 +34,7 @@
         "a8ff50ea",
         "3625d327",
         "ac7b2126",
-        "92f262c4",
+        "853c279d",
         "b37f85fb",
         "3c0717ad",
         "26112098",
@@ -78,7 +78,7 @@
         "a8ff50ea",
         "3625d327",
         "ac7b2126",
-        "92f262c4",
+        "853c279d",
         "b37f85fb",
         "3c0717ad",
         "26112098",
diff --git a/questions/describe-event-bubbling/zh-CN.mdx b/questions/describe-event-bubbling/zh-CN.mdx
index cb10caa..4064d42 100644
--- a/questions/describe-event-bubbling/zh-CN.mdx
+++ b/questions/describe-event-bubbling/zh-CN.mdx
@@ -140,8 +140,8 @@ function handleBuyClick(event) {
 ```js
 // HTML:
 // <ul id="product-list">
-//   <li><button id="item1-buy">立即购买</button></li>
-//   <li><button id="item2-buy">立即购买</button></li>
+//   <li><button id="item1-buy">Buy Now</button></li>
+//   <li><button id="item2-buy">Buy Now</button></li>
 // </ul>
 
 const productList = document.getElementById('product-list');
@@ -149,9 +149,9 @@ const productList = document.getElementById('product-list');
 productList.addEventListener('click', handleBuyClick);
 
 function handleBuyClick(event) {
-  // 检查点击的元素是否是列表中的一个按钮
+  // Check if the clicked element is a button within the list
   if (event.target.tagName.toLowerCase() === 'button') {
-    console.log('点击了项目的购买按钮：', event.target.textContent);
+    console.log('Buy button clicked for item:', event.target.id);
   }
 }
 ```
diff --git a/questions/explain-the-differences-between-commonjs-modules-and-es-modules/en-US.langnostic.json b/questions/explain-the-differences-between-commonjs-modules-and-es-modules/en-US.langnostic.json
index 7e7847f..58cb862 100644
--- a/questions/explain-the-differences-between-commonjs-modules-and-es-modules/en-US.langnostic.json
+++ b/questions/explain-the-differences-between-commonjs-modules-and-es-modules/en-US.langnostic.json
@@ -28,7 +28,7 @@
         "67a1d4f3",
         "ae22a9f0",
         "1f4770e5",
-        "66926432"
+        "2f1b469c"
       ]
     },
     "targets": {
@@ -55,7 +55,7 @@
         "67a1d4f3",
         "ae22a9f0",
         "1f4770e5",
-        "66926432"
+        "2f1b469c"
       ]
     }
   }
diff --git a/questions/explain-the-differences-between-commonjs-modules-and-es-modules/zh-CN.mdx b/questions/explain-the-differences-between-commonjs-modules-and-es-modules/zh-CN.mdx
index e75f3b0..e65c435 100644
--- a/questions/explain-the-differences-between-commonjs-modules-and-es-modules/zh-CN.mdx
+++ b/questions/explain-the-differences-between-commonjs-modules-and-es-modules/zh-CN.mdx
@@ -93,9 +93,8 @@ console.log(value); // 42
 
 ## 延伸阅读
 
-* [JavaScript 模块 - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules)
-* [CommonJS vs ES Modules: 从 require 到 import 的转变](https://nikolasbarwicki.com/articles/commonjs-vs-es-modules-the-shift-from-require-to-import/)
-* [模块，简介 - javascript.info](https://javascript.info/modules-intro)
-* [模块 - Eloquent Javascript](https://eloquentjavascript.net/10_modules.html)
-* [Node.js 中的 CommonJS vs. ES 模块](https://blog.logrocket.com/commonjs-vs-es-modules-node-js/)
-* [理解 JavaScript 中的 CommonJS vs. ES 模块](https://www.syncfusion.com/blogs/post/js-commonjs-vs-es-modules)
+* [JavaScript modules - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules)
+* [Modules, introduction - javascript.info](https://javascript.info/modules-intro)
+* [Modules - Eloquent Javascript](https://eloquentjavascript.net/10_modules.html)
+* [CommonJS vs. ES modules in Node.js](https://blog.logrocket.com/commonjs-vs-es-modules-node-js/)
+* [Understanding CommonJS vs. ES Modules in JavaScript](https://www.syncfusion.com/blogs/post/js-commonjs-vs-es-modules)
diff --git a/questions/what-is-event-loop-what-is-the-difference-between-call-stack-and-task-queue/en-US.langnostic.json b/questions/what-is-event-loop-what-is-the-difference-between-call-stack-and-task-queue/en-US.langnostic.json
index 01fdcd0..d683674 100644
--- a/questions/what-is-event-loop-what-is-the-difference-between-call-stack-and-task-queue/en-US.langnostic.json
+++ b/questions/what-is-event-loop-what-is-the-difference-between-call-stack-and-task-queue/en-US.langnostic.json
@@ -8,10 +8,10 @@
       "locale": "en-US",
       "hashes": [
         "77da26a5",
-        "db24c9d8",
+        "4c4ebaf7",
         "def8dd56",
         "2b3223fd",
-        "9f33f88c",
+        "5060e7da",
         "910dc689",
         "2a7816d0",
         "ffd9a88",
@@ -40,10 +40,10 @@
     "targets": {
       "zh-CN": [
         "77da26a5",
-        "db24c9d8",
+        "4c4ebaf7",
         "def8dd56",
         "2b3223fd",
-        "9f33f88c",
+        "5060e7da",
         "910dc689",
         "2a7816d0",
         "ffd9a88",
diff --git a/questions/what-is-event-loop-what-is-the-difference-between-call-stack-and-task-queue/zh-CN.mdx b/questions/what-is-event-loop-what-is-the-difference-between-call-stack-and-task-queue/zh-CN.mdx
index 50aff6d..b82cd43 100644
--- a/questions/what-is-event-loop-what-is-the-difference-between-call-stack-and-task-queue/zh-CN.mdx
+++ b/questions/what-is-event-loop-what-is-the-difference-between-call-stack-and-task-queue/zh-CN.mdx
@@ -5,7 +5,7 @@ subtitle: call stack 和 task queue 之间有什么区别？
 
 ## TL;DR
 
-事件循环是 JavaScript 运行时环境内关于异步操作如何在 JavaScript 引擎中执行的概念。它的工作原理如下：
+事件循环是JavaScript运行时环境中的一个概念，涉及异步操作如何在JavaScript引擎中执行。它的工作原理如下：
 
 1. JavaScript 引擎开始执行脚本，将同步操作放在调用堆栈上。
 2. 当遇到异步操作（例如，`setTimeout()`、HTTP 请求）时，它会被卸载到相应的 Web API 或 Node.js API，以在后台处理该操作。
@@ -19,7 +19,7 @@ subtitle: call stack 和 task queue 之间有什么区别？
 
 不幸的是，仅使用文本很难很好地解释事件循环。我们建议查看以下优秀的视频之一，解释事件循环：
 
-* [JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue](https://www.youtube.com/watch?v=eiC58R16hb8) (2024): Lydia Hallie 是 JavaScript 方面的热门教育家，这是解释事件循环的最新最佳视频。对于那些喜欢详细的基于文本的解释的人，还有一个[配套博客文章](https://www.lydiahallie.com/blog/event-loop)。
+* [JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue](https://www.youtube.com/watch?v=eiC58R16hb8) (2024): Lydia Hallie 是一个受欢迎的 JavaScript 教育者，这是最近解释事件循环的最佳视频。对于那些喜欢详细的基于文本的解释的人，还有一个[随附的博客文章](https://www.lydiahallie.com/blog/event-loop)。
 * [In the Loop](https://www.youtube.com/watch?v=cCOL7MC4Pl0) (2018): 来自 Chrome 团队的 Jake Archibald 在 JSConf 2018 期间提供了事件循环的视觉演示，解释了不同类型的任务。
 * [What the heck is the event loop anyway?](https://www.youtube.com/watch?v=8aGhZQkoFbQ) (2014): Philip Robert 在 JSConf 2014 上发表了这次史诗般的演讲，这是 YouTube 上观看次数最多的 JavaScript 视频之一。
 
