mirror of
https://github.com/sasjs/lint.git
synced 2026-01-09 21:40:06 +00:00
feat: add new property severityLevel
This commit is contained in:
@@ -6,9 +6,11 @@ import { Severity } from '../../types/Severity'
|
||||
const name = 'indentationMultiple'
|
||||
const description = 'Ensure indentation by a multiple of the configured number.'
|
||||
const message = 'Line has incorrect indentation'
|
||||
|
||||
const test = (value: string, lineNumber: number, config?: LintConfig) => {
|
||||
if (!value.startsWith(' ')) return []
|
||||
|
||||
const severity = config?.severityLevel[name] || Severity.Warning
|
||||
const indentationMultiple = isNaN(config?.indentationMultiple as number)
|
||||
? 2
|
||||
: config!.indentationMultiple
|
||||
@@ -24,7 +26,7 @@ const test = (value: string, lineNumber: number, config?: LintConfig) => {
|
||||
lineNumber,
|
||||
startColumnNumber: 1,
|
||||
endColumnNumber: 1,
|
||||
severity: Severity.Warning
|
||||
severity
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -6,7 +6,9 @@ import { Severity } from '../../types/Severity'
|
||||
const name = 'maxLineLength'
|
||||
const description = 'Restrict lines to the specified length.'
|
||||
const message = 'Line exceeds maximum length'
|
||||
|
||||
const test = (value: string, lineNumber: number, config?: LintConfig) => {
|
||||
const severity = config?.severityLevel[name] || Severity.Warning
|
||||
const maxLineLength = config?.maxLineLength || 80
|
||||
if (value.length <= maxLineLength) return []
|
||||
return [
|
||||
@@ -15,7 +17,7 @@ const test = (value: string, lineNumber: number, config?: LintConfig) => {
|
||||
lineNumber,
|
||||
startColumnNumber: 1,
|
||||
endColumnNumber: 1,
|
||||
severity: Severity.Warning
|
||||
severity
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { LintConfig } from '../../types'
|
||||
import { LineLintRule } from '../../types/LintRule'
|
||||
import { LintRuleType } from '../../types/LintRuleType'
|
||||
import { Severity } from '../../types/Severity'
|
||||
@@ -5,7 +6,9 @@ import { Severity } from '../../types/Severity'
|
||||
const name = 'noEncodedPasswords'
|
||||
const description = 'Disallow encoded passwords in SAS code.'
|
||||
const message = 'Line contains encoded password'
|
||||
const test = (value: string, lineNumber: number) => {
|
||||
|
||||
const test = (value: string, lineNumber: number, config?: LintConfig) => {
|
||||
const severity = config?.severityLevel[name] || Severity.Error
|
||||
const regex = new RegExp(/{sas(\d{2,4}|enc)}[^;"'\s]*/, 'gi')
|
||||
const matches = value.match(regex)
|
||||
if (!matches || !matches.length) return []
|
||||
@@ -14,7 +17,7 @@ const test = (value: string, lineNumber: number) => {
|
||||
lineNumber,
|
||||
startColumnNumber: value.indexOf(match) + 1,
|
||||
endColumnNumber: value.indexOf(match) + match.length + 1,
|
||||
severity: Severity.Error
|
||||
severity
|
||||
}))
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { LintConfig } from '../../types'
|
||||
import { LineLintRule } from '../../types/LintRule'
|
||||
import { LintRuleType } from '../../types/LintRuleType'
|
||||
import { Severity } from '../../types/Severity'
|
||||
@@ -5,7 +6,9 @@ import { Severity } from '../../types/Severity'
|
||||
const name = 'noTabs'
|
||||
const description = 'Disallow indenting with tabs.'
|
||||
const message = 'Line is indented with a tab'
|
||||
const test = (value: string, lineNumber: number) => {
|
||||
|
||||
const test = (value: string, lineNumber: number, config?: LintConfig) => {
|
||||
const severity = config?.severityLevel[name] || Severity.Warning
|
||||
if (!value.startsWith('\t')) return []
|
||||
return [
|
||||
{
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { LintConfig } from '../../types'
|
||||
import { LineLintRule } from '../../types/LintRule'
|
||||
import { LintRuleType } from '../../types/LintRuleType'
|
||||
import { Severity } from '../../types/Severity'
|
||||
@@ -5,8 +6,11 @@ import { Severity } from '../../types/Severity'
|
||||
const name = 'noTrailingSpaces'
|
||||
const description = 'Disallow trailing spaces on lines.'
|
||||
const message = 'Line contains trailing spaces'
|
||||
const test = (value: string, lineNumber: number) =>
|
||||
value.trimEnd() === value
|
||||
|
||||
const test = (value: string, lineNumber: number, config?: LintConfig) => {
|
||||
const severity = config?.severityLevel[name] || Severity.Warning
|
||||
|
||||
return value.trimEnd() === value
|
||||
? []
|
||||
: [
|
||||
{
|
||||
@@ -14,9 +18,11 @@ const test = (value: string, lineNumber: number) =>
|
||||
lineNumber,
|
||||
startColumnNumber: value.trimEnd().length + 1,
|
||||
endColumnNumber: value.length,
|
||||
severity: Severity.Warning
|
||||
severity
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
const fix = (value: string) => value.trimEnd()
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user