ueberdosis/tiptap · error
UniqueID extension not found in the extensions array
Error message
UniqueID extension not found in the extensions array
What it means
Error "UniqueID extension not found in the extensions array" thrown in ueberdosis/tiptap.
Source
Thrown at packages/extension-unique-id/src/generate-unique-ids.ts:49
* // Result:
* // {
* // type: 'doc',
* // content: [
* // { type: 'paragraph', content: [{ type: 'text', text: 'Hello, world!' }], id: '123' }
* // ]
* // }
*
* @param doc - A Tiptap JSON document to add unique IDs to.
* @param extensions - The extensions to use. Must include the `UniqueID` extension.
* @returns The updated Tiptap JSON document, with the unique IDs added to the nodes.
*/
export function generateUniqueIds(doc: JSONContent, extensions: Extensions): JSONContent {
// Find the UniqueID extension in the extensions array. If it's not found, throw an error.
const uniqueIDExtension = extensions.find(ext => ext.name === 'uniqueID') as
| typeof UniqueID
| undefined
if (!uniqueIDExtension) {
throw new Error('UniqueID extension not found in the extensions array')
}
// Convert the JSON content to a ProseMirror node
const schema = getSchema([
...extensions.filter(ext => ext.name !== 'uniqueID'),
uniqueIDExtension,
])
const { types: configuredTypes, attributeName, generateID } = uniqueIDExtension.options
const types =
configuredTypes === 'all'
? Object.keys(schema.nodes).filter(type => type !== 'doc' && type !== 'text')
: configuredTypes
const contentNode = PMNode.fromJSON(schema, doc)
// Find nodes that don't have a unique ID
const nodesWithoutId = findChildren(contentNode, node => {
return !node.attrs[attributeName] && types.includes(node.type.name)
})
View on GitHub (pinned to 496d53afd7)
When it happens
Trigger: Thrown at packages/extension-unique-id/src/generate-unique-ids.ts:49 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ueberdosis/tiptap@496d53afd7 (2026-08-26).
Data as JSON: /api/errors/f8389ae4d1711fbb.
Report an issue: GitHub.