AUR0010

Attempted to jitRegister an intrinsic type: yyyy. Did you forget to add @inject(Key)

Error message

Attempted to jitRegister an intrinsic type: yyyy. Did you forget to add @inject(Key)

Parameters

Intrinsic type name

Error explanation

This error occurs when the DI container tries to automatically register (jitRegister) a value that is a JavaScript intrinsic type (such as String, Number, Boolean, Array, etc.).

This usually happens because TypeScript's emitDecoratorMetadata emits these types for constructor parameters, but Aurelia's DI cannot resolve them unless you explicitly tell it how, using the @inject decorator.

Common causes

  • You have a constructor parameter of type string, number, etc., and did not use @inject.

  • You are relying on TypeScript's metadata to infer dependencies, but intrinsic types are not automatically resolvable.

How to fix

  • Use the @inject decorator to specify the correct dependency key for intrinsic types.

    import { inject } from 'aurelia';
    @inject(String)
    class MyClass {
      constructor(myString) {
        this.myString = myString;
      }
    }
  • If you do not intend to inject an intrinsic type, check for accidental usage or misconfiguration.

Debugging tips

  • Check the constructor parameters of the class that triggered the error.

  • Look for missing or incorrect @inject usage.

  • Review the stack trace to find the source of the resolution attempt.

Last updated

Was this helpful?