diff --git a/lib/css-parser.js b/lib/css-parser.js index bc47036..1e0b5b1 100644 --- a/lib/css-parser.js +++ b/lib/css-parser.js @@ -1,5 +1,3 @@ -var _ = require('lodash'); - var embeddedRegexp = /data:(.*?);base64,/; var commentRegexp = /\/\*([\s\S]*?)\*\//g; var urlsRegexp = /((?:@import\s+)?url\s*\(['"]?)(\S*?)(['"]?\s*\))|(@import\s+['"]?)([^;'"]+)/ig; @@ -10,20 +8,23 @@ function isEmbedded (src) { function getUrls (text) { var urls = []; - var urlMatch; + var urlMatch, url, isEmbeddedUrl, isDuplicatedUrl; text = text.replace(commentRegexp, ''); while (urlMatch = urlsRegexp.exec(text)) { // Match 2 group if '[@import] url(path)', match 5 group if '@import path' - urls.push(urlMatch[2]||urlMatch[5]); + url = urlMatch[2] || urlMatch[5]; + + isEmbeddedUrl = isEmbedded(url); + isDuplicatedUrl = urls.indexOf(url) !== -1; + + if (url && !isEmbeddedUrl && !isDuplicatedUrl) { + urls.push(url); + } } - return _.chain(urls) - .compact() - .reject(isEmbedded) - .uniq() - .value(); + return urls; } module.exports = getUrls; diff --git a/package.json b/package.json index 26af6be..2a66ca3 100644 --- a/package.json +++ b/package.json @@ -25,9 +25,6 @@ "homepage": "https://github.com/s0ph1e/node-css-url-parser", "author": "s0ph1e", "license": "MIT", - "dependencies": { - "lodash": "^4.0.0" - }, "devDependencies": { "coveralls": "^2.11.2", "istanbul": "^0.4.5",