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

Package detail

content-types-lite

montasim203CC BY-NC-ND 4.00.2.1TypeScript support: included

A collection of common CONTENT types for use in applications.

content types, content-types, contenttypes, MIME types, media types, file types, content type constants, content type library, content type utility, content type definitions, content type enum, content type mapping, HTTP content types, web development content types, API content types, file processing content types, data serialization content types, data interchange content types, TypeScript content types, Node.js content types, JavaScript content types, web application content types, content negotiation, accept header, content-type header, file upload content types, multipart form data, JSON content type, XML content type, HTML content type, CSS content type, image content types, video content types, audio content types, text content types, application content types, common content types, standard content types, predefined content types, immutable content types, lightweight content types, efficient content types, cross-platform content types, open source content types, npm package, content-types-lite, montasim

readme

content-types-lite

NPM Version NPM Downloads NPM Package

The content-types-lite is a lightweight and structured utility providing standardized content types (MIME types) for various applications. It simplifies content type handling by offering predefined constants, ensuring consistency in file processing, API responses, and HTTP headers.

Table of Contents


Key Features

  1. Predefined Content Types: A comprehensive set of MIME types categorized for different use cases.
  2. TypeScript Support: Strong type definitions for better development experience and safety.
  3. Immutable Constants: Prevents modifications to ensure consistency.
  4. Lightweight & Efficient: Optimized for performance with a minimal footprint.
  5. Seamless Integration: Works with any Node.js or TypeScript-based project.

Installation

To install the package, run the following command:

npm install content-types-lite

Usage

CommonJS

const contentTypesLite = require('content-types-lite');

console.log(contentTypesLite.JSON); // Outputs: application/json

Module (ESM)

import contentTypesLite from 'content-types-lite';

console.log(contentTypesLite.JSON); // Outputs: application/json

// TypeScript example:
import contentTypesLite, { ContentType } from 'content-types-lite';

const fileType: ContentType = 'JSON';
console.log(contentTypesLite[fileType]); // Outputs: application/json

Example Usage in an Express.js Application (ESM)

import contentTypesLite from 'content-types-lite';
import express from 'express';

const app = express();

app.get('/file', (req, res) => {
    res.setHeader('Content-Type', contentTypesLite.PDF);
    res.send('This is a PDF response');
});

app.listen(3000, () => console.log('Server running on port 3000'));

Supported Content Types

Text-Based Content Types

  • PLAIN_TEXT: text/plain
  • HTML: text/html
  • CSS: text/css
  • CSV: text/csv
  • XML: text/xml
  • MARKDOWN: text/markdown
  • RICH_TEXT: text/richtext

Structured Data Formats

  • JSON: application/json
  • XML_APP: application/xml
  • YAML: application/x-yaml
  • FORM_URLENCODED: application/x-www-form-urlencoded
  • NDJSON: application/x-ndjson
  • MSGPACK: application/x-msgpack
  • PROTOBUF: application/x-protobuf

Multipart & Form Data

  • MULTIPART_FORM_DATA: multipart/form-data
  • MULTIPART_MIXED: multipart/mixed
  • MULTIPART_ALTERNATIVE: multipart/alternative
  • MULTIPART_DIGEST: multipart/digest
  • MULTIPART_RELATED: multipart/related
  • MULTIPART_SIGNED: multipart/signed
  • MULTIPART_ENCRYPTED: multipart/encrypted

Binary & File Upload Content Types

  • OCTET_STREAM: application/octet-stream
  • PDF: application/pdf
  • ZIP: application/zip
  • GZIP: application/gzip
  • MSWORD: application/msword
  • DOCX: application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • EXCEL: application/vnd.ms-excel
  • XLSX: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • POWERPOINT: application/vnd.ms-powerpoint
  • PPTX: application/vnd.openxmlformats-officedocument.presentationml.presentation

Media Content Types

  • GIF: image/gif
  • PNG: image/png
  • JPEG: image/jpeg
  • WEBP: image/webp
  • SVG: image/svg+xml
  • HEIF: image/heif
  • AVIF: image/avif

Streaming & Event Content Types

  • EVENT_STREAM: text/event-stream
  • TAR: application/x-tar
  • BZIP2: application/x-bzip2

License

by-nc-nd/4.0

This project is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).

You are free to:

  • Share — Copy and redistribute the material in any medium or format.

Under the following terms:

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made.
  • NonCommercial — You may not use the material for commercial purposes.
  • NoDerivatives — If you remix, transform, or build upon the material, you may not distribute the modified material.

For more details, please visit the Creative Commons License Page.


Acknowledgments

Special thanks to the following resources:

  1. MDN Web Docs - Comprehensive MIME type references.
  2. Node.js Express Documentation - Guidance on handling content types in HTTP responses.
  3. TypeScript Docs - Best practices for defining and using type-safe constants.

FAQs

1. How do I determine the correct content type for my file?

Content types are categorized based on their format. Documents, images, videos, and binary files each have their respective content types. Refer to the Supported Content Types section for details.

2. Can I extend this library with custom content types?

No, the constants are immutable and follow the official content type standards. If needed, you can create a wrapper module to include your custom content types.

3. How do I uninstall the package?

You can remove the package by running:

npm uninstall content-types-lite

Author

Moon
M♢NTΛSIM

changelog

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

0.2.1 (2025-05-11)

Bug Fixes

Code Refactoring

  • remove package-lock.json (b2695a8)

0.2.0 (2025-05-11)

Bug Fixes

0.1.4 (2025-02-12)

Features

0.1.3 (2025-02-12)

Features

0.1.2 (2025-02-04)

0.1.1 (2025-01-29)

Features