Skip to content

user3232/mime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mime

API for creating and using mimemap's.

CLI and API for searching/using MIME database.

Install

$ npm i --save-dev user3232/mime#semver:latest
$ npm i --save-dev @user3232/mime@github:user3232/mime#semver:latest
$ npm i --save-dev @user3232/mime@git+https://github.com/user3232/mime#semver:latest

Create and use mimemap

import { Mimemap, mimemapExample } from '@user3232/mime/mimemap.js'

const mimemap = {
    name: '@user3232/some-app',
    version: '1.0.1',
    mimes: {
        '.ts': {
            mime: 'text/typescript' ,
            charset: 'utf8',
        },
        '.js': {
            mime: 'text/javascript' ,
            charset: 'utf8',
        },
        '.json': {
            mime: 'application/json' ,
            charset: 'utf8',
        },
        '.html': {
            mime: 'text/html' ,
            charset: 'utf8',
        },
        '.svg': {
            mime: 'image/svg+xml',
            charset: 'utf8',
        },
        '.jpeg': {
            mime: 'image/jpeg'
        }
    },
    scopes: {
        './dist/': {
            '.js': {
                mime: 'application/javascript',
                charset: 'utf8',
            },
            '.ts': {
                mime: 'application/typescript' ,
                charset: 'utf8',
            },
        }
    },
    files: {
        './manifest/manifest.json': {
            mime: 'application/manifest+json',
            charset: 'utf8',
        }
    }
}

const mime = new Mimemap(mimemapExample)
mime.matchBestTo('./index.ts')?.mime
// 'text/typescript'
mime.matchBestTo('./src/index.js')?.mime
// 'text/javascript'
mime.matchBestTo('./dist/index.js')?.mime
// 'application/javascript'
mime.matchBestTo('./manifest/manifest.json')?.mime
// 'application/manifest+json'

Search mime db CLI

$ npx mime --help
$ npx mime info text/plain
$ npx mime find-ext js
$ npx mime find-text json

Search mime db API

import * as mime from '@user3232/mime'

// completition works here
const jsMime = mime.mimeToInfo['application/javascript']

// mime to content encoding
console.log(mime.mimeToContentEncoding(jsMime))
// "application/javascript; charset=utf-8"

// find mime for file
const maybeMime = mime.findMimeForFile('./static/index.html')
console.log(maybeMime)
// text/html
console.log(mime.getMimeInfo(maybeMime))
// {
//   source: 'iana',
//   compressible: true,
//   extensions: [ 'html', 'htm', 'shtml' ]
// }

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published