Socket
Socket
Sign inDemoInstall

mime

Package Overview
Dependencies
Maintainers
2
Versions
53
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mime - npm Package Compare versions

Comparing version 2.0.0 to 2.0.1

.eslintrc.json

2

cli.js
#!/usr/bin/env node
'use strict';
var mime = require('./mime.js');

@@ -4,0 +6,0 @@ var file = process.argv[2];

@@ -0,2 +1,4 @@

'use strict';
const Mime = require('./Mime');
module.exports = new Mime(require('./types/standard'), require('./types/other'));

@@ -0,2 +1,4 @@

'use strict';
const Mime = require('./Mime');
module.exports = new Mime(require('./types/standard'));

4

Mime.js

@@ -0,1 +1,3 @@

'use strict';
/**

@@ -48,3 +50,3 @@ * @param typeMap [Object] Map of MIME type -> Array[extensions]

path = String(path);
var last = path.replace(/.*[\/\\]/, '').toLowerCase();
var last = path.replace(/.*[/\\]/, '').toLowerCase();
var ext = last.replace(/.*\./, '').toLowerCase();

@@ -51,0 +53,0 @@

@@ -7,2 +7,5 @@ {

},
"engines": {
"node": ">=6.0.0"
},
"bin": {

@@ -23,2 +26,3 @@ "mime": "cli.js"

"chalk": "1.1.3",
"eslint": "4.6.1",
"github-release-notes": "0.9.0",

@@ -44,3 +48,3 @@ "mime-db": "1.30.0",

},
"version": "2.0.0"
"version": "2.0.1"
}

@@ -9,3 +9,3 @@ # Mime

* ES6 support required (requires Node 6+)
* **ES6 support required (node@>=6)**
* `lookup()` renamed to `getType()`

@@ -15,3 +15,3 @@ * `extension()` renamed to `getExtension()`

If you need the legacy version of this module for any reason, please `npm install mime@^1`. Version 1 docs may be found [here](https://github.com/broofa/node-mime/tree/v1.4.0).
If you prefer the legacy version of this module please `npm install mime@^1`. Version 1 docs may be found [here](https://github.com/broofa/node-mime/tree/v1.4.0).

@@ -18,0 +18,0 @@ ## Install - NPM

#!/usr/bin/env node
'use strict';
const fs = require('fs');

@@ -32,8 +34,8 @@ const path = require('path');

// Use mime-db's logic for ranking by source
switch(entry.source) {
switch (entry.source) {
// Prioritize by source (same as mime-types module)
case 'iana': pri += 40; break;
case 'apache': pri += 20; break;
case 'nginx': pri += 10; break;
default: pri += 30; break;
case 'iana': pri += 40; break;
case 'apache': pri += 20; break;
case 'nginx': pri += 10; break;
default: pri += 30; break;
}

@@ -44,5 +46,5 @@

// right?)
switch(type) {
case 'application': pri += 1; break;
default: break;
switch (type) {
case 'application': pri += 1; break;
default: break;
}

@@ -60,3 +62,3 @@

for (let type in db) {
for (let type in db) {
let entry = db[type];

@@ -69,8 +71,10 @@ entry.type = type;

if (ext in byExtension) {
const e0 = entry, e1 = byExtension[ext];
const e0 = entry;
const e1 = byExtension[ext];
e0.pri = getScore(e0);
e1.pri = getScore(e1);
let drop = e0.pri < e1.pri ? e0 : e1, keep = e0.pri >= e1.pri ? e0 : e1;
drop.extensions = drop.extensions.filter(e => e != ext);
let drop = e0.pri < e1.pri ? e0 : e1;
let keep = e0.pri >= e1.pri ? e0 : e1;
drop.extensions = drop.extensions.filter(e => e !== ext);

@@ -77,0 +81,0 @@ console.log(`${ext}: Keeping ${chalk.green(keep.type)} (${keep.pri}), dropping ${chalk.red(drop.type)} (${drop.pri})`);

@@ -12,3 +12,3 @@ ```javascript --hide

* ES6 support required (requires Node 6+)
* **ES6 support required (node@>=6)**
* `lookup()` renamed to `getType()`

@@ -18,3 +18,3 @@ * `extension()` renamed to `getExtension()`

If you need the legacy version of this module for any reason, please `npm install mime@^1`. Version 1 docs may be found [here](https://github.com/broofa/node-mime/tree/v1.4.0).
If you prefer the legacy version of this module please `npm install mime@^1`. Version 1 docs may be found [here](https://github.com/broofa/node-mime/tree/v1.4.0).

@@ -21,0 +21,0 @@ ## Install - NPM

@@ -0,9 +1,10 @@

'use strict';
var mime = require('..');
var mimeTypes = require('../node_modules/mime-types');
var assert = require('assert');
var path = require('path');
var chalk = require('chalk');
describe('class Mime', function () {
it('new constructor()', function () {
describe('class Mime', function() {
it('new constructor()', function() {
const Mime = require('../Mime');

@@ -29,3 +30,3 @@

it('define()', function () {
it('define()', function() {
const Mime = require('../Mime');

@@ -55,3 +56,3 @@

it('getType()', function () {
it('getType()', function() {
// Upper/lower case

@@ -84,5 +85,5 @@ assert.equal(mime.getType('text.txt'), 'text/plain');

assert.equal(mime.getType('path\\to\\page.html'), 'text/html');
assert.strictEqual(mime.getType('/txt'), null);
assert.strictEqual(mime.getType('\\txt'), null);
assert.strictEqual(mime.getType('text.nope'), null);
assert.strictEqual(mime.getType('/txt'), null);
assert.strictEqual(mime.getType('\\txt'), null);
assert.strictEqual(mime.getType('text.nope'), null);
assert.strictEqual(mime.getType('/path/to/file.bogus'), null);

@@ -105,3 +106,3 @@ assert.strictEqual(mime.getType('/path/to/json'), null);

assert.strictEqual(mime.getExtension({}), null);
})
});
});

@@ -114,5 +115,5 @@

if (diffs.length) {
console.log('\n[INFO] The following inconsistencies with MDN and/or mime-types are expected:');
console.log('\n[INFO] The following inconsistencies with MDN (https://goo.gl/lHrFU6) and/or mime-types (https://github.com/jshttp/mime-types) are expected:');
diffs.forEach(function(d) {
console.warn(` ${d[0]}[${chalk.blue(d[1])}] = ${chalk.red(d[2])}, node-uuid[${d[1]}] = ${chalk.green(d[3])}`);
console.warn(` ${d[0]}[${chalk.blue(d[1])}] = ${chalk.red(d[2])}, mime[${d[1]}] = ${chalk.green(d[3])}`);
});

@@ -124,3 +125,2 @@ }

for (var ext in this.types) {
const ext2 = this.extensions[this.types[ext]];
assert.equal(ext, this.extensions[this.types[ext]], '${ext} does not have consistent ext->type->ext mapping');

@@ -130,3 +130,3 @@ }

it('MDN types', function () {
it('MDN types', function() {
// MDN types listed at https://goo.gl/lHrFU6

@@ -195,5 +195,4 @@ const MDN = {

const actual = mime.getType(ext);
if (actual != expected) diffs.push(['MDN', ext, expected, actual]);
if (actual !== expected) diffs.push(['MDN', ext, expected, actual]);
}
const mimeTypes = require('../node_modules/mime-types');

@@ -203,7 +202,7 @@ for (let ext in mimeTypes.types) {

const actual = mime.getType(ext);
if (actual != expected) diffs.push(['mime-types', ext, expected, actual]);
if (actual !== expected) diffs.push(['mime-types', ext, expected, actual]);
}
});
it('types', function () {
it('types', function() {
// Assortment of common types

@@ -218,3 +217,3 @@ assert.equal(mime.getType('html'), 'text/html');

it('extensions', function () {
it('extensions', function() {
assert.equal(mime.getExtension('text/html;charset=UTF-8'), 'html');

@@ -225,14 +224,14 @@ assert.equal(mime.getExtension('text/HTML; charset=UTF-8'), 'html');

assert.equal(mime.getExtension('text/html ; charset=UTF-8'), 'html');
assert.equal( mime.getExtension(mime._types.text), 'txt');
assert.equal( mime.getExtension(mime._types.htm), 'html');
assert.equal( mime.getExtension('application/octet-stream'), 'bin');
assert.equal( mime.getExtension('application/octet-stream '), 'bin');
assert.equal( mime.getExtension(' text/html; charset=UTF-8'), 'html');
assert.equal( mime.getExtension('text/html; charset=UTF-8 '), 'html');
assert.equal( mime.getExtension('text/html; charset=UTF-8'), 'html');
assert.equal( mime.getExtension('text/html ; charset=UTF-8'), 'html');
assert.equal( mime.getExtension('text/html;charset=UTF-8'), 'html');
assert.equal( mime.getExtension('text/Html;charset=UTF-8'), 'html');
assert.equal(mime.getExtension(mime._types.text), 'txt');
assert.equal(mime.getExtension(mime._types.htm), 'html');
assert.equal(mime.getExtension('application/octet-stream'), 'bin');
assert.equal(mime.getExtension('application/octet-stream '), 'bin');
assert.equal(mime.getExtension(' text/html; charset=UTF-8'), 'html');
assert.equal(mime.getExtension('text/html; charset=UTF-8 '), 'html');
assert.equal(mime.getExtension('text/html; charset=UTF-8'), 'html');
assert.equal(mime.getExtension('text/html ; charset=UTF-8'), 'html');
assert.equal(mime.getExtension('text/html;charset=UTF-8'), 'html');
assert.equal(mime.getExtension('text/Html;charset=UTF-8'), 'html');
assert.equal(mime.getExtension('unrecognized'), null);
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc