@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.
Files changed (96) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +22 -35
  3. package/dist/checks/fix-folderization.d.ts.map +1 -1
  4. package/dist/checks/fix-folderization.js +3 -29
  5. package/dist/checks/fix-folderization.js.map +1 -1
  6. package/dist/checks/index.d.ts.map +1 -1
  7. package/dist/checks/index.js +29 -6
  8. package/dist/checks/index.js.map +1 -1
  9. package/dist/checks/rule-slugs.d.ts +5 -3
  10. package/dist/checks/rule-slugs.d.ts.map +1 -1
  11. package/dist/checks/rule-slugs.js +8 -7
  12. package/dist/checks/rule-slugs.js.map +1 -1
  13. package/dist/checks/rules/max/characters-per-line.d.ts +6 -0
  14. package/dist/checks/rules/max/characters-per-line.d.ts.map +1 -0
  15. package/dist/checks/rules/max/characters-per-line.js +40 -0
  16. package/dist/checks/rules/max/characters-per-line.js.map +1 -0
  17. package/dist/checks/rules/max/function-lines.js +1 -1
  18. package/dist/checks/rules/max/function-lines.js.map +1 -1
  19. package/dist/checks/rules/max/strip.d.ts +3 -0
  20. package/dist/checks/rules/max/strip.d.ts.map +1 -0
  21. package/dist/checks/rules/{evasion-guards → max}/strip.js +1 -16
  22. package/dist/checks/rules/max/strip.js.map +1 -0
  23. package/dist/checks/rules/min/file/lines/fix.d.ts +6 -0
  24. package/dist/checks/rules/min/file/lines/fix.d.ts.map +1 -0
  25. package/dist/checks/rules/min/file/lines/fix.js +168 -0
  26. package/dist/checks/rules/min/file/lines/fix.js.map +1 -0
  27. package/dist/checks/rules/min/file/lines.d.ts +7 -0
  28. package/dist/checks/rules/min/file/lines.d.ts.map +1 -0
  29. package/dist/checks/rules/min/file/lines.js +39 -0
  30. package/dist/checks/rules/min/file/lines.js.map +1 -0
  31. package/dist/checks/types.d.ts +21 -25
  32. package/dist/checks/types.d.ts.map +1 -1
  33. package/dist/config/normalize/check-options.d.ts.map +1 -1
  34. package/dist/config/normalize/check-options.js +13 -3
  35. package/dist/config/normalize/check-options.js.map +1 -1
  36. package/dist/config/normalize/rule-options.d.ts +10 -3
  37. package/dist/config/normalize/rule-options.d.ts.map +1 -1
  38. package/dist/config/normalize/rule-options.js +33 -35
  39. package/dist/config/normalize/rule-options.js.map +1 -1
  40. package/dist/imports/check-sync-imports.d.ts.map +1 -1
  41. package/dist/imports/check-sync-imports.js +11 -1
  42. package/dist/imports/check-sync-imports.js.map +1 -1
  43. package/dist/imports/format.d.ts +3 -0
  44. package/dist/imports/format.d.ts.map +1 -0
  45. package/dist/imports/format.js +21 -0
  46. package/dist/imports/format.js.map +1 -0
  47. package/dist/imports/module-specifiers.d.ts +4 -1
  48. package/dist/imports/module-specifiers.d.ts.map +1 -1
  49. package/dist/imports/module-specifiers.js +186 -4
  50. package/dist/imports/module-specifiers.js.map +1 -1
  51. package/dist/imports/resolve.d.ts +2 -1
  52. package/dist/imports/resolve.d.ts.map +1 -1
  53. package/dist/imports/resolve.js +33 -2
  54. package/dist/imports/resolve.js.map +1 -1
  55. package/dist/imports/rewrite.d.ts.map +1 -1
  56. package/dist/imports/rewrite.js +12 -0
  57. package/dist/imports/rewrite.js.map +1 -1
  58. package/dist/index.d.ts +1 -1
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/native/native.d.ts +0 -1
  61. package/dist/native/native.d.ts.map +1 -1
  62. package/dist/native/native.js.map +1 -1
  63. package/dist/run.d.ts.map +1 -1
  64. package/dist/run.js +0 -2
  65. package/dist/run.js.map +1 -1
  66. package/dist/shared/directories.d.ts +3 -0
  67. package/dist/shared/directories.d.ts.map +1 -0
  68. package/dist/shared/directories.js +14 -0
  69. package/dist/shared/directories.js.map +1 -0
  70. package/dist/shared/discipline-types.d.ts +1 -1
  71. package/dist/shared/discipline-types.d.ts.map +1 -1
  72. package/dist/shared/languages.js +1 -1
  73. package/dist/shared/languages.js.map +1 -1
  74. package/dist/shared/logging.d.ts.map +1 -1
  75. package/dist/shared/logging.js +17 -46
  76. package/dist/shared/logging.js.map +1 -1
  77. package/native/darwin-arm64.node +0 -0
  78. package/native/darwin-x64.node +0 -0
  79. package/native/linux-arm64-gnu.node +0 -0
  80. package/native/linux-x64-gnu.node +0 -0
  81. package/package.json +2 -2
  82. package/dist/checks/rules/evasion-guards/functions.d.ts +0 -14
  83. package/dist/checks/rules/evasion-guards/functions.d.ts.map +0 -1
  84. package/dist/checks/rules/evasion-guards/functions.js +0 -38
  85. package/dist/checks/rules/evasion-guards/functions.js.map +0 -1
  86. package/dist/checks/rules/evasion-guards/index.d.ts +0 -6
  87. package/dist/checks/rules/evasion-guards/index.d.ts.map +0 -1
  88. package/dist/checks/rules/evasion-guards/index.js +0 -137
  89. package/dist/checks/rules/evasion-guards/index.js.map +0 -1
  90. package/dist/checks/rules/evasion-guards/runtime.d.ts +0 -6
  91. package/dist/checks/rules/evasion-guards/runtime.d.ts.map +0 -1
  92. package/dist/checks/rules/evasion-guards/runtime.js +0 -51
  93. package/dist/checks/rules/evasion-guards/runtime.js.map +0 -1
  94. package/dist/checks/rules/evasion-guards/strip.d.ts +0 -11
  95. package/dist/checks/rules/evasion-guards/strip.d.ts.map +0 -1
  96. 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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"}