jaxio / celerio-angular-quickstart

Generate an Angular 5 CRUD application from an existing database schema (we provide a sample one)
Apache License 2.0
481 stars 138 forks source link

Generated findAll function references non-existent composite pk fields #16

Closed jdanosborne closed 7 years ago

jdanosborne commented 7 years ago

The fix for issue #15 gets me further but a compile of the generated sources produces errors in the DTO classes when there are composite pks.

E.g. my gn_messages table has these three columns with the first two being the primary key... languageId messageId messageDescription

and a compile of the generated source errors with...

[ERROR] /home/dan/pharos/celerio/angular/celerio-angular-quickstart/quickstart/src/main/generated-java/com/mycompany/myapp/dto/GnMessagesDTOService.java:[56,45] cannot find symbol
[ERROR] symbol:   variable messageId
[ERROR] location: class com.mycompany.myapp.domain.GnMessages_
[ERROR] /home/dan/pharos/celerio/angular/celerio-angular-quickstart/quickstart/src/main/generated-java/com/mycompany/myapp/dto/GnMessagesDTOService.java:[55,45] cannot find symbol
[ERROR] symbol:   variable languageId
[ERROR] location: class com.mycompany.myapp.domain.GnMessages_

and findAll has this code...

if (gnMessages != null) {
    ExampleMatcher matcher = ExampleMatcher.matching() //
            .withMatcher(GnMessages_.languageId.getName(), match -> match.ignoreCase().startsWith())
            .withMatcher(GnMessages_.messageId.getName(), match -> match.ignoreCase().startsWith())
            .withMatcher(GnMessages_.messageDescription.getName(), match -> match.ignoreCase().startsWith());

but GnMessages_ has been generated as...

public abstract class GnMessages_ {
    // Composite primary key
    public static volatile SingularAttribute<GnMessages, GnMessagesPk> id;

    // Raw attributes
    public static volatile SingularAttribute<GnMessages, String> messageDescription;
}

I've not contributed to an open source project before but if you'd prefer to provide pointers I'd be happy to fork the code and make a pull request. Or just stick to raising the issues as I find them.

Thanks for this project either way - it is teaching me a lot and allowing me to get my head around these newer java technologies!

Dan

jdanosborne commented 7 years ago

A git pull to pick up the latest version for issue #17 has also sorted this - apologies for the confusion.

nromanetti commented 7 years ago

no pb, glad it solved it :-) How is the runtime part going ? works as expected ?

jdanosborne commented 7 years ago

Not yet I'm afraid. Run fails with ...

org.hibernate.AnnotationException: Implicit column reference in the @MapsId mapping fails, try to use explicit referenceColumnNames: com.mycompany.myapp.domain.GnOperator

The gn_operator table has a composite pk of supplierId and instanceId which are both foreign keys and generated code uses @MapsId...

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// many-to-one: GnOperator.supplier ==> GnSupplier.id
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

@JoinColumn(name = "supplierId", nullable = false)
@ManyToOne
@MapsId(value = "supplierId")
public GnSupplier getSupplier() {
    return supplier;
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// many-to-one: GnOperator.instance ==> GnClient.id
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

@JoinColumn(name = "instanceId", nullable = false)
@ManyToOne
@MapsId(value = "instanceId")
public GnClient getInstance() {
    return instance;
}

Might the problem be that the instanceId and supplierId fields are not defined in the GnOperator class, only in the GnOperatorPk class?

nromanetti commented 7 years ago

If you find the correct mapping let me know :)

nromanetti commented 7 years ago

Could you try again ? I did some modif over the week-end. If it still does not work would you mind sharing your schema or the metadata.xml produced by Celerio ?

jdanosborne commented 7 years ago

Ah that works much better now - thank you. I have done a git pull and then generated sources using... celerio-angular-quickstart/quickstart$ mvn -Pmetadata,gen

then compiled and run using... celerio-angular-quickstart/quickstart$ mvn

No errors this time until I try and authenticate - presumably I need to create a user table? I tried the db goal but it failed to execute quickstart-conf/01-create.sql [ERROR] Failed to execute: DROP ALL OBJECTS [ERROR] java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ALL OBJECTS' at line 1 [ERROR] Failed to execute: CREATE SEQUENCE hibernate_sequence START WITH 1000 [ERROR] java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SEQUENCE hibernate_sequence START WITH 1000' at line 1 [ERROR] Failed to execute:

