diff --git a/index.js b/index.js index 0ab8f39..bbabb5a 100644 --- a/index.js +++ b/index.js @@ -7,11 +7,11 @@ 'use strict'; -var path = require('path'); -var clone = require('clone-deep'); -var relative = require('relative'); -var red = require('ansi-red'); -var bold = require('ansi-bold'); +const path = require('path'); +const clone = require('clone-deep'); +const relative = require('relative'); +const red = require('ansi-red'); +const bold = require('ansi-bold'); /** * Asynchronously get the resolved path to "main" file for @@ -30,10 +30,9 @@ var bold = require('ansi-bold'); function resolve(name, next) { try { - return next(null, resolveSync(name)); - } catch(err) { + next(null, resolveSync(name)); + } catch (err) { next(err); - return; } } @@ -52,10 +51,10 @@ function resolve(name, next) { */ function resolveSync(name) { - var base = path.resolve(process.cwd(), 'node_modules', name); - var pkg = tryResolve(path.join(base, 'package.json')); + const base = path.resolve(process.cwd(), 'node_modules', name); + const pkg = tryResolve(path.join(base, 'package.json')); - var res = clone(pkg); + const res = clone(pkg); res.main = relative(path.join(base, pkg && pkg.main)); return res; } @@ -73,7 +72,7 @@ function tryResolve(fp) { } try { return require(path.resolve(fp)); - } catch(err) { + } catch (err) { console.error(red('helper-resolve cannot find'), bold(fp), err); } return {}; diff --git a/package.json b/package.json index 3e4f61a..fd90eb1 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ ], "main": "index.js", "engines": { - "node": ">=0.10.0" + "node": ">=4.0" }, "scripts": { "test": "mocha" @@ -28,8 +28,7 @@ "devDependencies": { "handlebars": "^4.0.11", "jquery": "^3.3.1", - "mocha": "*", - "should": "*" + "mocha": "^5.2.0" }, "keywords": [ "helper", diff --git a/test.js b/test.js index 9434a11..4622dd0 100644 --- a/test.js +++ b/test.js @@ -8,17 +8,16 @@ 'use strict'; /* deps:mocha jquery */ -require('should'); -var handlebars = require('handlebars'); -var resolve = require('./'); -var template; +const assert = require('assert'); +const handlebars = require('handlebars'); +const resolve = require('./'); -describe('resolve helper', function () { - it('should work as a handlebars helper:', function () { - var str = '{{resolve "jquery"}}'; - handlebars.registerHelper('resolve', function (fp, key) { +describe('resolve helper', function() { + it('should work as a handlebars helper:', function() { + const str = '{{resolve "jquery"}}'; + handlebars.registerHelper('resolve', function(fp, key) { return resolve.sync(fp)[typeof key === 'string' ? key : 'main']; }); - handlebars.compile(str)().should.equal('node_modules/jquery/dist/jquery.js'); + assert.equal(handlebars.compile(str)(), 'node_modules/jquery/dist/jquery.js'); }); });