emberjs/ember.js · error · TraversalError

Cannot replace a node with multiple nodes unless it is part

Error message

Cannot replace a node with multiple nodes unless it is part of an array

What it means

Error "Cannot replace a node with multiple nodes unless it is part of an array" thrown in emberjs/ember.js.

Source

Thrown at packages/@glimmer/syntax/lib/traversal/traverse.ts:239

}

function assignKey<N extends ASTv1.Node, K extends VisitorKey<N>>(
  node: N,
  key: K,
  value: ASTv1.Node,
  result: N[K] | [N[K]] | null
) {
  if (result === null) {
    throw cannotRemoveNode(value, node, key);
  } else if (Array.isArray(result)) {
    // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
    if (result.length === 1) {
      set(node, key, result[0]);
    } else {
      if (result.length === 0) {
        throw cannotRemoveNode(value, node, key);
      } else {
        throw cannotReplaceNode(value, node, key);
      }
    }
  } else {
    set(node, key, result);
  }
}

function spliceArray(array: ASTv1.Node[], index: number, result: ASTv1.Node | ASTv1.Node[] | null) {
  if (result === null) {
    array.splice(index, 1);
    return 0;
  } else if (Array.isArray(result)) {
    array.splice(index, 1, ...result);
    return result.length;
  } else {
    array.splice(index, 1, result);
    return 1;
  }

View on GitHub (pinned to 26f97246a8)

When it happens

Trigger: Thrown at packages/@glimmer/syntax/lib/traversal/traverse.ts:239 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/7fdada129b85e404. Report an issue: GitHub.