Fixing the path issue in the tsconfig file causing trouble with NestJS

Currently, I am working with NestJS 6.12.9 and Typescript 3.6.3 in my project. The configuration file tsconfig.json looks like this:

{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es2017",
    "sourceMap": true,
    "noEmit": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true,
    "moduleResolution": "node",
    "paths":{
      "@Models/*":["src/database/entities/*"],
      "@Commons/*":["src/common/*"]
    }
  },
  "exclude": ["node_modules", "dist"],
  "include": [
    "./src/**/*"
  ]
}

In the file jwt.service.ts, I have the following code snippet:

import { User } from "@Models/user.entity";

When I execute npm run start:dev, it compiles into JavaScript and the import statement for User entity resolves to:

const user_entity_1 = require("../../../../../../../D:\\Project\\MyJob\\Backend\\src\\database\\entities\\user.entity");

However, an error occurs with the message:

internal/modules/cjs/loader.js:638 throw err; ^ Error: Cannot find module '../../../../../../../D:\Project\MyJob\Backend\src\database\entities\user.entity'ntity' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15) at Function.Module._load (internal/modules/cjs/loader.js:562:25) at Module.require (internal/modules/cjs/loader.js:692:17) at require (internal/modules/cjs/helpers.js:25:18) at Object. (D:\Project\MyJob\Backend\dist\shared\auth\jwt.service.js:25:23) at Module._compile (internal/modules/cjs/loader.js:778:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3)

The issue is resolved only when I use this modified path in the code:

const user_entity_1 = require("../..\\database\\entities\\user.entity");

Answer №1

I encountered a similar problem while working with NestJS, but managed to address it successfully by following these steps. Take a look at the accompanying image below:

https://i.sstatic.net/r8jfT.png

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Order an array based on a specified list of fields

Imagine you have an array of objects: People = [ { "id": 1, "name": Joseph, function: "preacher"}, { "id": 2, "name": Ann, function: "singer"}, { "id": 3, "name": Miles, functi ...

Top Tips in Angular2 for showing buttons depending on a user's security authorizations

I’m in the process of building my inaugural Angular 2 website. Featuring a Bootstrap NavBar positioned on the left side, users can effortlessly navigate to various pages within the site. The navigation buttons displayed on the NavBar are tailored based o ...

Angular2: Promise Rejection: Quotes cannot be used for evaluation in this component

I'm currently working on a component in Angular that includes an input parameter: import {Component, Input} from '@angular/core'; @Component({ selector: 'comment', template: ` <div class="col-lg-6 col-md-6 ...

Troubleshooting issue with getServerSideProps not functioning in Next.js while utilizing Next-redux-wrapper and TypeScript

When attempting to trigger an action as outlined in the documentation using the getServerSideProps function with the help of next-redux-wrapper store and redux-thunk, I am encountering the following TypeScript error: ts(2322): Type '({ req }: GetServe ...

Utilizing TypedPropertyDescriptor to limit decorators in Typescript when using decorator factories

When it comes to restricting what a decorator can apply on, the standard method involves using a TypedPropertyDescriptor like so: export function decorator(target, key, TypedPropertyDescriptor<T extends ...>) {...} While this approach works well whe ...

Pause and be patient while in the function that delivers an observable

I have a function that loads user details and returns an observable. This function is called from multiple places, but I want to prevent redundant calls by waiting until the result is loaded after the first call. Can anyone suggest how this can be accompli ...

Is it possible for TypeScript to deduce the type of a discriminated union using "extracted" boolean logic?

Recently, I've been using discriminated unions (DU) more frequently and have really started to appreciate their benefits. However, I've encountered a challenge that I can't seem to resolve. When I include a boolean check inline for the DU, T ...

Don't continue to expect other promises if one of them comes back with a special

I am dealing with a situation where I need to validate data in multiple tables by utilizing a function called validateTables(). This function relies on an asynchronous helper function queryTable() to check each table through API queries. The requirement fo ...

What steps should I take to resolve the issue of my Vite.ts/React website displaying as a blank white page on Github Pages?

Being new to React and Vite, I'm facing an issue where I see a blank white page when opening the link. Unlike traditional JavaScript, I am using TypeScript for this project, which could be the reason behind my problem. The project I created is a hang ...

Is it possible to use two mergeMap operators concurrently in RxJs?

Recently, I started using RxJs alongside redux and have successfully created a working stream. Below is the code snippet of my action pipe: action$.pipe( ofType(DELETE_CALL_HISTORY), withLatestFrom(state$), mergeMap(() = ...

Troubleshooting the issue with the React Storybook Checkbox change handler functionality

I decided to create a checkbox component using React, Typescript, Storybook, and Styled-Components by following this informative tutorial: building-a-checkbox-component-with-react-and-styled-components. I had to make some adjustments to the code because I ...

Is there a way to utilize namespace import without bringing in all the other imports as well

Within our angular application built with typescript, we make use of lodash. Our current approach to importing lodash is demonstrated below: import * as _ from 'lodash'; //.. code which utilizes _.pluck() However, in order to optimize for tree ...

Discover the best method to limit routes to only one in NestJs!

Assume I have a controller with two routes: @Controller('events') export class EventController { @Get('my') async getMyEvents() { return "A" } @Get(':eventId') async getEvent(@Param(&apo ...

Imitate a worldwide entity with Jest and Typescript

I have a React component that utilizes the global object Routes provided by the Rails gem js-routes. My component is being tested with Jest's snapshot testing feature. The issue arises when trying to mock the Routes global object in the test to return ...

Struggling to execute a simple hello_world.ts script following a recent TypeScript installation on WSL

I've recently ventured into the realm of Typescript and decided to kick things off by following the official 5-minute tutorial available at: https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html npm install -g typescript However, ...

Ways to retrieve a value from outside the Angular subscribe block

Custom Template <div class="row" *ngFor="let otc of this.jsonData;index as j"> <div> <table class="table table-striped table-fixed"> <tr *ngFor="let opc of this.winServiceInfo ...

Enter the previous script type

Uncertain about the type to assign here. "HowitterObject" in setHowitters represents data and "...prev' is the ongoing accumulation of data from howitterObject. interface IhowitterMessage { message: string; createAt: number; id: ...

Angular - passing information to a nested component

Within my application, I have a main component along with three sub-components. I am passing data to these three sub-components and using setTimeout to manage the timing of the data being sent. The first sub-component displays for 5000 milliseconds. The ...

Enhancing Mongoose promises with Bluebird in a TypeScript environment

Currently, I am working on a project that involves developing an application using nodejs/typescript and a mongodb database. In order to interact with the database, I have implemented mongoose as my query interface. Recently, I came across an informative ...

Update an API call to switch from promises to observables, implementing axios

Recently, I have been experimenting with using rxjs for API requests in a React application and this is the approach that I have come up with. What are your thoughts on this method? Are there any best practices that you would recommend following? If you ...