Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Typescript error: error TS2705: An async function or method in ES5/ES3 requires the 'Promise' constructor.

Tags:

typescript

Typescript error error TS2705: An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your --lib option.

I am getting this error when I am trying to compile any function with async await in it. My tsconfig.json file is this

{
  "compilerOptions": {
    "module": "commonjs",
    "lib": [ "es2015" ],
    "module":"commonjs",
    "target": "es6",
    "moduleResolution" : "node",
    "rootDir": "src/",
    "sourceMap": true
  },
  "includes" : [
    "src/**/*.ts"
  ],
  "exclude": [
    "node_modules"
  ]
}

Please help

like image 337
gd vigneshwar Avatar asked Jun 25 '18 13:06

gd vigneshwar


1 Answers

As se discussed in the comment, you are running the compiler in the command line by specifying the files :

tsc filename.ts

This actually means the compiler will not take into account your tsconfig.json file, it will expect that you specify the all the settings at the command line.

If you want to use a project configuration file (aka tsocnfig.json) you must either specify it explicitly using the -p option. See here for compiler options.

tsc -p tsconfig.json

Or if you run the compiler directly in the project dir where the tsconfig.json is located you can just run the compiler without any options and it will pick the project file named tsconfig.json in the current directory

tsc
like image 114
Titian Cernicova-Dragomir Avatar answered Oct 23 '22 19:10

Titian Cernicova-Dragomir