@atlisp/lint 0.1.2 → 0.1.3
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/LICENSE +21 -0
- package/README.md +2 -2
- package/atlisp-lint.default.json +22 -3
- package/bin/atlisp-lint +1 -1
- package/dist/atlisp-lint.default.json +22 -3
- package/dist/checks/append-single.d.ts +3 -0
- package/dist/checks/append-single.d.ts.map +1 -0
- package/dist/checks/append-single.js +17 -0
- package/dist/checks/append-single.js.map +1 -0
- package/dist/checks/comment-style.d.ts +3 -0
- package/dist/checks/comment-style.d.ts.map +1 -0
- package/dist/checks/comment-style.js +21 -0
- package/dist/checks/comment-style.js.map +1 -0
- package/dist/checks/dynamic-doc.d.ts +3 -0
- package/dist/checks/dynamic-doc.d.ts.map +1 -0
- package/dist/checks/dynamic-doc.js +21 -0
- package/dist/checks/dynamic-doc.js.map +1 -0
- package/dist/checks/empty-catch.d.ts +3 -0
- package/dist/checks/empty-catch.d.ts.map +1 -0
- package/dist/checks/empty-catch.js +31 -0
- package/dist/checks/empty-catch.js.map +1 -0
- package/dist/checks/eq-usage.d.ts +3 -0
- package/dist/checks/eq-usage.d.ts.map +1 -0
- package/dist/checks/eq-usage.js +22 -0
- package/dist/checks/eq-usage.js.map +1 -0
- package/dist/checks/function-order.d.ts +3 -0
- package/dist/checks/function-order.d.ts.map +1 -0
- package/dist/checks/function-order.js +33 -0
- package/dist/checks/function-order.js.map +1 -0
- package/dist/checks/index.d.ts +3 -0
- package/dist/checks/index.d.ts.map +1 -0
- package/dist/checks/index.js +108 -0
- package/dist/checks/index.js.map +1 -0
- package/dist/checks/lambda-syntax.d.ts +3 -0
- package/dist/checks/lambda-syntax.d.ts.map +1 -0
- package/dist/checks/lambda-syntax.js +22 -0
- package/dist/checks/lambda-syntax.js.map +1 -0
- package/dist/checks/long-function-call.d.ts +3 -0
- package/dist/checks/long-function-call.d.ts.map +1 -0
- package/dist/checks/long-function-call.js +48 -0
- package/dist/checks/long-function-call.js.map +1 -0
- package/dist/checks/loop-optimization.d.ts +3 -0
- package/dist/checks/loop-optimization.d.ts.map +1 -0
- package/dist/checks/loop-optimization.js +17 -0
- package/dist/checks/loop-optimization.js.map +1 -0
- package/dist/checks/magic-number.d.ts +3 -0
- package/dist/checks/magic-number.d.ts.map +1 -0
- package/dist/checks/magic-number.js +21 -0
- package/dist/checks/magic-number.js.map +1 -0
- package/dist/checks/missing-doc.js +1 -1
- package/dist/checks/missing-doc.js.map +1 -1
- package/dist/checks/mixed-indent.d.ts +3 -0
- package/dist/checks/mixed-indent.d.ts.map +1 -0
- package/dist/checks/mixed-indent.js +19 -0
- package/dist/checks/mixed-indent.js.map +1 -0
- package/dist/checks/no-return.d.ts +3 -0
- package/dist/checks/no-return.d.ts.map +1 -0
- package/dist/checks/no-return.js +45 -0
- package/dist/checks/no-return.js.map +1 -0
- package/dist/checks/nth-usage.d.ts +3 -0
- package/dist/checks/nth-usage.d.ts.map +1 -0
- package/dist/checks/nth-usage.js +17 -0
- package/dist/checks/nth-usage.js.map +1 -0
- package/dist/checks/quote-style.d.ts +3 -0
- package/dist/checks/quote-style.d.ts.map +1 -0
- package/dist/checks/quote-style.js +22 -0
- package/dist/checks/quote-style.js.map +1 -0
- package/dist/checks/redundant-if.d.ts +3 -0
- package/dist/checks/redundant-if.d.ts.map +1 -0
- package/dist/checks/redundant-if.js +17 -0
- package/dist/checks/redundant-if.js.map +1 -0
- package/dist/checks/redundant-progn.d.ts +3 -0
- package/dist/checks/redundant-progn.d.ts.map +1 -0
- package/dist/checks/redundant-progn.js +22 -0
- package/dist/checks/redundant-progn.js.map +1 -0
- package/dist/checks/setq-multiple.d.ts +3 -0
- package/dist/checks/setq-multiple.d.ts.map +1 -0
- package/dist/checks/setq-multiple.js +17 -0
- package/dist/checks/setq-multiple.js.map +1 -0
- package/dist/checks/shadow-builtin.d.ts +3 -0
- package/dist/checks/shadow-builtin.d.ts.map +1 -0
- package/dist/checks/shadow-builtin.js +29 -0
- package/dist/checks/shadow-builtin.js.map +1 -0
- package/dist/checks/type-check.d.ts +3 -0
- package/dist/checks/type-check.d.ts.map +1 -0
- package/dist/checks/type-check.js +26 -0
- package/dist/checks/type-check.js.map +1 -0
- package/dist/checks/unused-variable.d.ts.map +1 -1
- package/dist/checks/unused-variable.js +16 -4
- package/dist/checks/unused-variable.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +22 -3
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +111 -21
- package/dist/index.js.map +1 -1
- package/dist/locale.d.ts.map +1 -1
- package/dist/locale.js +46 -2
- package/dist/locale.js.map +1 -1
- package/dist/rules.d.ts.map +1 -1
- package/dist/rules.js +22 -3
- package/dist/rules.js.map +1 -1
- package/dist/runner.d.ts +11 -2
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +69 -66
- package/dist/runner.js.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +5 -1
- package/dist/validate.js.map +1 -1
- package/dist/worker.js +2 -47
- package/dist/worker.js.map +1 -1
- package/package.json +8 -1
package/dist/runner.js
CHANGED
|
@@ -33,78 +33,55 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.parseIgnoreFile = parseIgnoreFile;
|
|
36
37
|
exports.lintFiles = lintFiles;
|
|
37
38
|
exports.lintFilesParallel = lintFilesParallel;
|
|
38
39
|
exports.fixFile = fixFile;
|
|
40
|
+
exports.clearCache = clearCache;
|
|
39
41
|
const fs = __importStar(require("fs"));
|
|
40
42
|
const path = __importStar(require("path"));
|
|
41
43
|
const worker_threads_1 = require("worker_threads");
|
|
42
44
|
const os = __importStar(require("os"));
|
|
43
|
-
const
|
|
44
|
-
const parens_1 = require("./checks/parens");
|
|
45
|
-
const cl_syntax_1 = require("./checks/cl-syntax");
|
|
46
|
-
const dangerous_calls_1 = require("./checks/dangerous-calls");
|
|
47
|
-
const vlax_1 = require("./checks/vlax");
|
|
48
|
-
const token_in_url_1 = require("./checks/token-in-url");
|
|
49
|
-
const open_close_1 = require("./checks/open-close");
|
|
50
|
-
const bare_names_1 = require("./checks/bare-names");
|
|
51
|
-
const module_reg_1 = require("./checks/module-reg");
|
|
52
|
-
const namespace_header_1 = require("./checks/namespace-header");
|
|
53
|
-
const trailing_ws_1 = require("./checks/trailing-ws");
|
|
54
|
-
const line_length_1 = require("./checks/line-length");
|
|
55
|
-
const function_complexity_1 = require("./checks/function-complexity");
|
|
56
|
-
const parameter_naming_1 = require("./checks/parameter-naming");
|
|
57
|
-
const unused_variable_1 = require("./checks/unused-variable");
|
|
58
|
-
const missing_doc_1 = require("./checks/missing-doc");
|
|
59
|
-
const error_handling_1 = require("./checks/error-handling");
|
|
60
|
-
const global_naming_1 = require("./checks/global-naming");
|
|
61
|
-
const extra_parens_1 = require("./checks/extra-parens");
|
|
62
|
-
const arg_count_1 = require("./checks/arg-count");
|
|
63
|
-
const strcat_usage_1 = require("./checks/strcat-usage");
|
|
64
|
-
const cond_simplify_1 = require("./checks/cond-simplify");
|
|
45
|
+
const index_1 = require("./checks/index");
|
|
65
46
|
const config_1 = require("./config");
|
|
66
47
|
const locale_1 = require("./locale");
|
|
67
|
-
const
|
|
68
|
-
function
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
48
|
+
const cache_1 = require("./cache");
|
|
49
|
+
function parseIgnoreFile(rootDir) {
|
|
50
|
+
const ignorePath = path.join(rootDir, '.atlisp-lint-ignore');
|
|
51
|
+
if (!fs.existsSync(ignorePath))
|
|
52
|
+
return [];
|
|
53
|
+
const patterns = [];
|
|
54
|
+
for (const line of fs.readFileSync(ignorePath, 'utf-8').split('\n')) {
|
|
55
|
+
const trimmed = line.trim();
|
|
56
|
+
if (!trimmed || trimmed.startsWith('#'))
|
|
57
|
+
continue;
|
|
58
|
+
try {
|
|
59
|
+
const str = trimmed
|
|
60
|
+
.replace(/\./g, '\\.')
|
|
61
|
+
.replace(/\*\*/g, '.*')
|
|
62
|
+
.replace(/\*/g, '[^/]*');
|
|
63
|
+
patterns.push(new RegExp(`^${str}$`));
|
|
77
64
|
}
|
|
65
|
+
catch { /* skip invalid patterns */ }
|
|
78
66
|
}
|
|
79
|
-
|
|
80
|
-
addIfEnabled('parens', () => (0, parens_1.checkParens)(content, file));
|
|
81
|
-
addIfEnabled('cl_syntax', () => (0, cl_syntax_1.checkClSyntax)(content, file, config.cl_syntax.keywords));
|
|
82
|
-
addIfEnabled('quit_exit', () => (0, dangerous_calls_1.checkDangerousCalls)(content, file, config.dangerous_calls));
|
|
83
|
-
addIfEnabled('vlax_without_loading', () => (0, vlax_1.checkVlaxWithoutLoading)(content, file));
|
|
84
|
-
addIfEnabled('token_in_url', () => (0, token_in_url_1.checkTokenInUrl)(content, file));
|
|
85
|
-
addIfEnabled('open_without_close', () => (0, open_close_1.checkOpenWithoutClose)(content, file));
|
|
86
|
-
addIfEnabled('bare_function_names', () => (0, bare_names_1.checkBareFunctionNames)(content, file, config.bare_function_names.allowlist, config.bare_function_names.namespace_pattern));
|
|
87
|
-
addIfEnabled('module_registration', () => (0, module_reg_1.checkModuleRegistration)(content, file, file, config.module_registration));
|
|
88
|
-
addIfEnabled('namespace_header', () => (0, namespace_header_1.checkNamespaceHeader)(content, file, config.namespace_header));
|
|
89
|
-
addIfEnabled('line_length', () => (0, line_length_1.checkLineLength)(content, file, config.line_length.max, config.line_length.tab_width));
|
|
90
|
-
addIfEnabled('function_complexity', () => (0, function_complexity_1.checkFunctionComplexity)(content, file, config.function_complexity.max_lines, config.function_complexity.max_nesting));
|
|
91
|
-
addIfEnabled('parameter_naming', () => (0, parameter_naming_1.checkParameterNaming)(content, file));
|
|
92
|
-
addIfEnabled('unused_variable', () => (0, unused_variable_1.checkUnusedVariable)(content, file));
|
|
93
|
-
addIfEnabled('missing_doc', () => (0, missing_doc_1.checkMissingDoc)(content, file));
|
|
94
|
-
addIfEnabled('error_handling', () => (0, error_handling_1.checkErrorHandling)(content, file));
|
|
95
|
-
addIfEnabled('global_naming', () => (0, global_naming_1.checkGlobalNaming)(content, file));
|
|
96
|
-
addIfEnabled('extra_parens', () => (0, extra_parens_1.checkExtraParens)(content, file));
|
|
97
|
-
addIfEnabled('arg_count', () => (0, arg_count_1.checkArgCount)(content, file));
|
|
98
|
-
addIfEnabled('strcat_usage', () => (0, strcat_usage_1.checkStrcatUsage)(content, file));
|
|
99
|
-
addIfEnabled('cond_simplify', () => (0, cond_simplify_1.checkCondSimplify)(content, file));
|
|
100
|
-
addIfEnabled('trailing_whitespace', () => (0, trailing_ws_1.checkTrailingWhitespace)(content, file));
|
|
101
|
-
return issues;
|
|
67
|
+
return patterns;
|
|
102
68
|
}
|
|
103
|
-
function lintFiles(files, config, rootDir) {
|
|
69
|
+
function lintFiles(files, config, rootDir, options) {
|
|
104
70
|
(0, locale_1.setLocale)(config.locale || 'zh');
|
|
105
71
|
const allIssues = [];
|
|
106
|
-
|
|
72
|
+
const ignorePatterns = options?.ignorePatterns || [];
|
|
73
|
+
const useCache = options?.useCache ?? false;
|
|
74
|
+
for (let idx = 0; idx < files.length; idx++) {
|
|
75
|
+
const filepath = files[idx];
|
|
107
76
|
const relPath = path.relative(rootDir, filepath);
|
|
77
|
+
// Check ignore patterns
|
|
78
|
+
const relForward = relPath.replace(/\\/g, '/');
|
|
79
|
+
if (ignorePatterns.some(re => re.test(relForward)))
|
|
80
|
+
continue;
|
|
81
|
+
// Check cache
|
|
82
|
+
if (useCache && (0, cache_1.isCached)(filepath, rootDir))
|
|
83
|
+
continue;
|
|
84
|
+
options?.onProgress?.(idx + 1, files.length);
|
|
108
85
|
let content;
|
|
109
86
|
try {
|
|
110
87
|
content = fs.readFileSync(filepath, 'utf-8');
|
|
@@ -119,23 +96,41 @@ function lintFiles(files, config, rootDir) {
|
|
|
119
96
|
// Per-directory config override
|
|
120
97
|
const override = (0, config_1.findOverrides)(filepath);
|
|
121
98
|
const effectiveConfig = override ? (0, config_1.mergeOverrides)(config, override) : config;
|
|
122
|
-
|
|
99
|
+
const fileIssues = (0, index_1.runChecks)(content, relPath, effectiveConfig);
|
|
100
|
+
// Mark as cached if no issues found
|
|
101
|
+
if (useCache && fileIssues.length === 0) {
|
|
102
|
+
(0, cache_1.markCached)(filepath, rootDir);
|
|
103
|
+
}
|
|
104
|
+
allIssues.push(...fileIssues);
|
|
123
105
|
}
|
|
124
106
|
return allIssues;
|
|
125
107
|
}
|
|
126
|
-
function lintFilesParallel(files, config, rootDir) {
|
|
108
|
+
function lintFilesParallel(files, config, rootDir, options) {
|
|
127
109
|
(0, locale_1.setLocale)(config.locale || 'zh');
|
|
128
|
-
|
|
110
|
+
const ignorePatterns = options?.ignorePatterns || [];
|
|
111
|
+
return new Promise((resolve) => {
|
|
129
112
|
const allIssues = [];
|
|
130
113
|
let completed = 0;
|
|
131
114
|
const maxWorkers = Math.min(os.cpus().length, files.length);
|
|
132
115
|
let nextIndex = 0;
|
|
133
116
|
function startWorker() {
|
|
134
|
-
if (nextIndex >= files.length)
|
|
117
|
+
if (nextIndex >= files.length) {
|
|
118
|
+
if (completed >= files.length)
|
|
119
|
+
resolve(allIssues);
|
|
135
120
|
return;
|
|
121
|
+
}
|
|
136
122
|
const idx = nextIndex++;
|
|
137
123
|
const filepath = files[idx];
|
|
138
124
|
const relPath = path.relative(rootDir, filepath);
|
|
125
|
+
// Check ignore patterns
|
|
126
|
+
const relForward = relPath.replace(/\\/g, '/');
|
|
127
|
+
if (ignorePatterns.some(re => re.test(relForward))) {
|
|
128
|
+
completed++;
|
|
129
|
+
startWorker();
|
|
130
|
+
if (completed >= files.length)
|
|
131
|
+
resolve(allIssues);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
139
134
|
const worker = new worker_threads_1.Worker(path.join(__dirname, 'worker.js'), {
|
|
140
135
|
workerData: { filepath, relPath, config },
|
|
141
136
|
eval: false,
|
|
@@ -143,16 +138,13 @@ function lintFilesParallel(files, config, rootDir) {
|
|
|
143
138
|
worker.on('message', (msg) => {
|
|
144
139
|
allIssues.push(...msg.issues);
|
|
145
140
|
completed++;
|
|
141
|
+
options?.onProgress?.(completed, files.length);
|
|
146
142
|
worker.terminate();
|
|
147
143
|
startWorker();
|
|
148
144
|
if (completed >= files.length)
|
|
149
145
|
resolve(allIssues);
|
|
150
146
|
});
|
|
151
|
-
worker.on('error', (
|
|
152
|
-
allIssues.push({
|
|
153
|
-
file: relPath, line: 1, severity: 'error', rule: 'worker',
|
|
154
|
-
message: err.message,
|
|
155
|
-
});
|
|
147
|
+
worker.on('error', () => {
|
|
156
148
|
completed++;
|
|
157
149
|
worker.terminate();
|
|
158
150
|
startWorker();
|
|
@@ -181,9 +173,20 @@ function fixFile(filepath) {
|
|
|
181
173
|
content = content.slice(1);
|
|
182
174
|
fixes.push('encoding (BOM)');
|
|
183
175
|
}
|
|
176
|
+
// Fix comment style: ;text -> ; text
|
|
177
|
+
const commentFixed = content.split('\n').map(l => {
|
|
178
|
+
return l.replace(/^(\s*);([^ ;|])/gm, '$1; $2');
|
|
179
|
+
}).join('\n');
|
|
180
|
+
if (commentFixed !== content) {
|
|
181
|
+
content = commentFixed;
|
|
182
|
+
fixes.push('comment_style');
|
|
183
|
+
}
|
|
184
184
|
if (fixes.length > 0) {
|
|
185
185
|
fs.writeFileSync(filepath, content, 'utf-8');
|
|
186
186
|
}
|
|
187
187
|
return fixes;
|
|
188
188
|
}
|
|
189
|
+
function clearCache(rootDir) {
|
|
190
|
+
(0, cache_1.clearCache)(rootDir);
|
|
191
|
+
}
|
|
189
192
|
//# sourceMappingURL=runner.js.map
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/validate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,MAAM,SAAS,CAAC;AAkB/C,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe,EAAE,CA8CpE"}
|
package/dist/validate.js
CHANGED
|
@@ -7,7 +7,11 @@ const VALID_RULES = [
|
|
|
7
7
|
'open_without_close', 'bare_function_names', 'line_length',
|
|
8
8
|
'function_complexity', 'parameter_naming', 'unused_variable', 'missing_doc',
|
|
9
9
|
'error_handling', 'global_naming', 'extra_parens', 'arg_count',
|
|
10
|
-
'strcat_usage', 'cond_simplify', '
|
|
10
|
+
'strcat_usage', 'cond_simplify', 'redundant_progn', 'quote_style', 'eq_usage',
|
|
11
|
+
'lambda_syntax', 'comment_style', 'empty_catch', 'nth_usage', 'append_single', 'setq_multiple',
|
|
12
|
+
'function_order', 'magic_number', 'mixed_indent', 'long_function_call',
|
|
13
|
+
'no_return', 'shadow_builtin', 'dynamic_doc', 'loop_optimization',
|
|
14
|
+
'type_check', 'redundant_if', 'trailing_whitespace',
|
|
11
15
|
'module_registration', 'namespace_header',
|
|
12
16
|
];
|
|
13
17
|
const VALID_SEVERITIES = ['off', 'warn', 'error'];
|
package/dist/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
|
package/dist/worker.js
CHANGED
|
@@ -3,58 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const worker_threads_1 = require("worker_threads");
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const locale_1 = require("./locale");
|
|
6
|
-
const
|
|
7
|
-
const encoding_1 = require("./checks/encoding");
|
|
8
|
-
const parens_1 = require("./checks/parens");
|
|
9
|
-
const cl_syntax_1 = require("./checks/cl-syntax");
|
|
10
|
-
const dangerous_calls_1 = require("./checks/dangerous-calls");
|
|
11
|
-
const vlax_1 = require("./checks/vlax");
|
|
12
|
-
const token_in_url_1 = require("./checks/token-in-url");
|
|
13
|
-
const open_close_1 = require("./checks/open-close");
|
|
14
|
-
const bare_names_1 = require("./checks/bare-names");
|
|
15
|
-
const module_reg_1 = require("./checks/module-reg");
|
|
16
|
-
const namespace_header_1 = require("./checks/namespace-header");
|
|
17
|
-
const line_length_1 = require("./checks/line-length");
|
|
18
|
-
const function_complexity_1 = require("./checks/function-complexity");
|
|
19
|
-
const parameter_naming_1 = require("./checks/parameter-naming");
|
|
20
|
-
const unused_variable_1 = require("./checks/unused-variable");
|
|
21
|
-
const missing_doc_1 = require("./checks/missing-doc");
|
|
22
|
-
const trailing_ws_1 = require("./checks/trailing-ws");
|
|
23
|
-
function runChecks(content, file, config) {
|
|
24
|
-
const issues = [];
|
|
25
|
-
const disableMap = (0, disable_1.parseDisableComments)(content);
|
|
26
|
-
function addIfEnabled(rule, fn) {
|
|
27
|
-
const results = fn();
|
|
28
|
-
for (const r of results) {
|
|
29
|
-
if (!(0, disable_1.isDisabled)(r.rule, r.line, disableMap)) {
|
|
30
|
-
issues.push(r);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
addIfEnabled('encoding', () => (0, encoding_1.checkEncoding)(content, file));
|
|
35
|
-
addIfEnabled('parens', () => (0, parens_1.checkParens)(content, file));
|
|
36
|
-
addIfEnabled('cl_syntax', () => (0, cl_syntax_1.checkClSyntax)(content, file, config.cl_syntax.keywords));
|
|
37
|
-
addIfEnabled('quit_exit', () => (0, dangerous_calls_1.checkDangerousCalls)(content, file, config.dangerous_calls));
|
|
38
|
-
addIfEnabled('vlax_without_loading', () => (0, vlax_1.checkVlaxWithoutLoading)(content, file));
|
|
39
|
-
addIfEnabled('token_in_url', () => (0, token_in_url_1.checkTokenInUrl)(content, file));
|
|
40
|
-
addIfEnabled('open_without_close', () => (0, open_close_1.checkOpenWithoutClose)(content, file));
|
|
41
|
-
addIfEnabled('bare_function_names', () => (0, bare_names_1.checkBareFunctionNames)(content, file, config.bare_function_names.allowlist, config.bare_function_names.namespace_pattern));
|
|
42
|
-
addIfEnabled('module_registration', () => (0, module_reg_1.checkModuleRegistration)(content, file, file, config.module_registration));
|
|
43
|
-
addIfEnabled('namespace_header', () => (0, namespace_header_1.checkNamespaceHeader)(content, file, config.namespace_header));
|
|
44
|
-
addIfEnabled('line_length', () => (0, line_length_1.checkLineLength)(content, file, config.line_length.max, config.line_length.tab_width));
|
|
45
|
-
addIfEnabled('function_complexity', () => (0, function_complexity_1.checkFunctionComplexity)(content, file, config.function_complexity.max_lines, config.function_complexity.max_nesting));
|
|
46
|
-
addIfEnabled('parameter_naming', () => (0, parameter_naming_1.checkParameterNaming)(content, file));
|
|
47
|
-
addIfEnabled('unused_variable', () => (0, unused_variable_1.checkUnusedVariable)(content, file));
|
|
48
|
-
addIfEnabled('missing_doc', () => (0, missing_doc_1.checkMissingDoc)(content, file));
|
|
49
|
-
addIfEnabled('trailing_whitespace', () => (0, trailing_ws_1.checkTrailingWhitespace)(content, file));
|
|
50
|
-
return issues;
|
|
51
|
-
}
|
|
6
|
+
const index_1 = require("./checks/index");
|
|
52
7
|
if (worker_threads_1.parentPort && worker_threads_1.workerData) {
|
|
53
8
|
const input = worker_threads_1.workerData;
|
|
54
9
|
(0, locale_1.setLocale)(input.config.locale || 'zh');
|
|
55
10
|
try {
|
|
56
11
|
const content = (0, fs_1.readFileSync)(input.filepath, 'utf-8');
|
|
57
|
-
const issues = runChecks(content, input.relPath, input.config);
|
|
12
|
+
const issues = (0, index_1.runChecks)(content, input.relPath, input.config);
|
|
58
13
|
const output = { filepath: input.filepath, issues };
|
|
59
14
|
worker_threads_1.parentPort.postMessage(output);
|
|
60
15
|
}
|
package/dist/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":";;AAAA,mDAAwD;AACxD,2BAAkC;AAElC,qCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":";;AAAA,mDAAwD;AACxD,2BAAkC;AAElC,qCAAqC;AACrC,0CAA2C;AAE3C,IAAI,2BAAU,IAAI,2BAAU,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,2BAAuE,CAAC;IACtF,IAAA,kBAAS,EAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACpD,2BAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,MAAM,GAAG;YACb,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,CAAC;oBACP,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAgB,EAAE,IAAI,EAAE,MAAM;oBACtE,OAAO,EAAE,kBAAkB;iBAC5B,CAAC;SACH,CAAC;QACF,2BAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlisp/lint",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "AutoLISP static analysis tool — parens, security, conventions, SBCL syntax validation",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"CAD",
|
|
@@ -25,14 +25,21 @@
|
|
|
25
25
|
],
|
|
26
26
|
"scripts": {
|
|
27
27
|
"build": "tsc && node -e \"const fs=require('fs'),p=require('path');fs.mkdirSync(p.join('dist','lib'),{recursive:true});fs.readdirSync('lib').forEach(f=>fs.copyFileSync(p.join('lib',f),p.join('dist','lib',f)));['atlisp-lint.default.json','stub-packages.json'].forEach(f=>fs.copyFileSync(f,p.join('dist',f)))\"",
|
|
28
|
+
"clean": "rm -rf dist",
|
|
28
29
|
"test": "jest",
|
|
30
|
+
"test:coverage": "jest --coverage",
|
|
31
|
+
"test:watch": "jest --watch",
|
|
29
32
|
"prepublishOnly": "npm run build",
|
|
30
33
|
"prepack": "npm run build"
|
|
31
34
|
},
|
|
32
35
|
"devDependencies": {
|
|
33
36
|
"@types/jest": "^29",
|
|
34
37
|
"@types/node": "^18",
|
|
38
|
+
"@typescript-eslint/eslint-plugin": "^7",
|
|
39
|
+
"@typescript-eslint/parser": "^7",
|
|
40
|
+
"eslint": "^8",
|
|
35
41
|
"jest": "^29",
|
|
42
|
+
"prettier": "^3",
|
|
36
43
|
"ts-jest": "^29",
|
|
37
44
|
"ts-node": "^10.9.2",
|
|
38
45
|
"typescript": "^5"
|