@sasjs/lint 2.4.0 → 2.4.2
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/.all-contributorsrc +11 -1
- package/.github/dependabot.yml +1 -1
- package/.github/reviewer-lottery.yml +0 -2
- package/.github/workflows/assign-reviewer.yml +2 -2
- package/README.md +41 -37
- package/format/formatFile.d.ts +1 -1
- package/format/formatFile.js +24 -72
- package/format/formatFile.js.map +1 -1
- package/format/formatFolder.d.ts +1 -1
- package/format/formatFolder.js +36 -104
- package/format/formatFolder.js.map +1 -1
- package/format/formatProject.js +10 -45
- package/format/formatProject.js.map +1 -1
- package/format/formatText.d.ts +1 -1
- package/format/formatText.js +6 -46
- package/format/formatText.js.map +1 -1
- package/format/index.js +5 -1
- package/format/index.js.map +1 -1
- package/format/shared.js +16 -16
- package/format/shared.js.map +1 -1
- package/formatExample.js +10 -6
- package/formatExample.js.map +1 -1
- package/index.js +5 -1
- package/index.js.map +1 -1
- package/lint/index.js +5 -1
- package/lint/index.js.map +1 -1
- package/lint/lintFile.d.ts +1 -1
- package/lint/lintFile.js +12 -76
- package/lint/lintFile.js.map +1 -1
- package/lint/lintFolder.d.ts +1 -1
- package/lint/lintFolder.js +23 -114
- package/lint/lintFolder.js.map +1 -1
- package/lint/lintProject.js +10 -45
- package/lint/lintProject.js.map +1 -1
- package/lint/lintText.js +6 -40
- package/lint/lintText.js.map +1 -1
- package/lint/shared.js +24 -45
- package/lint/shared.js.map +1 -1
- package/lintExample.js +45 -5
- package/lintExample.js.map +1 -1
- package/package.json +3 -3
- package/rules/file/hasDoxygenHeader.js +29 -29
- package/rules/file/hasDoxygenHeader.js.map +1 -1
- package/rules/file/hasMacroNameInMend.js +59 -59
- package/rules/file/hasMacroNameInMend.js.map +1 -1
- package/rules/file/hasMacroParentheses.js +25 -27
- package/rules/file/hasMacroParentheses.js.map +1 -1
- package/rules/file/hasRequiredMacroOptions.js +20 -20
- package/rules/file/hasRequiredMacroOptions.js.map +1 -1
- package/rules/file/lineEndings.js +27 -27
- package/rules/file/lineEndings.js.map +1 -1
- package/rules/file/noNestedMacros.js +23 -23
- package/rules/file/noNestedMacros.js.map +1 -1
- package/rules/file/strictMacroDefinition.js +52 -57
- package/rules/file/strictMacroDefinition.js.map +1 -1
- package/rules/line/indentationMultiple.js +16 -16
- package/rules/line/indentationMultiple.js.map +1 -1
- package/rules/line/maxLineLength.js +16 -16
- package/rules/line/maxLineLength.js.map +1 -1
- package/rules/line/noEncodedPasswords.js +18 -18
- package/rules/line/noEncodedPasswords.js.map +1 -1
- package/rules/line/noGremlins.js +29 -69
- package/rules/line/noGremlins.js.map +1 -1
- package/rules/line/noTabs.js +19 -19
- package/rules/line/noTabs.js.map +1 -1
- package/rules/line/noTrailingSpaces.js +16 -16
- package/rules/line/noTrailingSpaces.js.map +1 -1
- package/rules/path/lowerCaseFileNames.js +15 -15
- package/rules/path/lowerCaseFileNames.js.map +1 -1
- package/rules/path/noSpacesInFileNames.js +15 -15
- package/rules/path/noSpacesInFileNames.js.map +1 -1
- package/types/LintConfig.js +28 -68
- package/types/LintConfig.js.map +1 -1
- package/types/index.js +5 -1
- package/types/index.js.map +1 -1
- package/utils/asyncForEach.js +4 -46
- package/utils/asyncForEach.js.map +1 -1
- package/utils/getColumnNumber.js +3 -3
- package/utils/getColumnNumber.js.map +1 -1
- package/utils/getDataSectionsDetail.js +16 -38
- package/utils/getDataSectionsDetail.js.map +1 -1
- package/utils/getHeaderLinesCount.js +8 -30
- package/utils/getHeaderLinesCount.js.map +1 -1
- package/utils/getIndicesOf.js +3 -4
- package/utils/getIndicesOf.js.map +1 -1
- package/utils/getLintConfig.js +14 -52
- package/utils/getLintConfig.js.map +1 -1
- package/utils/getProjectRoot.js +22 -59
- package/utils/getProjectRoot.js.map +1 -1
- package/utils/index.js +5 -1
- package/utils/index.js.map +1 -1
- package/utils/isIgnored.d.ts +1 -1
- package/utils/isIgnored.js +20 -67
- package/utils/isIgnored.js.map +1 -1
- package/utils/listSasFiles.js +5 -39
- package/utils/listSasFiles.js.map +1 -1
- package/utils/parseMacros.d.ts +1 -1
- package/utils/parseMacros.js +29 -50
- package/utils/parseMacros.js.map +1 -1
- package/utils/splitText.js +4 -4
- package/utils/splitText.js.map +1 -1
- package/utils/trimComments.js +8 -10
- package/utils/trimComments.js.map +1 -1
package/types/LintConfig.js
CHANGED
|
@@ -1,39 +1,12 @@
|
|
|
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
|
-
};
|
|
29
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
3
|
exports.LintConfig = void 0;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
4
|
+
const file_1 = require("../rules/file");
|
|
5
|
+
const line_1 = require("../rules/line");
|
|
6
|
+
const path_1 = require("../rules/path");
|
|
7
|
+
const LineEndings_1 = require("./LineEndings");
|
|
8
|
+
const utils_1 = require("../utils");
|
|
9
|
+
const Severity_1 = require("./Severity");
|
|
37
10
|
/**
|
|
38
11
|
* LintConfig is the logical representation of the .sasjslint file.
|
|
39
12
|
* It exposes two sets of rules - one to be run against each line in a file,
|
|
@@ -41,10 +14,8 @@ var Severity_1 = require("./Severity");
|
|
|
41
14
|
*
|
|
42
15
|
* More types of rules, when available, will be added here.
|
|
43
16
|
*/
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
var e_1, _a;
|
|
47
|
-
var _this = this;
|
|
17
|
+
class LintConfig {
|
|
18
|
+
constructor(json) {
|
|
48
19
|
this.ignoreList = [];
|
|
49
20
|
this.allowedGremlins = [];
|
|
50
21
|
this.lineLintRules = [];
|
|
@@ -55,20 +26,20 @@ var LintConfig = /** @class */ (function () {
|
|
|
55
26
|
this.maxDataLineLength = 80;
|
|
56
27
|
this.indentationMultiple = 2;
|
|
57
28
|
this.lineEndings = LineEndings_1.LineEndings.LF;
|
|
58
|
-
this.defaultHeader = utils_1.getDefaultHeader();
|
|
29
|
+
this.defaultHeader = (0, utils_1.getDefaultHeader)();
|
|
59
30
|
this.severityLevel = {};
|
|
60
31
|
this.requiredMacroOptions = [];
|
|
61
32
|
if (json === null || json === void 0 ? void 0 : json.ignoreList) {
|
|
62
33
|
if (Array.isArray(json.ignoreList)) {
|
|
63
|
-
json.ignoreList.forEach(
|
|
34
|
+
json.ignoreList.forEach((item) => {
|
|
64
35
|
if (typeof item === 'string')
|
|
65
|
-
|
|
36
|
+
this.ignoreList.push(item);
|
|
66
37
|
else
|
|
67
|
-
throw new Error(
|
|
38
|
+
throw new Error(`Property "ignoreList" has invalid type of values. It can contain only strings.`);
|
|
68
39
|
});
|
|
69
40
|
}
|
|
70
41
|
else {
|
|
71
|
-
throw new Error(
|
|
42
|
+
throw new Error(`Property "ignoreList" can only be an array of strings`);
|
|
72
43
|
}
|
|
73
44
|
}
|
|
74
45
|
if ((json === null || json === void 0 ? void 0 : json.noTrailingSpaces) !== false) {
|
|
@@ -94,7 +65,7 @@ var LintConfig = /** @class */ (function () {
|
|
|
94
65
|
if ((json === null || json === void 0 ? void 0 : json.lineEndings) && json.lineEndings !== LineEndings_1.LineEndings.OFF) {
|
|
95
66
|
if (json.lineEndings !== LineEndings_1.LineEndings.LF &&
|
|
96
67
|
json.lineEndings !== LineEndings_1.LineEndings.CRLF) {
|
|
97
|
-
throw new Error(
|
|
68
|
+
throw new Error(`Invalid value for lineEndings: can be ${LineEndings_1.LineEndings.LF} or ${LineEndings_1.LineEndings.CRLF}`);
|
|
98
69
|
}
|
|
99
70
|
this.fileLintRules.push(file_1.lineEndings);
|
|
100
71
|
this.lineEndings = json.lineEndings;
|
|
@@ -132,17 +103,17 @@ var LintConfig = /** @class */ (function () {
|
|
|
132
103
|
if (json === null || json === void 0 ? void 0 : json.requiredMacroOptions) {
|
|
133
104
|
if (Array.isArray(json.requiredMacroOptions) &&
|
|
134
105
|
json.requiredMacroOptions.length > 0) {
|
|
135
|
-
json.requiredMacroOptions.forEach(
|
|
106
|
+
json.requiredMacroOptions.forEach((item) => {
|
|
136
107
|
if (typeof item === 'string') {
|
|
137
|
-
|
|
108
|
+
this.requiredMacroOptions.push(item);
|
|
138
109
|
}
|
|
139
110
|
else {
|
|
140
|
-
throw new Error(
|
|
111
|
+
throw new Error(`Property "requiredMacroOptions" has invalid type of values. It can only contain strings.`);
|
|
141
112
|
}
|
|
142
113
|
});
|
|
143
114
|
}
|
|
144
115
|
else {
|
|
145
|
-
throw new Error(
|
|
116
|
+
throw new Error(`Property "requiredMacroOptions" can only be an array of strings.`);
|
|
146
117
|
}
|
|
147
118
|
}
|
|
148
119
|
}
|
|
@@ -150,38 +121,27 @@ var LintConfig = /** @class */ (function () {
|
|
|
150
121
|
this.lineLintRules.push(line_1.noGremlins);
|
|
151
122
|
if (json === null || json === void 0 ? void 0 : json.allowedGremlins) {
|
|
152
123
|
if (Array.isArray(json.allowedGremlins)) {
|
|
153
|
-
json.allowedGremlins.forEach(
|
|
124
|
+
json.allowedGremlins.forEach((item) => {
|
|
154
125
|
if (typeof item === 'string' && /^0x[0-9a-f]{4}$/i.test(item))
|
|
155
|
-
|
|
126
|
+
this.allowedGremlins.push(item);
|
|
156
127
|
else
|
|
157
|
-
throw new Error(
|
|
128
|
+
throw new Error(`Property "allowedGremlins" has invalid type of values. It can contain only strings of form hexcode like '["0x0080", "0x3000"]'`);
|
|
158
129
|
});
|
|
159
130
|
}
|
|
160
131
|
else {
|
|
161
|
-
throw new Error(
|
|
132
|
+
throw new Error(`Property "allowedGremlins" can only be an array of strings of form hexcode like '["0x0080", "0x3000"]'`);
|
|
162
133
|
}
|
|
163
134
|
}
|
|
164
135
|
}
|
|
165
136
|
if (json === null || json === void 0 ? void 0 : json.severityLevel) {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
if (severity === 'error')
|
|
172
|
-
this.severityLevel[rule] = Severity_1.Severity.Error;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
176
|
-
finally {
|
|
177
|
-
try {
|
|
178
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
179
|
-
}
|
|
180
|
-
finally { if (e_1) throw e_1.error; }
|
|
137
|
+
for (const [rule, severity] of Object.entries(json.severityLevel)) {
|
|
138
|
+
if (severity === 'warn')
|
|
139
|
+
this.severityLevel[rule] = Severity_1.Severity.Warning;
|
|
140
|
+
if (severity === 'error')
|
|
141
|
+
this.severityLevel[rule] = Severity_1.Severity.Error;
|
|
181
142
|
}
|
|
182
143
|
}
|
|
183
144
|
}
|
|
184
|
-
|
|
185
|
-
}());
|
|
145
|
+
}
|
|
186
146
|
exports.LintConfig = LintConfig;
|
|
187
147
|
//# sourceMappingURL=LintConfig.js.map
|
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":";;;AAAA,wCAQsB;AACtB,wCAOsB;AACtB,wCAAuE;AACvE,+CAA2C;AAE3C,oCAA2C;AAC3C,yCAAqC;AAErC;;;;;;GAMG;AACH,MAAa,UAAU;IAerB,YAAY,IAAU;QAdb,eAAU,GAAa,EAAE,CAAA;QACzB,oBAAe,GAAa,EAAE,CAAA;QAC9B,kBAAa,GAAmB,EAAE,CAAA;QAClC,kBAAa,GAAmB,EAAE,CAAA;QAClC,kBAAa,GAAmB,EAAE,CAAA;QAClC,kBAAa,GAAW,EAAE,CAAA;QAC1B,wBAAmB,GAAW,EAAE,CAAA;QAChC,sBAAiB,GAAW,EAAE,CAAA;QAC9B,wBAAmB,GAAW,CAAC,CAAA;QAC/B,gBAAW,GAAgB,yBAAW,CAAC,EAAE,CAAA;QACzC,kBAAa,GAAW,IAAA,wBAAgB,GAAE,CAAA;QAC1C,kBAAa,GAAgC,EAAE,CAAA;QAC/C,yBAAoB,GAAa,EAAE,CAAA;QAG1C,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE;YACpB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBAClC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;oBACpC,IAAI,OAAO,IAAI,KAAK,QAAQ;wBAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;wBAEtD,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAA;gBACL,CAAC,CAAC,CAAA;aACH;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;aACzE;SACF;QAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,MAAK,KAAK,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAgB,CAAC,CAAA;SAC1C;QAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,kBAAkB,MAAK,KAAK,EAAE;YACtC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,yBAAkB,CAAC,CAAA;SAC5C;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAM,CAAC,CAAA;QAC/B,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,MAAK,KAAK,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,MAAK,KAAK,EAAE;YAC9D,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAA;SACzB;QAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,IAAG,CAAC,EAAE;YAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAa,CAAC,CAAA;YACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;YAEvC,IAAI,CAAC,KAAK,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,CAAC,EAAE;gBACrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAA;aACpD;YAED,IAAI,CAAC,KAAK,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,iBAAiB,CAAC,EAAE;gBACnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAA;aAChD;SACF;QAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,KAAI,IAAI,CAAC,WAAW,KAAK,yBAAW,CAAC,GAAG,EAAE;YAC7D,IACE,IAAI,CAAC,WAAW,KAAK,yBAAW,CAAC,EAAE;gBACnC,IAAI,CAAC,WAAW,KAAK,yBAAW,CAAC,IAAI,EACrC;gBACA,MAAM,IAAI,KAAK,CACb,yCAAyC,yBAAW,CAAC,EAAE,OAAO,yBAAW,CAAC,IAAI,EAAE,CACjF,CAAA;aACF;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAW,CAAC,CAAA;YACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;SACpC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,0BAAmB,CAAC,CAAA;QAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,CAAC,EAAE;YACrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAA6B,CAAA;SAC9D;QAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,MAAK,KAAK,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAgB,CAAC,CAAA;SAC1C;QAED,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;SACxC;QAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,MAAK,KAAK,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,0BAAmB,CAAC,CAAA;SAC7C;QAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,kBAAkB,MAAK,KAAK,EAAE;YACtC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,yBAAkB,CAAC,CAAA;SAC5C;QAED,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,kBAAkB,EAAE;YAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,yBAAkB,CAAC,CAAA;SAC5C;QAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,MAAK,KAAK,EAAE;YAClC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,qBAAc,CAAC,CAAA;SACxC;QAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,MAAK,KAAK,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,0BAAmB,CAAC,CAAA;SAC7C;QAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,qBAAqB,MAAK,KAAK,EAAE;YACzC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,4BAAqB,CAAC,CAAA;SAC/C;QAED,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,uBAAuB,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,8BAAuB,CAAC,CAAA;YAEhD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,oBAAoB,EAAE;gBAC9B,IACE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EACpC;oBACA,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;wBAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;4BAC5B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;yBACrC;6BAAM;4BACL,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAA;yBACF;oBACH,CAAC,CAAC,CAAA;iBACH;qBAAM;oBACL,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAA;iBACF;aACF;SACF;QAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,MAAK,KAAK,EAAE;YAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAU,CAAC,CAAA;YAEnC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,EAAE;gBACzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;oBACvC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;wBACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;4BAC3D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;4BAE/B,MAAM,IAAI,KAAK,CACb,gIAAgI,CACjI,CAAA;oBACL,CAAC,CAAC,CAAA;iBACH;qBAAM;oBACL,MAAM,IAAI,KAAK,CACb,wGAAwG,CACzG,CAAA;iBACF;aACF;SACF;QAED,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,EAAE;YACvB,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBACjE,IAAI,QAAQ,KAAK,MAAM;oBAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,mBAAQ,CAAC,OAAO,CAAA;gBACpE,IAAI,QAAQ,KAAK,OAAO;oBAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,mBAAQ,CAAC,KAAK,CAAA;aACpE;SACF;IACH,CAAC;CACF;AA/JD,gCA+JC"}
|
package/types/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
package/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,iDAA8B;AAC9B,+CAA4B;AAC5B,6CAA0B;AAC1B,iDAA8B;AAC9B,6CAA0B;AAC1B,0CAAuB"}
|
package/utils/asyncForEach.js
CHANGED
|
@@ -8,58 +8,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
12
|
exports.asyncForEach = void 0;
|
|
40
13
|
/**
|
|
41
14
|
* Executes an async callback for each item in the given array.
|
|
42
15
|
*/
|
|
43
16
|
function asyncForEach(array, callback) {
|
|
44
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
case 0:
|
|
49
|
-
index = 0;
|
|
50
|
-
_a.label = 1;
|
|
51
|
-
case 1:
|
|
52
|
-
if (!(index < array.length)) return [3 /*break*/, 4];
|
|
53
|
-
return [4 /*yield*/, callback(array[index], index, array)];
|
|
54
|
-
case 2:
|
|
55
|
-
_a.sent();
|
|
56
|
-
_a.label = 3;
|
|
57
|
-
case 3:
|
|
58
|
-
index++;
|
|
59
|
-
return [3 /*break*/, 1];
|
|
60
|
-
case 4: return [2 /*return*/];
|
|
61
|
-
}
|
|
62
|
-
});
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
for (let index = 0; index < array.length; index++) {
|
|
19
|
+
yield callback(array[index], index, array);
|
|
20
|
+
}
|
|
63
21
|
});
|
|
64
22
|
}
|
|
65
23
|
exports.asyncForEach = asyncForEach;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncForEach.js","sourceRoot":"","sources":["../../src/utils/asyncForEach.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"asyncForEach.js","sourceRoot":"","sources":["../../src/utils/asyncForEach.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;GAEG;AACH,SAAsB,YAAY,CAChC,KAAY,EACZ,QAAiE;;QAEjE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACjD,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;SAC3C;IACH,CAAC;CAAA;AAPD,oCAOC"}
|
package/utils/getColumnNumber.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getColumnNumber = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const getColumnNumber = (line, text) => {
|
|
5
|
+
const index = line.split('\n').pop().indexOf(text);
|
|
6
6
|
if (index < 0) {
|
|
7
|
-
throw new Error(
|
|
7
|
+
throw new Error(`String '${text}' was not found in line '${line}'`);
|
|
8
8
|
}
|
|
9
9
|
return line.split('\n').pop().indexOf(text) + 1;
|
|
10
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getColumnNumber.js","sourceRoot":"","sources":["../../src/utils/getColumnNumber.ts"],"names":[],"mappings":";;;AAAO,
|
|
1
|
+
{"version":3,"file":"getColumnNumber.js","sourceRoot":"","sources":["../../src/utils/getColumnNumber.ts"],"names":[],"mappings":";;;AAAO,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE;IACpE,MAAM,KAAK,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,4BAA4B,IAAI,GAAG,CAAC,CAAA;KACpE;IACD,OAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAa,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC7D,CAAC,CAAA;AANY,QAAA,eAAe,mBAM3B"}
|
|
@@ -1,29 +1,18 @@
|
|
|
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.checkIsDataLine = exports.getDataSectionsDetail = void 0;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
lines.forEach(
|
|
4
|
+
const splitText_1 = require("./splitText");
|
|
5
|
+
const getDataSectionsDetail = (text, config) => {
|
|
6
|
+
const dataSections = [];
|
|
7
|
+
const lines = (0, splitText_1.splitText)(text, config);
|
|
8
|
+
const dataSectionStartRegex1 = new RegExp('^(datalines;)|(cards;)|(parmcards;)');
|
|
9
|
+
const dataSectionEndRegex1 = new RegExp(';');
|
|
10
|
+
const dataSectionStartRegex2 = new RegExp('^(datalines4;)|(cards4;)|(parmcards4;)');
|
|
11
|
+
const dataSectionEndRegex2 = new RegExp(';;;;');
|
|
12
|
+
let dataSectionStarted = false;
|
|
13
|
+
let dataSectionStartIndex = -1;
|
|
14
|
+
let dataSectionEndRegex = dataSectionEndRegex1;
|
|
15
|
+
lines.forEach((line, index) => {
|
|
27
16
|
if (dataSectionStarted) {
|
|
28
17
|
if (dataSectionEndRegex.test(line)) {
|
|
29
18
|
dataSections.push({ start: dataSectionStartIndex, end: index });
|
|
@@ -46,21 +35,10 @@ var getDataSectionsDetail = function (text, config) {
|
|
|
46
35
|
return dataSections;
|
|
47
36
|
};
|
|
48
37
|
exports.getDataSectionsDetail = getDataSectionsDetail;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
var dataSection = dataSections_1_1.value;
|
|
54
|
-
if (lineIndex >= dataSection.start && lineIndex <= dataSection.end)
|
|
55
|
-
return true;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
59
|
-
finally {
|
|
60
|
-
try {
|
|
61
|
-
if (dataSections_1_1 && !dataSections_1_1.done && (_a = dataSections_1.return)) _a.call(dataSections_1);
|
|
62
|
-
}
|
|
63
|
-
finally { if (e_1) throw e_1.error; }
|
|
38
|
+
const checkIsDataLine = (dataSections, lineIndex) => {
|
|
39
|
+
for (const dataSection of dataSections) {
|
|
40
|
+
if (lineIndex >= dataSection.start && lineIndex <= dataSection.end)
|
|
41
|
+
return true;
|
|
64
42
|
}
|
|
65
43
|
return false;
|
|
66
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDataSectionsDetail.js","sourceRoot":"","sources":["../../src/utils/getDataSectionsDetail.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getDataSectionsDetail.js","sourceRoot":"","sources":["../../src/utils/getDataSectionsDetail.ts"],"names":[],"mappings":";;;AACA,2CAAuC;AAOhC,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAE,MAAkB,EAAE,EAAE;IACxE,MAAM,YAAY,GAAyB,EAAE,CAAA;IAC7C,MAAM,KAAK,GAAG,IAAA,qBAAS,EAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAErC,MAAM,sBAAsB,GAAG,IAAI,MAAM,CACvC,qCAAqC,CACtC,CAAA;IACD,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAA;IAC5C,MAAM,sBAAsB,GAAG,IAAI,MAAM,CACvC,wCAAwC,CACzC,CAAA;IACD,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAA;IAE/C,IAAI,kBAAkB,GAAG,KAAK,CAAA;IAC9B,IAAI,qBAAqB,GAAG,CAAC,CAAC,CAAA;IAC9B,IAAI,mBAAmB,GAAG,oBAAoB,CAAA;IAE9C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,IAAI,kBAAkB,EAAE;YACtB,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAClC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC/D,kBAAkB,GAAG,KAAK,CAAA;aAC3B;SACF;aAAM;YACL,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACrC,kBAAkB,GAAG,IAAI,CAAA;gBACzB,qBAAqB,GAAG,KAAK,CAAA;gBAC7B,mBAAmB,GAAG,oBAAoB,CAAA;aAC3C;iBAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC5C,kBAAkB,GAAG,IAAI,CAAA;gBACzB,qBAAqB,GAAG,KAAK,CAAA;gBAC7B,mBAAmB,GAAG,oBAAoB,CAAA;aAC3C;SACF;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AArCY,QAAA,qBAAqB,yBAqCjC;AAEM,MAAM,eAAe,GAAG,CAC7B,YAAkC,EAClC,SAAiB,EACjB,EAAE;IACF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;QACtC,IAAI,SAAS,IAAI,WAAW,CAAC,KAAK,IAAI,SAAS,IAAI,WAAW,CAAC,GAAG;YAChE,OAAO,IAAI,CAAA;KACd;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAVY,QAAA,eAAe,mBAU3B"}
|
|
@@ -1,42 +1,20 @@
|
|
|
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.getHeaderLinesCount = void 0;
|
|
15
|
-
|
|
4
|
+
const splitText_1 = require("./splitText");
|
|
16
5
|
/**
|
|
17
6
|
* This function returns the number of lines the header spans upon.
|
|
18
7
|
* The file must start with "/*" and the header will finish with ⇙
|
|
19
8
|
*/
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
var count = 0;
|
|
9
|
+
const getHeaderLinesCount = (text, config) => {
|
|
10
|
+
let count = 0;
|
|
23
11
|
if (text.trimStart().startsWith('/*')) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (line.match(/\*\//)) {
|
|
30
|
-
break;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
35
|
-
finally {
|
|
36
|
-
try {
|
|
37
|
-
if (lines_1_1 && !lines_1_1.done && (_a = lines_1.return)) _a.call(lines_1);
|
|
12
|
+
const lines = (0, splitText_1.splitText)(text, config);
|
|
13
|
+
for (const line of lines) {
|
|
14
|
+
count++;
|
|
15
|
+
if (line.match(/\*\//)) {
|
|
16
|
+
break;
|
|
38
17
|
}
|
|
39
|
-
finally { if (e_1) throw e_1.error; }
|
|
40
18
|
}
|
|
41
19
|
}
|
|
42
20
|
return count;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getHeaderLinesCount.js","sourceRoot":"","sources":["../../src/utils/getHeaderLinesCount.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getHeaderLinesCount.js","sourceRoot":"","sources":["../../src/utils/getHeaderLinesCount.ts"],"names":[],"mappings":";;;AACA,2CAAuC;AAEvC;;;GAGG;AACI,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,MAAkB,EAAE,EAAE;IACtE,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACrC,MAAM,KAAK,GAAG,IAAA,qBAAS,EAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,KAAK,EAAE,CAAA;YACP,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACtB,MAAK;aACN;SACF;KACF;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAfY,QAAA,mBAAmB,uBAe/B"}
|
package/utils/getIndicesOf.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getIndicesOf = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var searchStrLen = searchStr.length;
|
|
4
|
+
const getIndicesOf = (searchStr, str, caseSensitive = true) => {
|
|
5
|
+
const searchStrLen = searchStr.length;
|
|
7
6
|
if (searchStrLen === 0) {
|
|
8
7
|
return [];
|
|
9
8
|
}
|
|
10
|
-
|
|
9
|
+
let startIndex = 0, index, indices = [];
|
|
11
10
|
if (!caseSensitive) {
|
|
12
11
|
str = str.toLowerCase();
|
|
13
12
|
searchStr = searchStr.toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIndicesOf.js","sourceRoot":"","sources":["../../src/utils/getIndicesOf.ts"],"names":[],"mappings":";;;AAAO,
|
|
1
|
+
{"version":3,"file":"getIndicesOf.js","sourceRoot":"","sources":["../../src/utils/getIndicesOf.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,CAC1B,SAAiB,EACjB,GAAW,EACX,gBAAyB,IAAI,EAC7B,EAAE;IACF,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAA;IACrC,IAAI,YAAY,KAAK,CAAC,EAAE;QACtB,OAAO,EAAE,CAAA;KACV;IAED,IAAI,UAAU,GAAG,CAAC,EAChB,KAAK,EACL,OAAO,GAAG,EAAE,CAAA;IAEd,IAAI,CAAC,aAAa,EAAE;QAClB,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;QACvB,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAA;KACpC;IAED,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;QACxD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnB,UAAU,GAAG,KAAK,GAAG,YAAY,CAAA;KAClC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAzBY,QAAA,YAAY,gBAyBxB"}
|
package/utils/getLintConfig.js
CHANGED
|
@@ -8,47 +8,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
13
|
};
|
|
41
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
15
|
exports.getLintConfig = exports.DefaultLintConfiguration = exports.getDefaultHeader = void 0;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return "/**{lineEnding} @file{lineEnding} @brief <Your brief here>{lineEnding} <h4> SAS Macros </h4>{lineEnding}**/";
|
|
51
|
-
};
|
|
16
|
+
const path_1 = __importDefault(require("path"));
|
|
17
|
+
const os_1 = __importDefault(require("os"));
|
|
18
|
+
const LintConfig_1 = require("../types/LintConfig");
|
|
19
|
+
const file_1 = require("@sasjs/utils/file");
|
|
20
|
+
const getProjectRoot_1 = require("./getProjectRoot");
|
|
21
|
+
const LineEndings_1 = require("../types/LineEndings");
|
|
22
|
+
const getDefaultHeader = () => `/**{lineEnding} @file{lineEnding} @brief <Your brief here>{lineEnding} <h4> SAS Macros </h4>{lineEnding}**/`;
|
|
52
23
|
exports.getDefaultHeader = getDefaultHeader;
|
|
53
24
|
/**
|
|
54
25
|
* Default configuration that is used when a .sasjslint file is not found
|
|
@@ -70,7 +41,7 @@ exports.DefaultLintConfiguration = {
|
|
|
70
41
|
hasMacroParentheses: true,
|
|
71
42
|
strictMacroDefinition: true,
|
|
72
43
|
noGremlins: true,
|
|
73
|
-
defaultHeader: exports.getDefaultHeader()
|
|
44
|
+
defaultHeader: (0, exports.getDefaultHeader)()
|
|
74
45
|
};
|
|
75
46
|
/**
|
|
76
47
|
* Fetches the config from the .sasjslint file (at project root or home directory) and creates a LintConfig object.
|
|
@@ -78,22 +49,13 @@ exports.DefaultLintConfiguration = {
|
|
|
78
49
|
* @returns {Promise<LintConfig>} resolves with an object representing the current lint configuration.
|
|
79
50
|
*/
|
|
80
51
|
function getLintConfig() {
|
|
81
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
case 1:
|
|
87
|
-
projectRoot = _a.sent();
|
|
88
|
-
lintFileLocation = projectRoot || os_1.default.homedir();
|
|
89
|
-
return [4 /*yield*/, file_1.readFile(path_1.default.join(lintFileLocation, '.sasjslint')).catch(function (_) {
|
|
90
|
-
return JSON.stringify(exports.DefaultLintConfiguration);
|
|
91
|
-
})];
|
|
92
|
-
case 2:
|
|
93
|
-
configuration = _a.sent();
|
|
94
|
-
return [2 /*return*/, new LintConfig_1.LintConfig(JSON.parse(configuration))];
|
|
95
|
-
}
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const projectRoot = yield (0, getProjectRoot_1.getProjectRoot)();
|
|
54
|
+
const lintFileLocation = projectRoot || os_1.default.homedir();
|
|
55
|
+
const configuration = yield (0, file_1.readFile)(path_1.default.join(lintFileLocation, '.sasjslint')).catch((_) => {
|
|
56
|
+
return JSON.stringify(exports.DefaultLintConfiguration);
|
|
96
57
|
});
|
|
58
|
+
return new LintConfig_1.LintConfig(JSON.parse(configuration));
|
|
97
59
|
});
|
|
98
60
|
}
|
|
99
61
|
exports.getLintConfig = getLintConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLintConfig.js","sourceRoot":"","sources":["../../src/utils/getLintConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getLintConfig.js","sourceRoot":"","sources":["../../src/utils/getLintConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,4CAAmB;AACnB,oDAAgD;AAChD,4CAA4C;AAC5C,qDAAiD;AACjD,sDAAkD;AAE3C,MAAM,gBAAgB,GAAG,GAAG,EAAE,CACnC,gHAAgH,CAAA;AADrG,QAAA,gBAAgB,oBACqF;AAElH;;GAEG;AACU,QAAA,wBAAwB,GAAG;IACtC,WAAW,EAAE,yBAAW,CAAC,GAAG;IAC5B,gBAAgB,EAAE,IAAI;IACtB,kBAAkB,EAAE,IAAI;IACxB,gBAAgB,EAAE,IAAI;IACtB,mBAAmB,EAAE,IAAI;IACzB,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,EAAE;IACjB,mBAAmB,EAAE,EAAE;IACvB,iBAAiB,EAAE,EAAE;IACrB,gBAAgB,EAAE,IAAI;IACtB,mBAAmB,EAAE,CAAC;IACtB,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,IAAI;IACpB,mBAAmB,EAAE,IAAI;IACzB,qBAAqB,EAAE,IAAI;IAC3B,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAA,wBAAgB,GAAE;CAClC,CAAA;AAED;;;;GAIG;AACH,SAAsB,aAAa;;QACjC,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAc,GAAE,CAAA;QAC1C,MAAM,gBAAgB,GAAG,WAAW,IAAI,YAAE,CAAC,OAAO,EAAE,CAAA;QACpD,MAAM,aAAa,GAAG,MAAM,IAAA,eAAQ,EAClC,cAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAC1C,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,OAAO,IAAI,CAAC,SAAS,CAAC,gCAAwB,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,uBAAU,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAA;IAClD,CAAC;CAAA;AATD,sCASC"}
|