Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Typescript compiler suddenly started to generate errors

I'm working on an Angular 2 project and all of a sudden I have started to get lots and lots of errors when I try and run the typescript compiler. Can anybody please advise on where to start searching? I have not knowingly changed anything fundamental and even when I clone a fresh copy from the repository the errors persist. The errors are below:

node_modules/@types/node/index.d.ts(102,6): error TS2300: Duplicate identifier 'BufferEncoding'.
node_modules/@types/node/index.d.ts(256,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'errno' must be of type 'number', but here has type 'string'.
node_modules/@types/node/index.d.ts(263,18): error TS2300: Duplicate identifier 'EventEmitter'.
node_modules/@types/node/index.d.ts(549,26): error TS2300: Duplicate identifier 'Buffer'.
node_modules/@types/node/index.d.ts(549,50): error TS2300: Duplicate identifier 'SlowBuffer'.
node_modules/@types/node/index.d.ts(570,18): error TS2300: Duplicate identifier 'EventEmitter'.
node_modules/@types/node/index.d.ts(570,18): error TS2415: Class 'EventEmitter' incorrectly extends base class 'NodeJS.EventEmitter'.
  Types of property 'eventNames' are incompatible.
    Type '() => (string | symbol)[]' is not assignable to type '() => string[]'.
      Type '(string | symbol)[]' is not assignable to type 'string[]'.
        Type 'string | symbol' is not assignable to type 'string'.
          Type 'symbol' is not assignable to type 'string'.
node_modules/@types/node/index.d.ts(733,18): error TS2300: Duplicate identifier 'Agent'.
node_modules/@types/node/index.d.ts(788,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'addressType' must be of type 'string', but here has type 'number | "udp4" | "udp6"'.
node_modules/@types/node/index.d.ts(791,18): error TS2300: Duplicate identifier 'Worker'.
node_modules/@types/node/index.d.ts(1377,17): error TS2300: Duplicate identifier 'CompleterResult'.
node_modules/@types/node/index.d.ts(1414,18): error TS2300: Duplicate identifier 'Script'.
node_modules/@types/node/index.d.ts(2550,18): error TS2300: Duplicate identifier 'TLSSocket'.
node_modules/@types/node/index.d.ts(2684,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'pfx' must be of type 'any', but here has type 'string | Buffer[]'.
node_modules/@types/node/index.d.ts(2685,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'key' must be of type 'any', but here has type 'string | any[] | string[] | Buffer'.
node_modules/@types/node/index.d.ts(2687,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'cert' must be of type 'any', but here has type 'string | string[] | Buffer | Buffer[]'.
node_modules/@types/node/index.d.ts(2688,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'ca' must be of type 'any', but here has type 'string | string[] | Buffer | Buffer[]'.
node_modules/@types/node/index.d.ts(2689,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'crl' must be of type 'any', but here has type 'string | string[]'.
node_modules/@types/node/index.d.ts(2691,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'honorCipherOrder' must be of type 'any', but here has type 'boolean'.
node_modules/@types/node/index.d.ts(2694,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'NPNProtocols' must be of type 'any', but here has type 'string[] | Buffer'.
node_modules/@types/node/index.d.ts(2711,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'key' must be of type 'string | Buffer', but here has type 'string | string[] | Buffer | Buffer[]'.
node_modules/@types/node/index.d.ts(2713,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'cert' must be of type 'string | Buffer', but here has type 'string | string[] | Buffer | Buffer[]'.
node_modules/@types/node/index.d.ts(2714,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'ca' must be of type '(string | Buffer)[]', but here has type 'string | Buffer | (string | Buffer)[]'.
node_modules/@types/node/index.d.ts(2953,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'padding' must be of type 'any', but here has type 'number'.
node_modules/@types/node/index.d.ts(2958,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'padding' must be of type 'any', but here has type 'number'.
node_modules/@types/node/index.d.ts(3216,5): error TS2309: An export assignment cannot be used in a module with other exported elements.
node_modules/@types/node/index.d.ts(3299,5): error TS2300: Duplicate identifier 'export='.
node_modules/@types/node/index.d.ts(3321,18): error TS2300: Duplicate identifier 'Domain'.
node_modules/@types/node/index.d.ts(3613,5): error TS2300: Duplicate identifier 'export='.
typings/globals/node/index.d.ts(78,6): error TS2300: Duplicate identifier 'BufferEncoding'.
typings/globals/node/index.d.ts(234,18): error TS2300: Duplicate identifier 'EventEmitter'.
typings/globals/node/index.d.ts(516,9): error TS2502: 'BuffType' is referenced directly or indirectly in its own type annotation.
typings/globals/node/index.d.ts(517,9): error TS2502: 'SlowBuffType' is referenced directly or indirectly in its own type annotation.
typings/globals/node/index.d.ts(518,26): error TS2300: Duplicate identifier 'Buffer'.
typings/globals/node/index.d.ts(518,50): error TS2300: Duplicate identifier 'SlowBuffer'.
typings/globals/node/index.d.ts(539,18): error TS2300: Duplicate identifier 'EventEmitter'.
typings/globals/node/index.d.ts(580,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'EventEmitter' and 'Server'.
  Named property 'addListener' of types 'EventEmitter' and 'Server' are not identical.
typings/globals/node/index.d.ts(580,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'EventEmitter' and 'Server'.
  Named property 'emit' of types 'EventEmitter' and 'Server' are not identical.
typings/globals/node/index.d.ts(580,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'EventEmitter' and 'Server'.
  Named property 'on' of types 'EventEmitter' and 'Server' are not identical.
typings/globals/node/index.d.ts(580,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'EventEmitter' and 'Server'.
  Named property 'once' of types 'EventEmitter' and 'Server' are not identical.
typings/globals/node/index.d.ts(580,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'EventEmitter' and 'Server'.
  Named property 'prependListener' of types 'EventEmitter' and 'Server' are not identical.
typings/globals/node/index.d.ts(580,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'EventEmitter' and 'Server'.
  Named property 'prependOnceListener' of types 'EventEmitter' and 'Server' are not identical.
typings/globals/node/index.d.ts(580,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'EventEmitter' and 'Server'.
  Named property 'removeListener' of types 'EventEmitter' and 'Server' are not identical.
typings/globals/node/index.d.ts(591,22): error TS2320: Interface 'ServerResponse' cannot simultaneously extend types 'EventEmitter' and 'Writable'.
  Named property 'addListener' of types 'EventEmitter' and 'Writable' are not identical.
typings/globals/node/index.d.ts(591,22): error TS2320: Interface 'ServerResponse' cannot simultaneously extend types 'EventEmitter' and 'Writable'.
  Named property 'emit' of types 'EventEmitter' and 'Writable' are not identical.
typings/globals/node/index.d.ts(591,22): error TS2320: Interface 'ServerResponse' cannot simultaneously extend types 'EventEmitter' and 'Writable'.
  Named property 'on' of types 'EventEmitter' and 'Writable' are not identical.
typings/globals/node/index.d.ts(591,22): error TS2320: Interface 'ServerResponse' cannot simultaneously extend types 'EventEmitter' and 'Writable'.
  Named property 'once' of types 'EventEmitter' and 'Writable' are not identical.
typings/globals/node/index.d.ts(591,22): error TS2320: Interface 'ServerResponse' cannot simultaneously extend types 'EventEmitter' and 'Writable'.
  Named property 'prependListener' of types 'EventEmitter' and 'Writable' are not identical.
typings/globals/node/index.d.ts(591,22): error TS2320: Interface 'ServerResponse' cannot simultaneously extend types 'EventEmitter' and 'Writable'.
  Named property 'prependOnceListener' of types 'EventEmitter' and 'Writable' are not identical.
typings/globals/node/index.d.ts(591,22): error TS2320: Interface 'ServerResponse' cannot simultaneously extend types 'EventEmitter' and 'Writable'.
  Named property 'removeListener' of types 'EventEmitter' and 'Writable' are not identical.
typings/globals/node/index.d.ts(621,22): error TS2320: Interface 'ClientRequest' cannot simultaneously extend types 'EventEmitter' and 'Writable'.
  Named property 'addListener' of types 'EventEmitter' and 'Writable' are not identical.
typings/globals/node/index.d.ts(621,22): error TS2320: Interface 'ClientRequest' cannot simultaneously extend types 'EventEmitter' and 'Writable'.
  Named property 'emit' of types 'EventEmitter' and 'Writable' are not identical.
typings/globals/node/index.d.ts(621,22): error TS2320: Interface 'ClientRequest' cannot simultaneously extend types 'EventEmitter' and 'Writable'.
  Named property 'on' of types 'EventEmitter' and 'Writable' are not identical.
typings/globals/node/index.d.ts(621,22): error TS2320: Interface 'ClientRequest' cannot simultaneously extend types 'EventEmitter' and 'Writable'.
  Named property 'once' of types 'EventEmitter' and 'Writable' are not identical.
typings/globals/node/index.d.ts(621,22): error TS2320: Interface 'ClientRequest' cannot simultaneously extend types 'EventEmitter' and 'Writable'.
  Named property 'prependListener' of types 'EventEmitter' and 'Writable' are not identical.
typings/globals/node/index.d.ts(621,22): error TS2320: Interface 'ClientRequest' cannot simultaneously extend types 'EventEmitter' and 'Writable'.
  Named property 'prependOnceListener' of types 'EventEmitter' and 'Writable' are not identical.
typings/globals/node/index.d.ts(621,22): error TS2320: Interface 'ClientRequest' cannot simultaneously extend types 'EventEmitter' and 'Writable'.
  Named property 'removeListener' of types 'EventEmitter' and 'Writable' are not identical.
typings/globals/node/index.d.ts(647,22): error TS2320: Interface 'IncomingMessage' cannot simultaneously extend types 'EventEmitter' and 'Readable'.
  Named property 'addListener' of types 'EventEmitter' and 'Readable' are not identical.
typings/globals/node/index.d.ts(647,22): error TS2320: Interface 'IncomingMessage' cannot simultaneously extend types 'EventEmitter' and 'Readable'.
  Named property 'emit' of types 'EventEmitter' and 'Readable' are not identical.
typings/globals/node/index.d.ts(647,22): error TS2320: Interface 'IncomingMessage' cannot simultaneously extend types 'EventEmitter' and 'Readable'.
  Named property 'on' of types 'EventEmitter' and 'Readable' are not identical.
typings/globals/node/index.d.ts(647,22): error TS2320: Interface 'IncomingMessage' cannot simultaneously extend types 'EventEmitter' and 'Readable'.
  Named property 'once' of types 'EventEmitter' and 'Readable' are not identical.
typings/globals/node/index.d.ts(647,22): error TS2320: Interface 'IncomingMessage' cannot simultaneously extend types 'EventEmitter' and 'Readable'.
  Named property 'prependListener' of types 'EventEmitter' and 'Readable' are not identical.
typings/globals/node/index.d.ts(647,22): error TS2320: Interface 'IncomingMessage' cannot simultaneously extend types 'EventEmitter' and 'Readable'.
  Named property 'prependOnceListener' of types 'EventEmitter' and 'Readable' are not identical.
typings/globals/node/index.d.ts(647,22): error TS2320: Interface 'IncomingMessage' cannot simultaneously extend types 'EventEmitter' and 'Readable'.
  Named property 'removeListener' of types 'EventEmitter' and 'Readable' are not identical.
typings/globals/node/index.d.ts(698,18): error TS2300: Duplicate identifier 'Agent'.
typings/globals/node/index.d.ts(743,18): error TS2300: Duplicate identifier 'Worker'.
typings/globals/node/index.d.ts(1004,22): error TS2300: Duplicate identifier 'CompleterResult'.
typings/globals/node/index.d.ts(1044,18): error TS2300: Duplicate identifier 'Script'.
typings/globals/node/index.d.ts(1886,18): error TS2300: Duplicate identifier 'TLSSocket'.
typings/globals/node/index.d.ts(2343,5): error TS2300: Duplicate identifier 'export='.
typings/globals/node/index.d.ts(2365,18): error TS2300: Duplicate identifier 'Domain'.
typings/globals/node/index.d.ts(2625,5): error TS2300: Duplicate identifier 'export='.
like image 211
prime Avatar asked Oct 06 '16 11:10

prime


People also ask

Does TypeScript compile with errors?

This means that TypeScript types cannot affect the runtime behavior or performance of your code. It is possible for a program with type errors to produce code (“compile”).

When there is a TypeScript error during compilation the JavaScript code is still generated?

During compile-time TypeScript can emit errors to a terminal, and does not allow compiling of a code at all. Even if you are writing pure JavaScript code, we can still use TypeScript compiler to detect possible errors during compile-time, instead of testing and encountering them on run-time.

Does TypeScript need a compiler?

You will need to install the TypeScript compiler either globally or in your workspace to transpile TypeScript source code to JavaScript ( tsc HelloWorld. ts ).

How does the TypeScript compiler work?

The TypeScript compiler compiles these files and outputs the JavaScript with . js extension by keeping the same file name as the individual input file. The TypeScript compiler also preserves the original file path, hence the . js output file will be generated where the input file was in the directory structure.


2 Answers

It looks like you have the node typings in two places.

node_modules/@types/node/index.d.ts

typings/globals/node/index.d.ts

like image 86
Guilherme Meireles Avatar answered Oct 25 '22 01:10

Guilherme Meireles


As mentioned before, you seem to have mixed @types (by using typescript2) with typings. Just like me when I upgraded to typescript 2.x. I got exactly the same kind of errors. I solved by simply adding the types declaration "types": [] in the compilerOptions in tsconfig. I have described this in more detail here: https://stackoverflow.com/a/40627265/333150

This will basically not include any of the types from the @types location, and only use your typings declarations.

like image 23
Ben Avatar answered Oct 25 '22 02:10

Ben