@omermohideen/react-crap 1.0.1

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 (73) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +400 -0
  3. package/dist/bin/react-crap.d.ts +3 -0
  4. package/dist/bin/react-crap.d.ts.map +1 -0
  5. package/dist/bin/react-crap.js +67 -0
  6. package/dist/bin/react-crap.js.map +1 -0
  7. package/dist/src/cache.d.ts +13 -0
  8. package/dist/src/cache.d.ts.map +1 -0
  9. package/dist/src/cache.js +33 -0
  10. package/dist/src/cache.js.map +1 -0
  11. package/dist/src/complexity.d.ts +11 -0
  12. package/dist/src/complexity.d.ts.map +1 -0
  13. package/dist/src/complexity.js +279 -0
  14. package/dist/src/complexity.js.map +1 -0
  15. package/dist/src/config.d.ts +17 -0
  16. package/dist/src/config.d.ts.map +1 -0
  17. package/dist/src/config.js +96 -0
  18. package/dist/src/config.js.map +1 -0
  19. package/dist/src/coverage.d.ts +14 -0
  20. package/dist/src/coverage.d.ts.map +1 -0
  21. package/dist/src/coverage.js +62 -0
  22. package/dist/src/coverage.js.map +1 -0
  23. package/dist/src/delta.d.ts +26 -0
  24. package/dist/src/delta.d.ts.map +1 -0
  25. package/dist/src/delta.js +102 -0
  26. package/dist/src/delta.js.map +1 -0
  27. package/dist/src/index.d.ts +26 -0
  28. package/dist/src/index.d.ts.map +1 -0
  29. package/dist/src/index.js +388 -0
  30. package/dist/src/index.js.map +1 -0
  31. package/dist/src/merge.d.ts +20 -0
  32. package/dist/src/merge.d.ts.map +1 -0
  33. package/dist/src/merge.js +83 -0
  34. package/dist/src/merge.js.map +1 -0
  35. package/dist/src/report/github.d.ts +3 -0
  36. package/dist/src/report/github.d.ts.map +1 -0
  37. package/dist/src/report/github.js +14 -0
  38. package/dist/src/report/github.js.map +1 -0
  39. package/dist/src/report/html.d.ts +3 -0
  40. package/dist/src/report/html.d.ts.map +1 -0
  41. package/dist/src/report/html.js +75 -0
  42. package/dist/src/report/html.js.map +1 -0
  43. package/dist/src/report/human.d.ts +10 -0
  44. package/dist/src/report/human.d.ts.map +1 -0
  45. package/dist/src/report/human.js +126 -0
  46. package/dist/src/report/human.js.map +1 -0
  47. package/dist/src/report/json.d.ts +5 -0
  48. package/dist/src/report/json.d.ts.map +1 -0
  49. package/dist/src/report/json.js +20 -0
  50. package/dist/src/report/json.js.map +1 -0
  51. package/dist/src/report/markdown.d.ts +3 -0
  52. package/dist/src/report/markdown.d.ts.map +1 -0
  53. package/dist/src/report/markdown.js +16 -0
  54. package/dist/src/report/markdown.js.map +1 -0
  55. package/dist/src/report/pr-comment.d.ts +3 -0
  56. package/dist/src/report/pr-comment.d.ts.map +1 -0
  57. package/dist/src/report/pr-comment.js +62 -0
  58. package/dist/src/report/pr-comment.js.map +1 -0
  59. package/dist/src/report/sarif.d.ts +3 -0
  60. package/dist/src/report/sarif.d.ts.map +1 -0
  61. package/dist/src/report/sarif.js +50 -0
  62. package/dist/src/report/sarif.js.map +1 -0
  63. package/dist/src/score.d.ts +29 -0
  64. package/dist/src/score.d.ts.map +1 -0
  65. package/dist/src/score.js +52 -0
  66. package/dist/src/score.js.map +1 -0
  67. package/dist/src/walker.d.ts +7 -0
  68. package/dist/src/walker.d.ts.map +1 -0
  69. package/dist/src/walker.js +75 -0
  70. package/dist/src/walker.js.map +1 -0
  71. package/package.json +72 -0
  72. package/schemas/delta-v2.json +41 -0
  73. package/schemas/report-v1.json +26 -0
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "@omermohideen/react-crap",
3
+ "version": "1.0.1",
4
+ "description": "Change Risk Anti-Patterns (CRAP) metric for React TypeScript projects",
5
+ "bin": {
6
+ "react-crap": "dist/bin/react-crap.js"
7
+ },
8
+ "files": [
9
+ "dist",
10
+ "schemas",
11
+ ".react-crap.json.example",
12
+ "README.md",
13
+ "LICENSE"
14
+ ],
15
+ "scripts": {
16
+ "build": "tsc",
17
+ "dev": "tsx bin/react-crap.ts",
18
+ "test": "vitest run",
19
+ "test:watch": "vitest",
20
+ "lint": "tsc --noEmit && biome check src bin test",
21
+ "format": "biome format --write src bin test",
22
+ "clean": "rm -rf dist",
23
+ "prepare": "husky",
24
+ "commitlint": "commitlint --edit"
25
+ },
26
+ "engines": {
27
+ "node": ">=18"
28
+ },
29
+ "keywords": [
30
+ "crap",
31
+ "code-quality",
32
+ "complexity",
33
+ "coverage",
34
+ "typescript",
35
+ "react",
36
+ "cli"
37
+ ],
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "git+https://github.com/OmerMohideen/react-crap.git"
41
+ },
42
+ "license": "MIT",
43
+ "devDependencies": {
44
+ "@biomejs/biome": "^2.4.15",
45
+ "@commitlint/cli": "^19.0.0",
46
+ "@commitlint/config-conventional": "^19.0.0",
47
+ "@semantic-release/changelog": "^6.0.0",
48
+ "@semantic-release/commit-analyzer": "^13.0.0",
49
+ "@semantic-release/exec": "^7.1.0",
50
+ "@semantic-release/git": "^10.0.0",
51
+ "@semantic-release/github": "^10.0.0",
52
+ "@semantic-release/npm": "^12.0.0",
53
+ "@semantic-release/release-notes-generator": "^14.0.0",
54
+ "@types/node": "^22.0.0",
55
+ "husky": "^9.1.7",
56
+ "semantic-release": "^24.0.0",
57
+ "tsx": "^4.0.0",
58
+ "typescript": "^5.5.0",
59
+ "vitest": "^2.0.0"
60
+ },
61
+ "dependencies": {
62
+ "cli-table3": "^0.6.5",
63
+ "commander": "^12.0.0",
64
+ "ignore": "^7.0.5",
65
+ "picocolors": "^1.0.0",
66
+ "picomatch": "^4.0.0"
67
+ },
68
+ "publishConfig": {
69
+ "access": "public",
70
+ "provenance": true
71
+ }
72
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://raw.githubusercontent.com/OmerMohideen/react-crap/master/schemas/delta-v2.json",
4
+ "type": "object",
5
+ "required": ["version", "entries", "removed"],
6
+ "properties": {
7
+ "$schema": { "type": "string" },
8
+ "version": { "type": "string" },
9
+ "entries": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "object",
13
+ "required": ["file", "function", "line", "cyclomatic", "coverage", "crap", "baseline_crap", "delta", "status"],
14
+ "properties": {
15
+ "file": { "type": "string" },
16
+ "function": { "type": "string" },
17
+ "line": { "type": "integer" },
18
+ "cyclomatic": { "type": "number" },
19
+ "coverage": { "type": ["number", "null"] },
20
+ "crap": { "type": "number" },
21
+ "baseline_crap": { "type": "number" },
22
+ "delta": { "type": "number" },
23
+ "status": { "type": "string", "enum": ["New", "Increased", "Decreased", "Unchanged", "Moved"] },
24
+ "previous_file": { "type": "string" }
25
+ }
26
+ }
27
+ },
28
+ "removed": {
29
+ "type": "array",
30
+ "items": {
31
+ "type": "object",
32
+ "required": ["file", "function", "baseline_crap"],
33
+ "properties": {
34
+ "file": { "type": "string" },
35
+ "function": { "type": "string" },
36
+ "baseline_crap": { "type": "number" }
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://raw.githubusercontent.com/OmerMohideen/react-crap/master/schemas/report-v1.json",
4
+ "type": "object",
5
+ "required": ["version", "entries"],
6
+ "properties": {
7
+ "$schema": { "type": "string" },
8
+ "version": { "type": "string" },
9
+ "entries": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "object",
13
+ "required": ["file", "function", "line", "cyclomatic", "coverage", "crap"],
14
+ "properties": {
15
+ "file": { "type": "string" },
16
+ "function": { "type": "string" },
17
+ "line": { "type": "integer" },
18
+ "cyclomatic": { "type": "number" },
19
+ "coverage": { "type": ["number", "null"] },
20
+ "crap": { "type": "number" },
21
+ "package": { "type": "string" }
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }