From 99eed58f96c9ba74796df1b91c83f83113fcd360 Mon Sep 17 00:00:00 2001 From: Alexandre Gigliotti Date: Mon, 21 Sep 2015 10:16:38 -0700 Subject: [PATCH] Replace lodash with ramda. --- lib/index.js | 9 +++++---- lib/inline-css-url.js | 4 ++-- lib/inline-link-less.js | 13 +++++++------ package.json | 3 ++- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/lib/index.js b/lib/index.js index dfbf9d1..62a0b1c 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,17 +1,18 @@ -var _ = require('lodash'); var co = require('co'); var cheerio = require('cheerio'); var fs = require('mz/fs'); var inlineStyle = require('./inline-style'); var inlineImg = require('./inline-img'); var inlineLinkLess = require('./inline-link-less'); +var R = require('ramda'); +var Ru = require('@panosoft/ramda-utils'); var inline = co.wrap(function * (html, options) { - options = _.defaults(options || {}, { + options = Ru.defaults({ filename: null, less: {}, verbose: false - }); + }, options || {}); var filename; try { filename = html; @@ -48,7 +49,7 @@ var inline = co.wrap(function * (html, options) { var result = { html: html, - files: _.unique(_.flatten(files, true)) + files: R.uniq(R.flatten(files, true)) }; return (options.verbose ? result : result.html); }); diff --git a/lib/inline-css-url.js b/lib/inline-css-url.js index 6351e9f..19a95d0 100644 --- a/lib/inline-css-url.js +++ b/lib/inline-css-url.js @@ -1,9 +1,9 @@ -var _ = require('lodash'); var datauri = require('datauri'); var isLocalPath = require('is-local-path'); var path = require('path'); var postcss = require('postcss'); var postcssUrl = require('postcss-url'); +var R = require('ramda'); var url = require('url'); /** @@ -15,7 +15,7 @@ var url = require('url'); */ var clean = function (path) { path = url.parse(path); - path = _.pick(path, ['protocol', 'host', 'pathname']); + path = R.pick(['protocol', 'host', 'pathname'], path); path = url.format(path); path = decodeURI(path); return path; diff --git a/lib/inline-link-less.js b/lib/inline-link-less.js index a609d81..dd2093b 100644 --- a/lib/inline-link-less.js +++ b/lib/inline-link-less.js @@ -1,14 +1,15 @@ -var _ = require('lodash'); var co = require('co'); var cheerio = require('cheerio'); var fs = require('mz/fs'); var isLocalPath = require('is-local-path'); var less = require('less'); var path = require('path'); +var R = require('ramda'); +var Ru = require('@panosoft/ramda-utils'); var url = require('url'); var render = co.wrap(function * (filename, options) { - options = _.assign(options || {}, { + options = R.merge(options || {}, { filename: filename }); var contents = yield fs.readFile(filename, 'utf8'); @@ -23,9 +24,9 @@ var render = co.wrap(function * (filename, options) { var inline = co.wrap(function * (html, filename, options) { var files = []; var basedir = path.dirname(filename); - options = _.defaults(options || {}, { + options = Ru.defaults({ relativeUrls: true - }); + }, options || {}); // TODO Import less links // get links @@ -52,9 +53,9 @@ var inline = co.wrap(function * (html, filename, options) { }); // create list of imported files from all outputs, unique listing - files.push(_.map(outputs, function (output) { + files.push(R.map(function (output) { return output.imports; - })); + }, outputs)); return { html: $.xml(), diff --git a/package.json b/package.json index ad08226..fca297c 100644 --- a/package.json +++ b/package.json @@ -10,15 +10,16 @@ "author": "", "license": "MIT", "dependencies": { + "@panosoft/ramda-utils": "^0.1.12", "cheerio": "^0.19.0", "co": "^4.6.0", "datauri": "^0.7.1", "is-local-path": "^0.1.0", "less": "^2.5.1", - "lodash": "^3.10.0", "mz": "^2.0.0", "postcss": "^5.0.0", "postcss-url": "^5.0.0", + "ramda": "^0.17.1", "string": "^3.3.0" }, "devDependencies": {