From ecda4b6eb33fd3c789314b59a32ad886c613c017 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vedansh=20=E2=9C=A8?= Date: Sun, 18 Aug 2024 16:29:54 +0530 Subject: [PATCH] Feature: Improve Node.js Roadmap. (#6664) * In this Commit: --- - Add Semantic versioning in `npm` - Add Node.js Test Runner in `node:test` - What is Testing in `Software Testing` - What is Vitest in `Testing/Vitest` - Few changes in `Working with Databases`. * Add Content in Playwright. * - Fixed Some Spelling Mistakes. - Content Addition - Added Few More Links. *** No deletions or removal. * Add `--watch` Content in Roadmap. --- .../content/--watch@812bVEzxwTsYzLG_PmLqN.md | 16 ++++++++++++- .../debugging@ZLNUuDKhJ03Kw7xMVc7IR.md | 2 ++ .../content/drizzle@JXQF9H4_N0rM7ZDKcCZNn.md | 11 ++++++++- .../expressjs@1vq_KcYR_pkfp1MtXaL75.md | 2 +- .../fs-module@b1r1X3XCoPSayQjDBcy54.md | 4 ++-- .../content/hono@Xa-lA1wbZ9JZ_XpXfhhw5.md | 2 +- .../http-module@Sjc1YDtbzXyLQH711_3nj.md | 4 ++-- .../content/ky@-_2letLUta5Ymc5eEOKhn.md | 9 ++++++- ...ocal-installation@oYeux7PbveYaVwXRzAg5x.md | 2 +- .../content/nodetest@oSLpy31XEcA2nRq9ks_LJ.md | 16 ++++++++++++- .../playwright@Ix-g9pgJjEI04bSfROvlq.md | 12 +++++++++- ...mantic-versioning@dOlzIXBfAPmbY542lNOe6.md | 24 ++++++++++++++++++- .../content/testing@90NIFfbWjTbyKZKwyJlfI.md | 3 +++ .../content/vitest@qjToBaMenW3SDtEfoCbQ6.md | 9 ++++++- ...ng-with-databases@5l-lZ8gwVLqqAF_n99vIO.md | 4 ++++ 15 files changed, 106 insertions(+), 14 deletions(-) diff --git a/src/data/roadmaps/nodejs/content/--watch@812bVEzxwTsYzLG_PmLqN.md b/src/data/roadmaps/nodejs/content/--watch@812bVEzxwTsYzLG_PmLqN.md index 793fbb8e5..6860db03d 100644 --- a/src/data/roadmaps/nodejs/content/--watch@812bVEzxwTsYzLG_PmLqN.md +++ b/src/data/roadmaps/nodejs/content/--watch@812bVEzxwTsYzLG_PmLqN.md @@ -1 +1,15 @@ -# --watch \ No newline at end of file +# --watch + +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: + +- 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. +- Whenever a change is detected, Node.js automatically restarts the script + +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) +- [@article@Watch Mode](https://medium.com/@khaled.smq/built-in-nodejs-watch-mode-52ffadaec8a8) diff --git a/src/data/roadmaps/nodejs/content/debugging@ZLNUuDKhJ03Kw7xMVc7IR.md b/src/data/roadmaps/nodejs/content/debugging@ZLNUuDKhJ03Kw7xMVc7IR.md index 5d1ab868b..fa30af527 100644 --- a/src/data/roadmaps/nodejs/content/debugging@ZLNUuDKhJ03Kw7xMVc7IR.md +++ b/src/data/roadmaps/nodejs/content/debugging@ZLNUuDKhJ03Kw7xMVc7IR.md @@ -8,3 +8,5 @@ Using `console.log` to debug the code generally dives into an infinite loop of Visit the following resources to learn more: +- [@article@What is Debugging?](https://en.wikipedia.org/wiki/Debugging) +- [@official@Node.js Website](https://nodejs.org/en/learn/getting-started/debugging) diff --git a/src/data/roadmaps/nodejs/content/drizzle@JXQF9H4_N0rM7ZDKcCZNn.md b/src/data/roadmaps/nodejs/content/drizzle@JXQF9H4_N0rM7ZDKcCZNn.md index df46a8997..ca63a4367 100644 --- a/src/data/roadmaps/nodejs/content/drizzle@JXQF9H4_N0rM7ZDKcCZNn.md +++ b/src/data/roadmaps/nodejs/content/drizzle@JXQF9H4_N0rM7ZDKcCZNn.md @@ -1 +1,10 @@ -# Drizzle \ No newline at end of file +# Drizzle + +Drizzle lets you build your project the way you want, without interfering with your project or structure. Using Drizzle you can define and manage database schemas in TypeScript, access your data in a SQL-like or relational way, and take advantage of opt-in tools to make your developer experience amazing. + +Visit the following resources to learn more: + +- [@official@Drizzle Website](https://orm.drizzle.team/) +- [@official@Drizzle Documentation](https://orm.drizzle.team/docs/overview) +- [@opesource@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) diff --git a/src/data/roadmaps/nodejs/content/expressjs@1vq_KcYR_pkfp1MtXaL75.md b/src/data/roadmaps/nodejs/content/expressjs@1vq_KcYR_pkfp1MtXaL75.md index ce9fbbc81..91754c849 100644 --- a/src/data/roadmaps/nodejs/content/expressjs@1vq_KcYR_pkfp1MtXaL75.md +++ b/src/data/roadmaps/nodejs/content/expressjs@1vq_KcYR_pkfp1MtXaL75.md @@ -1,6 +1,6 @@ # Express.js -Express is a node js web application framework that provides broad features for building web and mobile applications. It is used to build a single page, multipage, and hybrid web application. +Express is a node js web application framework that provides broad features for building web and mobile applications. It is used to build a single page, multi-page, and hybrid web application. Visit the following resources to learn more: diff --git a/src/data/roadmaps/nodejs/content/fs-module@b1r1X3XCoPSayQjDBcy54.md b/src/data/roadmaps/nodejs/content/fs-module@b1r1X3XCoPSayQjDBcy54.md index 28c118005..338939259 100644 --- a/src/data/roadmaps/nodejs/content/fs-module@b1r1X3XCoPSayQjDBcy54.md +++ b/src/data/roadmaps/nodejs/content/fs-module@b1r1X3XCoPSayQjDBcy54.md @@ -1,6 +1,6 @@ -# Fs module +# fs module -File System or fs module is a built in module in Node that enables interacting with the file system using JavaScript. All file system operations have synchronous, callback, and promise-based forms, and are accessible using both CommonJS syntax and ES6 Modules. +File System or `fs` module is a built in module in Node that enables interacting with the file system using JavaScript. All file system operations have synchronous, callback, and promise-based forms, and are accessible using both CommonJS syntax and ES6 Modules. Visit the following resources to learn more: diff --git a/src/data/roadmaps/nodejs/content/hono@Xa-lA1wbZ9JZ_XpXfhhw5.md b/src/data/roadmaps/nodejs/content/hono@Xa-lA1wbZ9JZ_XpXfhhw5.md index 4e57873c8..dcb3b84f8 100644 --- a/src/data/roadmaps/nodejs/content/hono@Xa-lA1wbZ9JZ_XpXfhhw5.md +++ b/src/data/roadmaps/nodejs/content/hono@Xa-lA1wbZ9JZ_XpXfhhw5.md @@ -5,4 +5,4 @@ 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/) -- [@article@Build a web application with Hono](https://blog.logrocket.com/build-web-application-hono/) \ No newline at end of file +- [@article@Build a web application with Hono](https://blog.logrocket.com/build-web-application-hono/) diff --git a/src/data/roadmaps/nodejs/content/http-module@Sjc1YDtbzXyLQH711_3nj.md b/src/data/roadmaps/nodejs/content/http-module@Sjc1YDtbzXyLQH711_3nj.md index 85321dda7..050ac1c9e 100644 --- a/src/data/roadmaps/nodejs/content/http-module@Sjc1YDtbzXyLQH711_3nj.md +++ b/src/data/roadmaps/nodejs/content/http-module@Sjc1YDtbzXyLQH711_3nj.md @@ -7,6 +7,6 @@ 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()` documentaion](https://nodejs.org/docs/latest-v16.x/api/http.html#httpgeturl-options-callback) -- [@official@Node `http.request()` documentaion](https://nodejs.org/docs/latest-v16.x/api/http.html#httprequesturl-options-callback) +- [@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) - [@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) diff --git a/src/data/roadmaps/nodejs/content/ky@-_2letLUta5Ymc5eEOKhn.md b/src/data/roadmaps/nodejs/content/ky@-_2letLUta5Ymc5eEOKhn.md index f36af2f96..f9aee52d8 100644 --- a/src/data/roadmaps/nodejs/content/ky@-_2letLUta5Ymc5eEOKhn.md +++ b/src/data/roadmaps/nodejs/content/ky@-_2letLUta5Ymc5eEOKhn.md @@ -1 +1,8 @@ -# ky \ No newline at end of file +# Ky + +Ky is a tiny and elegant HTTP client based on the browser Fetch API. Ky targets modern browsers and Deno.For older browsers, you will need to transpile and use a fetch polyfill.For Node.js, check out Got.. 1 KB (minified & gzipped), one file, and no dependencies. + +Visit the following resources to learn more: + +- [@opensource@Ky Official Docs](https://github.com/sindresorhus/ky) +- [@official@npmjs.org](https://www.npmjs.com/package/ky/v/0.9.0) diff --git a/src/data/roadmaps/nodejs/content/local-installation@oYeux7PbveYaVwXRzAg5x.md b/src/data/roadmaps/nodejs/content/local-installation@oYeux7PbveYaVwXRzAg5x.md index 8d27a02af..ab702aa26 100644 --- a/src/data/roadmaps/nodejs/content/local-installation@oYeux7PbveYaVwXRzAg5x.md +++ b/src/data/roadmaps/nodejs/content/local-installation@oYeux7PbveYaVwXRzAg5x.md @@ -1,6 +1,6 @@ # Local Installation -Locally installed packages are available only to the project where the packages are installed, while the globally installed packages can be used any where without installing them into a project. Another usecase of the global packages is when using CLI tools. +Locally installed packages are available only to the project where the packages are installed, while the globally installed packages can be used any where without installing them into a project. Another use case of the global packages is when using CLI tools. Visit the following resources to learn more: diff --git a/src/data/roadmaps/nodejs/content/nodetest@oSLpy31XEcA2nRq9ks_LJ.md b/src/data/roadmaps/nodejs/content/nodetest@oSLpy31XEcA2nRq9ks_LJ.md index 43fd94b6b..5073cd257 100644 --- a/src/data/roadmaps/nodejs/content/nodetest@oSLpy31XEcA2nRq9ks_LJ.md +++ b/src/data/roadmaps/nodejs/content/nodetest@oSLpy31XEcA2nRq9ks_LJ.md @@ -1 +1,15 @@ -# node:test \ No newline at end of file +# node:test + +`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 + +- Simplicity: Easy to use and understand. +- Asynchronous Support: Handles asynchronous code gracefully. +- Subtests: Allows for organizing tests into hierarchical structures. +- Hooks: Provides beforeEach and afterEach hooks for setup and teardown. + +Visit the following resources to learn more: + +- [@official@Test Runner API Docs](https://nodejs.org/api/test.html) +- [@official@Node.js Test Runner](https://nodejs.org/en/learn/test-runner/using-test-runner) diff --git a/src/data/roadmaps/nodejs/content/playwright@Ix-g9pgJjEI04bSfROvlq.md b/src/data/roadmaps/nodejs/content/playwright@Ix-g9pgJjEI04bSfROvlq.md index 454f06c7c..cacbda3dc 100644 --- a/src/data/roadmaps/nodejs/content/playwright@Ix-g9pgJjEI04bSfROvlq.md +++ b/src/data/roadmaps/nodejs/content/playwright@Ix-g9pgJjEI04bSfROvlq.md @@ -1 +1,11 @@ -# Playwright \ No newline at end of file +# Playwright + +Playwright is an open-source automation library developed by Microsoft for testing and automating web applications. 1 It offers a unified API to control Chromium, Firefox, and WebKit browsers, making it a versatile choice for cross-browser testing. + +Playwright provides a high-level API to interact with web pages. You can write scripts to simulate user actions, such as clicking buttons, filling forms, and navigating through different pages. Playwright handles the underlying browser interactions, making it easy to write and maintain tests. + +Visit the following resources to learn more: + +- [@official@Playwright Website](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/) diff --git a/src/data/roadmaps/nodejs/content/semantic-versioning@dOlzIXBfAPmbY542lNOe6.md b/src/data/roadmaps/nodejs/content/semantic-versioning@dOlzIXBfAPmbY542lNOe6.md index 4bab781b9..9adebc9f9 100644 --- a/src/data/roadmaps/nodejs/content/semantic-versioning@dOlzIXBfAPmbY542lNOe6.md +++ b/src/data/roadmaps/nodejs/content/semantic-versioning@dOlzIXBfAPmbY542lNOe6.md @@ -1 +1,23 @@ -# Semantic Versioning \ No newline at end of file +# Semantic Versioning + +Semantic Versioning is a standard for versioning software that's widely adopted in the npm ecosystem. It provides a clear and consistent way to communicate changes in a software package to users. + +## Version Format + +A semantic version number consists of three parts separated by dots: + +- MAJOR: Incremented when there are incompatible API changes. +- MINOR: Incremented when new functionality is added in a backwards-compatible manner. +- PATCH: Incremented when bug fixes are made without affecting the API. + +### Example: 1.2.3 + +- 1 is the major version. +- 2 is the minor version. +- 3 is the patch version. + +Visit the following resources to learn more: + +- [@official@Semver.org](https://semver.org/) +- [@article@Understanding Semantic Versioning](https://medium.com/codex/understanding-semantic-versioning-a-guide-for-developers-dad5f2b70583) +- [@article@Devopedia](https://devopedia.org/semantic-versioning) \ No newline at end of file diff --git a/src/data/roadmaps/nodejs/content/testing@90NIFfbWjTbyKZKwyJlfI.md b/src/data/roadmaps/nodejs/content/testing@90NIFfbWjTbyKZKwyJlfI.md index d64d922d8..44d0a25de 100644 --- a/src/data/roadmaps/nodejs/content/testing@90NIFfbWjTbyKZKwyJlfI.md +++ b/src/data/roadmaps/nodejs/content/testing@90NIFfbWjTbyKZKwyJlfI.md @@ -6,3 +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](https://en.wikipedia.org/wiki/Software_testing) +- [@official@Vitest](https://vitest.dev/) +- [@official@Jest](https://jest.io) diff --git a/src/data/roadmaps/nodejs/content/vitest@qjToBaMenW3SDtEfoCbQ6.md b/src/data/roadmaps/nodejs/content/vitest@qjToBaMenW3SDtEfoCbQ6.md index b1d983073..314ecac77 100644 --- a/src/data/roadmaps/nodejs/content/vitest@qjToBaMenW3SDtEfoCbQ6.md +++ b/src/data/roadmaps/nodejs/content/vitest@qjToBaMenW3SDtEfoCbQ6.md @@ -1 +1,8 @@ -# Vitest \ No newline at end of file +# Vitest + +Vitest is a Vite-native unit testing framework that's Jest-compatible. Vitest is a powerful testing library built on top of Vite that is growing in popularity. You can use Vitest for a range of testing needs, such as unit, integration, end-to-end (E2E), snapshot, and performance testing of functions and components. ESM, TypeScript, JSX. Out-of-box ESM, TypeScript and JSX support powered by esbuild. Vitest is free and open source. + +Visit the following resources to learn more: + +- [@official@Official Website](https://vitest.dev/) +- [@article@Vitest Documentation](https://vitest.dev/guide/) diff --git a/src/data/roadmaps/nodejs/content/working-with-databases@5l-lZ8gwVLqqAF_n99vIO.md b/src/data/roadmaps/nodejs/content/working-with-databases@5l-lZ8gwVLqqAF_n99vIO.md index 9b458922a..267b457dd 100644 --- a/src/data/roadmaps/nodejs/content/working-with-databases@5l-lZ8gwVLqqAF_n99vIO.md +++ b/src/data/roadmaps/nodejs/content/working-with-databases@5l-lZ8gwVLqqAF_n99vIO.md @@ -1,3 +1,7 @@ # What is Database A database is an organized collection of structured information, or data, typically stored electronically in a computer system. A database is usually controlled by a database management system (DBMS). + +Visit the following resources to learn more: + +- [@official@Wikipedia](https://en.wikipedia.org/wiki/Database)