From f571b08f55483d4cd192374b984fd7fa5cb58f85 Mon Sep 17 00:00:00 2001 From: Lloyd Brookes Date: Sun, 25 Aug 2024 17:10:41 +0100 Subject: [PATCH] If options.configure is passed, neither .files nor .source are mandatory. #27 --- example/explain.js | 2 +- example/using-config-explain.js | 8 ++++++++ example/using-config-input.js | 4 ++++ example/using-config-render.js | 3 +++ example/using-config.json | 8 ++++++++ lib/jsdoc-command.js | 4 ++-- 6 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 example/using-config-explain.js create mode 100644 example/using-config-input.js create mode 100644 example/using-config-render.js create mode 100644 example/using-config.json diff --git a/example/explain.js b/example/explain.js index c8387eb..5fa5e60 100644 --- a/example/explain.js +++ b/example/explain.js @@ -4,5 +4,5 @@ util.inspect.defaultOptions.depth = 6 util.inspect.defaultOptions.breakLength = process.stdout.columns util.inspect.defaultOptions.maxArrayLength = Infinity -const data = await jsdoc.explain({ files: process.argv.slice(2), cache: true, pedantic: true }) +const data = await jsdoc.explain({ files: process.argv.slice(2), cache: true }) console.log(data) diff --git a/example/using-config-explain.js b/example/using-config-explain.js new file mode 100644 index 0000000..8945bad --- /dev/null +++ b/example/using-config-explain.js @@ -0,0 +1,8 @@ +import jsdoc from 'jsdoc-api' +import util from 'node:util' +util.inspect.defaultOptions.depth = 6 +util.inspect.defaultOptions.breakLength = process.stdout.columns +util.inspect.defaultOptions.maxArrayLength = Infinity + +const data = await jsdoc.explain({ cache: true, configure: './example/using-config.json' }) +console.log(data) diff --git a/example/using-config-input.js b/example/using-config-input.js new file mode 100644 index 0000000..a7d452d --- /dev/null +++ b/example/using-config-input.js @@ -0,0 +1,4 @@ +/** + * A documented function. + */ +function something () {} diff --git a/example/using-config-render.js b/example/using-config-render.js new file mode 100644 index 0000000..0e698a3 --- /dev/null +++ b/example/using-config-render.js @@ -0,0 +1,3 @@ +import jsdoc from 'jsdoc-api' + +await jsdoc.render({ configure: './example/using-config.json' }) diff --git a/example/using-config.json b/example/using-config.json new file mode 100644 index 0000000..8b595ed --- /dev/null +++ b/example/using-config.json @@ -0,0 +1,8 @@ +{ + "source": { + "include": [ "example/using-config-input.js" ] + }, + "opts": { + "destination": "./config-out/" + } +} diff --git a/lib/jsdoc-command.js b/lib/jsdoc-command.js index c755adf..b607ea4 100644 --- a/lib/jsdoc-command.js +++ b/lib/jsdoc-command.js @@ -12,8 +12,8 @@ const { __dirname } = currentModulePaths(import.meta.url) class JsdocCommand { constructor (options = {}, cache) { assert.ok( - options.files?.length || options.source, - 'Must set either .files or .source' + options.files?.length || options.source || options.configure, + 'Must set at least one of .files, .source or .configure' ) options.files = arrayify(options.files)