{"library":"mime-db","title":"MIME Database","description":"mime-db is a comprehensive, machine-readable database of media types and associated metadata. It aggregates data from official sources such as IANA, Apache, and nginx, providing detailed information including common file extensions, compressibility, and default charsets for thousands of MIME types. The current stable version is 1.54.0. The package maintains a frequent release cadence, primarily driven by updates to its upstream data sources and community contributions for custom types. A key differentiator is its minimalist approach: it is distributed as a pure JSON data file with no accompanying logic or API, making it lightweight and un-opinionated. This design ensures maximum flexibility, although consumers must implement their own lookup logic. Crucially, changes to the underlying MIME type data are *not* considered breaking changes under its semver policy for the programmatic API, meaning data can change between minor or patch versions.","language":"javascript","status":"active","last_verified":"Tue Apr 21","install":{"commands":["npm install mime-db"],"cli":null},"imports":["import db from 'mime-db';","const db = require('mime-db');","fetch('https://cdn.jsdelivr.net/gh/jshttp/mime-db@1.54.0/db.json').then(res => res.json());"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import db from 'mime-db';\n\ninterface MimeEntry {\n  source?: 'apache' | 'iana' | 'nginx';\n  extensions?: string[];\n  compressible?: boolean;\n  charset?: string;\n}\n\n// Access the entire database\nconsole.log(`Total MIME types in database: ${Object.keys(db).length}`);\n\n// Get data for a specific MIME type\nconst javascriptData: MimeEntry = db['application/javascript'];\nif (javascriptData) {\n  console.log(`\nInformation for application/javascript:\n  Source: ${javascriptData.source ?? 'custom'}\n  Extensions: ${javascriptData.extensions?.join(', ') ?? 'N/A'}\n  Compressible: ${javascriptData.compressible ? 'Yes' : 'No'}\n  Charset: ${javascriptData.charset ?? 'N/A'}\n`);\n}\n\n// Find MIME types by extension (example logic, not built-in)\nconst findMimeTypeByExtension = (ext: string): string[] => {\n  const matchingTypes: string[] = [];\n  for (const mimeType in db) {\n    if (db[mimeType].extensions?.includes(ext.toLowerCase())) {\n      matchingTypes.push(mimeType);\n    }\n  }\n  return matchingTypes;\n};\n\nconst htmlMimeTypes = findMimeTypeByExtension('html');\nconsole.log(`MIME types associated with '.html': ${htmlMimeTypes.join(', ')}`);","lang":"typescript","description":"Demonstrates importing the mime-db and accessing information for specific MIME types. It also includes example logic for reverse lookup by extension, showing common usage patterns.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}