From 0ec67fd70872bf5e41f9129382b19bf36fe20d29 Mon Sep 17 00:00:00 2001 From: flakey5 <73616808+flakey5@users.noreply.github.com> Date: Mon, 10 Mar 2025 10:26:05 -0700 Subject: [PATCH] fix: linting Fixes error happening with linting and also allows the cli to be ran just for linting purposes Signed-off-by: flakey5 <73616808+flakey5@users.noreply.github.com> --- bin/cli.mjs | 28 +++++++++++++++------------- src/linter/index.mjs | 22 +++++++++++----------- 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/bin/cli.mjs b/bin/cli.mjs index 1d0620d8..d5239df5 100755 --- a/bin/cli.mjs +++ b/bin/cli.mjs @@ -33,7 +33,7 @@ program new Option( '-o, --output ', 'Specify the relative or absolute output directory' - ).makeOptionMandatory() + ) ) .addOption( new Option( @@ -112,18 +112,20 @@ const { getAllMajors } = createNodeReleases(changelog); linter.lintAll(parsedApiDocs); -await runGenerators({ - // A list of target modes for the API docs parser - generators: target, - // Resolved `input` to be used - input: input, - // Resolved `output` path to be used - output: resolve(output), - // Resolved SemVer of current Node.js version - version: coerce(version), - // A list of all Node.js major versions with LTS status - releases: await getAllMajors(), -}); +if (target && output) { + await runGenerators({ + // A list of target modes for the API docs parser + generators: target, + // Resolved `input` to be used + input: input, + // Resolved `output` path to be used + output: resolve(output), + // Resolved SemVer of current Node.js version + version: coerce(version), + // A list of all Node.js major versions with LTS status + releases: await getAllMajors(), + }); +} linter.report(reporter); diff --git a/src/linter/index.mjs b/src/linter/index.mjs index 689c6a63..451d6ee3 100644 --- a/src/linter/index.mjs +++ b/src/linter/index.mjs @@ -11,6 +11,17 @@ import rules from './rules/index.mjs'; * @param {string[]} disabledRules List of disabled rules names */ const createLinter = (dryRun, disabledRules) => { + /** + * Retrieves all enabled rules + * + * @returns {import('./types').LintRule[]} + */ + const getEnabledRules = () => { + return Object.entries(rules) + .filter(([ruleName]) => !disabledRules.includes(ruleName)) + .map(([, rule]) => rule); + }; + const engine = createLinterEngine(getEnabledRules(disabledRules)); /** @@ -56,17 +67,6 @@ const createLinter = (dryRun, disabledRules) => { return issues.some(issue => issue.level === 'error'); }; - /** - * Retrieves all enabled rules - * - * @returns {import('./types').LintRule[]} - */ - const getEnabledRules = () => { - return Object.entries(rules) - .filter(([ruleName]) => !disabledRules.includes(ruleName)) - .map(([, rule]) => rule); - }; - return { lintAll, report,