Skip to content

Latest commit

 

History

History

mime

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

mime

npm version npm downloads Twitter Follow

This project is part of the @thi.ng/umbrella monorepo.

About

350+ file extension to MIME type mappings, based on mime-db.

All MIME type mappings based on mime-db.

Status

ALPHA - bleeding edge / work-in-progress

Search or submit any issues for this package

Installation

yarn add @thi.ng/mime
// ES module
<script type="module" src="https://unpkg.com/@thi.ng/mime?module" crossorigin></script>

// UMD
<script src="https://unpkg.com/@thi.ng/mime/lib/index.umd.js" crossorigin></script>

Package sizes (gzipped, pre-treeshake): ESM: 2.38 KB / CJS: 2.43 KB / UMD: 2.54 KB

Dependencies

API

Generated API docs

This package exposes a MIME_TYPES object which provides mappings from file extensions to MIME types. For each extension one or more MIME types are provided, with the default type always in first position.

import { MIME_TYPES } from "@thi.ng/mime";

MIME_TYPES.mp3
// [ 'audio/mpeg', 'audio/mp3' ]

MIME_TYPES.jpg
// [ 'image/jpeg' ]

MIME_TYPES.jpeg
// [ 'image/jpeg' ]

To simplify lookup and support a fallback type, the package also has preferredType() function:

import { preferredType } from "@thi.ng/mime";

preferredType("mp3")
// "audio/mpeg"

// unknown file extension w/ default fallback type
preferredType("foo")
// "application/octet-stream"

// unknown file extension w/ given fallback type
preferredType("foo", "text/plain")
// "text/plain"

Authors

Karsten Schmidt

If this project contributes to an academic publication, please cite it as:

@misc{thing-mime,
  title = "@thi.ng/mime",
  author = "Karsten Schmidt",
  note = "https://thi.ng/mime",
  year = 2020
}

License

© 2020 - 2021 Karsten Schmidt // Apache Software License 2.0