diff --git a/.eslintrc.yml b/.eslintrc.yml index 007ec31..3a56377 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -119,7 +119,11 @@ rules: import/exports-last: off import/no-duplicates: error import/no-namespace: error - import/extensions: [error, never] # TODO: switch to ignorePackages + import/extensions: + - error + - ignorePackages + - ts: never # TODO: remove once TS supports extensions + js: never # TODO: remove import/order: [error, { newlines-between: always-and-inside-groups }] import/newline-after-import: error import/prefer-default-export: off diff --git a/resources/utils.js b/resources/utils.js index c43a56a..253212c 100644 --- a/resources/utils.js +++ b/resources/utils.js @@ -2,6 +2,16 @@ const fs = require('fs'); const path = require('path'); +const childProcess = require('child_process'); + +function exec(command, options) { + const output = childProcess.execSync(command, { + maxBuffer: 10 * 1024 * 1024, // 10MB + encoding: 'utf-8', + ...options, + }); + return output && output.trimEnd(); +} function readdirRecursive(dirPath, opts = {}) { const { ignoreDir } = opts; @@ -71,6 +81,7 @@ function showDirStats(dirPath) { } module.exports = { + exec, readdirRecursive, showDirStats, };