Wednesday, January 12, 2022

TS-Node: Typescript execute engine

In my previous article, I have described how to create a simple typescript nodejs project. The method works fine in a small project, but take longer compilation time on a large project because its need to compile all typescript files on every change.
Create Node.js & Express.js with Typescript Project

The solution is using ts-node where it direct run the typescript without compiling it to javascript.

  1. Follow the steps to create a Node.js & Express.js with Typescript.
  2. Type "npm install -g ts-node".
  3. Add an entry to package.json.
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "build": "tsc -b",
        "start": "node dist/app.js",
        "dev": "nodemon dist/app.js",
        "dev:ts": "nodemon --exec ts-node src/app.ts"
      },
  4. Now you can just run the development using 1 console: npm run dev:ts

Saturday, July 24, 2021

New in Mongoose 5.10: Optimistic Concurrency - Safe Save Conflict

Optimistic concurrency is a better way to handle save conflict compare to the article I wrote previously.

https://scalaoncloud.blogspot.com/2021/03/how-to-avoid-save-conflict-in-mongoose.html


Optimistic concurrency tracks the version of the document and increments the version every time save(). If the version of the document in the database changed between when you loaded the document and when you save(), Mongoose will throw an error.

https://mongoosejs.com/docs/guide.html#optimisticConcurrency

https://thecodebarbarian.com/whats-new-in-mongoose-5-10-optimistic-concurrency.html