CREATE TABLE USER ( id int not null IDENTITY, login varchar(100) not null, password varchar(100) not null, email varchar(100), is_enabled bool not null default true, civility char(2) default 'MR', country_code varchar(6) default '+33', first_name varchar(100), last_name varchar(100),

creation_date timestamp, creation_author varchar(200), last_modification_date timestamp, last_modification_author varchar(200),

version int default 0,

Looking much more promising though - I'd been trying to work on a stripped down hibernate test case to try and see why it had been complaining about the MapsId annotation but hadn't got very far at all :)

I'll see if I can get the user table created and then log in.

Dan

jdanosborne commented 7 years ago

Ah, OK that sql script is for the sample app and not MySQL - as it had a user table I thought I needed it for the authentication but don't.

So my main problem was just not following your step by step guide - I'd missed the (crucial!) npm install. Now I have a runnable system and will have a play.

Many thanks

Dan

jdanosborne commented 7 years ago

The typescript compile task failed with a myriad of errors... npm run tsc

> celerio-angular-quickstart@1.0.0-SNAPSHOT tsc /home/dan/pharos/celerio/angular/celerio-angular-quickstart/quickstart/src/main/webapp
> tsc

app/entities/gnOperatorLang/gnOperatorLang-detail.component.ts(42,9): error TS2322: Type 'GnOperatorPk' is not assignable to type 'string'.
app/entities/gnOperatorLang/gnOperatorLang-detail.component.ts(104,9): error TS2322: Type 'GnOperatorPk' is not assignable to type 'string'.
node_modules/@types/node/index.d.ts(70,5): error TS2403: Subsequent variable declarations must have the same type.  Variable 'main' must be of type 'any', but here has type 'NodeModule'.
node_modules/@types/node/index.d.ts(81,5): error TS2403: Subsequent variable declarations must have the same type.  Variable 'parent' must be of type 'any', but here has type 'NodeModule'.
node_modules/@types/node/index.d.ts(82,5): error TS2403: Subsequent variable declarations must have the same type.  Variable 'children' must be of type 'any[]', but here has type 'NodeModule[]'.
node_modules/@types/node/index.d.ts(102,6): error TS2300: Duplicate identifier 'BufferEncoding'.
node_modules/@types/node/index.d.ts(263,18): error TS2300: Duplicate identifier 'EventEmitter'.
node_modules/@types/node/index.d.ts(560,26): error TS2300: Duplicate identifier 'Buffer'.
node_modules/@types/node/index.d.ts(560,50): error TS2300: Duplicate identifier 'SlowBuffer'.
node_modules/@types/node/index.d.ts(584,22): error TS2415: Class 'EventEmitter' incorrectly extends base class 'internal'.
  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(604,5): error TS2309: An export assignment cannot be used in a module with other exported elements.
