Skip to content

Commit

Permalink
Use mime-score module to resolve extension conflicts. Fixes jshttp#36
Browse files Browse the repository at this point in the history
  • Loading branch information
broofa committed Nov 25, 2017
1 parent 49ef541 commit c58e28f
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 8 deletions.
11 changes: 4 additions & 7 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
*/

var db = require('mime-db')
var mimeScore = require('mime-score')
var extname = require('path').extname

/**
Expand Down Expand Up @@ -152,9 +153,6 @@ function lookup (path) {
*/

function populateMaps (extensions, types) {
// source preference (least -> most)
var preference = ['nginx', 'apache', undefined, 'iana']

Object.keys(db).forEach(function forEachMimeType (type) {
var mime = db[type]
var exts = mime.extensions
Expand All @@ -171,11 +169,10 @@ function populateMaps (extensions, types) {
var extension = exts[i]

if (types[extension]) {
var from = preference.indexOf(db[types[extension]].source)
var to = preference.indexOf(mime.source)
var from = mimeScore(types[extension], db[types[extension]].source);
var to = mimeScore(type, mime.source);

if (types[extension] !== 'application/octet-stream' &&
(from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {
if (from > to) {
// skip the remapping
continue
}
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
],
"repository": "jshttp/mime-types",
"dependencies": {
"mime-db": "~1.31.0"
"mime-db": "~1.31.0",
"mime-score": "~1.1.0"
},
"devDependencies": {
"eslint": "3.19.0",
Expand Down

0 comments on commit c58e28f

Please sign in to comment.