Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@haensl/mimetypes

haensl25MIT1.1.0

Simple JSON object holding mimetypes.

mimetypes, application/json, json, JSON

readme

@haensl/mimetypes

Simple JSON object holding MIME types.

NPM

npm version CircleCI

Motivation

This is a simple JSON object collecting MIME types. The rationale for having them in a module is manifold including but not limited to consitency, accuracy, reuse, extensibility, future-proofing and collaboration.

At it's most basic level, this module tries to eliminate magic strings. Magic strings are magical in a bad way, they cast no spells, just confusion and potential bugs.

This MIME types collection is (very) far from complete - in fact it only contains the most commonly used mimetypes at the moment. However, the goal is to collect more as they become relevant to Node developers.

Please feel free to request addition if you need a MIME type not included in this module.

Installation

Via npm

$ npm install -S @haensl/mimetypes

Via yarn

$ yarn add @haensl/mimetypes

Usage

  1. Install @haensl/mimetypes

  2. Use mime types in your projects:

ESM, i.e. `import`

```javascript
import { json } from '@haensl/mimetypes';

// ...

const route = async (ctx) => {
  // some data from somewhere
  const data = await getData();

  // Use the json mimetype
  ctx.set(headers.contentType, json);

  ctx.body = JSON.stringify(data);
}

```

CJS, i.e. `require`

```javascript
const { json } = require('@haensl/mimetypes');

// ...

const route = async (ctx) => {
  // some data from somewhere
  const data = await getData();

  // Use the json mimetype
  ctx.set(headers.contentType, json);

  ctx.body = JSON.stringify(data);
}
```

Synopsis

The mimetypes object is a simple JSON object that maps to strings:

{
  "css": "text/css",
  "html": "text/html",
  "ico": "image/x-icon",
  "js": "text/javascript",
  "jpg": "image/jpeg",
  "json": "application/json",
  "jsonLd": "application/ld+json",
  "gif": "image/gif",
  "mp4": "video/mp4",
  "png": "image/png",
  "svg": "image/svg+xml",
  "text": "text/plain",
  "webm": "video/webm",
  "webp": "image/webp",
  "xml": "application/xml"
}

Changelog

License

changelog