Strapi typing seems incorrect

System Information
  • 4.4.7:
  • macOS Monterey:
  • PostgresQL:
  • v18^:
  • ** v8.19.2**:
  • 1.23.0-20220130.1630:

I have a fairly empty project recently setup for some testing of Strapi. I use Typescript and generated the types for a simple content type:

export interface ApiPrizePrize extends CollectionTypeSchema {
  info: {
    singularName: 'prize';
    pluralName: 'prizes';
    displayName: 'Prize';
    description: '';
  };
  options: {
    draftAndPublish: false;
  };
  attributes: {
    Title: StringAttribute & RequiredAttribute;
    Description: RichTextAttribute & RequiredAttribute;
    Slug: UIDAttribute<'api::prize.prize', 'Title'> & RequiredAttribute;
    ...
  }
};

However, when I try to use this in the entityService I cannot really see any typing come back. This is because the entityService is typed as any:

/**
 * The Strapi interface implemented by the main Strapi class.
 */
export interface Strapi {
...

  /**
   * Entity Service instance
   */
  entityService: any;
}

It seems to me that Typescript integration is not correct here, and not super useful. I’m wondering if I did something wrong when setting up my project (I chose the Custom route, but didn’t add anything outside the default yarn create strapi-app ... flow).

I would like to know; is entityService supposed to be typed here? If yes, can someone point me in the right direction. If not, what is the use of untyped services? Is this still under development?

Best regards,
Yuri

Bumping!
Is there really no one that can indicate me what might be going on here?

I’m also super confused about this. How are you supposed to use the entityService? Did you get anywher with this @yurivangeffen?

@axelinternet unfortunately not. I must say that these forums generally don’t help at all. Not much activity and replies.
Something that has me seriously considering not using Strapi at all.

Yeah I don’t feel that the TS side will be production ready for some time

Any follow up? typescript integration is really demanding.