refactor: nodejs roadmap resources (#8371)

Co-authored-by: Arik Chakma <arikchangma@gmail.com>
pull/8385/head^2
Vedansh 3 weeks ago committed by GitHub
parent 55efe7f954
commit d6b0357ee7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 6
      src/data/roadmaps/nodejs/content/--watch@812bVEzxwTsYzLG_PmLqN.md
  2. 2
      src/data/roadmaps/nodejs/content/__dirname@1AaGG660rvZlNYMOA35qO.md
  3. 2
      src/data/roadmaps/nodejs/content/__filename@P2gdwx1qCxvg1Ppfw0aqQ.md
  4. 2
      src/data/roadmaps/nodejs/content/async-programming@uE7fvHSTSdebMf5RsNyaY.md
  5. 2
      src/data/roadmaps/nodejs/content/axios@BOLiZg8YDKADMwP01U5ph.md
  6. 2
      src/data/roadmaps/nodejs/content/callbacks@GwInWcbQn18PnzKGXzmln.md
  7. 2
      src/data/roadmaps/nodejs/content/chokidar@een1zhvgN_33Cu6OiWtyX.md
  8. 2
      src/data/roadmaps/nodejs/content/commander@BxxLQUI7JcQgF6TK3L5uU.md
  9. 20
      src/data/roadmaps/nodejs/content/common-built-in-modules@M62lAWBOrTe99TfpFOQ-Y.md
  10. 2
      src/data/roadmaps/nodejs/content/cypress@3Fh3-V1kCZtlUTvEoloIO.md
  11. 2
      src/data/roadmaps/nodejs/content/debugging@ZLNUuDKhJ03Kw7xMVc7IR.md
  12. 2
      src/data/roadmaps/nodejs/content/drizzle@JXQF9H4_N0rM7ZDKcCZNn.md
  13. 6
      src/data/roadmaps/nodejs/content/ejs@L-_N7OxxuHCXsdWYBgZGu.md
  14. 2
      src/data/roadmaps/nodejs/content/esm@mKccfWOhC1Aj4VnaOqryA.md
  15. 4
      src/data/roadmaps/nodejs/content/expressjs@1vq_KcYR_pkfp1MtXaL75.md
  16. 4
      src/data/roadmaps/nodejs/content/fastify@WkU_rI4i-UmNSxb5F9TI-.md
  17. 2
      src/data/roadmaps/nodejs/content/figlet-package@PHLdJylzNZDJBGi8FFsfO.md
  18. 2
      src/data/roadmaps/nodejs/content/fs-extra@zDmWGRrgwq3Gjfkyk6crK.md
  19. 2
      src/data/roadmaps/nodejs/content/fs-module@b1r1X3XCoPSayQjDBcy54.md
  20. 2
      src/data/roadmaps/nodejs/content/got-package@6stiDKubT6XVAOGiJ6wsx.md
  21. 2
      src/data/roadmaps/nodejs/content/history-of-nodejs@Vrcv5px-3fqmyJnQv3WBK.md
  22. 2
      src/data/roadmaps/nodejs/content/hono@Xa-lA1wbZ9JZ_XpXfhhw5.md
  23. 2
      src/data/roadmaps/nodejs/content/http-module@Sjc1YDtbzXyLQH711_3nj.md
  24. 2
      src/data/roadmaps/nodejs/content/inquirer-package@WFJJtIqVoBIhK10XY-d7l.md
  25. 4
      src/data/roadmaps/nodejs/content/introduction-to-nodejs@KDd40JOAvZ8O1mfhTYB3K.md
  26. 4
      src/data/roadmaps/nodejs/content/jest@5xrbKv2stKPJRv7Vzf9nM.md
  27. 2
      src/data/roadmaps/nodejs/content/jsonwebtoken@7u2WMxjLx3mMtn0cha4M7.md
  28. 2
      src/data/roadmaps/nodejs/content/keep-app-running@af7n-J7VvbdpZh9lwA773.md
  29. 2
      src/data/roadmaps/nodejs/content/knex@HDDnt79_PCB5JU-KnHKUh.md
  30. 2
      src/data/roadmaps/nodejs/content/ky@-_2letLUta5Ymc5eEOKhn.md
  31. 2
      src/data/roadmaps/nodejs/content/marko@f2DyjBIglAZ6NoHaRnlzt.md
  32. 6
      src/data/roadmaps/nodejs/content/memory-leaks@oU9I7KBZoTSXXFmYscEIq.md
  33. 2
      src/data/roadmaps/nodejs/content/modules@mbGFT6S7mL3bHHEZv0_s2.md
  34. 2
      src/data/roadmaps/nodejs/content/mongoose@NDf-o-WECK02mVnZ8IFxy.md
  35. 5
      src/data/roadmaps/nodejs/content/monitor-changes-dev@swp4wBgA7z-sd64VDkMrw.md
  36. 4
      src/data/roadmaps/nodejs/content/morgan@CTHFGgtXFpke4aPhh5vRY.md
  37. 6
      src/data/roadmaps/nodejs/content/native-drivers@5WqLm53CHDT5uBoMH-iPl.md
  38. 16
      src/data/roadmaps/nodejs/content/native-drivers@KpC-QYKalUp7VUvnMKBoW.md
  39. 4
      src/data/roadmaps/nodejs/content/nestjs@tGD8XLHnfspfv8CbguGwV.md
  40. 6
      src/data/roadmaps/nodejs/content/nodemon@2Ym2jMvov0lZ79aJFaw29.md
  41. 2
      src/data/roadmaps/nodejs/content/nodetest@oSLpy31XEcA2nRq9ks_LJ.md
  42. 2
      src/data/roadmaps/nodejs/content/npm-workspaces@WvxCGVKLvTUVEHeOcUQPg.md
  43. 3
      src/data/roadmaps/nodejs/content/npm@jQJ9aOKtg-O-GhWk5OgCK.md
  44. 2
      src/data/roadmaps/nodejs/content/npx@YdpJ-DUo8Q5ATRmF4s4YS.md
  45. 4
      src/data/roadmaps/nodejs/content/passportjs@mIyv6S9a5dCHkk-JhhjKV.md
  46. 2
      src/data/roadmaps/nodejs/content/path-module@Blzb-fdQZMu6Xq5JDJW0_.md
  47. 2
      src/data/roadmaps/nodejs/content/playwright@Ix-g9pgJjEI04bSfROvlq.md
  48. 4
      src/data/roadmaps/nodejs/content/pm2@7WAuMMyelUbgwEHtnMmJv.md
  49. 2
      src/data/roadmaps/nodejs/content/prisma@3Qxtf8n6gJYdnRsuqa52Q.md
  50. 4
      src/data/roadmaps/nodejs/content/prisma@O7Cy2g_GPxKU6vPfEmNyi.md
  51. 2
      src/data/roadmaps/nodejs/content/processcwd@QT2QE2FLkyUDpwMKYkFQL.md
  52. 2
      src/data/roadmaps/nodejs/content/processenv@wthXp2YGg3eTMbxsek77C.md
  53. 2
      src/data/roadmaps/nodejs/content/processstdin@betuntelnEMSHdatO6VPl.md
  54. 3
      src/data/roadmaps/nodejs/content/promises@QcOqhuKWOUUUBSiu5Oelv.md
  55. 2
      src/data/roadmaps/nodejs/content/prompts-package@xgsKrUdfB0g0DMQCLK3aY.md
  56. 2
      src/data/roadmaps/nodejs/content/pug@O67e2qyhxP5joR5LGyZ2N.md
  57. 8
      src/data/roadmaps/nodejs/content/sequelize@fOm-ktIaLqrmA0zln0Bga.md
  58. 2
      src/data/roadmaps/nodejs/content/setimmediate@YvTPpoIiSqjDYi0Q10kWh.md
  59. 2
      src/data/roadmaps/nodejs/content/streams@WrnjjUDXQwwMXQjmgK72U.md
  60. 4
      src/data/roadmaps/nodejs/content/system-errors@05YY-AhLKzn4Ypr4eow5E.md
  61. 6
      src/data/roadmaps/nodejs/content/template-engines@J0ErCAZT5B97ZMogU2JHd.md
  62. 2
      src/data/roadmaps/nodejs/content/testing@90NIFfbWjTbyKZKwyJlfI.md
  63. 3
      src/data/roadmaps/nodejs/content/threads@KzUmXkwrmU_ssVBjSHAiY.md
  64. 2
      src/data/roadmaps/nodejs/content/typeorm@rk5FtAPDi1TpvWd0yBbtl.md
  65. 2
      src/data/roadmaps/nodejs/content/using-debugger@XEGTeGWw05xWYOfUo3POE.md
  66. 4
      src/data/roadmaps/nodejs/content/vitest@qjToBaMenW3SDtEfoCbQ6.md
  67. 2
      src/data/roadmaps/nodejs/content/what-is-nodejs@Mp056kNnwsRWeEXuhGPy-.md
  68. 2
      src/data/roadmaps/nodejs/content/winston@Oe9cQCz2lwSaot7miZOta.md
  69. 2
      src/data/roadmaps/nodejs/content/worker-threads@bH2Iv3BX0ZiWD3lOmC_m_.md
  70. 2
      src/data/roadmaps/nodejs/content/working-with-databases@5l-lZ8gwVLqqAF_n99vIO.md

@ -2,7 +2,7 @@
The `--watch` flag in Node.js is a powerful feature introduced in Node.js version 19 that enables automatic reloading of your Node.js application whenever changes are detected in the specified files.
## How it works
Here's How it works:
- You run your Node.js script with the `--watch` flag: `$ node --watch your_script.js`
- Node.js starts watching the specified file (or directory) for changes.
@ -10,6 +10,6 @@ The `--watch` flag in Node.js is a powerful feature introduced in Node.js versio
Visit the following resources to learn more:
- [@official@Official Docs](https://nodejs.org/api/cli.html)
- [@official@Node.js API Docs](https://nodejs.org/api/cli.html#--watch)
- [@official@Node.js CLI](https://nodejs.org/api/cli.html)
- [@official@Node.js --watch Docs](https://nodejs.org/api/cli.html#--watch)
- [@article@Medium - Watch Mode](https://medium.com/@khaled.smq/built-in-nodejs-watch-mode-52ffadaec8a8)

@ -4,5 +4,5 @@ The `__dirname` in a node script returns the path of the folder where the curren
Visit the following resources to learn more:
- [@official@Official Website](https://nodejs.org/docs/latest/api/modules.html#__dirname)
- [@official@\_\_dirname](https://nodejs.org/docs/latest/api/modules.html#__dirname)
- [@article@How to use \_\_dirname](https://www.digitalocean.com/community/tutorials/nodejs-how-to-use__dirname)

@ -4,4 +4,4 @@ The `__filename` in Node.js returns the filename of the executed code. It gives
Visit the following resources to learn more:
- [@official@Official Docs](https://nodejs.org/docs/latest/api/modules.html#__filename)
- [@official@\_\_filename](https://nodejs.org/docs/latest/api/modules.html#__filename)

@ -1,4 +1,4 @@
# Nodejs async programming
# Async Programming
Asynchronous code means that things can happen independently of the main program flow, async functions in JavaScript are processed in the background without blocking other requests. It ensures non-blocking code execution. Asynchronous code executes without having any dependency and no order. This improves the system efficiency and throughput. Making web apps requires knowledge of asynchronous concepts since we will be dealing with actions that require some time to get processed.

@ -4,6 +4,6 @@ Axios is a promise-based HTTP Client for node.js and the browser. Used for makin
Visit the following resources to learn more:
- [@article@Axios Official Documentation](https://axios-http.com/docs/intro)
- [@official@Axios Documentation](https://axios-http.com/docs/intro)
- [@video@Axios Tutorial](https://www.youtube.com/watch?v=6LyagkoRWYA)
- [@feed@Explore top posts about Axios](https://app.daily.dev/tags/axios?ref=roadmapsh)

@ -4,5 +4,5 @@ Node.js, being an asynchronous platform, doesn't wait around for things like fil
Visit the following resources to learn more:
- [@article@What are callbacks?](https://developer.mozilla.org/en-US/docs/Glossary/Callback_function)
- [@official@Asynchronicity in Programming Languages](https://nodejs.org/en/learn/asynchronous-work/javascript-asynchronous-programming-and-callbacks)
- [@article@What are Callbacks?](https://developer.mozilla.org/en-US/docs/Glossary/Callback_function)

@ -4,4 +4,4 @@ Chokidar is a fast open-source file watcher for node. js. You give it a bunch of
Visit the following resources to learn more:
- [@official@NPM Docs](https://www.npmjs.com/package/chokidar)
- [@official@chokidar package](https://www.npmjs.com/package/chokidar)

@ -4,5 +4,5 @@ Commander is a light-weight, expressive, and powerful command-line framework for
Visit the following resources to learn more:
- [@official@Official Documentation](https://www.npmjs.com/package/commander)
- [@official@commander package](https://www.npmjs.com/package/commander)
- [@feed@Explore top posts about JavaScript](https://app.daily.dev/tags/javascript?ref=roadmapsh)

@ -4,13 +4,13 @@ These are the core modules that come with `Node.js` out of the box. This module
Learn more from the following resources:
- [@official@Nodejs fs module](https://nodejs.org/api/fs.html)
- [@official@Nodejs url module](https://nodejs.org/api/url.html)
- [@official@Nodejs console module](https://nodejs.org/api/console.html)
- [@official@Nodejs util module](https://nodejs.org/api/util.html)
- [@official@Nodejs events module](https://nodejs.org/api/events.html)
- [@official@Nodejs os module](https://nodejs.org/api/os.html)
- [@official@Nodejs worker threads module](https://nodejs.org/api/worker_threads.html)
- [@official@Nodejs child process module](https://nodejs.org/api/child_process.html)
- [@official@Nodejs process object](https://nodejs.org/api/process.html)
- [@official@Nodejs crypto module](https://nodejs.org/api/crypto.html)
- [@official@fs module](https://nodejs.org/api/fs.html)
- [@official@url module](https://nodejs.org/api/url.html)
- [@official@console module](https://nodejs.org/api/console.html)
- [@official@util module](https://nodejs.org/api/util.html)
- [@official@events module](https://nodejs.org/api/events.html)
- [@official@os module](https://nodejs.org/api/os.html)
- [@official@worker threads module](https://nodejs.org/api/worker_threads.html)
- [@official@child process module](https://nodejs.org/api/child_process.html)
- [@official@process object](https://nodejs.org/api/process.html)
- [@official@crypto module](https://nodejs.org/api/crypto.html)

@ -4,6 +4,6 @@ Cypress is a new front end testing tool built for the modern web. It enables you
Visit the following resources to learn more:
- [@official@Cypress Website](https://www.cypress.io/)
- [@official@Cypress](https://www.cypress.io/)
- [@article@Cypress Documentation](https://docs.cypress.io/)
- [@feed@Explore top posts about Cypress](https://app.daily.dev/tags/cypress?ref=roadmapsh)

@ -2,7 +2,7 @@
Debugging is a concept to identify and remove errors from software applications. Here, we will learn about the technique to debug a Node.js application.
## Why not to use console.log() for debugging?
Why not to use `console.log()` for debugging?
Using `console.log` to debug the code generally dives into an infinite loop of “stopping the app and adding a console.log, and start the app again” operations. Besides slowing down the development of the app, it also makes the writing dirty and creates unnecessary code. Finally, trying to log out variables alongside with the noise of other potential logging operations, may make the process of debugging difficult when attempting to find the values you are debugging.

@ -4,7 +4,7 @@ Drizzle lets you build your project the way you want, without interfering with y
Visit the following resources to learn more:
- [@official@Drizzle Website](https://orm.drizzle.team/)
- [@official@Drizzle](https://orm.drizzle.team/)
- [@official@Drizzle Documentation](https://orm.drizzle.team/docs/overview)
- [@opensource@Drizzle Github](https://github.com/drizzle-team/drizzle-orm)
- [@article@Getting Started with Drizzle](https://dev.to/franciscomendes10866/getting-started-with-drizzle-orm-a-beginners-tutorial-4782)

@ -5,9 +5,9 @@ In simple words, the EJS template engine helps to easily embed JavaScript into y
Visit the following resources to learn more:
- [@official@EJS Website](https://ejs.co/)
- [@official@EJS Official Documentation](https://ejs.co/#docs)
- [@official@EJS Official Package](https://www.npmjs.com/package/ejs)
- [@official@EJS](https://ejs.co/)
- [@official@EJS Documentation](https://ejs.co/#docs)
- [@official@EJS Package](https://www.npmjs.com/package/ejs)
- [@article@Try EJS Online](https://ionicabizau.github.io/ejs-playground/)
- [@article@How to use EJS](https://www.digitalocean.com/community/tutorials/how-to-use-ejs-to-template-your-node-application)
- [@article@Step-by-Step EJS Guide](https://codeforgeek.com/ejs-template-engine-in-nodejs/)

@ -4,4 +4,4 @@ ESM (ECMAScript Modules) is a standardized module system in JavaScript that allo
Visit the following resources to learn more:
- [@article@esm documentation on nodejs org](https://nodejs.org/api/esm.html)
- [@official@ESM Documentation](https://nodejs.org/api/esm.html)

@ -4,8 +4,8 @@ Express is a node js web application framework that provides broad features for
Visit the following resources to learn more:
- [@official@Express.js Official Website](https://expressjs.com/)
- [@official@Official Getting Started Guide](https://expressjs.com/en/starter/installing.html)
- [@official@Express.js](https://expressjs.com/)
- [@official@Getting Started Guide](https://expressjs.com/en/starter/installing.html)
- [@article@Express Full Guide](https://www.tutorialspoint.com/nodejs/nodejs_express_framework.htm)
- [@article@Sample Project](https://auth0.com/blog/create-a-simple-and-stylish-node-express-app/)
- [@feed@Explore top posts about Express.js](https://app.daily.dev/tags/express?ref=roadmapsh)

@ -4,7 +4,7 @@ Fastify is a web framework highly focused on providing the best developer experi
Visit the following resources to learn more:
- [@official@Fastify Website](https://www.fastify.io/)
- [@official@Fastify Official Documentations](https://www.fastify.io/docs/latest/)
- [@official@Fastify](https://www.fastify.io/)
- [@official@Fastify Documentations](https://www.fastify.io/docs/latest/)
- [@video@Beginner Fastify Tutorial](https://www.youtube.com/watch?v=Lk-uVEVGxOA)
- [@feed@Explore top posts about Fastify](https://app.daily.dev/tags/fastify?ref=roadmapsh)

@ -4,4 +4,4 @@ This package aims to fully implement the FIGfont spec in JavaScript, which repre
Visit the following resources to learn more:
- [@opensource@GitHub Repository](https://github.com/patorjk/figlet.js)
- [@opensource@figlet](https://github.com/patorjk/figlet.js)

@ -4,5 +4,5 @@ fs-extra adds file system methods that aren't included in the native fs module a
Visit the following resources to learn more:
- [@official@Official Website](https://www.npmjs.com/package/fs-extra)
- [@official@fs-extra package](https://www.npmjs.com/package/fs-extra)
- [@article@fs-extra vs fs](https://ar.al/2021/03/07/fs-extra-to-fs/)

@ -4,6 +4,6 @@ File System or `fs` module is a built in module in Node that enables interacting
Visit the following resources to learn more:
- [@official@Official Documentation](https://nodejs.org/api/fs.html)
- [@official@fs](https://nodejs.org/api/fs.html)
- [@article@More about fs module](https://www.w3schools.com/nodejs/nodejs_filesystem.asp)
- [@video@Using fs](https://www.youtube.com/watch?v=ZySsdm576wE)

@ -4,5 +4,5 @@ Got is a lighter, human-friendly, and powerful HTTP request library explicitly d
Visit the following resources to learn more:
- [@official@Official Documentation](https://www.npmjs.com/package/got)
- [@official@Got Documentation](https://www.npmjs.com/package/got)
- [@article@How to consume APIs using GOT in Node.js?](https://rapidapi.com/guides/call-apis-got)

@ -6,5 +6,5 @@ Visit the following resources to learn more:
- [@article@Rising Stack - History of Node.js on a Timeline](https://blog.risingstack.com/history-of-node-js/)
- [@article@SAP Press - How Did Node.js Come About?](https://blog.sap-press.com/how-did-node.js-come-about)
- [@video@Node.js: The Documentary | An origin story](https://youtu.be/LB8KwiiUGy0)
- [@video@Node.js: The Documentary | An Origin Story](https://youtu.be/LB8KwiiUGy0)
- [@feed@Explore top posts about Node.js](https://app.daily.dev/tags/nodejs?ref=roadmapsh)

@ -4,5 +4,5 @@ Hono is a lightweight, simple, and fast web framework for Cloudflare Workers, De
Visit the following resources to learn more:
- [@article@Hono Official Documentations](https://hono.dev/docs/)
- [@official@Hono Documentation](https://hono.dev/docs/)
- [@article@Build a web application with Hono](https://blog.logrocket.com/build-web-application-hono/)

@ -8,5 +8,5 @@ You can make API calls using the `http` module in Node.js as well. Here are the
Visit the following resources to learn more:
- [@official@Node.js `http.get()` documentation](https://nodejs.org/docs/latest-v16.x/api/http.html#httpgeturl-options-callback)
- [@official@Node `http.request()` documentation](https://nodejs.org/docs/latest-v16.x/api/http.html#httprequesturl-options-callback)
- [@official@Node.js `http.request()` documentation](https://nodejs.org/docs/latest-v16.x/api/http.html#httprequesturl-options-callback)
- [@article@How To Create an HTTP Client with Core HTTP in Node.js](https://www.digitalocean.com/community/tutorials/how-to-create-an-http-client-with-core-http-in-node-js)

@ -7,6 +7,6 @@ You can use it to empower your terminal applications that need user input or to
Visit the following resources to learn more:
- [@opensource@Official Docs](https://github.com/SBoudrias/Inquirer.js#readme)
- [@opensource@Inquirer](https://github.com/SBoudrias/Inquirer.js#readme)
- [@article@How To Create Interactive Command-line Prompts with Inquirer.js](https://www.digitalocean.com/community/tutorials/nodejs-interactive-command-line-prompts)
- [@video@How to make a CLI in Node.js with Inquirer](https://www.youtube.com/watch?v=0xjfkl9nODQ)

@ -6,6 +6,6 @@ It is used for server-side programming, and primarily deployed for non-blocking,
Visit the following resources to learn more:
- [@official@Official Website](https://nodejs.org/en/)
- [@official@Official Documentation](https://nodejs.org/en/docs/)
- [@official@Node.js](https://nodejs.org/en/)
- [@official@Node.js Documentation](https://nodejs.org/en/docs/)
- [@feed@Explore top posts about Node.js](https://app.daily.dev/tags/nodejs?ref=roadmapsh)

@ -4,6 +4,6 @@ Jest is a delightful JavaScript Testing Framework with a focus on simplicity. It
Visit the following resources to learn more:
- [@official@Jest Website](https://jestjs.io)
- [@article@Jest Documentation](https://jestjs.io/docs/getting-started)
- [@official@Jest](https://jestjs.io)
- [@official@Jest Documentation](https://jestjs.io/docs/getting-started)
- [@feed@Explore top posts about Jest](https://app.daily.dev/tags/jest?ref=roadmapsh)

@ -4,6 +4,6 @@ JWT, or JSON-Web-Token, is an open standard for sharing security information bet
Visit the following resources to learn more:
- [@official@Package Documentation](https://www.npmjs.com/package/jsonwebtoken)
- [@official@JSON Package Documentation](https://www.npmjs.com/package/jsonwebtoken)
- [@article@What is JWT](https://www.akana.com/blog/what-is-jwt)
- [@video@JWT Implementation](https://www.youtube.com/watch?v=mbsmsi7l3r4)

@ -4,5 +4,5 @@ PM2 lets you run your nodejs scripts forever. In the event that your application
Visit the following resources to learn more:
- [@article@Keep a node application constantly running](https://devtut.github.io/nodejs/keep-a-node-application-constantly-running.html#use-pm2-as-a-process-manager)
- [@article@Keep a Node Application Constantly Running](https://devtut.github.io/nodejs/keep-a-node-application-constantly-running.html#use-pm2-as-a-process-manager)
- [@feed@Explore top posts about Node.js](https://app.daily.dev/tags/nodejs?ref=roadmapsh)

@ -4,5 +4,5 @@ Knex.js is a "batteries included" SQL query builder for PostgreSQL, CockroachDB,
Visit the following resources to learn more:
- [@official@Knex.js Docs](https://knexjs.org)
- [@official@Knex.js](https://knexjs.org)
- [@feed@Explore top posts about Node.js](https://app.daily.dev/tags/nodejs?ref=roadmapsh)

@ -4,5 +4,5 @@ Ky is a tiny and elegant HTTP client based on the browser Fetch API. Ky targets
Visit the following resources to learn more:
- [@opensource@Ky Official Docs](https://github.com/sindresorhus/ky)
- [@opensource@Ky Docs](https://github.com/sindresorhus/ky)
- [@official@npmjs.org](https://www.npmjs.com/package/ky/v/0.9.0)

@ -4,4 +4,4 @@ Marko is a fast and lightweight HTML-based templating engine that compiles templ
Visit the following resources to learn more:
- [@article@Marko Documentation](https://markojs.com/docs/guides-overview/)
- [@official@Marko Documentation](https://markojs.com/docs/guides-overview/)

@ -4,7 +4,7 @@ Memory leaks are caused when your Node.js app’s CPU and memory usage increases
Visit the following resources to learn more:
- [@article@Memory leaks in Node.js](https://sematext.com/blog/nodejs-memory-leaks/)
- [@article@Memory leaks causes](https://sematext.com/blog/nodejs-memory-leaks/#what-causes-them-common-node-js-memory-leaks)
- [@article@Memory leaks detectors](https://sematext.com/blog/nodejs-memory-leaks/#node-js-memory-leak-detectors)
- [@article@Memory Leaks in Node.js](https://sematext.com/blog/nodejs-memory-leaks/)
- [@article@Memory Leaks Causes](https://sematext.com/blog/nodejs-memory-leaks/#what-causes-them-common-node-js-memory-leaks)
- [@article@Memory Leaks Detectors](https://sematext.com/blog/nodejs-memory-leaks/#node-js-memory-leak-detectors)
- [@feed@Explore top posts about General Programming](https://app.daily.dev/tags/general-programming?ref=roadmapsh)

@ -5,6 +5,6 @@ We split our code into different files to maintain, organize and reuse code when
Visit the following resources to learn more:
- [@official@Modules: CommonJS modules](https://nodejs.org/api/modules.html#modules-commonjs-modules)
- [@article@CommonJS vs. ES modules in Node.js](https://blog.logrocket.com/commonjs-vs-es-modules-node-js/)
- [@article@CommonJS vs. ES Modules in Node.js](https://blog.logrocket.com/commonjs-vs-es-modules-node-js/)
- [@video@Modules in Node.js](https://www.youtube.com/watch?v=9Amxzvq5LY8&)
- [@feed@Explore top posts about Node.js](https://app.daily.dev/tags/nodejs?ref=roadmapsh)

@ -4,6 +4,6 @@ Mongoose is an Object Data Modeling (ODM) library for MongoDB and Node.js. Mongo
Visit the following resources to learn more:
- [@official@Mongoose Website](https://mongoosejs.com)
- [@official@Mongoose](https://mongoosejs.com)
- [@article@Getting Started with MongoDB and Mongoose](https://www.mongodb.com/developer/languages/javascript/getting-started-with-mongodb-and-mongoose/)
- [@feed@Explore top posts about Mongoose](https://app.daily.dev/tags/mongoose?ref=roadmapsh)

@ -2,5 +2,6 @@
In Node.js, you need to restart the process to make changes take effect. This adds an extra step to your workflow. You can eliminate this extra step by using `nodemon` to restart the process automatically.
Since Node.js 18.11.0, you can run Node with the `--watch` flag to reload your app everytime a file is changed. So you don't need to use `nodemon` anymore.
[Node.js 18.11.0 Changelog](https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V18.md#18.11.0).
Since Node.js 18.11.0, you can run Node with the `--watch` flag to reload your app every time a file is changed. So you don't need to use `nodemon` anymore.
Visit the following resources to learn more:

@ -4,5 +4,5 @@ Morgan is a NodeJS and express.js middleware to log the HTTP request and error,
Visit the following resources to learn more:
- [@official@Official Website](https://www.npmjs.com/package/morgan)
- [@article@How to use Morgan|DigitalOcean](https://www.digitalocean.com/community/tutorials/nodejs-getting-started-morgan)
- [@official@morgan package](https://www.npmjs.com/package/morgan)
- [@article@How to Use Morgan | DigitalOcean](https://www.digitalocean.com/community/tutorials/nodejs-getting-started-morgan)

@ -1,3 +1,7 @@
# Native Drivers
Another way to connect to different databases in Node.js is to use the official native drivers provided by the database. For example, here is the [list of drivers by MongoDB](https://www.mongodb.com/docs/drivers/)
Another way to connect to different databases in Node.js is to use the official native drivers provided by the database.
Visit the following resources to learn more:
[@official@MongoDB Drivers](https://www.mongodb.com/docs/drivers/)

@ -1,19 +1,3 @@
# Native drivers
NativeDriver is an implementation of the WebDriver API which drives the UI of a native application rather than a web application. It extends the WebDriver API in a few key places, and re-interprets the existing API for native applications.
- SQLite
- [sqlite](https://www.npmjs.com/package/sqlite)
- [Native NodeJS v22 LTS SQLite](https://nodejs.org/docs/latest-v22.x/api/sqlite.html)
- MySQL:
- [mysql](https://www.npmjs.com/package/mysql)
- [mysql2](https://www.npmjs.com/package/mysql2)
- MariaDB:
- [mariadb](https://www.npmjs.com/package/mariadb)
- PostgreSQL:
- [pg](https://www.npmjs.com/package/pg)
- Microsoft SQL Server:
- [tedious](https://www.npmjs.com/package/tedious)
- [mssql](https://www.npmjs.com/package/mssql)
- Oracle:
- [oracledb](https://www.npmjs.com/package/oracledb)

@ -4,7 +4,7 @@ NestJS is a progressive Node.js framework for creating efficient and scalable se
Visit the following resources to learn more:
- [@official@NestJS Website](https://nestjs.com)
- [@article@NestJS Official Documentations](https://docs.nestjs.com)
- [@official@NestJS](https://nestjs.com)
- [@official@NestJS Documentations](https://docs.nestjs.com)
- [@video@Beginner NestJS Tutorial](https://www.youtube.com/watch?v=GHTA143_b-s)
- [@feed@Explore top posts about NestJS](https://app.daily.dev/tags/nestjs?ref=roadmapsh)

@ -1,10 +1,12 @@
# Nodemon
In Node.js, you need to restart the process to make changes take effect. This adds an extra step to your workflow. You can eliminate this extra step by using [nodemon](https://nodemon.io/) or [PM2](https://pm2.keymetrics.io/docs/usage/quick-start/) to restart the process automatically.
In Node.js, you need to restart the process to make changes take effect. This adds an extra step to your workflow. You can eliminate this extra step by using nodemon or PM2 to restart the process automatically.
`nodemon` is a command-line interface (CLI) utility developed by [@rem](https://twitter.com/rem) that wraps your Node app, watches the file system, and automatically restarts the process.
`nodemon` is a command-line interface (CLI) utility developed by rem that wraps your Node app, watches the file system, and automatically restarts the process.
Visit the following resources to learn more:
- [@official@Nodemon](https://nodemon.io/)
- [@article@PM2](https://pm2.keymetrics.io/docs/usage/quick-start/)
- [@article@How To Restart Your Node.js Apps Automatically with nodemon](https://www.digitalocean.com/community/tutorials/workflow-nodemon)
- [@feed@Explore top posts about Node.js](https://app.daily.dev/tags/nodejs?ref=roadmapsh)

@ -2,7 +2,7 @@
`node:test` is a built-in module in Node.js that provides a simple, asynchronous test runner. It's designed to make writing tests as straightforward as writing any other code.
## Key Features
Key Features
- Simplicity: Easy to use and understand.
- Asynchronous Support: Handles asynchronous code gracefully.

@ -5,5 +5,5 @@ Workspace is a generic term that refers to the set of npm CLI features that supp
Visit the following resources to learn more:
- [@official@npm workspaces](https://docs.npmjs.com/cli/using-npm/workspaces)
- [@article@Getting Started with Npm Workspaces ](https://ruanmartinelli.com/posts/npm-7-workspaces-1)
- [@article@Getting Started with Npm Workspaces](https://ruanmartinelli.com/posts/npm-7-workspaces-1)
- [@feed@Explore top posts about NPM](https://app.daily.dev/tags/npm?ref=roadmapsh)

@ -6,9 +6,8 @@ It is two things: first and foremost, it is an online repository for the publish
Visit the following resources to learn more:
- [@official@NPM Documentation](https://docs.npmjs.com/)
- [@official@What is npm?](https://nodejs.org/en/learn/getting-started/an-introduction-to-the-npm-package-manager)
- [@official@An introduction to the npm package manager](https://nodejs.org/en/learn/getting-started/an-introduction-to-the-npm-package-manager)
- [@official@Official Website](https://www.npmjs.com/)
- [@official@Official Documentation](https://docs.npmjs.com/)
- [@video@NPM Crash Course](https://www.youtube.com/watch?v=jHDhaSSKmB0)
- [@feed@Explore top posts about Node.js](https://app.daily.dev/tags/nodejs?ref=roadmapsh)

@ -4,5 +4,5 @@ npx is a very powerful command that's been available in npm starting version 5.2
Visit the following resources to learn more:
- [@official@npx](https://docs.npmjs.com/cli/commands/npx/)
- [@article@Introduction to the npx Node.js Package Runner](https://medium.com/@maybekatz/introducing-npx-an-npm-package-runner-55f7d4bd282b)
- [@official@Official Documentation](https://docs.npmjs.com/cli/commands/npx/)

@ -4,7 +4,7 @@ Passport.js is authentication middleware for Node.js. It makes implementing auth
Visit the following resources to learn more:
- [@official@PassportJS Website](https://www.passportjs.org/)
- [@official@PassportJS Official Documentation](https://www.passportjs.org/docs/)
- [@official@PassportJS](https://www.passportjs.org/)
- [@official@PassportJS Documentation](https://www.passportjs.org/docs/)
- [@video@Implementation of OAuth using passportjs](https://www.youtube.com/watch?v=sakQbeRjgwg\&list=PL4cUxeGkcC9jdm7QX143aMLAqyM-jTZ2x)
- [@feed@Explore top posts about JavaScript](https://app.daily.dev/tags/javascript?ref=roadmapsh)

@ -4,6 +4,6 @@ The `path` module provides utilities for working with file and directory paths.
Visit the following resources to learn more:
- [@official@Path Documentations](https://nodejs.org/api/path.html)
- [@official@Path Documentation](https://nodejs.org/api/path.html)
- [@official@Learn Node.js File Paths](https://nodejs.org/en/learn/manipulating-files/nodejs-file-paths)
- [@video@Path Module in Node.js](https://youtu.be/j95Lwxvi9JY)

@ -6,6 +6,6 @@ Playwright provides a high-level API to interact with web pages. You can write s
Visit the following resources to learn more:
- [@official@Playwright Website](https://playwright.dev/)
- [@official@Playwright](https://playwright.dev/)
- [@official@Playwright Docs](https://playwright.dev/docs/getting-started-vscode)
- [@article@Getting Started with Playwright](https://learn.microsoft.com/en-us/shows/getting-started-with-end-to-end-testing-with-playwright/)

@ -4,5 +4,5 @@ PM2 is a production process manager for Node.js applications with a built-in loa
Visit the following resources to learn more:
- [@article@Pm2 Website](https://pm2.keymetrics.io/)
- [@article@Pm2 Official Documentations](https://pm2.keymetrics.io/docs/usage/quick-start/)
- [@official@Pm2](https://pm2.keymetrics.io/)
- [@official@Pm2 Documentations](https://pm2.keymetrics.io/docs/usage/quick-start/)

@ -4,6 +4,6 @@ Prisma provides an open source next-generation ORM in the TypeScript ecosystem.
Visit the following resources to learn more:
- [@official@Prisma Website](https://www.prisma.io/)
- [@official@Prisma](https://www.prisma.io/)
- [@video@Prisma & MongoDB Youtube Tutorial](https://www.youtube.com/watch?v=-7r4whMKt1s)
- [@feed@Explore top posts about Prisma](https://app.daily.dev/tags/prisma?ref=roadmapsh)

@ -4,6 +4,6 @@ Prisma is an ORM that helps app developers build faster and make fewer errors. C
Visit the following resources to learn more:
- [@official@Prisma Website](https://www.prisma.io/)
- [@official@Prisma Official Documentations](https://www.prisma.io/docs/)
- [@official@Prisma](https://www.prisma.io/)
- [@official@Prisma Documentation](https://www.prisma.io/docs/)
- [@feed@Explore top posts about Prisma](https://app.daily.dev/tags/prisma?ref=roadmapsh)

@ -4,5 +4,5 @@ The `process.cwd()` method returns the current working directory of the Node.js
Visit the following resources to learn more:
- [@official@Official Website](https://nodejs.org/api/process.html#processcwd)
- [@official@process.cwd()](https://nodejs.org/api/process.html#processcwd)
- [@article@Whats the difference between process.cwd() vs \_\_dirname?](https://stackoverflow.com/questions/9874382/whats-the-difference-between-process-cwd-vs-dirname)

@ -4,5 +4,5 @@ In Node. js, process. env is a global variable that is injected during runtime.
Visit the following resources to learn more:
- [@official@Node.js Learn environment variables](https://nodejs.org/en/learn/command-line/how-to-read-environment-variables-from-nodejs)
- [@official@Node.js Learn Environment Variables](https://nodejs.org/en/learn/command-line/how-to-read-environment-variables-from-nodejs)
- [@article@Process.env Node](https://www.knowledgehut.com/blog/web-development/node-environment-variables)

@ -4,5 +4,5 @@ The `process.stdin` is a standard Readable stream which listens for user input a
Visit the following resources to learn more:
- [@official@Official Documentation](https://nodejs.org/api/process.html#processstdin)
- [@official@process.stdin](https://nodejs.org/api/process.html#processstdin)
- [@article@Node.js Process stdin & stdout](https://nodecli.com/node-stdin-stdout)

@ -1,10 +1,13 @@
# Promises
A promise is commonly defined as a proxy for a value that will eventually become available.
Asynchronous functions use promise behind the scenes, so understanding how promises work is fundamental to understanding how "async" and "await" works.
Once a promise has been called, it will start in a pending state. This means that the calling function continues executing, while the promise is pending until it resolves, giving the calling function whatever data was being requested.
Creating a Promise:
The Promise API exposes a Promise constructor, which you initialize using new Promise().
Using resolve() and reject(), we can communicate back to the caller what the resulting Promise state was, and what to do with it.

@ -4,4 +4,4 @@ Prompts is a higher level and user friendly interface built on top of Node.js's
Visit the following resources to learn more:
- [@official@Official Documentation](https://www.npmjs.com/package/prompts)
- [@official@Prompts](https://www.npmjs.com/package/prompts)

@ -6,7 +6,7 @@ Pug is a high-performance template engine heavily influenced by Haml and impleme
Visit the following resources to learn more:
- [@article@Getting started with PugJs](https://pugjs.org/api/getting-started.html)
- [@official@Getting started with PugJs](https://pugjs.org/api/getting-started.html)
- [@article@How to Build a Node Application Using a Pug Template](https://blog.bitsrc.io/how-to-build-a-node-application-using-a-pug-template-7319ab1bba69?gi=40b338891148)
- [@video@Node.js + Express - Tutorial - PugJS Templating Engine](https://www.youtube.com/watch?v=DSp9ExFw3Ig)
- [@article@Pug.js tutorial](https://zetcode.com/javascript/pugjs/)

@ -2,14 +2,14 @@
Sequelize is an easy-to-use and promise-based Node.js ORM tool for Postgres, MySQL, MariaDB, SQLite, DB2, Microsoft SQL Server, and Snowflake. It features solid transaction support, relations, eager and lazy loading, read replication and more.
## What is an ORM ?
What is an ORM ?
An ORM is known as Object Relational Mapper. This is a tool or a level of abstraction which maps(converts) data in a relational database into programmatic objects that can be manipulated by a programmer using a programming language(usually an OOP language). ORMs solely exist to map the details between two data sources which due to a mismatch cannot coexist together.
An ORM is known as Object Relational Mapper. This is a tool or a level of abstraction which maps(converts) data in a relational database into programmatic objects that can be manipulated by a programmer using a programming language (usually an OOP language). ORMs solely exist to map the details between two data sources which due to a mismatch cannot coexist together.
Visit the following resources to learn more:
- [@official@Sequelize Website](https://sequelize.org/)
- [@official@Sequelize](https://sequelize.org/)
- [@official@Sequelize - NPM Package](https://www.npmjs.com/package/sequelize)
- [@official@Official Sequelize Docs](https://sequelize.org/docs/v6/getting-started/)
- [@official@Sequelize Docs](https://sequelize.org/docs/v6/getting-started/)
- [@article@Getting started with Sequelize](https://levelup.gitconnected.com/the-ultimate-guide-to-get-started-with-sequelize-orm-238588d3516e)
- [@feed@Explore top posts about Node.js](https://app.daily.dev/tags/nodejs?ref=roadmapsh)

@ -4,5 +4,5 @@ The `setImmediate` function delays the execution of a function to be called afte
Visit the following resources to learn more:
- [@article@Understanding setImmediate](https://developer.mozilla.org/en-US/docs/Web/API/Window/setImmediate)
- [@official@Understanding setImmediate](https://nodejs.org/en/learn/asynchronous-work/understanding-setimmediate)
- [@article@Understanding setImmediate](https://developer.mozilla.org/en-US/docs/Web/API/Window/setImmediate)

@ -11,7 +11,7 @@ Multiple streams can be chained together using `pipe()` method.
Visit the following resources to learn more:
- [@official@Stream API Official Documentation](https://nodejs.org/api/stream.html)
- [@official@Stream API Documentation](https://nodejs.org/api/stream.html)
- [@video@Node.js Streams tutorial](https://www.youtube.com/watch?v=GlybFFMXXmQ)
- [@article@Understanding Streams in Node.js](https://nodesource.com/blog/understanding-streams-in-nodejs)
- [@feed@Explore top posts about Node.js](https://app.daily.dev/tags/nodejs?ref=roadmapsh)

@ -3,7 +3,7 @@
Node.js generates system errors when exceptions occur within its runtime environment. These usually occur when an application violates an operating system constraint.
For example, a system error will occur if an application attempts to read a file that does not exist.
Below are the system errors commonly encountered when writing a Node.js program
Below are the system errors commonly encountered when writing a Node.js program:
1. EACCES - Permission denied
2. EADDRINUSE - Address already in use
@ -21,5 +21,5 @@ Below are the system errors commonly encountered when writing a Node.js program
Visit the following resources to learn more:
- [@official@Node.js Errors - Official Docs](https://nodejs.org/api/errors.html#errors_class_systemerror)
- [@official@Node.js Errors](https://nodejs.org/api/errors.html#errors_class_systemerror)
- [@Article@16 Common Errors in Node.js and How to Fix Them](https://betterstack.com/community/guides/scaling-nodejs/nodejs-errors/)

@ -10,3 +10,9 @@ Some examples of template engines in Node.js are:
- EJS
- Handlebars
- HAML
Visit the following resources to learn more:
- [@official@Getting Started with Pug](https://pugjs.org/api/getting-started.html)
- [@official@Handlebars Package](https://www.npmjs.com/package/handlebars)
- [@official@EJS Package](https://www.npmjs.com/package/ejs)

@ -6,6 +6,6 @@ The two most common testing approaches are unit testing and end-to-end testing.
Visit the following resources to learn more:
- [@article@Wikipedia - Software Testing](https://en.wikipedia.org/wiki/Software_testing)
- [@article@Software Testing](https://en.wikipedia.org/wiki/Software_testing)
- [@official@Vitest](https://vitest.dev/)
- [@official@Jest](https://jest.io)

@ -1,7 +1,6 @@
# Nodejs Threads
Node.js is a single-threaded language and gives us ways to work parallelly to our main process.
Taking note of nowadays multicore system single threading is very memory efficient.
Node.js is a single-threaded language and gives us ways to work parallelly to our main process. Taking note of nowadays multicore system single threading is very memory efficient.
Visit the following resources to learn more:

@ -2,8 +2,6 @@
TypeORM is an ORM that can run in NodeJS, Browser, Cordova, PhoneGap, Ionic, React Native, NativeScript, Expo, and Electron platforms and can be used with TypeScript and JavaScript (ES5, ES6, ES7, ES8). Its goal is to always support the latest JavaScript features and provide additional features that help you to develop any kind of application that uses databases - from small applications with a few tables to large scale enterprise applications with multiple databases.
TypeORM supports both [Active Record](https://typeorm.io/active-record-data-mapper#what-is-the-active-record-pattern) and [Data Mapper](https://typeorm.io/active-record-data-mapper#what-is-the-data-mapper-pattern) patterns, unlike all other JavaScript ORMs currently in existence, which means you can write high quality, loosely coupled, scalable, maintainable applications the most productive way.
Visit the following resources to learn more:
- [@official@TypeORM Docs](https://typeorm.io)

@ -6,6 +6,6 @@ Example - `$ node inspect myscript.js`
Visit the following resources to learn more:
- [@official@Official Docs](https://nodejs.org/api/debugger.html)
- [@official@Debugger](https://nodejs.org/api/debugger.html)
- [@official@Inspect Docs](https://nodejs.org/en/learn/getting-started/debugging)
- [@article@Freecodecamp.org - Debugging](https://www.freecodecamp.org/news/how-to-debug-node-js-applications/)

@ -4,5 +4,5 @@ Vitest is a Vite-native unit testing framework that's Jest-compatible. Vitest is
Visit the following resources to learn more:
- [@official@Official Website](https://vitest.dev/)
- [@article@Vitest Documentation](https://vitest.dev/guide/)
- [@official@Vitest](https://vitest.dev/)
- [@official@Vitest Documentation](https://vitest.dev/guide/)

@ -6,7 +6,7 @@ Node.js provides a set of asynchronous I/O primitives in its standard library th
Visit the following resources to learn more:
- [@official@Official Website](https://nodejs.org/en/about/)
- [@official@Node.js](https://nodejs.org/en/about/)
- [@official@Node.js - Getting Started](https://nodejs.org/en/learn/getting-started/introduction-to-nodejs)
- [@article@Node.js - Introduction](https://www.w3schools.com/nodejs/nodejs_intro.asp)
- [@video@What is Node.js?](https://www.youtube.com/watch?v=uVwtVBpw7RQ)

@ -4,5 +4,5 @@ winston is designed to be a simple and universal logging library with support fo
Visit the following resources to learn more:
- [@opensource@winston Website](https://github.com/winstonjs/winston)
- [@opensource@winston](https://github.com/winstonjs/winston?tab=readme-ov-file#readme)
- -[@article@A Complete Guide to Winston Logging in Node.js](https://betterstack.com/community/guides/logging/how-to-install-setup-and-use-winston-and-morgan-to-log-node-js-applications/)

@ -5,4 +5,4 @@ With worker threads, we can achieve a much efficient application without creatin
Visit the following resources to learn more:
- [@official@Worker Threads Docs](https://nodejs.org/api/worker_threads.html#worker-threads)
- [@official@Worker Threads](https://nodejs.org/api/worker_threads.html#worker-threads)

@ -4,4 +4,4 @@ A database is an organized collection of structured information, or data, typica
Visit the following resources to learn more:
- [@article@Wikipedia - What is Database?](https://en.wikipedia.org/wiki/Database)
- [@article@What is Database?](https://en.wikipedia.org/wiki/Database)

Loading…
Cancel
Save