{"record":{"id":"278ae803f7dd8e18","repo":"iptv-org/iptv","slug":"file-filepath-does-not-exists","errorCode":null,"errorMessage":"File \"${filepath}\" does not exists","messagePattern":"File \"(.+?)\" does not exists","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"scripts/commands/playlist/edit.ts","lineNumber":53,"sourceCode":"\r\nconst resolvedPath = path.resolve(filepath)\r\nconst relative = path.relative(ROOT_DIR, resolvedPath)\r\nif (relative.startsWith('..') || path.isAbsolute(relative)) {\r\n  console.error(`Error: filepath \"${filepath}\" is outside the working directory`)\r\n  process.exit(1)\r\n}\r\n\r\nconst storage = new Storage()\r\nlet parsedStreams = new Collection<Stream>()\r\n\r\nmain(filepath)\r\nnodeCleanup(() => {\r\n  save(filepath)\r\n})\r\n\r\nexport default async function main(filepath: string) {\r\n  if (!(await storage.exists(filepath))) {\r\n    throw new Error(`File \"${filepath}\" does not exists`)\r\n  }\r\n\r\n  logger.info('loading data from api...')\r\n  await loadData()\r\n\r\n  logger.info('loading streams...')\r\n  const parser = new PlaylistParser({\r\n    storage\r\n  })\r\n  parsedStreams = await parser.parseFile(filepath)\r\n  const streamsWithoutId = parsedStreams.filter((stream: Stream) => !stream.tvgId)\r\n\r\n  logger.info(\r\n    `found ${parsedStreams.count()} streams (including ${streamsWithoutId.count()} without ID)`\r\n  )\r\n\r\n  logger.info('starting...\\n')\r\n\r","sourceCodeStart":35,"sourceCodeEnd":71,"githubUrl":"https://github.com/iptv-org/iptv/blob/897b7fe44be73c3731e3e4f7fb1efda0ee8fd318/scripts/commands/playlist/edit.ts#L35-L71","documentation":"Error \"File \"${filepath}\" does not exists\" thrown in iptv-org/iptv.","triggerScenarios":"Thrown at scripts/commands/playlist/edit.ts:53 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"897b7fe44be73c3731e3e4f7fb1efda0ee8fd318","analyzedAt":"2026-08-12T01:40:43.379Z","schemaVersion":2},"datasetVersion":"2026-08-12T06:17:24.410Z"}