Giter Club home page Giter Club logo

Comments (4)

SamsadSajid avatar SamsadSajid commented on July 21, 2024 2

Hi...
So I was following this tutorial and trying to code along. But I got this error for this merged issue.

(node:26230) UnhandledPromiseRejectionWarning: TSError: ⨯ Unable to compile TypeScript:
src/services/authService.ts(12,46): error TS2503: Cannot find namespace 'Models'.

    at createTSError (/tut/node/node_modules/ts-node/src/index.ts:261:12)
    at getOutput (/tut/node/node_modules/ts-node/src/index.ts:367:40)
    at Object.compile (/tut/node/node_modules/ts-node/src/index.ts:558:11)
    at Module.m._compile (/tut/node/node_modules/ts-node/src/index.ts:439:43)
    at Module._extensions..js (internal/modules/cjs/loader.js:995:10)
    at Object.require.extensions.<computed> [as .ts] (/tut/node/node_modules/ts-node/src/index.ts:442:12)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Function.Module._load (internal/modules/cjs/loader.js:727:14)
    at Module.require (internal/modules/cjs/loader.js:852:19)
    at require (internal/modules/cjs/helpers.js:74:18)
(node:26230) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:26230) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I checked the tsconfig.json and package.json in my project and in this project. They're basically just the same thing.

Do I need to import something or use any specific version of anything?

tsconfig.json

{
  "compilerOptions": {
    "target": "es2017",
    "lib": [
      "es2017",
      "esnext.asynciterable"
    ],
    "typeRoots": [
      "./node_modules/@types",
      "./src/types"
    ],
    "allowSyntheticDefaultImports": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "forceConsistentCasingInFileNames": true,
    "moduleResolution": "node",
    "module": "commonjs",
    "pretty": true,
    "sourceMap": true,
    "outDir": "./build",
    "allowJs": true,
    "noEmit": false,
    "esModuleInterop": true
  },
  "include": [
    "./src/**/*"
  ],
  "exclude": [
    "node_modules",
    "tests"
  ]
}

from bulletproof-nodejs.

bodn avatar bodn commented on July 21, 2024 1

I went ahead and renamed the /types/express to /types/global and that fixed my issue
https://www.typescriptlang.org/docs/handbook/declaration-files/templates/global-modifying-module-d-ts.html

from bulletproof-nodejs.

santiq avatar santiq commented on July 21, 2024

Sure, go ahead.
How would it be?

from bulletproof-nodejs.

JoseRFelix avatar JoseRFelix commented on July 21, 2024

First, define a Models global type namespace with the desired model definition:

src/types/express/index.d.ts

//...
namespace Models {
    export type UserModel = Model<IUser & Document>;
  }

Then on services constructor we can just call Models with the model to apply:

src/services/auth.ts

constructor(
    @Inject('userModel') private userModel: Models.UserModel,
    private mailer: MailerService,
    @Inject('logger') private logger,
  ) {}

from bulletproof-nodejs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.