{"record":{"id":"29f23837f572c7d3","repo":"GoogleChrome/lighthouse","slug":"pluginname-has-a-missing-audit-path","errorCode":null,"errorMessage":"${pluginName} has a missing audit path.","messagePattern":"(.+?) has a missing audit path\\.","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"core/config/config-plugin.js","lineNumber":87,"sourceCode":"   * if no additional audits are being added by the plugin).\n   * @param {unknown} auditsJson\n   * @param {string} pluginName\n   * @return {Array<{path: string}>|undefined}\n   */\n  static _parseAuditsList(auditsJson, pluginName) {\n    // Plugin audits aren't required (relying on LH default audits) so fall back to [].\n    if (auditsJson === undefined) {\n      return undefined;\n    } else if (!isArrayOfUnknownObjects(auditsJson)) {\n      throw new Error(`${pluginName} has an invalid audits array.`);\n    }\n\n    return auditsJson.map(auditDefnJson => {\n      const {path, ...invalidRest} = auditDefnJson;\n      assertNoExcessProperties(invalidRest, pluginName, 'audit');\n\n      if (typeof path !== 'string') {\n        throw new Error(`${pluginName} has a missing audit path.`);\n      }\n      return {\n        path,\n      };\n    });\n  }\n\n  /**\n   * Extract and validate the list of category AuditRefs added by the plugin.\n   * @param {unknown} auditRefsJson\n   * @param {string} pluginName\n   * @return {Array<LH.Config.AuditRefJson>}\n   */\n  static _parseAuditRefsList(auditRefsJson, pluginName) {\n    if (!isArrayOfUnknownObjects(auditRefsJson)) {\n      throw new Error(`${pluginName} has no valid auditsRefs.`);\n    }\n","sourceCodeStart":69,"sourceCodeEnd":105,"githubUrl":"https://github.com/GoogleChrome/lighthouse/blob/9515cd4e58ebed69f78742d932b501c2cab8ad8f/core/config/config-plugin.js#L69-L105","documentation":"Error \"${pluginName} has a missing audit path.\" thrown in GoogleChrome/lighthouse.","triggerScenarios":"Thrown when a plugin audit entry is missing its path to the audit implementation.","commonSituations":"See trigger scenarios.","solutions":["Add a `path` property to each entry in the plugin's audits array.","Ensure the path points to the audit implementation file within the plugin package."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9515cd4e58ebed69f78742d932b501c2cab8ad8f","analyzedAt":"2026-08-13T06:28:10.346Z","schemaVersion":2},"datasetVersion":"2026-08-13T09:17:06.757Z"}