![Using TypeScript in Node.js projects](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fk1aast2dn99kp4i%2Fhalanna_halila_d_kdea_jpz5x_y_unsplash_fgC8LCPVxg.jpg&w=3840&q=75)
TypeScript is tremendously helpful while developing Node.js applications. Let's see how to configure it for a seamless development…
![Should I commit node_modules directory to git?](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fki0u7azeq776w83%2Fwombat_F7ltiMWs07.webp&w=3840&q=75)
TL; DR: No. Please add node_modules to your .gitignore file:
![Rendering JSX on the Server with Fastify](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2F4fzg1942c3pdpqa%2Fdrew_farwell_9vk_jpfh9_anw_unsplash_jCIIZyNBdE.jpg&w=3840&q=75)
JSX is an excellent abstraction for building web interfaces. Introduced by Facebook and popularized by React, it's an extension of…
![Generating MD5 hashes on Node.js](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fz6z0tb5emmh8774%2Fdavid_clode_e32f_gl_issbk_unsplash_LuOM5XBUM9.jpg&w=3840&q=75)
You can create hashes in Node.js without the need to install any external library. Usually, I create the following utility function in the…
![Finding the greatest common divisor in TypeScript](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fiyk9qhd9csiniy4%2Fanibal_paradisi_4_aka_nr_rfpv_e_unsplash_zs58NmjExL.jpg&w=3840&q=75)
First described in the classic geometry book Elements, by the ancient Greek mathematician Euclid (ca. 300 BC, at the book VII, proposition…
![Understanding Tail Call Optimization With JavaScript](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2F7p0snv7xmyzymgm%2Fkrzysztof_niewolny_ox_k32a_ljxwu_unsplash_JDZUc6AjoR.jpg&w=3840&q=75)
Consider the following function that calculates the factorial of a number:
![Creating native modals with the dialog element](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fu0sadhrxlz9iaj5%2Fadam_davis_a_c_3_w81d_5_i_unsplash_1_DEJxEuYzuw.jpg&w=3840&q=75)
Using custom dialog elements instead of native browser implementations, such as alert,
confirm, or prompt,
has become the standard for web…
![Using fetch with TypeScript](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fg3ie8go7uayp7wf%2Ffotor_2023_6_2_9_31_25_EYsMpufyzN.png&w=3840&q=75)
Since fetch) is pratically universally supported on the most used web browsers, we may safely drop the use Axios and other similar…
![What is a first-class citizen in computer science?](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fkoteqnmlpuolhco%2Fformiga_UU9O0o3wKu.jpg&w=3840&q=75)
In computer science, a first-class citizen is an entity that supports all operations available to other entities. Some of the available…
![Use GitHub actions to publish your package on NPM](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fvexiz92e4b6be18%2Flula_62mvAztOea.jpg&w=3840&q=75)
Recently, I created a package with the ESLint settings I like to use in my React projects, as I was tired of always having to configure it…