This is a database of all mime types. It consistents of a single, public JSON file and does not include any logic, allowing it to remain as unopinionated as possible with an API. It aggregates data from the following sources:
- http://www.iana.org/assignments/media-types/media-types.xhtml
- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
npm i mime-db
var db = require('mime-db');
// grab data on .js files
var data = db['application/javascript'];
If you're crazy enough to use this in the browser, you can just grab the JSON file:
https://cdn.rawgit.com/jshttp/mime-db/master/db.json
The JSON file is a map lookup for lowercased mime types. Each mime type has the following properties:
.source
- where the mime type is defined. If not set, it's probably a custom media type.apache
- Apache common media typesiana
- IANA-defined media types
.extensions[]
- known extensions associated with this mime type..compressible
- whether a file of this type is can be gzipped..charset
- the default charset associated with this type, if any.
If unknown, every property could be undefined
.
scripts
- these are scripts to run to build the databasesrc/
- this is a folder of files created from remote sources like Apache and IANAlib/
- this is a folder of our own custom sources and db, which will be merged intodb.json
db.json
- the final built JSON file for end-user usage
To edit the database, only make PRs against files in the lib/
folder.
To update the build, run npm run update
.