From e9a86cc1cc0fdd0d6d5daff811cee2c1d23a3d55 Mon Sep 17 00:00:00 2001
From: Vladimir Milojevic <vladamx.dev@gmail.com>
Date: Tue, 19 Jun 2018 22:55:13 +0200
Subject: [PATCH 1/2] EMS module loading is async by design.

I thought that this small addition could bring even more value for this already awesome and unique piece of knowledge.
---
 chapters/ch01.asciidoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/chapters/ch01.asciidoc b/chapters/ch01.asciidoc
index ddd5d6e..3000e08 100644
--- a/chapters/ch01.asciidoc
+++ b/chapters/ch01.asciidoc
@@ -172,7 +172,7 @@ import('./mathlib').then(mathlib => {
 })
 ----
 
-In ESM, too, every file is a module with its own scope and context. One major advantage in ESM over CJS is how ESM has -- and encourages -- a way of statically importing dependencies. Static imports vastly improve the introspection capabilities of module systems, given they can be analyzed statically and lexically extracted from the abstract syntax tree (AST) of each module in the system. Static imports in ESM are constrained to the topmost level of a module, further simplifying parsing and introspection.
+In ESM, too, every file is a module with its own scope and context. One major advantage in ESM over CJS is how ESM has -- and encourages -- a way of statically importing dependencies. Static imports vastly improve the introspection capabilities of module systems, given they can be analyzed statically and lexically extracted from the abstract syntax tree (AST) of each module in the system. Static imports in ESM are constrained to the topmost level of a module, further simplifying parsing and introspection. Another advantage over CJS require() is that ESM specifies asynchronous module loading, which implies that multiple parts of dependency graph could be loaded in parallel. However, this feature is not yet implemented in most evironments, even though there is a strong indication that Node.js v10.x.x might include this feature as well. Once again, you can notice the power of declarativness and non-leaky abstractions.
 
 In Node.js v8.5.0, ESM support was introduced behind an `--experimental-modules` flag -- provided that we use the `.mjs` file extension for our modules. Most evergreen browsers already support ESM without flags.
 

From 16ff42b4998c0d2c3b8b6093d4268b93f7f59278 Mon Sep 17 00:00:00 2001
From: Vladimir Milojevic <vladamx.dev@gmail.com>
Date: Tue, 19 Jun 2018 23:02:23 +0200
Subject: [PATCH 2/2] Fix spelling.

---
 chapters/ch01.asciidoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/chapters/ch01.asciidoc b/chapters/ch01.asciidoc
index 3000e08..ba59df9 100644
--- a/chapters/ch01.asciidoc
+++ b/chapters/ch01.asciidoc
@@ -172,7 +172,7 @@ import('./mathlib').then(mathlib => {
 })
 ----
 
-In ESM, too, every file is a module with its own scope and context. One major advantage in ESM over CJS is how ESM has -- and encourages -- a way of statically importing dependencies. Static imports vastly improve the introspection capabilities of module systems, given they can be analyzed statically and lexically extracted from the abstract syntax tree (AST) of each module in the system. Static imports in ESM are constrained to the topmost level of a module, further simplifying parsing and introspection. Another advantage over CJS require() is that ESM specifies asynchronous module loading, which implies that multiple parts of dependency graph could be loaded in parallel. However, this feature is not yet implemented in most evironments, even though there is a strong indication that Node.js v10.x.x might include this feature as well. Once again, you can notice the power of declarativness and non-leaky abstractions.
+In ESM, too, every file is a module with its own scope and context. One major advantage in ESM over CJS is how ESM has -- and encourages -- a way of statically importing dependencies. Static imports vastly improve the introspection capabilities of module systems, given they can be analyzed statically and lexically extracted from the abstract syntax tree (AST) of each module in the system. Static imports in ESM are constrained to the topmost level of a module, further simplifying parsing and introspection. Another advantage over CJS require() is that ESM specifies asynchronous module loading, which implies that multiple parts of dependency graph could be loaded in parallel. However, this feature is not yet implemented in most environments, even though there is a strong indication that Node.js v10.x.x might include this feature as well. Once again, you can notice the power of declarativeness and non-leaky abstractions.
 
 In Node.js v8.5.0, ESM support was introduced behind an `--experimental-modules` flag -- provided that we use the `.mjs` file extension for our modules. Most evergreen browsers already support ESM without flags.
 
