@trebired/code-discipline 4.0.1 → 4.2.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/CHANGELOG.md +16 -0
- package/README.md +22 -35
- package/dist/checks/fix-folderization.d.ts.map +1 -1
- package/dist/checks/fix-folderization.js +3 -29
- package/dist/checks/fix-folderization.js.map +1 -1
- package/dist/checks/index.d.ts.map +1 -1
- package/dist/checks/index.js +29 -6
- package/dist/checks/index.js.map +1 -1
- package/dist/checks/rule-slugs.d.ts +5 -3
- package/dist/checks/rule-slugs.d.ts.map +1 -1
- package/dist/checks/rule-slugs.js +8 -7
- package/dist/checks/rule-slugs.js.map +1 -1
- package/dist/checks/rules/max/characters-per-line.d.ts +6 -0
- package/dist/checks/rules/max/characters-per-line.d.ts.map +1 -0
- package/dist/checks/rules/max/characters-per-line.js +40 -0
- package/dist/checks/rules/max/characters-per-line.js.map +1 -0
- package/dist/checks/rules/max/function-lines.js +1 -1
- package/dist/checks/rules/max/function-lines.js.map +1 -1
- package/dist/checks/rules/max/strip.d.ts +3 -0
- package/dist/checks/rules/max/strip.d.ts.map +1 -0
- package/dist/checks/rules/{evasion-guards → max}/strip.js +1 -16
- package/dist/checks/rules/max/strip.js.map +1 -0
- package/dist/checks/rules/min/file/lines/fix.d.ts +6 -0
- package/dist/checks/rules/min/file/lines/fix.d.ts.map +1 -0
- package/dist/checks/rules/min/file/lines/fix.js +168 -0
- package/dist/checks/rules/min/file/lines/fix.js.map +1 -0
- package/dist/checks/rules/min/file/lines.d.ts +7 -0
- package/dist/checks/rules/min/file/lines.d.ts.map +1 -0
- package/dist/checks/rules/min/file/lines.js +39 -0
- package/dist/checks/rules/min/file/lines.js.map +1 -0
- package/dist/checks/types.d.ts +21 -25
- package/dist/checks/types.d.ts.map +1 -1
- package/dist/config/normalize/check-options.d.ts.map +1 -1
- package/dist/config/normalize/check-options.js +13 -3
- package/dist/config/normalize/check-options.js.map +1 -1
- package/dist/config/normalize/rule-options.d.ts +10 -3
- package/dist/config/normalize/rule-options.d.ts.map +1 -1
- package/dist/config/normalize/rule-options.js +33 -35
- package/dist/config/normalize/rule-options.js.map +1 -1
- package/dist/imports/check-sync-imports.d.ts.map +1 -1
- package/dist/imports/check-sync-imports.js +11 -1
- package/dist/imports/check-sync-imports.js.map +1 -1
- package/dist/imports/format.d.ts +3 -0
- package/dist/imports/format.d.ts.map +1 -0
- package/dist/imports/format.js +21 -0
- package/dist/imports/format.js.map +1 -0
- package/dist/imports/module-specifiers.d.ts +4 -1
- package/dist/imports/module-specifiers.d.ts.map +1 -1
- package/dist/imports/module-specifiers.js +186 -4
- package/dist/imports/module-specifiers.js.map +1 -1
- package/dist/imports/resolve.d.ts +2 -1
- package/dist/imports/resolve.d.ts.map +1 -1
- package/dist/imports/resolve.js +33 -2
- package/dist/imports/resolve.js.map +1 -1
- package/dist/imports/rewrite.d.ts.map +1 -1
- package/dist/imports/rewrite.js +12 -0
- package/dist/imports/rewrite.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/native/native.d.ts +0 -1
- package/dist/native/native.d.ts.map +1 -1
- package/dist/native/native.js.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +0 -2
- package/dist/run.js.map +1 -1
- package/dist/shared/directories.d.ts +3 -0
- package/dist/shared/directories.d.ts.map +1 -0
- package/dist/shared/directories.js +14 -0
- package/dist/shared/directories.js.map +1 -0
- package/dist/shared/discipline-types.d.ts +1 -1
- package/dist/shared/discipline-types.d.ts.map +1 -1
- package/dist/shared/languages.js +1 -1
- package/dist/shared/languages.js.map +1 -1
- package/dist/shared/logging.d.ts.map +1 -1
- package/dist/shared/logging.js +17 -46
- package/dist/shared/logging.js.map +1 -1
- package/native/darwin-arm64.node +0 -0
- package/native/darwin-x64.node +0 -0
- package/native/linux-arm64-gnu.node +0 -0
- package/native/linux-x64-gnu.node +0 -0
- package/package.json +2 -2
- package/dist/checks/rules/evasion-guards/functions.d.ts +0 -14
- package/dist/checks/rules/evasion-guards/functions.d.ts.map +0 -1
- package/dist/checks/rules/evasion-guards/functions.js +0 -38
- package/dist/checks/rules/evasion-guards/functions.js.map +0 -1
- package/dist/checks/rules/evasion-guards/index.d.ts +0 -6
- package/dist/checks/rules/evasion-guards/index.d.ts.map +0 -1
- package/dist/checks/rules/evasion-guards/index.js +0 -137
- package/dist/checks/rules/evasion-guards/index.js.map +0 -1
- package/dist/checks/rules/evasion-guards/runtime.d.ts +0 -6
- package/dist/checks/rules/evasion-guards/runtime.d.ts.map +0 -1
- package/dist/checks/rules/evasion-guards/runtime.js +0 -51
- package/dist/checks/rules/evasion-guards/runtime.js.map +0 -1
- package/dist/checks/rules/evasion-guards/strip.d.ts +0 -11
- package/dist/checks/rules/evasion-guards/strip.d.ts.map +0 -1
- package/dist/checks/rules/evasion-guards/strip.js.map +0 -1
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
import { getStartLine } from "./functions.js";
|
|
3
|
-
function isStringLike(node) {
|
|
4
|
-
return Boolean(node && ts.isStringLiteralLike(node));
|
|
5
|
-
}
|
|
6
|
-
function getExpressionName(node) {
|
|
7
|
-
if (ts.isIdentifier(node))
|
|
8
|
-
return node.text;
|
|
9
|
-
if (ts.isPropertyAccessExpression(node))
|
|
10
|
-
return node.name.text;
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
function createRuntimeCodeHidingViolation(file, sourceFile, kind, node) {
|
|
14
|
-
return {
|
|
15
|
-
rule: "evasion-guards",
|
|
16
|
-
fix: false,
|
|
17
|
-
filePath: file.relativeFromProjectRoot,
|
|
18
|
-
message: `runtime code hiding detected via ${kind}`,
|
|
19
|
-
details: {
|
|
20
|
-
kind: "runtime-code-hiding",
|
|
21
|
-
pattern: kind,
|
|
22
|
-
line: getStartLine(sourceFile, node),
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
function collectRuntimeCodeHidingViolations(file, sourceFile) {
|
|
27
|
-
const violations = [];
|
|
28
|
-
function add(kind, node) {
|
|
29
|
-
violations.push(createRuntimeCodeHidingViolation(file, sourceFile, kind, node));
|
|
30
|
-
}
|
|
31
|
-
function visit(node) {
|
|
32
|
-
if (ts.isCallExpression(node)) {
|
|
33
|
-
const name = getExpressionName(node.expression);
|
|
34
|
-
const [firstArg] = node.arguments;
|
|
35
|
-
if (name === "eval" && isStringLike(firstArg))
|
|
36
|
-
add("eval", node);
|
|
37
|
-
if (name === "Function" && isStringLike(firstArg))
|
|
38
|
-
add("Function", node);
|
|
39
|
-
if ((name === "setTimeout" || name === "setInterval") && isStringLike(firstArg))
|
|
40
|
-
add(name, node);
|
|
41
|
-
}
|
|
42
|
-
if (ts.isNewExpression(node) && getExpressionName(node.expression) === "Function" && isStringLike(node.arguments?.[0])) {
|
|
43
|
-
add("new Function", node);
|
|
44
|
-
}
|
|
45
|
-
ts.forEachChild(node, visit);
|
|
46
|
-
}
|
|
47
|
-
visit(sourceFile);
|
|
48
|
-
return violations;
|
|
49
|
-
}
|
|
50
|
-
export { collectRuntimeCodeHidingViolations };
|
|
51
|
-
//# sourceMappingURL=runtime.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/checks/rules/evasion-guards/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAI5B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,SAAS,YAAY,CAAC,IAAyB;IAC7C,OAAO,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAmB;IAC5C,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IAC5C,IAAI,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gCAAgC,CACvC,IAAuB,EACvB,UAAyB,EACzB,IAAY,EACZ,IAAa;IAEb,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,KAAK;QACV,QAAQ,EAAE,IAAI,CAAC,uBAAuB;QACtC,OAAO,EAAE,oCAAoC,IAAI,EAAE;QACnD,OAAO,EAAE;YACP,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;SACrC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,IAAuB,EACvB,UAAyB;IAEzB,MAAM,UAAU,GAA8B,EAAE,CAAC;IAEjD,SAAS,GAAG,CAAC,IAAY,EAAE,IAAa;QACtC,UAAU,CAAC,IAAI,CAAC,gCAAgC,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,SAAS,KAAK,CAAC,IAAa;QAC1B,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAClC,IAAI,IAAI,KAAK,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC;gBAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjE,IAAI,IAAI,KAAK,UAAU,IAAI,YAAY,CAAC,QAAQ,CAAC;gBAAE,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACzE,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,aAAa,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC;gBAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnG,CAAC;QAED,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvH,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,OAAO,EAAE,kCAAkC,EAAE,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
type PackedLineStats = {
|
|
2
|
-
columnCount: number;
|
|
3
|
-
semicolonCount: number;
|
|
4
|
-
structuralTokenCount: number;
|
|
5
|
-
};
|
|
6
|
-
declare function stripCommentsAndStrings(text: string): string;
|
|
7
|
-
declare function countStructuralTokens(text: string): number;
|
|
8
|
-
declare function getPackedLineStats(rawLine: string, strippedLine: string): PackedLineStats;
|
|
9
|
-
export { countStructuralTokens, getPackedLineStats, stripCommentsAndStrings };
|
|
10
|
-
export type { PackedLineStats };
|
|
11
|
-
//# sourceMappingURL=strip.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strip.d.ts","sourceRoot":"","sources":["../../../../src/checks/rules/evasion-guards/strip.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AA+DF,iBAAS,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2BrD;AAED,iBAAS,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQnD;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,CAMlF;AAED,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,CAAC;AAC9E,YAAY,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strip.js","sourceRoot":"","sources":["../../../../src/checks/rules/evasion-guards/strip.ts"],"names":[],"mappings":"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"}
|