From f5489162b4be55a1db4c2a5c53dc7a74b4ace5f2 Mon Sep 17 00:00:00 2001 From: Robert Kieffer Date: Fri, 24 Nov 2017 16:04:10 -0800 Subject: [PATCH] use mime-score module for resolving extension contentions. Fixes #182 --- package-lock.json | 5 +++++ package.json | 4 +++- src/build.js | 7 ++++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5bedfc3a..21e44a4c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -343,6 +343,11 @@ "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", "dev": true }, + "mime-score": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mime-score/-/mime-score-1.0.1.tgz", + "integrity": "sha512-lWwog/T9G7cffmKyL8aTG9gu6YYQIDv5SSLmqpoMvSnnr+D4FdgazgKR1tkd19C6bRexwW2a/lOItPJVRlZLzg==" + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", diff --git a/package.json b/package.json index 273870f9..1cd33d17 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,9 @@ ], "description": "A comprehensive library for mime-type mapping", "license": "MIT", - "dependencies": {}, + "dependencies": { + "mime-score": "1.0.1" + }, "devDependencies": { "chalk": "1.1.3", "eslint": "4.6.1", diff --git a/src/build.js b/src/build.js index aad81441..aa5878c4 100755 --- a/src/build.js +++ b/src/build.js @@ -4,6 +4,7 @@ const fs = require('fs'); const path = require('path'); +const mimeScore = require('mime-score'); let db = require('mime-db'); let chalk = require('chalk'); @@ -67,8 +68,8 @@ for (let type in db) { if (ext in byExtension) { const e0 = entry; const e1 = byExtension[ext]; - e0.pri = getScore(e0); - e1.pri = getScore(e1); + e0.pri = mimeScore(e0.type, e0.source); + e1.pri = mimeScore(e1.type, e1.source); let drop = e0.pri < e1.pri ? e0 : e1; let keep = e0.pri >= e1.pri ? e0 : e1; @@ -95,7 +96,7 @@ Object.keys(db).sort().forEach(k => { const entry = db[k]; if (entry.extensions) { - if (getScore(entry) >= STANDARD_FACET_SCORE) { + if (mimeScore(entry.type, entry.source) >= STANDARD_FACET_SCORE) { standard[entry.type] = entry.extensions; } else { other[entry.type] = entry.extensions;