(packageName: string)
| 255 | } |
| 256 | |
| 257 | async function generateDownloadsFixture(packageName: string): Promise<void> { |
| 258 | console.log(` Fetching downloads: ${packageName}`) |
| 259 | |
| 260 | const encoded = encodePackageName(packageName) |
| 261 | const url = `${NPM_API}/downloads/point/last-week/${encoded}` |
| 262 | |
| 263 | try { |
| 264 | const data = await fetchJson(url) |
| 265 | const filename = packageToFilename(packageName) |
| 266 | const path = join(FIXTURES_DIR, 'npm-api', 'downloads', filename) |
| 267 | writeFixture(path, data) |
| 268 | } catch (error) { |
| 269 | console.error(` Failed to fetch downloads for ${packageName}:`, error) |
| 270 | // Downloads are optional, don't throw |
| 271 | } |
| 272 | } |
| 273 | |
| 274 | async function generateSearchFixture(query: string): Promise<void> { |
| 275 | console.log(` Fetching search: ${query}`) |
no test coverage detected