UNPKG

just-scripts

Version:
59 lines 3.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.jestTask = void 0; const just_task_1 = require("just-task"); const utils_1 = require("../utils"); const fs_1 = require("fs"); const supportsColor = require("supports-color"); function jestTask(options = {}) { const jestConfigFile = (0, just_task_1.resolveCwd)('./jest.config.js'); const packageConfigPath = process.cwd(); return function jest() { const jestCmd = (0, just_task_1.resolve)('jest/bin/jest.js'); const configFile = options.config || jestConfigFile; const configFileExists = configFile && (0, fs_1.existsSync)(configFile); let packageConfigExists = false; if (configFileExists) { just_task_1.logger.verbose(`Using jest config file ${configFile}`); } else { const packageConfig = (0, utils_1.readPackageJson)(packageConfigPath); if (packageConfig && packageConfig.jest) { packageConfigExists = true; just_task_1.logger.verbose(`Using jest config from package.json`); } } if ((configFileExists || packageConfigExists) && jestCmd) { just_task_1.logger.info(`Running Jest`); const positional = (0, just_task_1.argv)()._.slice(1); const args = [ ...(options.nodeArgs || []), jestCmd, ...(configFileExists ? ['--config', configFile] : []), ...(options.rootDir ? ['--rootDir', options.rootDir] : []), ...(options.passWithNoTests ? ['--passWithNoTests'] : []), ...(options.clearCache ? ['--clearCache'] : []), ...(options.colors !== false && supportsColor.stdout ? ['--colors'] : []), ...(options.runInBand ? ['--runInBand'] : []), ...(options.coverage ? ['--coverage'] : []), ...(options.watch ? ['--watch'] : []), ...(options.silent ? ['--silent'] : []), ...(options.testPathPattern ? ['--testPathPattern', options.testPathPattern] : []), ...(options.testPathPatterns ? ['--testPathPatterns', options.testPathPatterns] : []), ...(options.testNamePattern ? ['--testNamePattern', options.testNamePattern] : []), ...(options.maxWorkers ? ['--maxWorkers', `${options.maxWorkers}`] : []), ...(options.u || options.updateSnapshot ? ['--updateSnapshot'] : []), // Only include the positional args if `options._` wasn't specified // (to avoid possibly including them twice) ...(options._ || positional), ].filter(arg => !!arg); (0, utils_1.logNodeCommand)(args); return (0, utils_1.spawn)(process.execPath, args, { stdio: 'inherit', env: options.env }); } just_task_1.logger.warn('no jest configuration found, skipping jest'); // undertaker apparently requires returning a promise, async function, or function that calls done() return Promise.resolve(); }; } exports.jestTask = jestTask; //# sourceMappingURL=jestTask.js.map