Skip to content

Commit

Permalink
feat(job): extract settings from nyc.json (#50)
Browse files Browse the repository at this point in the history
  • Loading branch information
ArnaudBuchholz committed May 30, 2023
1 parent aeb781c commit d35387c
Showing 1 changed file with 32 additions and 1 deletion.
33 changes: 32 additions & 1 deletion src/job.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

const { Command, Option, InvalidArgumentError } = require('commander')
const { statSync, accessSync, constants } = require('fs')
const { join, isAbsolute } = require('path')
const { dirname, join, isAbsolute } = require('path')
const { name, description, version } = require(join(__dirname, '../package.json'))
const { getOutput } = require('./output')
const { $valueSources } = require('./symbols')
Expand Down Expand Up @@ -244,6 +244,37 @@ function finalize (job) {
}

const output = getOutput(job)

if (job.coverage) {
function overrideIfNotSet (option, valueFromSettings) {
if (valueFromSettings && job[$valueSources][option] !== 'cli') {
if (job.debugCoverage) {
output.wrap(() => console.log(`${option} extracted from nyc settings : ${valueFromSettings}`))
}
job[option] = valueFromSettings
}
}

function overrideDirIfNotSet (option, valueFromSettings) {
if (valueFromSettings && !isAbsolute(valueFromSettings)) {
valueFromSettings = join(dirname(job.coverageSettings), valueFromSettings)
}
overrideIfNotSet(option, valueFromSettings)
}

checkAccess({ path: job.coverageSettings, file: true, label: 'coverage settings' })

let settings
try {
settings = require(job.coverageSettings)
} catch (e) {
throw new Error(`Unable to read ${job.coverageSettings} as JSON`)
}
overrideDirIfNotSet('coverageReportDir', settings['report-dir'])
overrideDirIfNotSet('coverageTempDir', settings['temp-dir'])
overrideIfNotSet('coverageReporters', settings.reporter)
}

job[$status] = 'Starting'
Object.defineProperty(job, 'status', {
get () {
Expand Down

0 comments on commit d35387c

Please sign in to comment.