1
0
mirror of https://github.com/sasjs/lint.git synced 2026-01-11 14:30:04 +00:00

feat(lint): implement v1 with 3 rules - trailing spaces, encoded passwords and Doxygen header

This commit is contained in:
Krishna Acondy
2021-03-22 20:23:10 +00:00
parent f3d7d38984
commit bf23963127
31 changed files with 5603 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
import { LineLintRule } from '../types/LintRule'
import { LintRuleType } from '../types/LintRuleType'
const name = 'noEncodedPasswords'
const description = 'Disallow encoded passwords in SAS code.'
const warning = 'Line contains encoded password'
const test = (value: string, lineNumber: number) => {
const regex = new RegExp(/{sas\d{2,4}}[^;"'\s]*/, 'gi')
const matches = value.match(regex)
if (!matches || !matches.length) return []
return matches.map((match) => ({
warning,
lineNumber,
columnNumber: value.indexOf(match) + 1
}))
}
export const noEncodedPasswords: LineLintRule = {
type: LintRuleType.Line,
name,
description,
warning,
test
}