Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork318
broofa/mime
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
An API for MIME type information.
Note
mime@4
is nowlatest
. If you're upgrading frommime@3
, note the following:
mime@4
is API-compatible withmime@3
, withonetwo exceptions:- Direct imports of
mime
propertiesno longer supported mime.define()
cannot be called on the defaultmime
object
- Direct imports of
- ESM module support is required.ESM Module FAQ.
- Requires anES2020 or newer runtime
- Built-in Typescript types (
@types/mime
no longer needed)
npm install mime
For the full version (800+ MIME types, 1,000+ extensions):
importmimefrom'mime';mime.getType('txt');// ⇨ 'text/plain'mime.getExtension('text/plain');// ⇨ 'txt'
mime/lite
is a drop-inmime
replacement, stripped of unofficial ("prs.*
", "x-*
", "vnd.*
") types:
importmimefrom'mime/lite';
Get mime type for the given file path or extension. E.g.
mime.getType('js');// ⇨ 'text/javascript'mime.getType('json');// ⇨ 'application/json'mime.getType('txt');// ⇨ 'text/plain'mime.getType('dir/text.txt');// ⇨ 'text/plain'mime.getType('dir\\text.txt');// ⇨ 'text/plain'mime.getType('.text.txt');// ⇨ 'text/plain'mime.getType('.txt');// ⇨ 'text/plain'
null
is returned in cases where an extension is not detected or recognized
mime.getType('foo/txt');// ⇨ nullmime.getType('bogus_type');// ⇨ null
Get file extension for the given mime type. Charset options (often included in Content-Type headers) are ignored.
mime.getExtension('text/plain');// ⇨ 'txt'mime.getExtension('application/json');// ⇨ 'json'mime.getExtension('text/html; charset=utf8');// ⇨ 'html'
Note
New inmime@4
Get all file extensions for the given mime type.
mime.getAllExtensions('image/jpeg');// ⇨ Set(3) { 'jpeg', 'jpg', 'jpe' }
The defaultmime
objects are immutable. Custom, mutable versions can be created as follows...
Create a new, custom mime instance. For example, to create a mutable version of the defaultmime
instance:
import{Mime}from'mime/lite';importstandardTypesfrom'mime/types/standard.js';importotherTypesfrom'mime/types/other.js';constmime=newMime(standardTypes,otherTypes);
Each argument is passed to thedefine()
method, below. For examplenew Mime(standardTypes, otherTypes)
is synonomous withnew Mime().define(standardTypes).define(otherTypes)
Note
Only available on customMime
instances
Define MIME type -> extensions.
Attempting to map a type to an already-defined extension willthrow
unless theforce
argument is set totrue
.
mime.define({'text/x-abc':['abc','abcd']});mime.getType('abcd');// ⇨ 'text/x-abc'mime.getExtension('text/x-abc')// ⇨ 'abc'
$ mime scripts/jquery.jstext/javascript
$ mime -r image/jpegjpeg
About
Mime types for JavaScript
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.