{"record":{"id":"33369d4d7f47aa91","repo":"projectdiscovery/nuclei","slug":"events-directory-does-not-exist","errorCode":null,"errorMessage":"events directory does not exist","messagePattern":"events directory does not exist","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/scan/charts/charts.go","lineNumber":38,"sourceCode":"}\n\nfunc (sc *ScanEventsCharts) PrintInfo() {\n\tfmt.Printf(\"[+] Scan Info\\n\")\n\tfmt.Printf(\"  - Name: %s\\n\", sc.config.Name)\n\tfmt.Printf(\"  - Target Count: %d\\n\", sc.config.TargetCount)\n\tfmt.Printf(\"  - Template Count: %d\\n\", sc.config.TemplatesCount)\n\tfmt.Printf(\"  - Template Concurrency: %d\\n\", sc.config.TemplateConcurrency)\n\tfmt.Printf(\"  - Payload Concurrency: %d\\n\", sc.config.PayloadConcurrency)\n\tfmt.Printf(\"  - Retries: %v\\n\", sc.config.Retries)\n\tfmt.Printf(\"  - Total Events: %d\\n\", len(sc.data))\n\tfmt.Println()\n}\n\n// NewScanEventsCharts creates a new nuclei event charts\nfunc NewScanEventsCharts(eventsDir string) (*ScanEventsCharts, error) {\n\tsc := &ScanEventsCharts{eventsDir: eventsDir}\n\tif !fileutil.FolderExists(eventsDir) {\n\t\treturn nil, fmt.Errorf(\"events directory does not exist\")\n\t}\n\t// open two files\n\t// config.json\n\tbin, err := os.ReadFile(filepath.Join(eventsDir, events.ConfigFile))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tvar config events.ScanConfig\n\terr = json.Unmarshal(bin, &config)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tsc.config = &config\n\n\t// events.jsonl\n\tf, err := os.Open(filepath.Join(eventsDir, events.EventsFile))\n\tif err != nil {\n\t\treturn nil, err","sourceCodeStart":20,"sourceCodeEnd":56,"githubUrl":"https://github.com/projectdiscovery/nuclei/blob/265b3a3dec374741614e342f813c10f8b38d2bb7/pkg/scan/charts/charts.go#L20-L56","documentation":"Error \"events directory does not exist\" thrown in projectdiscovery/nuclei.","triggerScenarios":"Thrown at pkg/scan/charts/charts.go:38 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"265b3a3dec374741614e342f813c10f8b38d2bb7","analyzedAt":"2026-08-15T20:05:51.855Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}