TypeScript error TS1005: ';' expected (II)

Viewed 228337

First of all, I've already seen the other posts about error TS1005. Same error code, but totally different.

A simple let x: number; will generate the error TS1005 during compilation. It's not about a missing semicolon as what the error message says, but the compiler does not recognize the let keyword. I read that maybe because of an outdated compiler.

Here's my typescript version installed using npm install -g typescript

  • TypeScript version: 2.5.2
  • Compiler (tsc) version: 1.0.3.0

Maybe somebody can help?

15 Answers

Your installation is wrong; you are using a very old compiler version (1.0.3.0).

tsc --version should return a version of 2.5.2.

Check where that old compiler is located using: which tsc (or where tsc) and remove it.

Try uninstalling the "global" typescript

npm uninstall -g typescript

Installing as part of a local dev dependency of your project

npm install typescript --save-dev

Execute it from the root of your project

./node_modules/.bin/tsc

You don't have the last version of typescript.

Running :

npm install -g typescript

npm checks if tsc command is already installed.

And it might be, by another software like Visual Studio. If so, npm doesn't override it. So you have to remove the previous deprecated tsc installed command.

Run where tsc to know its bin location. It should be in C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\ in windows. Once found, delete the folder, and re-run npm install -g typescript. This should now install the last version of typescript.

I faced the same error. After banging my head for half an hour, I found one Romeo bracket hanging around without his Juliet LOL...!(the opening and closing brackets were mismatching) Please check all your brackets to avoid such errors.

The issue was in my code.

In large code base, issue was not clear.

A simplified code is below:

Bad:

 collection.insertMany(
    [[],
    function (err, result) {
    });

Good:

collection.insertMany(
    [],
    function (err, result) {
    });

That is, the first one has [[], instead of normal array []

TS error was not clear enough, and it showed error in the last line with });

Hope this helps.

I had today a similar error message. What was peculiar is that it did not break the Application. It was running smoothly but the command prompt (Windows machine) indicated there was an error. I did not update the Typescript version but found another culprit. It turned there was a tiny omission of symbol - closing ")", which I believe The Typescript is compensating for. Just for reference the code is the following:

[new Object('First Characteristic','Second Characteristic',
'Third Characteristic'*] 

* notice here the ending ")" is missing.

Once brought back no more issues on the command prompt!

  • Remove C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0 directory.

  • Now run :

    npm install -g typescript 
    

    this will install the latest version and then re-try.

Just try to without changing anything npm install rxjs@X.X.X X.X.X is your current version

I was injecting service like this:

private messageShowService MessageShowService

instead of:

private messageShowService: MessageShowService

and that was the reason of error, despite nothing related with ',' was there.

If you're getting error TS1005: 'finally' expected., it means you forgot to implement catch after try. Generally, it means the syntax you attempted to use was incorrect.

Stupid issue with minor mistake;

i was trying

const quizType = computed(() => rootState.quizzes.quiz

const res = await noAuthApi.getQuizzes(quizType)

and the issue was, i missed the closing bracket. it should be like

const quizType = computed(() => rootState.quizzes.quiz)

const res = await noAuthApi.getQuizzes(quizType)

Verify extension of file. File containing tsx should have .tsx extension.

in my case I'd the 'function' keyword. I'd to remove it.

Bad:

export class CustomValidators {

static function myFunc(x: string) { console.log(x) } }

Good:

export class CustomValidators {

static myFunc(x: string) { console.log(x) } }

I got this error

In my case the Import type supported on typescript version 3.8 or above, but I install lower version of ngx-tour-core that doesn't contain Import type and problem solved.

Mine was solved with this.

// TS1005
constructor(
  @Inject('USER_SERVICE') private readonly 
  userService: UsersService,
) { }

// No Error
constructor(
  @Inject('USER_SERVICE') private readonly userService: UsersService,
) { }
Related