semantic-complexity 0.0.7-741984fb → 0.0.15-29c6b296

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 (163) hide show
  1. package/dist/__tests__/analyzers.test.d.ts +5 -0
  2. package/dist/__tests__/analyzers.test.d.ts.map +1 -0
  3. package/dist/__tests__/analyzers.test.js +357 -0
  4. package/dist/__tests__/analyzers.test.js.map +1 -0
  5. package/dist/__tests__/gate.test.d.ts +5 -0
  6. package/dist/__tests__/gate.test.d.ts.map +1 -0
  7. package/dist/__tests__/gate.test.js +140 -0
  8. package/dist/__tests__/gate.test.js.map +1 -0
  9. package/dist/analyzers/bread.d.ts +63 -0
  10. package/dist/analyzers/bread.d.ts.map +1 -0
  11. package/dist/analyzers/bread.js +415 -0
  12. package/dist/analyzers/bread.js.map +1 -0
  13. package/dist/analyzers/cheese.d.ts +111 -0
  14. package/dist/analyzers/cheese.d.ts.map +1 -0
  15. package/dist/analyzers/cheese.js +881 -0
  16. package/dist/analyzers/cheese.js.map +1 -0
  17. package/dist/analyzers/ham.d.ts +33 -0
  18. package/dist/analyzers/ham.d.ts.map +1 -0
  19. package/dist/analyzers/ham.js +264 -0
  20. package/dist/analyzers/ham.js.map +1 -0
  21. package/dist/analyzers/index.d.ts +7 -0
  22. package/dist/analyzers/index.d.ts.map +1 -0
  23. package/dist/analyzers/index.js +7 -0
  24. package/dist/analyzers/index.js.map +1 -0
  25. package/dist/budget/index.d.ts +50 -0
  26. package/dist/budget/index.d.ts.map +1 -0
  27. package/dist/budget/index.js +138 -0
  28. package/dist/budget/index.js.map +1 -0
  29. package/dist/cli/index.d.ts +6 -0
  30. package/dist/cli/index.d.ts.map +1 -0
  31. package/dist/cli/index.js +103 -0
  32. package/dist/cli/index.js.map +1 -0
  33. package/dist/gate/index.d.ts +31 -0
  34. package/dist/gate/index.d.ts.map +1 -0
  35. package/dist/gate/index.js +117 -0
  36. package/dist/gate/index.js.map +1 -0
  37. package/dist/gate/waiver.d.ts +83 -0
  38. package/dist/gate/waiver.d.ts.map +1 -0
  39. package/dist/gate/waiver.js +425 -0
  40. package/dist/gate/waiver.js.map +1 -0
  41. package/dist/index.d.ts +8 -34
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +8 -49
  44. package/dist/index.js.map +1 -1
  45. package/dist/mcp/index.d.ts +5 -0
  46. package/dist/mcp/index.d.ts.map +1 -0
  47. package/dist/mcp/index.js +351 -0
  48. package/dist/mcp/index.js.map +1 -0
  49. package/dist/recommend/index.d.ts +32 -0
  50. package/dist/recommend/index.d.ts.map +1 -0
  51. package/dist/recommend/index.js +169 -0
  52. package/dist/recommend/index.js.map +1 -0
  53. package/dist/simplex/index.d.ts +26 -0
  54. package/dist/simplex/index.d.ts.map +1 -0
  55. package/dist/simplex/index.js +100 -0
  56. package/dist/simplex/index.js.map +1 -0
  57. package/dist/types/index.d.ts +39 -0
  58. package/dist/types/index.d.ts.map +1 -0
  59. package/dist/types/index.js +5 -0
  60. package/dist/types/index.js.map +1 -0
  61. package/package.json +27 -52
  62. package/LICENSE +0 -21
  63. package/README.md +0 -72
  64. package/dist/ast/index.d.ts +0 -2
  65. package/dist/ast/index.d.ts.map +0 -1
  66. package/dist/ast/index.js +0 -2
  67. package/dist/ast/index.js.map +0 -1
  68. package/dist/ast/parser.d.ts +0 -27
  69. package/dist/ast/parser.d.ts.map +0 -1
  70. package/dist/ast/parser.js +0 -273
  71. package/dist/ast/parser.js.map +0 -1
  72. package/dist/canonical/convergence.d.ts +0 -56
  73. package/dist/canonical/convergence.d.ts.map +0 -1
  74. package/dist/canonical/convergence.js +0 -149
  75. package/dist/canonical/convergence.js.map +0 -1
  76. package/dist/canonical/index.d.ts +0 -11
  77. package/dist/canonical/index.d.ts.map +0 -1
  78. package/dist/canonical/index.js +0 -11
  79. package/dist/canonical/index.js.map +0 -1
  80. package/dist/canonical/profiles.d.ts +0 -40
  81. package/dist/canonical/profiles.d.ts.map +0 -1
  82. package/dist/canonical/profiles.js +0 -182
  83. package/dist/canonical/profiles.js.map +0 -1
  84. package/dist/canonical/types.d.ts +0 -124
  85. package/dist/canonical/types.d.ts.map +0 -1
  86. package/dist/canonical/types.js +0 -46
  87. package/dist/canonical/types.js.map +0 -1
  88. package/dist/compare.d.ts +0 -31
  89. package/dist/compare.d.ts.map +0 -1
  90. package/dist/compare.js +0 -354
  91. package/dist/compare.js.map +0 -1
  92. package/dist/context/index.d.ts +0 -41
  93. package/dist/context/index.d.ts.map +0 -1
  94. package/dist/context/index.js +0 -253
  95. package/dist/context/index.js.map +0 -1
  96. package/dist/gates/delta.d.ts +0 -45
  97. package/dist/gates/delta.d.ts.map +0 -1
  98. package/dist/gates/delta.js +0 -260
  99. package/dist/gates/delta.js.map +0 -1
  100. package/dist/gates/index.d.ts +0 -9
  101. package/dist/gates/index.d.ts.map +0 -1
  102. package/dist/gates/index.js +0 -9
  103. package/dist/gates/index.js.map +0 -1
  104. package/dist/gates/types.d.ts +0 -96
  105. package/dist/gates/types.d.ts.map +0 -1
  106. package/dist/gates/types.js +0 -59
  107. package/dist/gates/types.js.map +0 -1
  108. package/dist/graph/call.d.ts +0 -63
  109. package/dist/graph/call.d.ts.map +0 -1
  110. package/dist/graph/call.js +0 -240
  111. package/dist/graph/call.js.map +0 -1
  112. package/dist/graph/dependency.d.ts +0 -52
  113. package/dist/graph/dependency.d.ts.map +0 -1
  114. package/dist/graph/dependency.js +0 -296
  115. package/dist/graph/dependency.js.map +0 -1
  116. package/dist/graph/index.d.ts +0 -3
  117. package/dist/graph/index.d.ts.map +0 -1
  118. package/dist/graph/index.js +0 -3
  119. package/dist/graph/index.js.map +0 -1
  120. package/dist/metrics/cognitive.d.ts +0 -42
  121. package/dist/metrics/cognitive.d.ts.map +0 -1
  122. package/dist/metrics/cognitive.js +0 -204
  123. package/dist/metrics/cognitive.js.map +0 -1
  124. package/dist/metrics/cyclomatic.d.ts +0 -31
  125. package/dist/metrics/cyclomatic.d.ts.map +0 -1
  126. package/dist/metrics/cyclomatic.js +0 -121
  127. package/dist/metrics/cyclomatic.js.map +0 -1
  128. package/dist/metrics/dimensional.d.ts +0 -32
  129. package/dist/metrics/dimensional.d.ts.map +0 -1
  130. package/dist/metrics/dimensional.js +0 -560
  131. package/dist/metrics/dimensional.js.map +0 -1
  132. package/dist/metrics/index.d.ts +0 -26
  133. package/dist/metrics/index.d.ts.map +0 -1
  134. package/dist/metrics/index.js +0 -120
  135. package/dist/metrics/index.js.map +0 -1
  136. package/dist/metrics/meta.d.ts +0 -90
  137. package/dist/metrics/meta.d.ts.map +0 -1
  138. package/dist/metrics/meta.js +0 -144
  139. package/dist/metrics/meta.js.map +0 -1
  140. package/dist/tensor/canonical.d.ts +0 -53
  141. package/dist/tensor/canonical.d.ts.map +0 -1
  142. package/dist/tensor/canonical.js +0 -192
  143. package/dist/tensor/canonical.js.map +0 -1
  144. package/dist/tensor/index.d.ts +0 -22
  145. package/dist/tensor/index.d.ts.map +0 -1
  146. package/dist/tensor/index.js +0 -22
  147. package/dist/tensor/index.js.map +0 -1
  148. package/dist/tensor/matrix.d.ts +0 -62
  149. package/dist/tensor/matrix.d.ts.map +0 -1
  150. package/dist/tensor/matrix.js +0 -187
  151. package/dist/tensor/matrix.js.map +0 -1
  152. package/dist/tensor/scoring.d.ts +0 -82
  153. package/dist/tensor/scoring.d.ts.map +0 -1
  154. package/dist/tensor/scoring.js +0 -233
  155. package/dist/tensor/scoring.js.map +0 -1
  156. package/dist/tensor/types.d.ts +0 -186
  157. package/dist/tensor/types.d.ts.map +0 -1
  158. package/dist/tensor/types.js +0 -15
  159. package/dist/tensor/types.js.map +0 -1
  160. package/dist/types.d.ts +0 -341
  161. package/dist/types.d.ts.map +0 -1
  162. package/dist/types.js +0 -22
  163. package/dist/types.js.map +0 -1
