@sasjs/lint 1.14.0 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -11
- package/lint/shared.js +2 -2
- package/lint/shared.js.map +1 -1
- package/package.json +1 -1
- package/rules/file/hasDoxygenHeader.js +4 -3
- package/rules/file/hasDoxygenHeader.js.map +1 -1
- package/rules/file/hasMacroNameInMend.js +5 -4
- package/rules/file/hasMacroNameInMend.js.map +1 -1
- package/rules/file/hasMacroParentheses.js +3 -2
- package/rules/file/hasMacroParentheses.js.map +1 -1
- package/rules/file/lineEndings.js +3 -2
- package/rules/file/lineEndings.js.map +1 -1
- package/rules/file/noNestedMacros.js +2 -1
- package/rules/file/noNestedMacros.js.map +1 -1
- package/rules/file/strictMacroDefinition.js +8 -6
- package/rules/file/strictMacroDefinition.js.map +1 -1
- package/rules/line/indentationMultiple.js +2 -1
- package/rules/line/indentationMultiple.js.map +1 -1
- package/rules/line/maxLineLength.js +2 -1
- package/rules/line/maxLineLength.js.map +1 -1
- package/rules/line/noEncodedPasswords.js +3 -2
- package/rules/line/noEncodedPasswords.js.map +1 -1
- package/rules/line/noTabIndentation.js +3 -2
- package/rules/line/noTabIndentation.js.map +1 -1
- package/rules/line/noTrailingSpaces.js +3 -2
- package/rules/line/noTrailingSpaces.js.map +1 -1
- package/rules/path/lowerCaseFileNames.js +3 -2
- package/rules/path/lowerCaseFileNames.js.map +1 -1
- package/rules/path/noSpacesInFileNames.js +3 -2
- package/rules/path/noSpacesInFileNames.js.map +1 -1
- package/sasjslint-schema.json +110 -1
- package/types/LintConfig.d.ts +4 -0
- package/types/LintConfig.js +48 -0
- package/types/LintConfig.js.map +1 -1
- package/types/LintRule.d.ts +1 -1
package/README.md
CHANGED
|
@@ -40,9 +40,19 @@ Configuration is via a `.sasjslint` file with the following structure (these are
|
|
|
40
40
|
|
|
41
41
|
### SAS Lint Settings
|
|
42
42
|
|
|
43
|
+
Each setting can have three states:
|
|
44
|
+
|
|
45
|
+
* OFF - usually by setting the value to `false` or 0. In this case, the rule won't be executed.
|
|
46
|
+
* WARN - a warning is written to the log, but the return code will be 0
|
|
47
|
+
* ERROR - an error is written to the log, and the return code is 1
|
|
48
|
+
|
|
49
|
+
For more details, and the default state, see the description of each rule below. It is also possible to change whether a rule returns ERROR or WARN using the `severityLevels` object.
|
|
50
|
+
|
|
43
51
|
#### defaultHeader
|
|
44
52
|
|
|
45
|
-
This
|
|
53
|
+
This isn't actually a rule - but rather a formatting setting, which applies to SAS program that do NOT begin with `/**`. It can be triggered by running `sasjs lint fix` in the SASjs CLI, or by hitting "save" when using the SASjs VS Code extension (with "formatOnSave" in place)
|
|
54
|
+
|
|
55
|
+
The default header is as follows:
|
|
46
56
|
|
|
47
57
|
```sas
|
|
48
58
|
/**
|
|
@@ -51,8 +61,7 @@ This sets the default program header - applies when a SAS program does NOT begin
|
|
|
51
61
|
<h4> SAS Macros </h4>
|
|
52
62
|
**/
|
|
53
63
|
```
|
|
54
|
-
|
|
55
|
-
The default header is automatically applied when running `sasjs lint fix` in the SASjs CLI, or by hitting "save" when using the SASjs VS Code extension. If creating a new value, use `{lineEnding}` instead of `\n`, eg as follows:
|
|
64
|
+
If creating a new value, use `{lineEnding}` instead of `\n`, eg as follows:
|
|
56
65
|
|
|
57
66
|
```json
|
|
58
67
|
{
|
|
@@ -62,7 +71,7 @@ The default header is automatically applied when running `sasjs lint fix` in the
|
|
|
62
71
|
|
|
63
72
|
#### noEncodedPasswords
|
|
64
73
|
|
|
65
|
-
This will highlight any rows that contain a `{sas00X}` type password, or `{sasenc}`. These passwords (especially 001 and 002) are NOT secure, and should NEVER be pushed to source control or saved to the filesystem without special permissions applied.
|
|
74
|
+
This rule will highlight any rows that contain a `{sas00X}` type password, or `{sasenc}`. These passwords (especially 001 and 002) are NOT secure, and should NEVER be pushed to source control or saved to the filesystem without special permissions applied.
|
|
66
75
|
|
|
67
76
|
* Default: true
|
|
68
77
|
* Severity: ERROR
|
|
@@ -139,6 +148,26 @@ This will highlight lines with trailing spaces. Trailing spaces serve no useful
|
|
|
139
148
|
* Default: true
|
|
140
149
|
* severity: WARNING
|
|
141
150
|
|
|
151
|
+
### severityLevel
|
|
152
|
+
|
|
153
|
+
This setting allows the default severity to be adjusted. This is helpful when running the lint in a pipeline or git hook. Simply list the rules you would like to adjust along with the desired setting ("warn" or "error"), eg as follows:
|
|
154
|
+
|
|
155
|
+
```json
|
|
156
|
+
{
|
|
157
|
+
"noTrailingSpaces": true,
|
|
158
|
+
"hasDoxygenHeader": true,
|
|
159
|
+
"maxLineLength": 100,
|
|
160
|
+
"severityLevel": {
|
|
161
|
+
"hasDoxygenHeader": "warn",
|
|
162
|
+
"maxLineLength": "error",
|
|
163
|
+
"noTrailingSpaces": "error"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
* "warn" - show warning in the log (doesn’t affect exit code)
|
|
169
|
+
* "error" - show error in the log (exit code is 1 when triggered)
|
|
170
|
+
|
|
142
171
|
### Upcoming Linting Rules:
|
|
143
172
|
|
|
144
173
|
* `noTabs` -> does what it says on the tin
|
|
@@ -169,13 +198,6 @@ SASjs is an open source framework! Contributions are welcomed. If you would li
|
|
|
169
198
|
|
|
170
199
|
Contact [Allan Bowe](https://www.linkedin.com/in/allanbowe/) for further details.
|
|
171
200
|
|
|
172
|
-
## SAS 9 Health check
|
|
173
|
-
|
|
174
|
-
The SASjs Linter (and formatter) is a great way to de-risk and accelerate the delivery of SAS code into production environments. However, code is just one part of a SAS estate. If you are running SAS 9, you may be interested to know what 'gremlins' are lurking in your SAS 9 system. Maybe you are preparing for a migration. Maybe you are preparing to hand over the control of your environment. Either way, an assessment of your existing system would put minds at rest and pro-actively identify trouble spots.
|
|
175
|
-
|
|
176
|
-
The SAS 9 Health Check is a 'plug & play' product, that uses the [SAS 9 REST API](https://sas9api.io) to run hundreds of metadata and system checks to identify common problems. The checks are non-invasive, and becuase it is a client app, there is NOTHING TO INSTALL on your SAS server. We offer this assessment for a low fixed fee, and if you engage our (competitively priced) services to address the issues we highlight, then the assessment is free.
|
|
177
|
-
|
|
178
|
-
Contact [Allan Bowe](https://www.linkedin.com/in/allanbowe/) for further details.
|
|
179
201
|
|
|
180
202
|
|
|
181
203
|
|
package/lint/shared.js
CHANGED
|
@@ -36,7 +36,7 @@ exports.processText = processText;
|
|
|
36
36
|
var processFile = function (filePath, config) {
|
|
37
37
|
var diagnostics = [];
|
|
38
38
|
config.pathLintRules.forEach(function (rule) {
|
|
39
|
-
diagnostics.push.apply(diagnostics, __spreadArray([], __read(rule.test(filePath))));
|
|
39
|
+
diagnostics.push.apply(diagnostics, __spreadArray([], __read(rule.test(filePath, config))));
|
|
40
40
|
});
|
|
41
41
|
return diagnostics;
|
|
42
42
|
};
|
|
@@ -44,7 +44,7 @@ exports.processFile = processFile;
|
|
|
44
44
|
var processContent = function (config, content) {
|
|
45
45
|
var diagnostics = [];
|
|
46
46
|
config.fileLintRules.forEach(function (rule) {
|
|
47
|
-
diagnostics.push.apply(diagnostics, __spreadArray([], __read(rule.test(content))));
|
|
47
|
+
diagnostics.push.apply(diagnostics, __spreadArray([], __read(rule.test(content, config))));
|
|
48
48
|
});
|
|
49
49
|
return diagnostics;
|
|
50
50
|
};
|
package/lint/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/lint/shared.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,kCAAoC;AAE7B,IAAM,WAAW,GAAG,UAAC,IAAY,EAAE,MAAkB;IAC1D,IAAM,KAAK,GAAG,iBAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACrC,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAC;IACjD,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,KAAK;QACxB,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,mBAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,IAAC;IAC3D,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AATY,QAAA,WAAW,eASvB;AAEM,IAAM,WAAW,GAAG,UACzB,QAAgB,EAChB,MAAkB;IAElB,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,IAAI;QAChC,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAC;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/lint/shared.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,kCAAoC;AAE7B,IAAM,WAAW,GAAG,UAAC,IAAY,EAAE,MAAkB;IAC1D,IAAM,KAAK,GAAG,iBAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACrC,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAC;IACjD,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,KAAK;QACxB,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,mBAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,IAAC;IAC3D,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AATY,QAAA,WAAW,eASvB;AAEM,IAAM,WAAW,GAAG,UACzB,QAAgB,EAChB,MAAkB;IAElB,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,IAAI;QAChC,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAC;IAClD,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAVY,QAAA,WAAW,eAUvB;AAED,IAAM,cAAc,GAAG,UAAC,MAAkB,EAAE,OAAe;IACzD,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,IAAI;QAChC,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAC;IACjD,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAEM,IAAM,WAAW,GAAG,UACzB,MAAkB,EAClB,IAAY,EACZ,UAAkB;IAElB,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,IAAI;QAChC,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,IAAC;IAC1D,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAXY,QAAA,WAAW,eAWvB"}
|
package/package.json
CHANGED
|
@@ -13,6 +13,7 @@ var messageForSingleAsterisk = 'File not following Doxygen header style, use dou
|
|
|
13
13
|
var test = function (value, config) {
|
|
14
14
|
var _a;
|
|
15
15
|
var lineEnding = (config === null || config === void 0 ? void 0 : config.lineEndings) === LineEndings_1.LineEndings.CRLF ? '\r\n' : '\n';
|
|
16
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
16
17
|
try {
|
|
17
18
|
var hasFileHeader = value.trimStart().startsWith('/**');
|
|
18
19
|
if (hasFileHeader)
|
|
@@ -26,7 +27,7 @@ var test = function (value, config) {
|
|
|
26
27
|
.length + 1,
|
|
27
28
|
startColumnNumber: 1,
|
|
28
29
|
endColumnNumber: 1,
|
|
29
|
-
severity:
|
|
30
|
+
severity: severity
|
|
30
31
|
}
|
|
31
32
|
];
|
|
32
33
|
return [
|
|
@@ -35,7 +36,7 @@ var test = function (value, config) {
|
|
|
35
36
|
lineNumber: 1,
|
|
36
37
|
startColumnNumber: 1,
|
|
37
38
|
endColumnNumber: 1,
|
|
38
|
-
severity:
|
|
39
|
+
severity: severity
|
|
39
40
|
}
|
|
40
41
|
];
|
|
41
42
|
}
|
|
@@ -46,7 +47,7 @@ var test = function (value, config) {
|
|
|
46
47
|
lineNumber: 1,
|
|
47
48
|
startColumnNumber: 1,
|
|
48
49
|
endColumnNumber: 1,
|
|
49
|
-
severity:
|
|
50
|
+
severity: severity
|
|
50
51
|
}
|
|
51
52
|
];
|
|
52
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasDoxygenHeader.js","sourceRoot":"","sources":["../../../src/rules/file/hasDoxygenHeader.ts"],"names":[],"mappings":";;;AAAA,qCAAwC;AACxC,uDAAqD;AAErD,yDAAuD;AACvD,iDAA+C;AAC/C,2DAAoE;AAEpE,IAAM,IAAI,GAAG,kBAAkB,CAAA;AAC/B,IAAM,WAAW,GACf,qEAAqE,CAAA;AACvE,IAAM,OAAO,GAAG,6BAA6B,CAAA;AAC7C,IAAM,wBAAwB,GAC5B,+DAA+D,CAAA;
|
|
1
|
+
{"version":3,"file":"hasDoxygenHeader.js","sourceRoot":"","sources":["../../../src/rules/file/hasDoxygenHeader.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ var test = function (value, config) {
|
|
|
13
13
|
var lineEnding = (config === null || config === void 0 ? void 0 : config.lineEndings) === LineEndings_1.LineEndings.CRLF ? '\r\n' : '\n';
|
|
14
14
|
var lines = value ? value.split(lineEnding) : [];
|
|
15
15
|
var macros = parseMacros_1.parseMacros(value, config);
|
|
16
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
16
17
|
var diagnostics = [];
|
|
17
18
|
macros.forEach(function (macro) {
|
|
18
19
|
if (macro.startLineNumbers.length === 0 && macro.endLineNumber !== null) {
|
|
@@ -22,7 +23,7 @@ var test = function (value, config) {
|
|
|
22
23
|
lineNumber: macro.endLineNumber,
|
|
23
24
|
startColumnNumber: getColumnNumber_1.getColumnNumber(endLine, '%mend'),
|
|
24
25
|
endColumnNumber: getColumnNumber_1.getColumnNumber(endLine, '%mend') + macro.termination.length,
|
|
25
|
-
severity:
|
|
26
|
+
severity: severity
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
29
|
else if (macro.endLineNumber === null &&
|
|
@@ -32,7 +33,7 @@ var test = function (value, config) {
|
|
|
32
33
|
lineNumber: macro.startLineNumbers[0],
|
|
33
34
|
startColumnNumber: 1,
|
|
34
35
|
endColumnNumber: 1,
|
|
35
|
-
severity:
|
|
36
|
+
severity: severity
|
|
36
37
|
});
|
|
37
38
|
}
|
|
38
39
|
else if (macro.mismatchedMendMacroName) {
|
|
@@ -44,7 +45,7 @@ var test = function (value, config) {
|
|
|
44
45
|
endColumnNumber: getColumnNumber_1.getColumnNumber(endLine, macro.mismatchedMendMacroName) +
|
|
45
46
|
macro.mismatchedMendMacroName.length -
|
|
46
47
|
1,
|
|
47
|
-
severity:
|
|
48
|
+
severity: severity
|
|
48
49
|
});
|
|
49
50
|
}
|
|
50
51
|
else if (!macro.hasMacroNameInMend) {
|
|
@@ -54,7 +55,7 @@ var test = function (value, config) {
|
|
|
54
55
|
lineNumber: macro.endLineNumber,
|
|
55
56
|
startColumnNumber: getColumnNumber_1.getColumnNumber(endLine, '%mend'),
|
|
56
57
|
endColumnNumber: getColumnNumber_1.getColumnNumber(endLine, '%mend') + 6,
|
|
57
|
-
severity:
|
|
58
|
+
severity: severity
|
|
58
59
|
});
|
|
59
60
|
}
|
|
60
61
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasMacroNameInMend.js","sourceRoot":"","sources":["../../../src/rules/file/hasMacroNameInMend.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,+DAA6D;AAE7D,uDAAqD;AACrD,uDAAqD;AAErD,IAAM,IAAI,GAAG,oBAAoB,CAAA;AACjC,IAAM,WAAW,GACf,kEAAkE,CAAA;AACpE,IAAM,OAAO,GAAG,qDAAqD,CAAA;
|
|
1
|
+
{"version":3,"file":"hasMacroNameInMend.js","sourceRoot":"","sources":["../../../src/rules/file/hasMacroNameInMend.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ var message = 'Macro definition missing parentheses';
|
|
|
11
11
|
var test = function (value, config) {
|
|
12
12
|
var diagnostics = [];
|
|
13
13
|
var macros = parseMacros_1.parseMacros(value, config);
|
|
14
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
14
15
|
macros.forEach(function (macro) {
|
|
15
16
|
if (!macro.name) {
|
|
16
17
|
diagnostics.push({
|
|
@@ -19,7 +20,7 @@ var test = function (value, config) {
|
|
|
19
20
|
startColumnNumber: getColumnNumber_1.getColumnNumber(macro.declarationLines[0], '%macro'),
|
|
20
21
|
endColumnNumber: getColumnNumber_1.getColumnNumber(macro.declarationLines[0], '%macro') +
|
|
21
22
|
macro.declaration.length,
|
|
22
|
-
severity:
|
|
23
|
+
severity: severity
|
|
23
24
|
});
|
|
24
25
|
}
|
|
25
26
|
else if (!macro.declarationLines.find(function (dl) { return dl.includes('('); })) {
|
|
@@ -33,7 +34,7 @@ var test = function (value, config) {
|
|
|
33
34
|
endColumnNumber: getColumnNumber_1.getColumnNumber(macro.declarationLines[macroNameLineIndex], macro.name) +
|
|
34
35
|
macro.name.length -
|
|
35
36
|
1,
|
|
36
|
-
severity:
|
|
37
|
+
severity: severity
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasMacroParentheses.js","sourceRoot":"","sources":["../../../src/rules/file/hasMacroParentheses.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,+DAA6D;AAC7D,uDAAqD;AAGrD,IAAM,IAAI,GAAG,qBAAqB,CAAA;AAClC,IAAM,WAAW,GAAG,4DAA4D,CAAA;AAChF,IAAM,OAAO,GAAG,sCAAsC,CAAA;
|
|
1
|
+
{"version":3,"file":"hasMacroParentheses.js","sourceRoot":"","sources":["../../../src/rules/file/hasMacroParentheses.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,+DAA6D;AAC7D,uDAAqD;AAGrD,IAAM,IAAI,GAAG,qBAAqB,CAAA;AAClC,IAAM,WAAW,GAAG,4DAA4D,CAAA;AAChF,IAAM,OAAO,GAAG,sCAAsC,CAAA;AAEtD,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,MAAmB;IAC9C,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,IAAM,MAAM,GAAG,yBAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACzC,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAEhE,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;QACnB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACf,WAAW,CAAC,IAAI,CAAC;gBACf,OAAO,EAAE,+BAA+B;gBACxC,UAAU,EAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAC;gBACtC,iBAAiB,EAAE,iCAAe,CAChC,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAC,EAC1B,QAAQ,CACT;gBACD,eAAe,EACb,iCAAe,CAAC,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;oBACrD,KAAK,CAAC,WAAW,CAAC,MAAM;gBAC1B,QAAQ,UAAA;aACT,CAAC,CAAA;SACH;aAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC,EAAE;YACjE,IAAM,kBAAkB,GAAG,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAC,EAAE;gBAC7D,OAAA,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YAAvB,CAAuB,CACxB,CAAA;YACD,WAAW,CAAC,IAAI,CAAC;gBACf,OAAO,SAAA;gBACP,UAAU,EAAE,KAAK,CAAC,gBAAiB,CAAC,kBAAkB,CAAC;gBACvD,iBAAiB,EAAE,iCAAe,CAChC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAC1C,KAAK,CAAC,IAAI,CACX;gBACD,eAAe,EACb,iCAAe,CACb,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAC1C,KAAK,CAAC,IAAI,CACX;oBACD,KAAK,CAAC,IAAI,CAAC,MAAM;oBACjB,CAAC;gBACH,QAAQ,UAAA;aACT,CAAC,CAAA;SACH;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,mBAAmB,GAAiB;IAC/C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA"}
|
|
@@ -16,6 +16,7 @@ var test = function (value, config) {
|
|
|
16
16
|
.replace(/\n/g, '{lf}')
|
|
17
17
|
.split(new RegExp("(?<=" + expectedLineEnding + ")"));
|
|
18
18
|
var diagnostics = [];
|
|
19
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
19
20
|
var indexOffset = 0;
|
|
20
21
|
lines.forEach(function (line, index) {
|
|
21
22
|
if (line.endsWith(incorrectLineEnding)) {
|
|
@@ -26,7 +27,7 @@ var test = function (value, config) {
|
|
|
26
27
|
lineNumber: index + 1 + indexOffset,
|
|
27
28
|
startColumnNumber: line.indexOf(incorrectLineEnding),
|
|
28
29
|
endColumnNumber: line.indexOf(incorrectLineEnding) + 1,
|
|
29
|
-
severity:
|
|
30
|
+
severity: severity
|
|
30
31
|
});
|
|
31
32
|
}
|
|
32
33
|
else {
|
|
@@ -43,7 +44,7 @@ var test = function (value, config) {
|
|
|
43
44
|
lineNumber: index + i + 1,
|
|
44
45
|
startColumnNumber: l.indexOf(incorrectLineEnding),
|
|
45
46
|
endColumnNumber: l.indexOf(incorrectLineEnding) + 1,
|
|
46
|
-
severity:
|
|
47
|
+
severity: severity
|
|
47
48
|
});
|
|
48
49
|
}
|
|
49
50
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lineEndings.js","sourceRoot":"","sources":["../../../src/rules/file/lineEndings.ts"],"names":[],"mappings":";;;AACA,uDAAqD;AAErD,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,aAAa,CAAA;AAC1B,IAAM,WAAW,GAAG,sDAAsD,CAAA;AAC1E,IAAM,OAAO,GAAG,wDAAwD,CAAA;
|
|
1
|
+
{"version":3,"file":"lineEndings.js","sourceRoot":"","sources":["../../../src/rules/file/lineEndings.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ var test = function (value, config) {
|
|
|
14
14
|
var lines = value ? value.split(lineEnding) : [];
|
|
15
15
|
var diagnostics = [];
|
|
16
16
|
var macros = parseMacros_1.parseMacros(value, config);
|
|
17
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
17
18
|
macros
|
|
18
19
|
.filter(function (m) { return !!m.parentMacro; })
|
|
19
20
|
.forEach(function (macro) {
|
|
@@ -26,7 +27,7 @@ var test = function (value, config) {
|
|
|
26
27
|
endColumnNumber: getColumnNumber_1.getColumnNumber(lines[macro.startLineNumbers[0] - 1], '%macro') +
|
|
27
28
|
lines[macro.startLineNumbers[0] - 1].trim().length -
|
|
28
29
|
1,
|
|
29
|
-
severity:
|
|
30
|
+
severity: severity
|
|
30
31
|
});
|
|
31
32
|
});
|
|
32
33
|
return diagnostics;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noNestedMacros.js","sourceRoot":"","sources":["../../../src/rules/file/noNestedMacros.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,+DAA6D;AAC7D,uDAAqD;AAErD,uDAAqD;AAErD,IAAM,IAAI,GAAG,gBAAgB,CAAA;AAC7B,IAAM,WAAW,GAAG,kDAAkD,CAAA;AACtE,IAAM,OAAO,GAAG,4DAA4D,CAAA;
|
|
1
|
+
{"version":3,"file":"noNestedMacros.js","sourceRoot":"","sources":["../../../src/rules/file/noNestedMacros.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,+DAA6D;AAC7D,uDAAqD;AAErD,uDAAqD;AAErD,IAAM,IAAI,GAAG,gBAAgB,CAAA;AAC7B,IAAM,WAAW,GAAG,kDAAkD,CAAA;AACtE,IAAM,OAAO,GAAG,4DAA4D,CAAA;AAE5E,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,MAAmB;IAC9C,IAAM,UAAU,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,MAAK,yBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3E,IAAM,KAAK,GAAa,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5D,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,IAAM,MAAM,GAAG,yBAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACzC,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAEhE,MAAM;SACH,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,WAAW,EAAf,CAAe,CAAC;SAC9B,OAAO,CAAC,UAAC,KAAK;QACb,WAAW,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,OAAO;iBACb,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC;iBAC9B,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC;YACzC,UAAU,EAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAW;YAChD,iBAAiB,EAAE,iCAAe,CAChC,KAAK,CAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAY,GAAG,CAAC,CAAC,EACjD,QAAQ,CACT;YACD,eAAe,EACb,iCAAe,CACb,KAAK,CAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAY,GAAG,CAAC,CAAC,EACjD,QAAQ,CACT;gBACD,KAAK,CAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAY,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM;gBAC/D,CAAC;YACH,QAAQ,UAAA;SACT,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACJ,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,cAAc,GAAiB;IAC1C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA"}
|
|
@@ -21,8 +21,9 @@ var validOptions = [
|
|
|
21
21
|
'SRC',
|
|
22
22
|
'STORE'
|
|
23
23
|
];
|
|
24
|
-
var processParams = function (content, macro, diagnostics) {
|
|
24
|
+
var processParams = function (content, macro, diagnostics, config) {
|
|
25
25
|
var declaration = macro.declaration;
|
|
26
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || types_1.Severity.Warning;
|
|
26
27
|
var regExpParams = new RegExp(/(?<=\().*(?=\))/);
|
|
27
28
|
var regExpParamsResult = regExpParams.exec(declaration);
|
|
28
29
|
var _declaration = declaration;
|
|
@@ -68,7 +69,7 @@ var processParams = function (content, macro, diagnostics) {
|
|
|
68
69
|
lineNumber: paramLineNumber,
|
|
69
70
|
startColumnNumber: paramStartIndex + 1,
|
|
70
71
|
endColumnNumber: paramEndIndex,
|
|
71
|
-
severity:
|
|
72
|
+
severity: severity
|
|
72
73
|
});
|
|
73
74
|
}
|
|
74
75
|
});
|
|
@@ -76,9 +77,10 @@ var processParams = function (content, macro, diagnostics) {
|
|
|
76
77
|
}
|
|
77
78
|
return _declaration;
|
|
78
79
|
};
|
|
79
|
-
var processOptions = function (_declaration, macro, diagnostics) {
|
|
80
|
+
var processOptions = function (_declaration, macro, diagnostics, config) {
|
|
80
81
|
var _a, _b, _c;
|
|
81
82
|
var optionsPresent = (_b = (_a = _declaration.split('/')) === null || _a === void 0 ? void 0 : _a[1]) === null || _b === void 0 ? void 0 : _b.trim();
|
|
83
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || types_1.Severity.Warning;
|
|
82
84
|
if (optionsPresent) {
|
|
83
85
|
var regex = new RegExp(/="(.*?)"/, 'g');
|
|
84
86
|
var result = regex.exec(optionsPresent);
|
|
@@ -100,7 +102,7 @@ var processOptions = function (_declaration, macro, diagnostics) {
|
|
|
100
102
|
lineNumber: macro.startLineNumbers[declarationLineIndex],
|
|
101
103
|
startColumnNumber: declarationLine.indexOf(trimmedOption) + 1,
|
|
102
104
|
endColumnNumber: declarationLine.indexOf(trimmedOption) + trimmedOption.length,
|
|
103
|
-
severity:
|
|
105
|
+
severity: severity
|
|
104
106
|
});
|
|
105
107
|
}
|
|
106
108
|
});
|
|
@@ -110,8 +112,8 @@ var test = function (value, config) {
|
|
|
110
112
|
var diagnostics = [];
|
|
111
113
|
var macros = parseMacros_1.parseMacros(value, config);
|
|
112
114
|
macros.forEach(function (macro) {
|
|
113
|
-
var _declaration = processParams(value, macro, diagnostics);
|
|
114
|
-
processOptions(_declaration, macro, diagnostics);
|
|
115
|
+
var _declaration = processParams(value, macro, diagnostics, config);
|
|
116
|
+
processOptions(_declaration, macro, diagnostics, config);
|
|
115
117
|
});
|
|
116
118
|
return diagnostics;
|
|
117
119
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strictMacroDefinition.js","sourceRoot":"","sources":["../../../src/rules/file/strictMacroDefinition.ts"],"names":[],"mappings":";;;AAAA,qCAAqE;AAErE,yDAAuD;AACvD,uDAAqD;AAErD,IAAM,IAAI,GAAG,uBAAuB,CAAA;AACpC,IAAM,WAAW,GAAG,oDAAoD,CAAA;AACxE,IAAM,OAAO,GAAG,mCAAmC,CAAA;AAEnD,IAAM,YAAY,GAAG;IACnB,KAAK;IACL,KAAK;IACL,cAAc;IACd,aAAa;IACb,eAAe;IACf,UAAU;IACV,QAAQ;IACR,UAAU;IACV,MAAM;IACN,QAAQ;IACR,KAAK;IACL,OAAO;CACR,CAAA;AAED,IAAM,aAAa,GAAG,UACpB,OAAe,EACf,KAAY,EACZ,WAAyB;
|
|
1
|
+
{"version":3,"file":"strictMacroDefinition.js","sourceRoot":"","sources":["../../../src/rules/file/strictMacroDefinition.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ var message = 'Line has incorrect indentation';
|
|
|
9
9
|
var test = function (value, lineNumber, config) {
|
|
10
10
|
if (!value.startsWith(' '))
|
|
11
11
|
return [];
|
|
12
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
12
13
|
var indentationMultiple = isNaN(config === null || config === void 0 ? void 0 : config.indentationMultiple)
|
|
13
14
|
? 2
|
|
14
15
|
: config.indentationMultiple;
|
|
@@ -23,7 +24,7 @@ var test = function (value, lineNumber, config) {
|
|
|
23
24
|
lineNumber: lineNumber,
|
|
24
25
|
startColumnNumber: 1,
|
|
25
26
|
endColumnNumber: 1,
|
|
26
|
-
severity:
|
|
27
|
+
severity: severity
|
|
27
28
|
}
|
|
28
29
|
];
|
|
29
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indentationMultiple.js","sourceRoot":"","sources":["../../../src/rules/line/indentationMultiple.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,qBAAqB,CAAA;AAClC,IAAM,WAAW,GAAG,4DAA4D,CAAA;AAChF,IAAM,OAAO,GAAG,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"indentationMultiple.js","sourceRoot":"","sources":["../../../src/rules/line/indentationMultiple.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,qBAAqB,CAAA;AAClC,IAAM,WAAW,GAAG,4DAA4D,CAAA;AAChF,IAAM,OAAO,GAAG,gCAAgC,CAAA;AAEhD,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,UAAkB,EAAE,MAAmB;IAClE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAErC,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAChE,IAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAA6B,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,MAAO,CAAC,mBAAmB,CAAA;IAE/B,IAAI,mBAAmB,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACxC,IAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,cAAc,GAAG,mBAAoB,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAC1D,OAAO;QACL;YACE,OAAO,EAAK,OAAO,WAAM,cAAc,UACrC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CACzC;YACF,UAAU,YAAA;YACV,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,QAAQ,UAAA;SACT;KACF,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,mBAAmB,GAAiB;IAC/C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA"}
|
|
@@ -7,6 +7,7 @@ var name = 'maxLineLength';
|
|
|
7
7
|
var description = 'Restrict lines to the specified length.';
|
|
8
8
|
var message = 'Line exceeds maximum length';
|
|
9
9
|
var test = function (value, lineNumber, config) {
|
|
10
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
10
11
|
var maxLineLength = (config === null || config === void 0 ? void 0 : config.maxLineLength) || 80;
|
|
11
12
|
if (value.length <= maxLineLength)
|
|
12
13
|
return [];
|
|
@@ -16,7 +17,7 @@ var test = function (value, lineNumber, config) {
|
|
|
16
17
|
lineNumber: lineNumber,
|
|
17
18
|
startColumnNumber: 1,
|
|
18
19
|
endColumnNumber: 1,
|
|
19
|
-
severity:
|
|
20
|
+
severity: severity
|
|
20
21
|
}
|
|
21
22
|
];
|
|
22
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maxLineLength.js","sourceRoot":"","sources":["../../../src/rules/line/maxLineLength.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,eAAe,CAAA;AAC5B,IAAM,WAAW,GAAG,yCAAyC,CAAA;AAC7D,IAAM,OAAO,GAAG,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"maxLineLength.js","sourceRoot":"","sources":["../../../src/rules/line/maxLineLength.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,eAAe,CAAA;AAC5B,IAAM,WAAW,GAAG,yCAAyC,CAAA;AAC7D,IAAM,OAAO,GAAG,6BAA6B,CAAA;AAE7C,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,UAAkB,EAAE,MAAmB;IAClE,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAChE,IAAM,aAAa,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,KAAI,EAAE,CAAA;IACjD,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa;QAAE,OAAO,EAAE,CAAA;IAC5C,OAAO;QACL;YACE,OAAO,EAAK,OAAO,aAAO,KAAK,CAAC,MAAM,GAAG,aAAa,iBAAa;YACnE,UAAU,YAAA;YACV,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,QAAQ,UAAA;SACT;KACF,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,aAAa,GAAiB;IACzC,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA"}
|
|
@@ -6,7 +6,8 @@ var Severity_1 = require("../../types/Severity");
|
|
|
6
6
|
var name = 'noEncodedPasswords';
|
|
7
7
|
var description = 'Disallow encoded passwords in SAS code.';
|
|
8
8
|
var message = 'Line contains encoded password';
|
|
9
|
-
var test = function (value, lineNumber) {
|
|
9
|
+
var test = function (value, lineNumber, config) {
|
|
10
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Error;
|
|
10
11
|
var regex = new RegExp(/{sas(\d{2,4}|enc)}[^;"'\s]*/, 'gi');
|
|
11
12
|
var matches = value.match(regex);
|
|
12
13
|
if (!matches || !matches.length)
|
|
@@ -16,7 +17,7 @@ var test = function (value, lineNumber) {
|
|
|
16
17
|
lineNumber: lineNumber,
|
|
17
18
|
startColumnNumber: value.indexOf(match) + 1,
|
|
18
19
|
endColumnNumber: value.indexOf(match) + match.length + 1,
|
|
19
|
-
severity:
|
|
20
|
+
severity: severity
|
|
20
21
|
}); });
|
|
21
22
|
};
|
|
22
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noEncodedPasswords.js","sourceRoot":"","sources":["../../../src/rules/line/noEncodedPasswords.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"noEncodedPasswords.js","sourceRoot":"","sources":["../../../src/rules/line/noEncodedPasswords.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,oBAAoB,CAAA;AACjC,IAAM,WAAW,GAAG,yCAAyC,CAAA;AAC7D,IAAM,OAAO,GAAG,gCAAgC,CAAA;AAEhD,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,UAAkB,EAAE,MAAmB;IAClE,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,KAAK,CAAA;IAC9D,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAA;IAC7D,IAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC;QAC7B,OAAO,SAAA;QACP,UAAU,YAAA;QACV,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;QAC3C,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;QACxD,QAAQ,UAAA;KACT,CAAC,EAN4B,CAM5B,CAAC,CAAA;AACL,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,kBAAkB,GAAiB;IAC9C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA"}
|
|
@@ -6,7 +6,8 @@ var Severity_1 = require("../../types/Severity");
|
|
|
6
6
|
var name = 'noTabs';
|
|
7
7
|
var description = 'Disallow indenting with tabs.';
|
|
8
8
|
var message = 'Line is indented with a tab';
|
|
9
|
-
var test = function (value, lineNumber) {
|
|
9
|
+
var test = function (value, lineNumber, config) {
|
|
10
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
10
11
|
if (!value.startsWith('\t'))
|
|
11
12
|
return [];
|
|
12
13
|
return [
|
|
@@ -15,7 +16,7 @@ var test = function (value, lineNumber) {
|
|
|
15
16
|
lineNumber: lineNumber,
|
|
16
17
|
startColumnNumber: 1,
|
|
17
18
|
endColumnNumber: 1,
|
|
18
|
-
severity:
|
|
19
|
+
severity: severity
|
|
19
20
|
}
|
|
20
21
|
];
|
|
21
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noTabIndentation.js","sourceRoot":"","sources":["../../../src/rules/line/noTabIndentation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"noTabIndentation.js","sourceRoot":"","sources":["../../../src/rules/line/noTabIndentation.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,QAAQ,CAAA;AACrB,IAAM,WAAW,GAAG,+BAA+B,CAAA;AACnD,IAAM,OAAO,GAAG,6BAA6B,CAAA;AAE7C,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,UAAkB,EAAE,MAAmB;IAClE,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAChE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IACtC,OAAO;QACL;YACE,OAAO,SAAA;YACP,UAAU,YAAA;YACV,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,QAAQ,UAAA;SACT;KACF,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,gBAAgB,GAAiB;IAC5C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA"}
|
|
@@ -6,7 +6,8 @@ var Severity_1 = require("../../types/Severity");
|
|
|
6
6
|
var name = 'noTrailingSpaces';
|
|
7
7
|
var description = 'Disallow trailing spaces on lines.';
|
|
8
8
|
var message = 'Line contains trailing spaces';
|
|
9
|
-
var test = function (value, lineNumber) {
|
|
9
|
+
var test = function (value, lineNumber, config) {
|
|
10
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
10
11
|
return value.trimEnd() === value
|
|
11
12
|
? []
|
|
12
13
|
: [
|
|
@@ -15,7 +16,7 @@ var test = function (value, lineNumber) {
|
|
|
15
16
|
lineNumber: lineNumber,
|
|
16
17
|
startColumnNumber: value.trimEnd().length + 1,
|
|
17
18
|
endColumnNumber: value.length,
|
|
18
|
-
severity:
|
|
19
|
+
severity: severity
|
|
19
20
|
}
|
|
20
21
|
];
|
|
21
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noTrailingSpaces.js","sourceRoot":"","sources":["../../../src/rules/line/noTrailingSpaces.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"noTrailingSpaces.js","sourceRoot":"","sources":["../../../src/rules/line/noTrailingSpaces.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,kBAAkB,CAAA;AAC/B,IAAM,WAAW,GAAG,oCAAoC,CAAA;AACxD,IAAM,OAAO,GAAG,+BAA+B,CAAA;AAE/C,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,UAAkB,EAAE,MAAmB;IAClE,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAEhE,OAAO,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK;QAC9B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,OAAO,SAAA;gBACP,UAAU,YAAA;gBACV,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC;gBAC7C,eAAe,EAAE,KAAK,CAAC,MAAM;gBAC7B,QAAQ,UAAA;aACT;SACF,CAAA;AACP,CAAC,CAAA;AAED,IAAM,GAAG,GAAG,UAAC,KAAa,IAAK,OAAA,KAAK,CAAC,OAAO,EAAE,EAAf,CAAe,CAAA;AAE9C;;GAEG;AACU,QAAA,gBAAgB,GAAiB;IAC5C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;IACJ,GAAG,KAAA;CACJ,CAAA"}
|
|
@@ -10,7 +10,8 @@ var path_1 = __importDefault(require("path"));
|
|
|
10
10
|
var name = 'lowerCaseFileNames';
|
|
11
11
|
var description = 'Enforce the use of lower case file names.';
|
|
12
12
|
var message = 'File name contains uppercase characters';
|
|
13
|
-
var test = function (value) {
|
|
13
|
+
var test = function (value, config) {
|
|
14
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
14
15
|
var fileName = path_1.default.basename(value);
|
|
15
16
|
if (fileName.toLocaleLowerCase() === fileName)
|
|
16
17
|
return [];
|
|
@@ -20,7 +21,7 @@ var test = function (value) {
|
|
|
20
21
|
lineNumber: 1,
|
|
21
22
|
startColumnNumber: 1,
|
|
22
23
|
endColumnNumber: 1,
|
|
23
|
-
severity:
|
|
24
|
+
severity: severity
|
|
24
25
|
}
|
|
25
26
|
];
|
|
26
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lowerCaseFileNames.js","sourceRoot":"","sources":["../../../src/rules/path/lowerCaseFileNames.ts"],"names":[],"mappings":";;;;;;AACA,yDAAuD;AACvD,iDAA+C;AAC/C,8CAAuB;
|
|
1
|
+
{"version":3,"file":"lowerCaseFileNames.js","sourceRoot":"","sources":["../../../src/rules/path/lowerCaseFileNames.ts"],"names":[],"mappings":";;;;;;AACA,yDAAuD;AACvD,iDAA+C;AAC/C,8CAAuB;AAGvB,IAAM,IAAI,GAAG,oBAAoB,CAAA;AACjC,IAAM,WAAW,GAAG,2CAA2C,CAAA;AAC/D,IAAM,OAAO,GAAG,yCAAyC,CAAA;AAEzD,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,MAAmB;IAC9C,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAChE,IAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAErC,IAAI,QAAQ,CAAC,iBAAiB,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAA;IAExD,OAAO;QACL;YACE,OAAO,SAAA;YACP,UAAU,EAAE,CAAC;YACb,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,QAAQ,UAAA;SACT;KACF,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,kBAAkB,GAAiB;IAC9C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA"}
|
|
@@ -10,7 +10,8 @@ var path_1 = __importDefault(require("path"));
|
|
|
10
10
|
var name = 'noSpacesInFileNames';
|
|
11
11
|
var description = 'Enforce the absence of spaces within file names.';
|
|
12
12
|
var message = 'File name contains spaces';
|
|
13
|
-
var test = function (value) {
|
|
13
|
+
var test = function (value, config) {
|
|
14
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
14
15
|
var fileName = path_1.default.basename(value);
|
|
15
16
|
if (fileName.includes(' ')) {
|
|
16
17
|
return [
|
|
@@ -19,7 +20,7 @@ var test = function (value) {
|
|
|
19
20
|
lineNumber: 1,
|
|
20
21
|
startColumnNumber: 1,
|
|
21
22
|
endColumnNumber: 1,
|
|
22
|
-
severity:
|
|
23
|
+
severity: severity
|
|
23
24
|
}
|
|
24
25
|
];
|
|
25
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noSpacesInFileNames.js","sourceRoot":"","sources":["../../../src/rules/path/noSpacesInFileNames.ts"],"names":[],"mappings":";;;;;;AACA,yDAAuD;AACvD,iDAA+C;AAC/C,8CAAuB;
|
|
1
|
+
{"version":3,"file":"noSpacesInFileNames.js","sourceRoot":"","sources":["../../../src/rules/path/noSpacesInFileNames.ts"],"names":[],"mappings":";;;;;;AACA,yDAAuD;AACvD,iDAA+C;AAC/C,8CAAuB;AAGvB,IAAM,IAAI,GAAG,qBAAqB,CAAA;AAClC,IAAM,WAAW,GAAG,kDAAkD,CAAA;AACtE,IAAM,OAAO,GAAG,2BAA2B,CAAA;AAE3C,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,MAAmB;IAC9C,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAChE,IAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAErC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC1B,OAAO;YACL;gBACE,OAAO,SAAA;gBACP,UAAU,EAAE,CAAC;gBACb,iBAAiB,EAAE,CAAC;gBACpB,eAAe,EAAE,CAAC;gBAClB,QAAQ,UAAA;aACT;SACF,CAAA;KACF;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,mBAAmB,GAAiB;IAC/C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA"}
|
package/sasjslint-schema.json
CHANGED
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
},
|
|
59
59
|
"defaultHeader": {
|
|
60
60
|
"$id": "#/properties/defaultHeader",
|
|
61
|
-
"type": "
|
|
61
|
+
"type": "string",
|
|
62
62
|
"title": "defaultHeader",
|
|
63
63
|
"description": "This sets the default program header - applies when a SAS program does NOT begin with `/**`.",
|
|
64
64
|
"default": "/**{lineEnding} @file{lineEnding} @brief <Your brief here>{lineEnding} <h4> SAS Macros </h4>{lineEnding}**/",
|
|
@@ -159,6 +159,115 @@
|
|
|
159
159
|
"description": "An array of paths or path patterns to ignore when linting. Any files or matching patterns in the .gitignore file will also be ignored.",
|
|
160
160
|
"default": ["sasjsbuild/", "sasjsresults/"],
|
|
161
161
|
"examples": ["sasjs/tests", "tmp/scratch.sas"]
|
|
162
|
+
},
|
|
163
|
+
"severityLevel": {
|
|
164
|
+
"$id": "#/properties/severityLevel",
|
|
165
|
+
"type": "object",
|
|
166
|
+
"title": "severityLevel",
|
|
167
|
+
"description": "An object which specifies the severity level of each rule.",
|
|
168
|
+
"default": {},
|
|
169
|
+
"examples": [{
|
|
170
|
+
"hasDoxygenHeader": "warn",
|
|
171
|
+
"maxLineLength": "warn",
|
|
172
|
+
"noTrailingSpaces": "error"
|
|
173
|
+
}, {
|
|
174
|
+
"hasDoxygenHeader": "warn",
|
|
175
|
+
"maxLineLength": "error",
|
|
176
|
+
"noTrailingSpaces": "error"
|
|
177
|
+
}],
|
|
178
|
+
"properties": {
|
|
179
|
+
"noEncodedPasswords": {
|
|
180
|
+
"$id": "#/properties/severityLevel/noEncodedPasswords",
|
|
181
|
+
"title": "noEncodedPasswords",
|
|
182
|
+
"type": "string",
|
|
183
|
+
"enum": ["error", "warn"],
|
|
184
|
+
"default": "error"
|
|
185
|
+
},
|
|
186
|
+
"hasDoxygenHeader": {
|
|
187
|
+
"$id": "#/properties/severityLevel/hasDoxygenHeader",
|
|
188
|
+
"title": "hasDoxygenHeader",
|
|
189
|
+
"type": "string",
|
|
190
|
+
"enum": ["error", "warn"],
|
|
191
|
+
"default": "warn" },
|
|
192
|
+
"hasMacroNameInMend": {
|
|
193
|
+
"$id": "#/properties/severityLevel/hasMacroNameInMend",
|
|
194
|
+
"title": "hasMacroNameInMend",
|
|
195
|
+
"type": "string",
|
|
196
|
+
"enum": ["error", "warn"],
|
|
197
|
+
"default": "warn"
|
|
198
|
+
},
|
|
199
|
+
"hasMacroParentheses": {
|
|
200
|
+
"$id": "#/properties/severityLevel/hasMacroParentheses",
|
|
201
|
+
"title": "hasMacroParentheses",
|
|
202
|
+
"type": "string",
|
|
203
|
+
"enum": ["error", "warn"],
|
|
204
|
+
"default": "warn"
|
|
205
|
+
},
|
|
206
|
+
"indentationMultiple": {
|
|
207
|
+
"$id": "#/properties/severityLevel/indentationMultiple",
|
|
208
|
+
"title": "indentationMultiple",
|
|
209
|
+
"type": "string",
|
|
210
|
+
"enum": ["error", "warn"],
|
|
211
|
+
"default": "warn"
|
|
212
|
+
},
|
|
213
|
+
"lowerCaseFileNames": {
|
|
214
|
+
"$id": "#/properties/severityLevel/lowerCaseFileNames",
|
|
215
|
+
"title": "lowerCaseFileNames",
|
|
216
|
+
"type": "string",
|
|
217
|
+
"enum": ["error", "warn"],
|
|
218
|
+
"default": "warn"
|
|
219
|
+
},
|
|
220
|
+
"maxLineLength": {
|
|
221
|
+
"$id": "#/properties/severityLevel/maxLineLength",
|
|
222
|
+
"title": "maxLineLength",
|
|
223
|
+
"type": "string",
|
|
224
|
+
"enum": ["error", "warn"],
|
|
225
|
+
"default": "warn"
|
|
226
|
+
},
|
|
227
|
+
"noNestedMacros": {
|
|
228
|
+
"$id": "#/properties/severityLevel/noNestedMacros",
|
|
229
|
+
"title": "noNestedMacros",
|
|
230
|
+
"type": "string",
|
|
231
|
+
"enum": ["error", "warn"],
|
|
232
|
+
"default": "warn"
|
|
233
|
+
},
|
|
234
|
+
"noSpacesInFileNames": {
|
|
235
|
+
"$id": "#/properties/severityLevel/noSpacesInFileNames",
|
|
236
|
+
"title": "noSpacesInFileNames",
|
|
237
|
+
"type": "string",
|
|
238
|
+
"enum": ["error", "warn"],
|
|
239
|
+
"default": "warn"
|
|
240
|
+
},
|
|
241
|
+
"noTabIndentation": {
|
|
242
|
+
"$id": "#/properties/severityLevel/noTabIndentation",
|
|
243
|
+
"title": "noTabIndentation",
|
|
244
|
+
"type": "string",
|
|
245
|
+
"enum": ["error", "warn"],
|
|
246
|
+
"default": "warn"
|
|
247
|
+
},
|
|
248
|
+
"noTrailingSpaces": {
|
|
249
|
+
"$id": "#/properties/severityLevel/noTrailingSpaces",
|
|
250
|
+
"title": "noTrailingSpaces",
|
|
251
|
+
"type": "string",
|
|
252
|
+
"enum": ["error", "warn"],
|
|
253
|
+
"default": "warn"
|
|
254
|
+
},
|
|
255
|
+
"lineEndings": {
|
|
256
|
+
"$id": "#/properties/severityLevel/lineEndings",
|
|
257
|
+
"title": "lineEndings",
|
|
258
|
+
"type": "string",
|
|
259
|
+
"enum": ["error", "warn"],
|
|
260
|
+
"default": "warn"
|
|
261
|
+
},
|
|
262
|
+
"strictMacroDefinition": {
|
|
263
|
+
"$id": "#/properties/severityLevel/strictMacroDefinition",
|
|
264
|
+
"title": "strictMacroDefinition",
|
|
265
|
+
"type": "string",
|
|
266
|
+
"enum": ["error", "warn"],
|
|
267
|
+
"default": "warn"
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
|
|
162
271
|
}
|
|
163
272
|
}
|
|
164
273
|
}
|
package/types/LintConfig.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LineEndings } from './LineEndings';
|
|
2
2
|
import { FileLintRule, LineLintRule, PathLintRule } from './LintRule';
|
|
3
|
+
import { Severity } from './Severity';
|
|
3
4
|
/**
|
|
4
5
|
* LintConfig is the logical representation of the .sasjslint file.
|
|
5
6
|
* It exposes two sets of rules - one to be run against each line in a file,
|
|
@@ -16,5 +17,8 @@ export declare class LintConfig {
|
|
|
16
17
|
readonly indentationMultiple: number;
|
|
17
18
|
readonly lineEndings: LineEndings;
|
|
18
19
|
readonly defaultHeader: string;
|
|
20
|
+
readonly severityLevel: {
|
|
21
|
+
[key: string]: Severity;
|
|
22
|
+
};
|
|
19
23
|
constructor(json?: any);
|
|
20
24
|
}
|
package/types/LintConfig.js
CHANGED
|
@@ -1,4 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __values = (this && this.__values) || function(o) {
|
|
3
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
+
if (m) return m.call(o);
|
|
5
|
+
if (o && typeof o.length === "number") return {
|
|
6
|
+
next: function () {
|
|
7
|
+
if (o && i >= o.length) o = void 0;
|
|
8
|
+
return { value: o && o[i++], done: !o };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
+
};
|
|
13
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
+
if (!m) return o;
|
|
16
|
+
var i = m.call(o), r, ar = [], e;
|
|
17
|
+
try {
|
|
18
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
19
|
+
}
|
|
20
|
+
catch (error) { e = { error: error }; }
|
|
21
|
+
finally {
|
|
22
|
+
try {
|
|
23
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
24
|
+
}
|
|
25
|
+
finally { if (e) throw e.error; }
|
|
26
|
+
}
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
2
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
30
|
exports.LintConfig = void 0;
|
|
4
31
|
var file_1 = require("../rules/file");
|
|
@@ -6,6 +33,7 @@ var line_1 = require("../rules/line");
|
|
|
6
33
|
var path_1 = require("../rules/path");
|
|
7
34
|
var LineEndings_1 = require("./LineEndings");
|
|
8
35
|
var utils_1 = require("../utils");
|
|
36
|
+
var Severity_1 = require("./Severity");
|
|
9
37
|
/**
|
|
10
38
|
* LintConfig is the logical representation of the .sasjslint file.
|
|
11
39
|
* It exposes two sets of rules - one to be run against each line in a file,
|
|
@@ -15,6 +43,7 @@ var utils_1 = require("../utils");
|
|
|
15
43
|
*/
|
|
16
44
|
var LintConfig = /** @class */ (function () {
|
|
17
45
|
function LintConfig(json) {
|
|
46
|
+
var e_1, _a;
|
|
18
47
|
var _this = this;
|
|
19
48
|
this.ignoreList = [];
|
|
20
49
|
this.lineLintRules = [];
|
|
@@ -24,6 +53,7 @@ var LintConfig = /** @class */ (function () {
|
|
|
24
53
|
this.indentationMultiple = 2;
|
|
25
54
|
this.lineEndings = LineEndings_1.LineEndings.LF;
|
|
26
55
|
this.defaultHeader = utils_1.getDefaultHeader();
|
|
56
|
+
this.severityLevel = {};
|
|
27
57
|
if (json === null || json === void 0 ? void 0 : json.ignoreList) {
|
|
28
58
|
if (Array.isArray(json.ignoreList)) {
|
|
29
59
|
json.ignoreList.forEach(function (item) {
|
|
@@ -86,6 +116,24 @@ var LintConfig = /** @class */ (function () {
|
|
|
86
116
|
if (json === null || json === void 0 ? void 0 : json.strictMacroDefinition) {
|
|
87
117
|
this.fileLintRules.push(file_1.strictMacroDefinition);
|
|
88
118
|
}
|
|
119
|
+
if (json === null || json === void 0 ? void 0 : json.severityLevel) {
|
|
120
|
+
try {
|
|
121
|
+
for (var _b = __values(Object.entries(json.severityLevel)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
122
|
+
var _d = __read(_c.value, 2), rule = _d[0], severity = _d[1];
|
|
123
|
+
if (severity === 'warn')
|
|
124
|
+
this.severityLevel[rule] = Severity_1.Severity.Warning;
|
|
125
|
+
if (severity === 'error')
|
|
126
|
+
this.severityLevel[rule] = Severity_1.Severity.Error;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
130
|
+
finally {
|
|
131
|
+
try {
|
|
132
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
133
|
+
}
|
|
134
|
+
finally { if (e_1) throw e_1.error; }
|
|
135
|
+
}
|
|
136
|
+
}
|
|
89
137
|
}
|
|
90
138
|
return LintConfig;
|
|
91
139
|
}());
|
package/types/LintConfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LintConfig.js","sourceRoot":"","sources":["../../src/types/LintConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LintConfig.js","sourceRoot":"","sources":["../../src/types/LintConfig.ts"],"names":[],"mappings":"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"}
|
package/types/LintRule.d.ts
CHANGED