From 6f8c64f9aa8d1b689818c33341fe2841d2d79a5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Gro=C3=9Fklaus?= Date: Fri, 17 Dec 2021 10:17:30 +0100 Subject: [PATCH] chore(twig): updated dependencies --- packages/stack-twig/lib/lint.js | 58 ++++++++++++++++---------------- packages/stack-twig/package.json | 4 +-- packages/stack-twig/yarn.lock | 2 +- 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/stack-twig/lib/lint.js b/packages/stack-twig/lib/lint.js index 399e59d..fb1a59c 100644 --- a/packages/stack-twig/lib/lint.js +++ b/packages/stack-twig/lib/lint.js @@ -1,29 +1,10 @@ const chalk = require("chalk"); const { spawn } = require("child_process"); -/** - * @param {string} command - * @returns {Array} - */ -function getAdditionalParams(command) { - const indexCommand = process.argv.indexOf(command); - - if (indexCommand >= 0) { - const args = process.argv.slice(indexCommand + 1); - const indexOfOnly = args.indexOf("--only"); - const indexOfSkip = args.indexOf("--skip"); - - if (indexOfOnly >= 0 || indexOfSkip >= 0) { - const index = indexOfOnly >= 0 ? indexOfOnly : indexOfSkip; - - args.splice(index, 2); - } - - return args; - } - - return []; -} +const { + getAdditionalParams, + getStagedFiles, +} = require("@factorial/stack-core/helpers"); /** * Returns an array with all cli params after "lint --only twig" @@ -31,16 +12,30 @@ function getAdditionalParams(command) { * @param {string} rootFolder * @returns {Array} */ -function getArgs(rootFolder) { - const args = [ +async function getArgs(rootFolder) { + const defaultParams = [ "--severity", "error", "--ruleset", "Factorial\\twigcs\\TwigCsRuleset", - ...getAdditionalParams("lint"), ]; + const additionalParams = getAdditionalParams("lint"); + const hasStagedParam = additionalParams.includes("--staged"); + const directories = hasStagedParam + ? await getStagedFiles(["twig"]) + : [rootFolder]; + + if (directories.length === 0) { + return null; + } - return args ? [rootFolder, ...args] : [rootFolder]; + return [ + ...directories, + ...defaultParams, + ...(hasStagedParam + ? additionalParams.filter((entry) => entry !== "--staged") + : additionalParams), + ]; } /** @@ -53,8 +48,13 @@ function getArgs(rootFolder) { * @param {object} config * @returns {Promise} - gets resolved/rejected based on if twig linting failed or not */ -module.exports = function lint({ rootFolder }, config) { - const args = getArgs(config?.folder || rootFolder); +module.exports = async function lint({ rootFolder }, config) { + const args = await getArgs(config?.folder || rootFolder); + + if (!args) { + console.log(`\ntwigcs: ${chalk.green("0 errors!")}`); + return Promise.resolve(); + } return new Promise((resolve, reject) => { const process = spawn( diff --git a/packages/stack-twig/package.json b/packages/stack-twig/package.json index ed80336..8b0d52f 100644 --- a/packages/stack-twig/package.json +++ b/packages/stack-twig/package.json @@ -16,9 +16,9 @@ "release": "standard-version -t twig/v" }, "dependencies": { - "chalk": "^4.1.1" + "chalk": "^4.1.2" }, "peerDependencies": { - "@factorial/stack-core": "^0.3.16" + "@factorial/stack-core": "^0.3.17" } } diff --git a/packages/stack-twig/yarn.lock b/packages/stack-twig/yarn.lock index e061668..0ac9a2f 100644 --- a/packages/stack-twig/yarn.lock +++ b/packages/stack-twig/yarn.lock @@ -9,7 +9,7 @@ ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -chalk@^4.1.1: +chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==