@@ -1,182 +0,0 @@
1
- /**
2
- * 모듈별 정준형 프로파일 정의
3
- *
4
- * 각 모듈 타입의 이상적인 메타 차원 범위를 정의
5
- * P-NP 관점: 모듈 타입이 제약 조건으로 작용하여 탐색 공간 축소
6
- */
7
- // ─────────────────────────────────────────────────────────────────
8
- // 정준형 프로파일 정의
9
- // ─────────────────────────────────────────────────────────────────
10
- /**
11
- * API 모듈 정준형
12
- *
13
- * 경계면 역할: 외부 입력 검증, 무상태, 얇은 레이어
14
- */
15
- const API_PROFILE = {
16
- type: 'api',
17
- ideal: {
18
- security: 'high', // 입력 검증, 인증/인가 집중
19
- context: 'low', // 단순한 라우팅, 최소 로직
20
- behavior: 'low', // 상태 없음, 부작용 최소
21
- },
22
- tolerance: {
23
- security: 5,
24
- context: 3,
25
- behavior: 3,
26
- },
27
- };
28
- /**
29
- * App 모듈 정준형
30
- *
31
- * 응용 로직: 비즈니스 로직 집중, 상태/비동기 허용
32
- */
33
- const APP_PROFILE = {
34
- type: 'app',
35
- ideal: {
36
- security: 'medium', // 내부 검증
37
- context: 'high', // 복잡한 비즈니스 로직 허용
38
- behavior: 'high', // 상태/비동기 허용
39
- },
40
- tolerance: {
41
- security: 5,
42
- context: 10,
43
- behavior: 10,
44
- },
45
- };
46
- /**
47
- * Lib 모듈 정준형
48
- *
49
- * 재사용 라이브러리: 순수 함수, 고응집, 저결합
50
- */
51
- const LIB_PROFILE = {
52
- type: 'lib',
53
- ideal: {
54
- security: 'low', // 외부 의존 최소
55
- context: 'low', // 단순하고 명확한 인터페이스
56
- behavior: 'low', // 순수 함수, 부작용 없음
57
- },
58
- tolerance: {
59
- security: 2,
60
- context: 5,
61
- behavior: 3,
62
- },
63
- };
64
- /**
65
- * Deploy 모듈 정준형
66
- *
67
- * 배포 구성: 선언적, 로직 최소
68
- */
69
- const DEPLOY_PROFILE = {
70
- type: 'deploy',
71
- ideal: {
72
- security: 'high', // 환경 변수, 시크릿 관리
73
- context: 'lowest', // 로직 없음
74
- behavior: 'lowest', // 부작용 없음
75
- },
76
- tolerance: {
77
- security: 3,
78
- context: 1,
79
- behavior: 1,
80
- },
81
- };
82
- /**
83
- * 모든 정준형 프로파일
84
- */
85
- export const CANONICAL_PROFILES = {
86
- api: API_PROFILE,
87
- app: APP_PROFILE,
88
- lib: LIB_PROFILE,
89
- deploy: DEPLOY_PROFILE,
90
- };
91
- // ─────────────────────────────────────────────────────────────────
92
- // 프로파일 유틸리티
93
- // ─────────────────────────────────────────────────────────────────
94
- /**
95
- * 레벨을 수치 범위로 변환
96
- */
97
- export function levelToRange(level) {
98
- const ranges = {
99
- lowest: { min: 0, max: 2 },
100
- low: { min: 0, max: 5 },
101
- medium: { min: 3, max: 10 },
102
- high: { min: 8, max: 20 },
103
- highest: { min: 15, max: Infinity },
104
- };
105
- return ranges[level];
106
- }
107
- /**
108
- * 레벨의 중앙값 반환
109
- */
110
- export function levelToMidpoint(level) {
111
- const range = levelToRange(level);
112
- if (range.max === Infinity) {
113
- return range.min + 10; // 무한대 처리
114
- }
115
- return (range.min + range.max) / 2;
116
- }
117
- /**
118
- * 프로파일의 이상적 메타 차원값 반환
119
- */
120
- export function getIdealMetaDimensions(profile) {
121
- return {
122
- security: levelToMidpoint(profile.ideal.security),
123
- context: levelToMidpoint(profile.ideal.context),
124
- behavior: levelToMidpoint(profile.ideal.behavior),
125
- };
126
- }
127
- /**
128
- * 모듈 타입으로 프로파일 조회
129
- */
130
- export function getProfile(moduleType) {
131
- return CANONICAL_PROFILES[moduleType];
132
- }
133
- /**
134
- * 값이 정준 범위 내에 있는지 확인
135
- */
136
- export function isWithinCanonicalRange(value, level, tolerance = 0) {
137
- const range = levelToRange(level);
138
- return value >= range.min - tolerance && value <= range.max + tolerance;
139
- }
140
- /**
141
- * 메타 차원이 프로파일의 정준 범위 내에 있는지 확인
142
- */
143
- export function isCanonical(meta, profile) {
144
- return (isWithinCanonicalRange(meta.security, profile.ideal.security, profile.tolerance.security) &&
145
- isWithinCanonicalRange(meta.context, profile.ideal.context, profile.tolerance.context) &&
146
- isWithinCanonicalRange(meta.behavior, profile.ideal.behavior, profile.tolerance.behavior));
147
- }
148
- /**
149
- * 모듈 타입 자동 추론 (파일 경로 기반)
150
- */
151
- export function inferModuleType(filePath) {
152
- const path = filePath.toLowerCase();
153
- // deploy 패턴
154
- if (path.includes('/deploy/') ||
155
- path.includes('/infra/') ||
156
- path.includes('/k8s/') ||
157
- path.includes('/helm/') ||
158
- path.includes('/terraform/') ||
159
- path.endsWith('.yaml') ||
160
- path.endsWith('.yml')) {
161
- return 'deploy';
162
- }
163
- // api 패턴
164
- if (path.includes('/api/') ||
165
- path.includes('/routes/') ||
166
- path.includes('/controllers/') ||
167
- path.includes('/handlers/') ||
168
- path.includes('/endpoints/')) {
169
- return 'api';
170
- }
171
- // lib 패턴
172
- if (path.includes('/lib/') ||
173
- path.includes('/utils/') ||
174
- path.includes('/helpers/') ||
175
- path.includes('/common/') ||
176
- path.includes('/shared/')) {
177
- return 'lib';
178
- }
179
- // 기본값: app
180
- return 'app';
181
- }
182
- //# sourceMappingURL=profiles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/canonical/profiles.ts"],"names":[],"mappings":"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"}
@@ -1,124 +0,0 @@
1
- /**
2
- * 정준성(Canonicality) 프레임워크 타입 정의
3
- *
4
- * 햄 샌드위치 정리 기반:
5
- * - 🍞 Security: 구조 안정성
6
- * - 🧀 Context: 맥락 밀도
7
- * - 🥓 Behavior: 행동 보존성
8
- */
9
- /**
10
- * 모듈 타입 정의
11
- *
12
- * 각 타입은 독립된 문제 클래스를 형성하여
13
- * NP-hard → P 환원을 가능하게 함
14
- */
15
- export type ModuleType = 'api' | 'app' | 'lib' | 'deploy';
16
- /**
17
- * 모듈 타입 메타데이터
18
- */
19
- export interface ModuleTypeInfo {
20
- type: ModuleType;
21
- description: string;
22
- characteristics: string[];
23
- }
24
- export declare const MODULE_TYPE_INFO: Record<ModuleType, ModuleTypeInfo>;
25
- /**
26
- * 메타 차원 점수
27
- *
28
- * 기존 5개 차원을 3개 상위 축으로 집계:
29
- * - 🍞 Security: coupling + globalAccess + envDependency
30
- * - 🧀 Context: cognitive + nestingDepth + callbackDepth
31
- * - 🥓 Behavior: state + async + sideEffects
32
- */
33
- export interface MetaDimensions {
34
- /** 🍞 구조 안정성 (Security) */
35
- security: number;
36
- /** 🧀 맥락 밀도 (Context) */
37
- context: number;
38
- /** 🥓 행동 보존성 (Behavior) */
39
- behavior: number;
40
- }
41
- /**
42
- * 메타 차원 가중치
43
- */
44
- export interface MetaWeights {
45
- security: number;
46
- context: number;
47
- behavior: number;
48
- }
49
- export declare const DEFAULT_META_WEIGHTS: MetaWeights;
50
- /**
51
- * 수치 범위
52
- */
53
- export interface Range {
54
- min: number;
55
- max: number;
56
- }
57
- /**
58
- * 정준 레벨
59
- */
60
- export type CanonicalLevel = 'lowest' | 'low' | 'medium' | 'high' | 'highest';
61
- /**
62
- * 레벨별 범위 매핑
63
- */
64
- export declare const LEVEL_RANGES: Record<CanonicalLevel, Range>;
65
- /**
66
- * 모듈별 정준형 프로파일
67
- */
68
- export interface CanonicalProfile {
69
- type: ModuleType;
70
- ideal: {
71
- security: CanonicalLevel;
72
- context: CanonicalLevel;
73
- behavior: CanonicalLevel;
74
- };
75
- tolerance: {
76
- security: number;
77
- context: number;
78
- behavior: number;
79
- };
80
- }
81
- /**
82
- * 3D 벡터 (수렴 방향)
83
- */
84
- export interface Vector3D {
85
- x: number;
86
- y: number;
87
- z: number;
88
- }
89
- /**
90
- * 편차 정보
91
- */
92
- export interface Deviation {
93
- security: number;
94
- context: number;
95
- behavior: number;
96
- /** L2 norm (유클리드 거리) */
97
- total: number;
98
- }
99
- /**
100
- * 수렴 분석 결과
101
- */
102
- export interface ConvergenceResult {
103
- moduleType: ModuleType;
104
- currentState: MetaDimensions;
105
- canonicalState: MetaDimensions;
106
- deviation: Deviation;
107
- convergenceVector: Vector3D;
108
- /** 정준 상태 도달 여부 */
109
- isStable: boolean;
110
- /** 수렴률 (0-1, 1이면 완전 정준) */
111
- convergenceRate: number;
112
- }
113
- /**
114
- * 분석 스냅샷 (특정 시점의 상태)
115
- */
116
- export interface Snapshot {
117
- timestamp: number;
118
- commitHash?: string;
119
- moduleType: ModuleType;
120
- meta: MetaDimensions;
121
- functionCount: number;
122
- totalWeighted: number;
123
- }
124
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/canonical/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,cAAc,CAqB/D,CAAC;AAMF;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,oBAAoB,EAAE,WAIlC,CAAC;AAMF;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,cAAc,EAAE,KAAK,CAMtD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE;QACL,QAAQ,EAAE,cAAc,CAAC;QACzB,OAAO,EAAE,cAAc,CAAC;QACxB,QAAQ,EAAE,cAAc,CAAC;KAC1B,CAAC;IACF,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAMD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,cAAc,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,kBAAkB;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,2BAA2B;IAC3B,eAAe,EAAE,MAAM,CAAC;CACzB;AAMD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB"}
@@ -1,46 +0,0 @@
1
- /**
2
- * 정준성(Canonicality) 프레임워크 타입 정의
3
- *
4
- * 햄 샌드위치 정리 기반:
5
- * - 🍞 Security: 구조 안정성
6
- * - 🧀 Context: 맥락 밀도
7
- * - 🥓 Behavior: 행동 보존성
8
- */
9
- export const MODULE_TYPE_INFO = {
10
- api: {
11
- type: 'api',
12
- description: '경계면 (internal/external)',
13
- characteristics: ['얇은 레이어', '무상태', '검증 집중'],
14
- },
15
- app: {
16
- type: 'app',
17
- description: '응용 로직',
18
- characteristics: ['상태/비동기 허용', '격리됨'],
19
- },
20
- lib: {
21
- type: 'lib',
22
- description: '재사용 라이브러리',
23
- characteristics: ['순수 함수', '고응집', '저결합'],
24
- },
25
- deploy: {
26
- type: 'deploy',
27
- description: '배포 구성',
28
- characteristics: ['선언적', '로직 최소'],
29
- },
30
- };
31
- export const DEFAULT_META_WEIGHTS = {
32
- security: 1.0,
33
- context: 1.0,
34
- behavior: 1.0,
35
- };
36
- /**
37
- * 레벨별 범위 매핑
38
- */
39
- export const LEVEL_RANGES = {
40
- lowest: { min: 0, max: 2 },
41
- low: { min: 0, max: 5 },
42
- medium: { min: 3, max: 10 },
43
- high: { min: 8, max: 20 },
44
- highest: { min: 15, max: Infinity },
45
- };
46
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/canonical/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuBH,MAAM,CAAC,MAAM,gBAAgB,GAAuC;IAClE,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,yBAAyB;QACtC,eAAe,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC;KAC5C;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,OAAO;QACpB,eAAe,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC;KACtC;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,WAAW;QACxB,eAAe,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC;KACzC;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,OAAO;QACpB,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;KAClC;CACF,CAAC;AAgCF,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;CACd,CAAC;AAmBF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAkC;IACzD,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAC1B,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACvB,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IAC3B,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACzB,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;CACpC,CAAC"}
package/dist/compare.d.ts DELETED
@@ -1,31 +0,0 @@
1
- /**
2
- * McCabe 순환복잡도 vs 차원 복잡도 비교 분석기
3
- *
4
- * 사용법:
5
- * npx tsx src/compare.ts <파일경로>
6
- * npx tsx src/compare.ts <파일경로> --json
7
- * npx tsx src/compare.ts <파일경로> --threshold=10
8
- */
9
- import type { DimensionalHotspot } from './types.js';
10
- interface ComparisonResult {
11
- function: string;
12
- location: string;
13
- mccabe: number;
14
- mccabeGrade: 'low' | 'moderate' | 'high' | 'very-high';
15
- cognitive: number;
16
- cognitiveGrade: 'low' | 'moderate' | 'high' | 'very-high';
17
- dimensional: {
18
- weighted: number;
19
- control: number;
20
- nesting: number;
21
- state: number;
22
- async: number;
23
- coupling: number;
24
- };
25
- insights: string[];
26
- hotspots: DimensionalHotspot[];
27
- dimensionalRatio: number;
28
- }
29
- export declare function analyzeFile(filePath: string): ComparisonResult[];
30
- export {};
31
- //# sourceMappingURL=compare.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../src/compare.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EAA4B,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAM/E,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;IAGvD,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;IAG1D,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAGF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAG/B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAsID,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAmDhE"}