diff --git a/src/index.ts b/src/index.ts index afd495e07..34342423e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,6 +6,7 @@ import cli from 'cli-ux'; import { ServiceError } from './lib/errors'; import updateNotifier from 'update-notifier'; import { ScanningStrategyDetectorUtils } from './detectors/utils/ScanningStrategyDetectorUtils'; +import { PracticeImpact } from './model'; // import { ScanningStrategyDetectorUtils } from './utils/ScanningStrategyDetectorUtils'; class DXScannerCommand extends Command { @@ -30,7 +31,7 @@ class DXScannerCommand extends Command { const { args, flags } = this.parse(DXScannerCommand); let authorization = flags.authorization ? flags.authorization : undefined; const json = flags.json ? flags.json : undefined; - const fail = flags.fail ? flags.fail : undefined; + const fail = flags.fail ? flags.fail : PracticeImpact.high; const notifier = updateNotifier({ pkg: this.config.pjson }); @@ -45,7 +46,7 @@ class DXScannerCommand extends Command { const scanPath = args.path || process.cwd(); cli.action.start(`Scanning URI: ${scanPath}`); - const container = createRootContainer({ uri: scanPath, auth: authorization, json: json, fail: fail }); + const container = createRootContainer({ uri: scanPath, auth: authorization, json: json, fail: fail }); const scanner = container.get(Scanner); try { diff --git a/src/inversify.config.ts b/src/inversify.config.ts index 8d5816289..a716243ff 100644 --- a/src/inversify.config.ts +++ b/src/inversify.config.ts @@ -10,7 +10,14 @@ import { IFileInspector } from './inspectors/IFileInspector'; import { IPackageInspector } from './inspectors/IPackageInspector'; import { IssueTrackingInspector } from './inspectors/IssueTrackingInspector'; import { JavaScriptPackageInspector } from './inspectors/package/JavaScriptPackageInspector'; -import { ProgrammingLanguage, ProjectComponent, ProjectComponentFramework, ProjectComponentPlatform, ProjectComponentType } from './model'; +import { + ProgrammingLanguage, + ProjectComponent, + ProjectComponentFramework, + ProjectComponentPlatform, + ProjectComponentType, + PracticeImpact, +} from './model'; import { practices } from './practices'; import { IPracticeWithMetadata } from './practices/DxPracticeDecorator'; import { CLIReporter } from './reporters/CLIReporter'; @@ -127,5 +134,5 @@ export interface ArgumentsProvider { uri: string; auth?: string; json?: boolean; - fail?: PracticeImpact | "all"; + fail?: PracticeImpact | 'all'; } diff --git a/src/scanner/Scanner.ts b/src/scanner/Scanner.ts index 231fa4edf..d280f700e 100644 --- a/src/scanner/Scanner.ts +++ b/src/scanner/Scanner.ts @@ -174,6 +174,7 @@ export class Scanner { isOn: p.isOn, }; }); + console.log(reportArguments, 'reportArg'); const reportString = this.reporter.report(reportArguments); @@ -181,11 +182,14 @@ export class Scanner { ? console.log(reportString) : console.log(util.inspect(reportString, { showHidden: false, depth: null })); - const notPracticingPracticesToFail = reportArguments.filter( - (practice) => - practice.evaluation === PracticeEvaluationResult.notPracticing && - (practice.impact === this.argumentsProvider.fail || this.argumentsProvider.fail === 'all'), - ); + let notPracticingPracticesToFail = []; + if (this.argumentsProvider.fail !== 'off') { + notPracticingPracticesToFail = reportArguments.filter( + (practice) => + practice.evaluation === PracticeEvaluationResult.notPracticing && + (practice.impact === this.argumentsProvider.fail || this.argumentsProvider.fail === 'all'), + ); + } if (notPracticingPracticesToFail.length > 0) { process.exit(1);