node_modules/@types/node/index.d.ts(749,18): error TS2300: Duplicate identifier 'Agent'.
node_modules/@types/node/index.d.ts(804,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(807,18): error TS2300: Duplicate identifier 'Worker'.
node_modules/@types/node/index.d.ts(1488,17): error TS2300: Duplicate identifier 'CompleterResult'.
node_modules/@types/node/index.d.ts(1525,18): error TS2300: Duplicate identifier 'Script'.
node_modules/@types/node/index.d.ts(2821,18): error TS2300: Duplicate identifier 'TLSSocket'.
node_modules/@types/node/index.d.ts(3018,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(3019,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(3021,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(3022,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(3023,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(3025,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(3028,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(3045,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(3047,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(3048,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(3287,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(3292,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(3338,22): error TS2420: Class 'Readable' incorrectly implements interface 'ReadableStream'.
  Types of property 'pause' are incompatible.
    Type '() => Readable' is not assignable to type '{ (): ReadableStream; (): ReadableStream; }'.
      Type 'Readable' is not assignable to type 'ReadableStream'.
        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(3421,22): error TS2420: Class 'Writable' incorrectly implements interface 'WritableStream'.
  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(3505,22): error TS2420: Class 'Duplex' incorrectly implements interface 'ReadWriteStream'.
  Types of property 'pause' are incompatible.
    Type '() => Duplex' is not assignable to type '{ (): ReadWriteStream; (): ReadWriteStream; }'.
      Type 'Duplex' is not assignable to type 'ReadWriteStream'.
        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(3526,22): error TS2420: Class 'Transform' incorrectly implements interface 'ReadWriteStream'.
  Types of property 'pause' are incompatible.
    Type '() => Transform' is not assignable to type '{ (): ReadWriteStream; (): ReadWriteStream; }'.
      Type 'Transform' is not assignable to type 'ReadWriteStream'.
        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(3552,5): error TS2309: An export assignment cannot be used in a module with other exported elements.
node_modules/@types/node/index.d.ts(3635,5): error TS2300: Duplicate identifier 'export='.
node_modules/@types/node/index.d.ts(3657,18): error TS2300: Duplicate identifier 'Domain'.
node_modules/@types/node/index.d.ts(3657,18): error TS2420: Class 'Domain' incorrectly implements interface 'NodeJS.Domain'.
  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(3949,5): error TS2300: Duplicate identifier 'export='.
node_modules/typescript/lib/lib.es2015.core.d.ts(17,14): error TS2300: Duplicate identifier 'PropertyKey'.
typings/globals/core-js/index.d.ts(3,14): error TS2300: Duplicate identifier 'PropertyKey'.
typings/globals/core-js/index.d.ts(67,5): error TS2687: All declarations of 'name' must have identical modifiers.
typings/globals/core-js/index.d.ts(127,5): error TS2403: Subsequent variable declarations must have the same type.  Variable '[Symbol.unscopables]' must be of type '{ copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: ...', but here has type 'any'.
typings/globals/core-js/index.d.ts(244,5): error TS2687: All declarations of 'flags' must have identical modifiers.
typings/globals/core-js/index.d.ts(258,5): error TS2687: All declarations of 'EPSILON' must have identical modifiers.
typings/globals/core-js/index.d.ts(293,5): error TS2687: All declarations of 'MAX_SAFE_INTEGER' must have identical modifiers.
typings/globals/core-js/index.d.ts(300,5): error TS2687: All declarations of 'MIN_SAFE_INTEGER' must have identical modifiers.
typings/globals/core-js/index.d.ts(439,5): error TS2403: Subsequent variable declarations must have the same type.  Variable '[Symbol.toStringTag]' must be of type '"Symbol"', but here has type 'string'.
typings/globals/core-js/index.d.ts(439,5): error TS2687: All declarations of '[Symbol.toStringTag]' must have identical modifiers.
typings/globals/core-js/index.d.ts(446,5): error TS2687: All declarations of 'prototype' must have identical modifiers.
typings/globals/core-js/index.d.ts(474,5): error TS2687: All declarations of 'hasInstance' must have identical modifiers.
typings/globals/core-js/index.d.ts(480,5): error TS2687: All declarations of 'isConcatSpreadable' must have identical modifiers.
typings/globals/core-js/index.d.ts(486,5): error TS2687: All declarations of 'iterator' must have identical modifiers.
typings/globals/core-js/index.d.ts(492,5): error TS2687: All declarations of 'match' must have identical modifiers.
typings/globals/core-js/index.d.ts(498,5): error TS2687: All declarations of 'replace' must have identical modifiers.
typings/globals/core-js/index.d.ts(504,5): error TS2687: All declarations of 'search' must have identical modifiers.
typings/globals/core-js/index.d.ts(510,5): error TS2687: All declarations of 'species' must have identical modifiers.
typings/globals/core-js/index.d.ts(516,5): error TS2687: All declarations of 'split' must have identical modifiers.
typings/globals/core-js/index.d.ts(522,5): error TS2687: All declarations of 'toPrimitive' must have identical modifiers.
typings/globals/core-js/index.d.ts(528,5): error TS2687: All declarations of 'toStringTag' must have identical modifiers.
typings/globals/core-js/index.d.ts(534,5): error TS2687: All declarations of 'unscopables' must have identical modifiers.
typings/globals/core-js/index.d.ts(591,5): error TS2403: Subsequent variable declarations must have the same type.  Variable '[Symbol.toStringTag]' must be of type '"Math"', but here has type 'string'.
typings/globals/core-js/index.d.ts(591,5): error TS2687: All declarations of '[Symbol.toStringTag]' must have identical modifiers.
typings/globals/core-js/index.d.ts(595,5): error TS2403: Subsequent variable declarations must have the same type.  Variable '[Symbol.toStringTag]' must be of type '"JSON"', but here has type 'string'.
typings/globals/core-js/index.d.ts(595,5): error TS2687: All declarations of '[Symbol.toStringTag]' must have identical modifiers.
typings/globals/core-js/index.d.ts(610,5): error TS2687: All declarations of 'size' must have identical modifiers.
typings/globals/core-js/index.d.ts(616,5): error TS2687: All declarations of 'prototype' must have identical modifiers.
typings/globals/core-js/index.d.ts(627,5): error TS2687: All declarations of 'size' must have identical modifiers.
typings/globals/core-js/index.d.ts(633,5): error TS2687: All declarations of 'prototype' must have identical modifiers.
typings/globals/core-js/index.d.ts(648,5): error TS2687: All declarations of 'prototype' must have identical modifiers.
typings/globals/core-js/index.d.ts(662,5): error TS2687: All declarations of 'prototype' must have identical modifiers.
typings/globals/core-js/index.d.ts(674,5): error TS2687: All declarations of 'value' must have identical modifiers.
typings/globals/core-js/index.d.ts(786,5): error TS2687: All declarations of 'prototype' must have identical modifiers.
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(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(1323,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'Socket' and 'EventEmitter'.
  Named property 'removeListener' of types 'Socket' and 'EventEmitter' are not identical.
typings/globals/node/index.d.ts(1886,18): error TS2300: Duplicate identifier 'TLSSocket'.
typings/globals/node/index.d.ts(2188,18): error TS2420: Class 'Readable' incorrectly implements interface 'ReadableStream'.
  Types of property 'pause' are incompatible.
    Type '() => Readable' is not assignable to type '{ (): ReadableStream; (): ReadableStream; }'.
      Type 'Readable' is not assignable to type 'ReadableStream'.
        Property 'isPaused' is missing in type 'Readable'.
typings/globals/node/index.d.ts(2211,18): error TS2420: Class 'Writable' incorrectly implements interface 'WritableStream'.
  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'.
typings/globals/node/index.d.ts(2229,18): error TS2420: Class 'Duplex' incorrectly implements interface 'ReadWriteStream'.
  Types of property 'pause' are incompatible.
    Type '() => Duplex' is not assignable to type '{ (): ReadWriteStream; (): ReadWriteStream; }'.
      Type 'Duplex' is not assignable to type 'ReadWriteStream'.
        Property 'isPaused' is missing in type 'Duplex'.
typings/globals/node/index.d.ts(2250,18): error TS2420: Class 'Transform' incorrectly implements interface 'ReadWriteStream'.
  Types of property 'pause' are incompatible.
    Type '() => Transform' is not assignable to type '{ (): ReadWriteStream; (): ReadWriteStream; }'.
      Type 'Transform' is not assignable to type 'ReadWriteStream'.
        Property 'isPaused' is missing in type 'Transform'.
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(2365,18): error TS2420: Class 'Domain' incorrectly implements interface 'NodeJS.Domain'.
  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'.
typings/globals/node/index.d.ts(2625,5): error TS2300: Duplicate identifier 'export='.

npm ERR! Linux 3.19.0-74-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "tsc"
npm ERR! node v5.1.0
npm ERR! npm  v3.3.12
npm ERR! code ELIFECYCLE
npm ERR! celerio-angular-quickstart@1.0.0-SNAPSHOT tsc: `tsc`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the celerio-angular-quickstart@1.0.0-SNAPSHOT tsc script 'tsc'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the celerio-angular-quickstart package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     tsc
npm ERR! You can get their info via:
npm ERR!     npm owner ls celerio-angular-quickstart
npm ERR! There is likely additional logging output above.

If you let me know which functionality this is likely to affect I can focus on other bits of the app at first.

Thanks

Dan