{"record":{"id":"0a659649838f3a35","repo":"angular/angular","slug":"def-type-undefined","errorCode":"DEF_TYPE_UNDEFINED","errorMessage":"Cannot read ${symbolType} metadata. This can indicate a runtime circular dependency in your app that needs to be resolved.","messagePattern":"Cannot read (.+?) metadata\\. This can indicate a runtime circular dependency in your app that needs to be resolved\\.","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"packages/core/src/render3/def_getters.ts","lineNumber":68,"sourceCode":"        `Type ${stringify(type)} does not have 'ɵdir' property.`,\n    );\n  }\n  return def;\n}\n\nexport function getDirectiveDef<T>(type: any): DirectiveDef<T> | null {\n  assertTypeDefined(type, '@Directive');\n  return type[NG_DIR_DEF] || null;\n}\n\nexport function getPipeDef<T>(type: any): PipeDef<T> | null {\n  assertTypeDefined(type, '@Pipe');\n  return type[NG_PIPE_DEF] || null;\n}\n\nfunction assertTypeDefined(type: any, symbolType: string): void {\n  if (type == null) {\n    throw new RuntimeError(\n      RuntimeErrorCode.DEF_TYPE_UNDEFINED,\n      (typeof ngDevMode === 'undefined' || ngDevMode) &&\n        `Cannot read ${symbolType} metadata. This can indicate a runtime ` +\n          `circular dependency in your app that needs to be resolved.`,\n    );\n  }\n}\n\n/**\n * Checks whether a given Component, Directive or Pipe is marked as standalone.\n * This will return false if passed anything other than a Component, Directive, or Pipe class\n *\n * @param type A reference to a Component, Directive or Pipe.\n * @publicApi\n */\nexport function isStandalone(type: Type<unknown>): boolean {\n  const def = getComponentDef(type) || getDirectiveDef(type) || getPipeDef(type);\n  return def !== null && def.standalone;","sourceCodeStart":50,"sourceCodeEnd":86,"githubUrl":"https://github.com/angular/angular/blob/51cb07e98081ab7e4e84a9e0949266a8e19cca84/packages/core/src/render3/def_getters.ts#L50-L86","documentation":"Error \"Cannot read ${symbolType} metadata. This can indicate a runtime circular dependency in your app that needs to be resolved.\" thrown in angular/angular.","triggerScenarios":"Thrown at packages/core/src/render3/def_getters.ts:68 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Resolve the runtime circular dependency (restructure imports or use forwardRef)."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"51cb07e98081ab7e4e84a9e0949266a8e19cca84","analyzedAt":"2026-08-22T07:04:54.531Z","schemaVersion":2},"datasetVersion":"2026-08-22T09:17:25.309Z"}