diff --git a/cli.js b/cli.js index 449af786..c028be3d 100644 --- a/cli.js +++ b/cli.js @@ -314,17 +314,11 @@ function resolvePluginPaths(paths) { paths.forEach(function(plugin) { var basename = path.basename(plugin); var dirname = path.dirname(plugin); - // convoluted way to detect the correct path for the plugins; done this round-about way to cope - // with scenarios where JSDoc is executed in another project's working directory where that - // project has plugins of itself in a similar directory structure (plugins/*) - var pluginPath = path.getResourcePath(dirname, basename + '.js'); + var pluginPath = path.getResourcePath(dirname); if (!pluginPath) { logger.error('Unable to find the plugin "%s"', plugin); return; - } else { - // correct the path to the plugin: - pluginPath = path.dirname(pluginPath); } pluginPaths.push( path.join(pluginPath, basename) ); @@ -416,18 +410,7 @@ cli.generateDocs = function() { env.opts.template = (function() { var publish = env.opts.template || 'templates/default'; - // convoluted way to detect the correct path for the templates; done this round-about way to cope - // with scenarios where JSDoc is executed in another project's working directory where that - // project has templates of itself in a similar directory structure (templates//) - var templatePath = path.getResourcePath(publish, 'publish.js'); - - if (!templatePath) { - logger.error('Unable to find the template "%s"', publish); - return publish; - } else { - // correct the path to the template: - templatePath = path.dirname(templatePath); - } + var templatePath = path.getResourcePath(publish); // if we didn't find the template, keep the user-specified value so the error message is // useful diff --git a/lib/jsdoc/path.js b/lib/jsdoc/path.js index ebf7dcb6..ebfffd6f 100644 --- a/lib/jsdoc/path.js +++ b/lib/jsdoc/path.js @@ -111,25 +111,11 @@ exports.getResourcePath = function(filepath, filename) { return true; } - function fileExists(_path) { - // see also: - // - http://stackoverflow.com/questions/4482686/check-synchronously-if-file-directory-exists-in-node-js - // - https://nodejs.org/api/fs.html#fs_fs_existssync_path - try { - var stats = fs.lstatSync(_path); - - return stats.isFile(); - } - catch (e) { - return false; - } - } - // absolute paths are normalized by path.resolve on the first pass [path.dirname(env.opts.configure || ''), env.pwd, env.dirname].forEach(function(_path) { if (!result && _path) { _path = path.resolve(_path, filepath); - if ( pathExists(_path) && (filename ? fileExists(path.join(_path, filename)) : true)) { + if ( pathExists(_path) ) { result = _path; } }