async/await: code reads in order, without blocking, errors handled in the same place.
1.3 · Application
7. Salim imports his local calculs.js module with CommonJS. Correct syntax?
Local module = path with ./ or ../; bare name = native (fs) or npm package.
1.3 · Application
8. Salim starts a new project and wants the standard syntax (same as front-end). Choice?
ESM = language standard, consistent front/back, recommended for a new project.
1.3 · Arbitration
9. Salim's project mixes require and import in the same file and crashes. Your call?
One system per file: the config decides, don't mix without explaining it.
1.4 · Recall
10. What should be versioned in Git for a Node project?
The recipe (json + lock) is versioned; node_modules regenerates via npm install.
1.4 · Application
11. Salim installs a restart tool only useful in development. Command?
-D marks dev packages: needed on the machine, not in production.
1.4 · Arbitration
12. Before releasing, npm audit reports a vulnerability in a dependency. Your call?
Dependencies are a real attack vector: audit → update → test → release.
What's next?
Score ≥ 80%: move to Level 2 V3 (native fs/path/os modules, EventEmitter, streams and first HTTP server — Node's system building blocks).
Score between 50% and 80%: review the failed sections (modern JS 1.1, asynchrony 1.2, modules 1.3, npm 1.4), re-read the explanations above, then retake the test.
Score < 50%: restart the level from the beginning, running each snippet with node — asynchrony (1.2) deserves a full second read.