{"_id":"@edenware/tv-channels-by-country","_rev":"8-4d92167ef695e4d6772217164a5c4fee","name":"@edenware/tv-channels-by-country","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.0":{"name":"@edenware/tv-channels-by-country","version":"1.0.0","keywords":["iptv","tv-channels","channels","m3u","json"],"author":{"name":"Efox"},"license":"MIT","_id":"@edenware/tv-channels-by-country@1.0.0","maintainers":[{"name":"efoxbr","email":"efox.web@gmail.com"}],"homepage":"https://github.com/EdenwareApps/tv-channels-by-country#readme","bugs":{"url":"https://github.com/EdenwareApps/tv-channels-by-country/issues"},"dist":{"shasum":"7c160e67cdc5f2bd43d360fcc577363a5985f300","tarball":"https://registry.npmjs.org/@edenware/tv-channels-by-country/-/tv-channels-by-country-1.0.0.tgz","fileCount":171,"integrity":"sha512-Zxhahcs6vxX/lJd0JVKlbRam6oZE1fcmBA+IAdgATr90dc/wfMP3hMl4sr4K8s8U6EYhNe+SnaCBUHk4mcMtRw==","signatures":[{"sig":"MEYCIQCiWoiwDLs8/T9AsFPy2AA0nEdAt4+eh++br3Z6qgc5vgIhAKJTJCzNWYqGNtNsVqTzTh9yziGoStE5F06cKbiC9WqR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6805330},"main":"index.cjs","type":"module","types":"index.d.ts","module":"index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","require":"./index.cjs"},"./*.json":"./*.json","./channels/*.json":"./channels/*.json"},"gitHead":"950cfeb6aae75f884ccbfda14a1ce25f46d7a57f","scripts":{"test":"node --test test/index.test.js test/cjs.test.cjs test/search.test.js","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"efoxbr","email":"efox.web@gmail.com"},"repository":{"url":"git+https://github.com/EdenwareApps/tv-channels-by-country.git","type":"git"},"_npmVersion":"11.4.2","description":"Community-maintained JSON list of TV station names and categories from around the world","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jexidb":"github:EdenwareApps/jexidb","rollup":"^4.57.1"},"_npmOperationalInternal":{"tmp":"tmp/tv-channels-by-country_1.0.0_1770054521337_0.2685680155797665","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@edenware/tv-channels-by-country","version":"1.0.1","keywords":["iptv","tv-channels","channels","m3u","json"],"author":{"name":"Efox"},"license":"MIT","_id":"@edenware/tv-channels-by-country@1.0.1","maintainers":[{"name":"efoxbr","email":"efox.web@gmail.com"}],"homepage":"https://github.com/EdenwareApps/tv-channels-by-country#readme","bugs":{"url":"https://github.com/EdenwareApps/tv-channels-by-country/issues"},"dist":{"shasum":"9dce515bbbfa6d1417b51c3f7815934b7770669b","tarball":"https://registry.npmjs.org/@edenware/tv-channels-by-country/-/tv-channels-by-country-1.0.1.tgz","fileCount":171,"integrity":"sha512-S8gJw2i2fu/t+j786DjjO6NavzSHH41pMO69bCiMP57d2cG9NueTl+I8+JhGc86OqOFu/epk88umewztRe3Msw==","signatures":[{"sig":"MEUCIQCHjpRuQhc6LLC/0YNQVhLY51EU/9CsKZfQ312BNq7VbwIgWOnl/9rouUenwAyE+OaZkvr0UZZOXViOyHMrBTkg/qk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4441399},"main":"index.cjs","type":"module","types":"index.d.ts","module":"index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","require":"./index.cjs"},"./*.json":"./*.json","./channels/*.json":"./channels/*.json"},"gitHead":"b4b2937fe624276d18c11ca8d4f2e1f6a9a3cba7","scripts":{"test":"node --test test/index.test.js test/cjs.test.cjs test/search.test.js","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"efoxbr","email":"efox.web@gmail.com"},"repository":{"url":"git+https://github.com/EdenwareApps/tv-channels-by-country.git","type":"git"},"_npmVersion":"11.4.2","description":"Community-maintained JSON list of TV station names and categories from around the world","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jexidb":"github:EdenwareApps/jexidb","rollup":"^4.57.1"},"_npmOperationalInternal":{"tmp":"tmp/tv-channels-by-country_1.0.1_1770239983024_0.44507846489346337","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@edenware/tv-channels-by-country","version":"1.0.2","keywords":["iptv","tv-channels","channels","m3u","json"],"author":{"name":"Efox"},"license":"MIT","_id":"@edenware/tv-channels-by-country@1.0.2","maintainers":[{"name":"efoxbr","email":"efox.web@gmail.com"}],"homepage":"https://github.com/EdenwareApps/tv-channels-by-country#readme","bugs":{"url":"https://github.com/EdenwareApps/tv-channels-by-country/issues"},"dist":{"shasum":"99185ee60d27b3369bc46e15f7aa730713ce3325","tarball":"https://registry.npmjs.org/@edenware/tv-channels-by-country/-/tv-channels-by-country-1.0.2.tgz","fileCount":170,"integrity":"sha512-0nKSwftsgEsTt/+nUiepuj9ajoUMPlxzsOprVVoXLpI9hF9res64wYoR6ymyUptcdhoRPfGhRmd1lFC1vqBi+A==","signatures":[{"sig":"MEUCIHTb0RmjxhhDwqOHHto7PnVkd5rogN8y2QqGj5lPqg2LAiEA3wVUsDKLIWJItooPzT824PiqNExK1VX8r+O+7wIWGxo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4438369},"main":"index.cjs","type":"module","types":"index.d.ts","module":"index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","require":"./index.cjs"},"./*.json":"./*.json","./channels/*.json":"./channels/*.json"},"gitHead":"13082ca5ed6b999a8deebe9639920b9ab3717cce","scripts":{"test":"node --test test/index.test.js test/cjs.test.cjs test/search.test.js","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"efoxbr","email":"efox.web@gmail.com"},"repository":{"url":"git+https://github.com/EdenwareApps/tv-channels-by-country.git","type":"git"},"_npmVersion":"11.4.2","description":"Community-maintained JSON list of TV station names and categories from around the world","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jexidb":"github:EdenwareApps/jexidb","rollup":"^4.57.1"},"_npmOperationalInternal":{"tmp":"tmp/tv-channels-by-country_1.0.2_1770320759222_0.03850274168870316","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@edenware/tv-channels-by-country","version":"1.0.3","keywords":["iptv","tv-channels","channels","m3u","json"],"author":{"name":"Efox"},"license":"MIT","_id":"@edenware/tv-channels-by-country@1.0.3","maintainers":[{"name":"efoxbr","email":"efox.web@gmail.com"}],"homepage":"https://github.com/EdenwareApps/tv-channels-by-country#readme","bugs":{"url":"https://github.com/EdenwareApps/tv-channels-by-country/issues"},"dist":{"shasum":"56f06f9c71d244147cc6e58e8f9934e1eae819ef","tarball":"https://registry.npmjs.org/@edenware/tv-channels-by-country/-/tv-channels-by-country-1.0.3.tgz","fileCount":170,"integrity":"sha512-5zBUMOoO46hWTVjoWQ58KZuvy0cKy0ZKk7+RLW+KkjRqHKIWFSWaU5WcY7TUdkGPEgkIotQVXe0lcOgjb8oTCw==","signatures":[{"sig":"MEUCIF3PR56cqAtpFB5IrbhCi7Ha81f5SbpXpCIu1YYAlfGiAiEA9iG/0UAQjqMArOkRwRB3rcK0BBr83wqNPeWqrG/dkW0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4442460},"main":"dist/index.cjs","type":"module","types":"index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./*.json":"./*.json","./channels/*.json":"./channels/*.json"},"gitHead":"6365ba03fcdb2c2295cb90411f4e89603ad24399","scripts":{"test":"node --test test/index.test.js test/cjs.test.cjs test/search.test.js","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"efoxbr","email":"efox.web@gmail.com"},"repository":{"url":"git+https://github.com/EdenwareApps/tv-channels-by-country.git","type":"git"},"_npmVersion":"11.4.2","description":"Community-maintained JSON list of TV station names and categories from around the world","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jexidb":"github:EdenwareApps/jexidb","rollup":"^4.57.1"},"_npmOperationalInternal":{"tmp":"tmp/tv-channels-by-country_1.0.3_1770329219885_0.9520924495062582","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@edenware/tv-channels-by-country","version":"1.0.4","keywords":["iptv","tv-channels","channels","m3u","json"],"author":{"name":"Edenware","email":"contact@edenware.app"},"license":"MIT","_id":"@edenware/tv-channels-by-country@1.0.4","maintainers":[{"name":"efoxbr","email":"efox.web@gmail.com"}],"homepage":"https://github.com/EdenwareApps/tv-channels-by-country#readme","bugs":{"url":"https://github.com/EdenwareApps/tv-channels-by-country/issues"},"dist":{"shasum":"ebe6ea77ab1c50315b6a62b992c9c77b6ddab061","tarball":"https://registry.npmjs.org/@edenware/tv-channels-by-country/-/tv-channels-by-country-1.0.4.tgz","fileCount":170,"integrity":"sha512-1z9KskNx0ly1a5fHRyLlw+o7HUsdWM/38s3tPuJr9G2m4ao1T7yt5475YIG6arXJC+8M8Rgd0PCguzKLd37TLw==","signatures":[{"sig":"MEUCIQD1h6U9LLmD1JLOnob+b3ev3f3Pr/B44//dacujwNWzkAIgY3XW1C8M2Wz9LSWh9JdqFEYmEJSHh5/+5FFqtkIxxLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4446535},"main":"dist/index.cjs","type":"module","types":"index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./*.json":"./*.json","./channels/*.json":"./channels/*.json"},"gitHead":"8407fb95e823a5d81589df61f61a40cf3f324240","scripts":{"test":"node --test test/index.test.js test/cjs.test.cjs test/search.test.js","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"efoxbr","email":"efox.web@gmail.com"},"repository":{"url":"git+https://github.com/EdenwareApps/tv-channels-by-country.git","type":"git"},"_npmVersion":"11.4.2","description":"Community-maintained JSON list of TV station names and categories from around the world","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jexidb":"github:EdenwareApps/jexidb","rollup":"^4.57.1"},"_npmOperationalInternal":{"tmp":"tmp/tv-channels-by-country_1.0.4_1770339110114_0.9005619658242985","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@edenware/tv-channels-by-country","version":"1.0.5","keywords":["iptv","tv-channels","channels","m3u","json"],"author":{"name":"Edenware","email":"contact@edenware.app"},"license":"MIT","_id":"@edenware/tv-channels-by-country@1.0.5","maintainers":[{"name":"efoxbr","email":"efox.web@gmail.com"}],"homepage":"https://github.com/EdenwareApps/tv-channels-by-country#readme","bugs":{"url":"https://github.com/EdenwareApps/tv-channels-by-country/issues"},"dist":{"shasum":"45e50495b1bfe6eeaec667f81f7643842843da94","tarball":"https://registry.npmjs.org/@edenware/tv-channels-by-country/-/tv-channels-by-country-1.0.5.tgz","fileCount":170,"integrity":"sha512-U2eBdIq3pCD+ox2YUrHSJeNNrfwbGm0vhftNUZWoK7uhKO3izu7VSAnYLoB2Hvj3i5CsWp17fvl/JOqUhYuNxw==","signatures":[{"sig":"MEYCIQDHAA2qB1vqizP/UQ3MY2ik0y0dmTPdo6FF8gPnPd/HTQIhAKIyu0XzkUvjeHah3jbJW62aW6L2TgxbTf/tJsQGt48Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5382021},"main":"dist/index.cjs","type":"module","types":"src/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./*.json":"./*.json","./channels/*.json":"./channels/*.json"},"gitHead":"3f995882cd15c939952a707f7a43139ae6d294ac","scripts":{"test":"node --test test/index.test.js test/cjs.test.cjs test/search.test.js","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"efoxbr","email":"efox.web@gmail.com"},"repository":{"url":"git+https://github.com/EdenwareApps/tv-channels-by-country.git","type":"git"},"_npmVersion":"11.4.2","description":"Community-maintained JSON list of TV station names and categories from around the world","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jexidb":"github:EdenwareApps/jexidb","rollup":"^4.57.1"},"_npmOperationalInternal":{"tmp":"tmp/tv-channels-by-country_1.0.5_1770515838407_0.7060768222019933","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@edenware/tv-channels-by-country","version":"1.0.6","keywords":["iptv","tv-channels","channels","m3u","json"],"author":{"name":"Edenware","email":"contact@edenware.app"},"license":"MIT","_id":"@edenware/tv-channels-by-country@1.0.6","maintainers":[{"name":"efoxbr","email":"efox.web@gmail.com"}],"homepage":"https://github.com/EdenwareApps/tv-channels-by-country#readme","bugs":{"url":"https://github.com/EdenwareApps/tv-channels-by-country/issues"},"dist":{"shasum":"aca832d9e624f45c6ea31d242c0a10d0b2d65a7f","tarball":"https://registry.npmjs.org/@edenware/tv-channels-by-country/-/tv-channels-by-country-1.0.6.tgz","fileCount":170,"integrity":"sha512-xqon4aNQRCmAubFji3WXz3XMR4eVaSZ8CazXrEbj8+UmWOe5Plr/gKRiY0iG8N9kilthgDvcEDnHKG5eeer/lQ==","signatures":[{"sig":"MEUCIQCo04zKH750/Sdp7z3swOhmdAScODLLxTnAOgawgVU4jgIgTR5F+oGZTClM/h+zgg7j4gJlI0m2isKYvZoCemkcWJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5180372},"main":"dist/index.cjs","type":"module","types":"src/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./*.json":"./*.json","./channels/*.json":"./channels/*.json"},"gitHead":"35f322fed68b34fa36b799be1c3a7f97f857053d","scripts":{"test":"node --test test/index.test.js test/cjs.test.cjs test/search.test.js","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"efoxbr","email":"efox.web@gmail.com"},"repository":{"url":"git+https://github.com/EdenwareApps/tv-channels-by-country.git","type":"git"},"_npmVersion":"11.4.2","description":"Community-maintained JSON list of TV station names and categories from around the world","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jexidb":"github:EdenwareApps/jexidb","rollup":"^4.57.1"},"_npmOperationalInternal":{"tmp":"tmp/tv-channels-by-country_1.0.6_1770581865023_0.5713475876508924","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@edenware/tv-channels-by-country","version":"1.0.7","description":"Community-maintained JSON list of TV station names and categories from around the world","type":"module","main":"dist/index.cjs","module":"dist/index.mjs","types":"src/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs","types":"./src/index.d.ts"},"./channels/*.json":"./channels/*.json","./*.json":"./*.json"},"keywords":["iptv","tv-channels","channels","m3u","json"],"author":{"name":"Edenware","email":"contact@edenware.app"},"license":"MIT","engines":{"node":">=18.0.0"},"scripts":{"build":"rollup -c","prepublishOnly":"npm run build","test":"node --test test/index.test.js test/cjs.test.cjs test/search.test.js"},"repository":{"type":"git","url":"git+https://github.com/EdenwareApps/tv-channels-by-country.git"},"homepage":"https://github.com/EdenwareApps/tv-channels-by-country#readme","bugs":{"url":"https://github.com/EdenwareApps/tv-channels-by-country/issues"},"devDependencies":{"jexidb":"github:EdenwareApps/jexidb","rollup":"^4.57.1"},"_id":"@edenware/tv-channels-by-country@1.0.7","gitHead":"658fda1a55ccac75723b89263a1e88020a2be125","_nodeVersion":"22.11.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-5304faFhO/qp9fmKl3eCb7G3Kq+Ya1YMXw6z4eiI9qhrYrJvmWFyqDhJYYT/YZOhlxIT41okdb2zNZtdtSN5fw==","shasum":"281e32d5a6a6f25781a50e92c1243b6fa99594de","tarball":"https://registry.npmjs.org/@edenware/tv-channels-by-country/-/tv-channels-by-country-1.0.7.tgz","fileCount":170,"unpackedSize":5090125,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDQ0hQY/wSag2sx/umvNX+SokqFagIh3A5IdY4pFNRADQIgMqX49lvEdIhKUneElB6INW/d+ydj0FQRtg9pEs18XsA="}]},"_npmUser":{"name":"efoxbr","email":"efox.web@gmail.com"},"directories":{},"maintainers":[{"name":"efoxbr","email":"efox.web@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tv-channels-by-country_1.0.7_1770658497002_0.020115370718794656"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-02T17:48:41.225Z","modified":"2026-02-09T17:34:57.342Z","1.0.0":"2026-02-02T17:48:41.559Z","1.0.1":"2026-02-04T21:19:43.256Z","1.0.2":"2026-02-05T19:45:59.425Z","1.0.3":"2026-02-05T22:07:00.090Z","1.0.4":"2026-02-06T00:51:50.291Z","1.0.5":"2026-02-08T01:57:18.590Z","1.0.6":"2026-02-08T20:17:45.252Z","1.0.7":"2026-02-09T17:34:57.213Z"},"bugs":{"url":"https://github.com/EdenwareApps/tv-channels-by-country/issues"},"author":{"name":"Edenware","email":"contact@edenware.app"},"license":"MIT","homepage":"https://github.com/EdenwareApps/tv-channels-by-country#readme","keywords":["iptv","tv-channels","channels","m3u","json"],"repository":{"type":"git","url":"git+https://github.com/EdenwareApps/tv-channels-by-country.git"},"description":"Community-maintained JSON list of TV station names and categories from around the world","maintainers":[{"name":"efoxbr","email":"efox.web@gmail.com"}],"readme":"# TV Channels by Country 🌍\n\n[![npm version](https://img.shields.io/npm/v/@edenware/tv-channels-by-country.svg)](https://www.npmjs.com/package/@edenware/tv-channels-by-country)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![Node.js >= 18](https://img.shields.io/badge/node-%3E%3D18-brightgreen)](https://nodejs.org/)\n\nA **community-maintained** JSON list of TV station names and categories from around the world — free to use in any project that needs structured channel data.\n\nWhether you're building an IPTV app, a channel lookup tool, or anything else, you're welcome here.\n\n## Table of contents\n\n- [Install](#install)\n- [Usage](#usage)\n- [API](#api)\n- [Data format](#data-format-channels)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## Install\n\n```bash\nnpm install @edenware/tv-channels-by-country\n```\n\n---\n\n## Usage\n\n```js\n// ESM\nimport { getChannels, listCountries, search, generate } from '@edenware/tv-channels-by-country';\n\n// CJS\nconst { getChannels, listCountries, search, generate } = require('@edenware/tv-channels-by-country');\n\n// Channels by country (loads only the requested country, cached)\nconst br = await getChannels('br');\n// { \"Religious\": [{ name, keywords, ... }], \"News\": [...], ... }\n\n// List all available country codes\nconst countries = await listCountries();\n\n// Search by keywords\nconst matches = await search('globo', { countries: ['br'], limit: 18 });\n// [{ name, keywords, country, category, ... }, ...]\n\n// Generate a list from multiple countries by priority\nconst list = await generate({ countries: ['br', 'us'], limit: 256, minPerCategory: 18 });\n// [{ name, keywords, country, category, ... }, ...]\n```\n\n**TypeScript:** types are included. **Dual format:** ESM and CommonJS. Direct JSON: `import br from '@edenware/tv-channels-by-country/channels/br.json'` (with bundler).\n\n---\n\n## API\n\n### `getChannels(countryCode)`\n\nReturns channels grouped by category for a country. Uses ISO 3166-1 alpha-2 (e.g. `'br'`, `'us'`). Case-insensitive. Returns `null` if country not found.\n\n### `listCountries()`\n\nReturns a sorted array of available country codes.\n\n### `search(keywords, options?)`\n\nSearches channels by keywords across countries and categories.\n\n| Option        | Type     | Default | Description                          |\n|---------------|----------|---------|--------------------------------------|\n| `countries`   | string[] | all     | Filter by country codes              |\n| `categories`  | string[] | all     | Filter by category names             |\n| `retransmits` | string   | `'all'` | `'parents'` \\| `'affiliates'` \\| `'all'` |\n| `limit`       | number   | 100     | Max results                          |\n\n### `generate(options)`\n\nBuilds a list of channels from multiple countries, sorted by priority, with balanced categories.\n\n| Option             | Type     | Default | Description                                         |\n|--------------------|----------|---------|-----------------------------------------------------|\n| `countries`        | string[] | required| Country codes to merge                              |\n| `categories`       | string[] | all     | Filter by category                                  |\n| `retransmits`      | string   | `'all'` | `'parents'` \\| `'affiliates'` \\| `'all'`            |\n| `limit`            | number   | 256     | Max results                                         |\n| `minPerCategory`   | number   | 18      | Target channels per category                        |\n| `mainCountryFull`  | boolean  | false   | If true, include ALL channels from first country    |\n| `freeOnly`         | boolean  | false   | If true, includes only free-to-air channels (`isFree: true`) |\n\n---\n\n## Data format (channels/)\n\nFiles: `channels/{country}.json`. Each file maps category name → array of channel objects.\n\n| Field          | Type            | Description |\n|----------------|-----------------|-------------|\n| `name`         | string          | Display name (required) |\n| `keywords`     | string          | Search terms for M3U lookup. Use `-x` for excludes; `\\|` for OR. |\n| `retransmits`  | string \\| null  | Affiliate: parent network rebroadcast |\n| `shortName`    | string \\| null  | Acronym or short name |\n| `isFree`       | boolean         | Free-to-air |\n| `logo`         | string \\| null  | Logo URL |\n| `website`      | string \\| null  | Official site |\n| `priority`     | number          | 0–10, relative to country+category. Default 5. |\n\n**Compact format:** Omit `keywords` when derived from name, `logo`/`website`/`retransmits` when null, `priority` when 5.\n\nSee [channels/README.md](channels/README.md) for full schema.\n\n---\n\n## Contributing\n\nContributions are welcome.\n\n- Fix typos\n- Add missing channels for your country\n- Improve keywords for better matching\n- Open issues for suggestions or bugs\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n---\n\n## License\n\n[MIT](LICENSE) © Efox\n","readmeFilename":"README.md"}