emberjs/ember.js · error · Error

Use constructor instead of create

Error message

Use constructor instead of create

What it means

Error "Use constructor instead of create" thrown in emberjs/ember.js.

Source

Thrown at packages/@ember/-internals/glimmer/lib/components/internal.ts:135

  [OPAQUE_INTERNAL_COMPONENT_CONSTRUCTOR]: true;
}

const OPAQUE_CONSTRUCTOR_MAP = new WeakMap<
  OpaqueInternalComponentConstructor,
  InternalComponentConstructor
>();

export function opaquify(
  constructor: InternalComponentConstructor,
  template: TemplateFactory
): OpaqueInternalComponentConstructor {
  let _opaque: Omit<
    OpaqueInternalComponentConstructor,
    typeof OPAQUE_INTERNAL_COMPONENT_CONSTRUCTOR
  > = {
    // Factory interface
    create(): never {
      throw assert('Use constructor instead of create');
    },

    toString() {
      return constructor.toString();
    },
  };

  let opaque = _opaque as OpaqueInternalComponentConstructor;

  OPAQUE_CONSTRUCTOR_MAP.set(opaque, constructor);

  setInternalComponentManager(INTERNAL_COMPONENT_MANAGER, opaque);
  setComponentTemplate(template, opaque);

  return opaque;
}

function deopaquify(opaque: OpaqueInternalComponentConstructor): InternalComponentConstructor {

View on GitHub (pinned to 26f97246a8)

When it happens

Trigger: Thrown at packages/@ember/-internals/glimmer/lib/components/internal.ts:135 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of emberjs/ember.js@26f97246a8 (2026-09-01). Data as JSON: /api/errors/1bea3151da44156a. Report an issue: GitHub.