purity-mcp 2.0.0 → 2.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.
package/README.md CHANGED
@@ -26,7 +26,7 @@ This server bridges your AI development environments (**Claude Desktop**, **Curs
26
26
  | 🎨 **Resources** | `purity://catalog/*` | Live catalog of all UI components (`switch-button`, `modal-view`, `expander`, `popover`, etc.). |
27
27
  | 📋 **Resources** | `purity://templates/*` | Dynamic starter templates for any Purity construct. |
28
28
  | 💬 **Prompts** | `purity-create-component` | Guided workflow to design and implement production-ready Purity Custom Elements. |
29
- | 💬 **Prompts** | `purity-review-code` | 10-point architectural and quality audit prompt. |
29
+ | 💬 **Prompts** | `purity-review-code` | 12-point architectural and quality audit prompt. |
30
30
  | 💬 **Prompts** | `purity-migrate-component`| Seamless migration prompt from React / Angular / Vue to Purity. |
31
31
  | 💬 **Prompts** | `purity-debug-reactivity` | Reactivity troubleshooter diagnosing signal access, untracked dependencies, and effect loops. |
32
32
 
@@ -158,11 +158,21 @@ Generates complete, production-ready Purity boilerplate files adhering to all ar
158
158
  ---
159
159
 
160
160
  ### `purity_validate`
161
- Audits TypeScript, HTML, or SCSS against Purity's 10 non-negotiable rules:
161
+ Audits TypeScript, HTML, or SCSS against Purity's 12 non-negotiable rules:
162
162
  - **`code`** *(optional)*: Raw code string to validate
163
163
  - **`filePath`** *(optional)*: Path to file on disk to validate
164
164
  - **`fileName`** *(optional)*: Virtual filename (e.g. `'my.component.ts'`, `'card.component.scss'`)
165
165
 
166
+ *Checks Include:*
167
+ - Synchronous signals (`.set()`, `.update()`, no direct `.value` assignment)
168
+ - Strictly zero imports from RxJS, Redux, Zustand, MobX
169
+ - Mandatory path aliases (no `../` relative traversal)
170
+ - Zero inline `style="..."` attributes (modular SCSS with `@use '@styles' as *;`)
171
+ - Adwaita design tokens and KDE Breeze cursor tokens
172
+ - No foreign templates or lifecycle hooks
173
+ - **Prohibition of native event listeners and dispatching** (`addEventListener`, `removeEventListener`, `dispatchEvent`, `CustomEvent`) — communication must use signals/effects (nested) or `@Injectable` services (distant)
174
+ - **Prohibition of query selectors** (`querySelector`, `querySelectorAll`, `getElementById`, etc.) — `@ViewChild` decorators are mandatory
175
+
166
176
  *Returns:*
167
177
  - Numerical score (0 to 100)
168
178
  - Validation status (`valid: true/false`)
@@ -222,7 +232,7 @@ Connect to these resources in your MCP client:
222
232
  Invoke these prompts in your AI chat:
223
233
 
224
234
  - **`purity-create-component`**: Guides the AI step-by-step in generating an end-to-end Purity Custom Element with signals, templates, SCSS, and unit tests.
225
- - **`purity-review-code`**: Directs the AI to run a rigorous 10-point compliance audit against Purity rules.
235
+ - **`purity-review-code`**: Directs the AI to run a rigorous 12-point compliance audit against Purity rules (signals, lifecycle, `@ViewChild`, no querySelector, no native addEventListener/dispatchEvent, Adwaita tokens, Breeze cursors).
226
236
  - **`purity-migrate-component`**: Instructs the AI to migrate React, Angular, or Vue components into Purity Custom Elements.
227
237
  - **`purity-debug-reactivity`**: Directs the AI to analyze reactivity bugs (signal subscriptions, untracked dependencies, effect loops).
228
238
 
@@ -1 +1 @@
1
- {"version":3,"file":"documentation.d.ts","sourceRoot":"","sources":["../../src/data/documentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CA4nBpD,CAAC"}
1
+ {"version":3,"file":"documentation.d.ts","sourceRoot":"","sources":["../../src/data/documentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAooBpD,CAAC"}
@@ -77,8 +77,14 @@ Components in Purity are standard TypeScript classes decorated with \`@Component
77
77
  - \`protected onDestroy(): void\`: Invoked when element is removed from DOM.
78
78
  - \`disconnectedCallback(): void\`: Native custom element cleanup.
79
79
 
80
- ## Queries
81
- - \`@ViewChild(selector?: string)\`: Injects reference to child custom element or DOM element. Inferred from property name if selector is omitted.`,
80
+ ## Queries & Child Elements
81
+ - \`@ViewChild(selector?: string)\`: Injects reference to child custom element or DOM element. Inferred from property name if selector is omitted.
82
+ - **NEVER use query selectors**: Direct DOM queries (\`querySelector\`, \`querySelectorAll\`, \`getElementById\`, etc.) are strictly prohibited. Always use \`@ViewChild\`.
83
+
84
+ ## Component Communication & Events
85
+ - **NEVER use native event listeners / dispatch**: Native \`addEventListener\`, \`removeEventListener\`, \`dispatchEvent\`, and \`CustomEvent\` are strictly prohibited.
86
+ - **Nested Components (Parent-Child)**: Use synchronous \`signal()\` and \`effect()\`. Parents synchronize or mutate signals directly on child instances queried via \`@ViewChild()\`, or pass signals via template bindings.
87
+ - **Distant / Non-Nested Components**: Use a shared \`@Injectable\` service variant with signals and effects injected via \`inject()\`.`,
82
88
  examples: [
83
89
  `import { Component, signal, ViewChild } from '@purity/core';
84
90
  import { SwitchButtonComponent } from '@components/switch-button/switch-button.component';
@@ -588,7 +594,7 @@ describe('Signal Reactivity', () => {
588
594
  rules: {
589
595
  topic: 'rules',
590
596
  title: 'Architectural Rules & Quality Checklist',
591
- summary: '10 non-negotiable rules for all AI agents and developers working in Purity.',
597
+ summary: '12 non-negotiable rules for all AI agents and developers working in Purity.',
592
598
  content: `# Purity Non-Negotiable Rules
593
599
 
594
600
  1. **Signals**: Use \`signal()\`, \`computed()\`, \`effect()\`, \`untrack()\`. Never use external state libraries.
@@ -600,7 +606,9 @@ describe('Signal Reactivity', () => {
600
606
  7. **Styles**: Always \`@use '@styles' as *;\`. NEVER use inline \`style="..."\` in templates.
601
607
  8. **Cursors**: Use Breeze tokens: \`var(--cursor-pointer)\`, \`var(--cursor-default)\`, etc.
602
608
  9. **Confidential Reference**: NEVER output "GNOME 50" to user-facing UI or copy. Publicly describe as "Adwaita".
603
- 10. **Testing**: Colocate tests as \`*.spec.ts\` and run with \`npm test\`.`,
609
+ 10. **Testing**: Colocate tests as \`*.spec.ts\` and run with \`npm test\`.
610
+ 11. **No Native Event Listeners / Dispatch**: Nowhere should native \`addEventListener\`, \`removeEventListener\`, \`dispatchEvent\`, or custom events be used. For events between nested components, use signals and effects. If components are far away and not nested, an \`@Injectable\` service variant shall do the job.
611
+ 12. **No Query Selectors (@ViewChild Mandatory)**: Nowhere should DOM query selectors (\`querySelector\`, \`querySelectorAll\`, \`getElementById\`, etc.) be used. Instead of query selectors, \`@ViewChild\` decorators MUST be used.`,
604
612
  examples: [
605
613
  `// COMPLIANT:
606
614
  import { Component, signal } from '@purity/core';
@@ -1 +1 @@
1
- {"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../src/data/documentation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../src/data/documentation.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,aAAa,GAA+B;IACvD,QAAQ,EAAE;QACR,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,2BAA2B;QAClC,OAAO,EAAE,oHAAoH;QAC7H,OAAO,EAAE;;;;;;;;;;iIAUoH;QAC7H,QAAQ,EAAE;YACR;;;;;;IAMF;SACC;KACF;IAED,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,+BAA+B;QACtC,OAAO,EAAE,2EAA2E;QACpF,OAAO,EAAE;;;;;;;;;;;;;yDAa4C;QACrD,QAAQ,EAAE;YACR;;;;;;;;;;;;;oDAa8C;SAC/C;KACF;IAED,UAAU,EAAE;QACV,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,qCAAqC;QAC5C,OAAO,EAAE,+FAA+F;QACxG,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;wIAqB2H;QACpI,QAAQ,EAAE;YACR;;;;;;;;;;;;;;;;;;;;EAoBJ;SACG;KACF;IAED,SAAS,EAAE;QACT,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,mCAAmC;QAC1C,OAAO,EAAE,oEAAoE;QAC7E,OAAO,EAAE;;;;;;;;;oHASuG;QAChH,QAAQ,EAAE;YACR;;;;OAIC;SACF;KACF;IAED,SAAS,EAAE;QACT,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,+CAA+C;QACtD,OAAO,EAAE,6EAA6E;QACtF,OAAO,EAAE;;;;;;;;;;;;qEAYwD;QACjE,QAAQ,EAAE;YACR;;;;;;;;;YASM;SACP;KACF;IAED,aAAa,EAAE;QACb,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,oCAAoC;QAC3C,OAAO,EAAE,iEAAiE;QAC1E,OAAO,EAAE;;;;;;;;;;;kHAWqG;QAC9G,QAAQ,EAAE;YACR;;;;;;;;OAQC;SACF;KACF;IAED,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,6CAA6C;QACpD,OAAO,EAAE,2EAA2E;QACpF,OAAO,EAAE;;;;;;;;uLAQ0K;QACnL,QAAQ,EAAE;YACR;;;;;;;;OAQC;SACF;KACF;IAED,KAAK,EAAE;QACL,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,6BAA6B;QACpC,OAAO,EAAE,8DAA8D;QACvE,OAAO,EAAE;;;;;;;mEAOsD;QAC/D,QAAQ,EAAE;YACR;;;;;;;;;;aAUO;SACR;KACF;IAED,EAAE,EAAE;QACF,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,6CAA6C;QACpD,OAAO,EAAE,4DAA4D;QACrE,OAAO,EAAE;;;;;;;6DAOgD;QACzD,QAAQ,EAAE;YACR;;;;;;;;;;;;;;EAcJ;SACG;KACF;IAED,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,oCAAoC;QAC3C,OAAO,EAAE,0EAA0E;QACnF,OAAO,EAAE;;;;;;;;;mFASsE;QAC/E,QAAQ,EAAE;YACR;;;;;;;;EAQJ;SACG;KACF;IAED,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,+BAA+B;QACtC,OAAO,EAAE,uDAAuD;QAChE,OAAO,EAAE;;;;;;;0CAO6B;QACtC,QAAQ,EAAE;YACR;;;;;;;;;EASJ;SACG;KACF;IAED,KAAK,EAAE;QACL,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,oCAAoC;QAC3C,OAAO,EAAE,2CAA2C;QACpD,OAAO,EAAE;;;;;;;;8CAQiC;QAC1C,QAAQ,EAAE;YACR;;;;;;;;EAQJ;SACG;KACF;IAED,UAAU,EAAE;QACV,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,gDAAgD;QACvD,OAAO,EAAE,kDAAkD;QAC3D,OAAO,EAAE;;;;;;;0FAO6E;QACtF,QAAQ,EAAE;YACR;;;;;;;;;;;EAWJ;SACG;KACF;IAED,UAAU,EAAE;QACV,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,wCAAwC;QAC/C,OAAO,EAAE,6EAA6E;QACtF,OAAO,EAAE;;;;;;;;0DAQ6C;QACtD,QAAQ,EAAE;YACR;;;;;;;;;qDAS+C;SAChD;KACF;IAED,SAAS,EAAE;QACT,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,qCAAqC;QAC5C,OAAO,EAAE,8EAA8E;QACvF,OAAO,EAAE;;;;;;;mFAOsE;QAC/E,QAAQ,EAAE;YACR;;;;;;;;;;;;;;EAcJ;SACG;KACF;IAED,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,iCAAiC;QACxC,OAAO,EAAE,kEAAkE;QAC3E,OAAO,EAAE;;;;;;;;yCAQ4B;QACrC,QAAQ,EAAE;YACR;;;;;GAKH;SACE;KACF;IAED,GAAG,EAAE;QACH,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,0CAA0C;QACjD,OAAO,EAAE,0EAA0E;QACnF,OAAO,EAAE;;;;;;;;;qEASwD;QACjE,QAAQ,EAAE;YACR;;;;;;;;;EASJ;SACG;KACF;IAED,eAAe,EAAE;QACf,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,oCAAoC;QAC3C,OAAO,EAAE,0EAA0E;QACnF,OAAO,EAAE;;;;;;;;;;;;;;;;;iNAiBoM;QAC7M,QAAQ,EAAE;YACR;;;;;;;;EAQJ;SACG;KACF;IAED,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,iCAAiC;QACxC,OAAO,EAAE,2DAA2D;QACpE,OAAO,EAAE;;;;;;;;;;;wFAW2E;QACpF,QAAQ,EAAE;YACR;;;;;;;;;EASJ;SACG;KACF;IAED,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,2BAA2B;QAClC,OAAO,EAAE,qEAAqE;QAC9E,OAAO,EAAE;;;;;;;yFAO4E;QACrF,QAAQ,EAAE;YACR;;;;;;;;EAQJ;SACG;KACF;IAED,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,wCAAwC;QAC/C,OAAO,EAAE,yEAAyE;QAClF,OAAO,EAAE;;;;;;;;2CAQ8B;QACvC,QAAQ,EAAE;YACR;;;;;;;;;IASF;SACC;KACF;IAED,KAAK,EAAE;QACL,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,yCAAyC;QAChD,OAAO,EAAE,6EAA6E;QACtF,OAAO,EAAE;;;;;;;;;;;;;uOAa0N;QACnO,QAAQ,EAAE;YACR;;;;;;;;EAQJ;SACG;KACF;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiLvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyLvD"}
@@ -17,6 +17,10 @@ ${hasInputs ? `3. Inputs/Attributes: ${hasInputs}` : ''}
17
17
  - Decorated with \`@Component({ selector: '${name}', templateUrl: './${name}.component.html' })\`.
18
18
  - Reactive state managed solely via synchronous \`signal()\`, \`computed()\`, and \`effect()\` from \`@purity/core\`.
19
19
  - All methods mutate state with \`.set()\` or \`.update()\`.
20
+ - NEVER use native \`addEventListener\`, \`removeEventListener\`, \`dispatchEvent\`, or \`CustomEvent\`.
21
+ - For events and state communication between nested components (parent/child), use signals and effects.
22
+ - For events and state communication between non-nested or distant components, use a shared \`@Injectable\` service variant with signals/effects.
23
+ - NEVER use query selectors (\`querySelector\`, \`querySelectorAll\`, \`getElementById\`, etc.). ALWAYS use \`@ViewChild\` decorators instead to reference child elements or components.
20
24
  - External template inlined synchronously at build time with Vite (\`?raw\`).
21
25
  - If iterating arrays, use structural repeater \`for="let item of items"\` or \`virtual-for\` if high volume.
22
26
  - If using conditionals, use \`if="expr"\`, \`else-if="expr"\`, \`else\`.
@@ -44,7 +48,7 @@ Please generate the complete, production-ready code files for:
44
48
  };
45
49
  });
46
50
  // Prompt 2: Review Code
47
- server.prompt('purity-review-code', 'Perform a comprehensive 10-point architectural audit of Purity code', {
51
+ server.prompt('purity-review-code', 'Perform a comprehensive 12-point architectural audit of Purity code', {
48
52
  code: z.string().describe('The TypeScript, HTML, or SCSS code to audit'),
49
53
  fileName: z.string().optional().describe('File name with extension (e.g. "user.component.ts")'),
50
54
  }, async ({ code, fileName }) => {
@@ -54,7 +58,7 @@ Please generate the complete, production-ready code files for:
54
58
  ${code}
55
59
  \`\`\`
56
60
 
57
- Audit against the 10 Non-Negotiable Purity Framework Rules:
61
+ Audit against the 12 Non-Negotiable Purity Framework Rules:
58
62
  1. **Reactivity**: Are signals mutated via \`.set()\` or \`.update()\`? (NEVER \`signal = val\` or \`signal.value = val\`).
59
63
  2. **Read Syntax**: Are signals invoked as functions in expressions (\`mySignal()\`)?
60
64
  3. **No External State**: Zero imports from RxJS, Redux, Zustand, MobX.
@@ -65,6 +69,8 @@ Audit against the 10 Non-Negotiable Purity Framework Rules:
65
69
  8. **Design System Leakage**: Does the code contain the internal string "GNOME 50"? (Must use "Adwaita" publicly).
66
70
  9. **Breeze Cursors & Tokens**: Are KDE Breeze cursor tokens and Adwaita corner radii used?
67
71
  10. **Template Directives**: Are repeaters \`for="let item of items"\` and conditionals \`if="expr"\` instead of Angular/Vue directives?
72
+ 11. **No Native Event Listeners / Dispatching**: Are native \`addEventListener\`, \`removeEventListener\`, \`dispatchEvent\`, or \`CustomEvent\` used? (Forbidden! Events between nested components must use signals and effects; distant/non-nested components must use a shared \`@Injectable\` service).
73
+ 12. **No Query Selectors (@ViewChild Mandatory)**: Are direct DOM query selectors (\`querySelector\`, \`querySelectorAll\`, \`getElementById\`, etc.) used? (Forbidden! Always use \`@ViewChild\` decorators to reference child components or elements).
68
74
 
69
75
  Provide a structured report listing:
70
76
  - Status (PASS / FAIL)
@@ -97,6 +103,8 @@ ${sourceCode}
97
103
 
98
104
  ### Conversion Directives:
99
105
  - Convert state hooks / ref / properties to Purity \`signal()\`, \`computed()\`, or \`effect()\`.
106
+ - Replace native event listeners / dispatching with signals and effects (nested components) or an \`@Injectable\` service (distant components).
107
+ - Replace DOM query selectors (\`querySelector\`, \`getElementById\`, \`useRef\`) with Purity's \`@ViewChild\` decorator. NEVER use \`querySelector\`.
100
108
  - Separate code into:
101
109
  1. \`${componentName}.component.ts\` (\`@Component({ selector: '${componentName}', templateUrl: './${componentName}.component.html' })\`)
102
110
  2. \`${componentName}.component.html\` (Purity Handlebars bindings, \`for="let item of items"\`, \`if="expr"\`, slots)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,6BAA6B;IAC7B,MAAM,CAAC,MAAM,CACX,yBAAyB,EACzB,sGAAsG,EACtG;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;QACvF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;QAC7F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;KAC9F,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE;QACzC,MAAM,UAAU,GAAG;;;sBAGH,IAAI;mBACP,WAAW;EAC5B,SAAS,CAAC,CAAC,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;;;6CAGV,IAAI,sBAAsB,IAAI;;;;;;;;;;6BAU9C,IAAI;;;;8CAIa,IAAI;;;OAG3C,IAAI;OACJ,IAAI;OACJ,IAAI;OACJ,IAAI,sBAAsB,CAAC;QAE5B,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,wBAAwB;IACxB,MAAM,CAAC,MAAM,CACX,oBAAoB,EACpB,qEAAqE,EACrE;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QACxE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;KAChG,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC3B,MAAM,UAAU,GAAG,iFAAiF,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE;;;EAG3I,IAAI;;;;;;;;;;;;;;;;;;;;4DAoBsD,CAAC;QAEvD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,8BAA8B;IAC9B,MAAM,CAAC,MAAM,CACX,0BAA0B,EAC1B,yFAAyF,EACzF;QACE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACjF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACnE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;KACjF,EACD,KAAK,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,yBAAyB,eAAe,CAAC,WAAW,EAAE,8DAA8D,aAAa;;mBAEvI,eAAe;;EAEhC,UAAU;;;;;;;;SAQH,aAAa,8CAA8C,aAAa,sBAAsB,aAAa;SAC3G,aAAa;SACb,aAAa;SACb,aAAa;qCACe,CAAC;QAEhC,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,6BAA6B;IAC7B,MAAM,CAAC,MAAM,CACX,yBAAyB,EACzB,qFAAqF,EACrF;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;QACpF,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uFAAuF,CAAC;KAC/H,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE;QACnC,MAAM,UAAU,GAAG;;;EAGvB,gBAAgB;;;;EAIhB,IAAI;;;;;;;;;+DASyD,CAAC;QAE1D,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;AAMtF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0MzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;AAMtF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyOzD"}
@@ -89,6 +89,37 @@ export class DataService {
89
89
  getData() { return this.http.get('/api/items'); }
90
90
  }
91
91
  \`\`\`
92
+
93
+ ## 6. Component Communication & @ViewChild (No Query Selectors or Native Events)
94
+ \`\`\`typescript
95
+ import { Component, signal, effect, ViewChild, inject } from '@purity/core';
96
+ import { SharedStateService } from '@data/shared-state.service';
97
+ import { ChildWidgetComponent } from '@components/child-widget/child-widget.component';
98
+
99
+ @Component({ selector: 'parent-widget', templateUrl: './parent-widget.component.html' })
100
+ export class ParentWidgetComponent {
101
+ // Query child elements/components via @ViewChild (NEVER use querySelector)
102
+ @ViewChild()
103
+ childWidget?: ChildWidgetComponent;
104
+
105
+ // Distant / Non-Nested component communication: Shared @Injectable Service
106
+ sharedState = inject(SharedStateService);
107
+
108
+ // Nested component communication: Signals and Effects
109
+ protected onInit(): void {
110
+ effect(() => {
111
+ if (this.childWidget) {
112
+ this.childWidget.status.set(this.sharedState.currentStatus());
113
+ }
114
+ });
115
+ }
116
+ }
117
+ \`\`\`
118
+ **Mandatory Architectural Rules**:
119
+ - NEVER use native \`addEventListener\`, \`removeEventListener\`, \`dispatchEvent\`, or \`CustomEvent\`.
120
+ - For events/communication between **nested components**: Use **signals and effects**.
121
+ - For events/communication between **distant / non-nested components**: Use a shared **\`@Injectable\` service variant**.
122
+ - NEVER use DOM query selectors (\`querySelector\`, \`querySelectorAll\`, \`getElementById\`, etc.): ALWAYS use **\`@ViewChild\` decorators**.
92
123
  `;
93
124
  return {
94
125
  contents: [
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"code-analyzer.d.ts","sourceRoot":"","sources":["../../src/utils/code-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEhE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAe,GACtB,gBAAgB,CAsSlB"}
1
+ {"version":3,"file":"code-analyzer.d.ts","sourceRoot":"","sources":["../../src/utils/code-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEhE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAe,GACtB,gBAAgB,CA6UlB"}
@@ -4,6 +4,9 @@ export function analyzePurityCode(code, fileName = 'unknown.ts') {
4
4
  const isScss = fileName.endsWith('.scss');
5
5
  const isHtml = fileName.endsWith('.html');
6
6
  const isTs = fileName.endsWith('.ts');
7
+ const isSpec = fileName.endsWith('.spec.ts') || fileName.endsWith('.test.ts');
8
+ const isBehavior = fileName.includes('.behavior.') || fileName.includes('/behaviors/');
9
+ const isFrameworkInternal = fileName.includes('src/framework/');
7
10
  // Rule 1: No relative parent imports (../) in TS/SCSS
8
11
  if (isTs || isScss) {
9
12
  lines.forEach((line, index) => {
@@ -241,6 +244,42 @@ export function analyzePurityCode(code, fileName = 'unknown.ts') {
241
244
  }
242
245
  });
243
246
  }
247
+ // Rule 12: No native DOM event listeners or event dispatching (use signals/effects for nested, service for distant)
248
+ if (isTs && !isSpec && !isBehavior && !isFrameworkInternal) {
249
+ lines.forEach((line, index) => {
250
+ const isComment = line.trim().startsWith('//') || line.trim().startsWith('*') || line.trim().startsWith('/*');
251
+ if (isComment)
252
+ return;
253
+ if (line.match(/\b(addEventListener|removeEventListener|dispatchEvent|CustomEvent)\b/)) {
254
+ issues.push({
255
+ rule: 'no-native-event-listeners',
256
+ severity: 'error',
257
+ line: index + 1,
258
+ message: 'Native DOM event listeners (`addEventListener`/`removeEventListener`) and event dispatching (`dispatchEvent`/`CustomEvent`) are prohibited.',
259
+ codeSnippet: line.trim(),
260
+ suggestion: 'For events/communication between nested components, use signals and effects. For non-nested/distant components, use a shared @Injectable service variant with signals/effects.',
261
+ });
262
+ }
263
+ });
264
+ }
265
+ // Rule 13: No DOM query selectors (use @ViewChild decorators instead)
266
+ if (isTs && !isSpec && !isBehavior && !isFrameworkInternal) {
267
+ lines.forEach((line, index) => {
268
+ const isComment = line.trim().startsWith('//') || line.trim().startsWith('*') || line.trim().startsWith('/*');
269
+ if (isComment)
270
+ return;
271
+ if (line.match(/\b(querySelector|querySelectorAll|getElementById|getElementsByClassName|getElementsByTagName)\s*\(/)) {
272
+ issues.push({
273
+ rule: 'no-query-selectors',
274
+ severity: 'error',
275
+ line: index + 1,
276
+ message: 'Direct DOM query selectors (`querySelector`, `querySelectorAll`, `getElementById`, etc.) are prohibited.',
277
+ codeSnippet: line.trim(),
278
+ suggestion: "Use '@ViewChild' decorators instead of query selectors to reference child components or DOM elements.",
279
+ });
280
+ }
281
+ });
282
+ }
244
283
  // Calculate score and summary
245
284
  const errorCount = issues.filter(i => i.severity === 'error').length;
246
285
  const warningCount = issues.filter(i => i.severity === 'warning').length;
@@ -1 +1 @@
1
- {"version":3,"file":"code-analyzer.js","sourceRoot":"","sources":["../../src/utils/code-analyzer.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,QAAQ,GAAG,YAAY;IAEvB,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtC,sDAAsD;IACtD,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAChE,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,4BAA4B;oBAClC,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,+EAA+E;oBACxF,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,yFAAyF;iBACtG,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAA6C;IAC7C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC1D,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,kBAAkB;oBACxB,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,oEAAoE;oBAC7E,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,wEAAwE;oBACpF,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC;iBACvD,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,8CAA8C;QAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAAE,OAAO;QACxF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,4BAA4B;gBAClC,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,KAAK,GAAG,CAAC;gBACf,OAAO,EAAE,sGAAsG;gBAC/G,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;gBACxB,UAAU,EAAE,kEAAkE;gBAC9E,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC;aAC7C,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oEAAoE;IACpE,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,oDAAoD;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC5D,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrG,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,wBAAwB;oBAC9B,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,qDAAqD,SAAS,CAAC,CAAC,CAAC,IAAI;oBAC9E,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,oCAAoC,SAAS,CAAC,CAAC,CAAC,qBAAqB,SAAS,CAAC,CAAC,CAAC,eAAe;oBAC5G,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG;iBAC3E,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAyC;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC3F,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,4BAA4B;gBAClC,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE,8DAA8D;gBACvE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3B,UAAU,EAAE,8DAA8D;gBAC1E,GAAG,EAAE,0BAA0B,GAAG,IAAI;aACvC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,0BAA0B;oBAChC,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,mCAAmC;oBAC5C,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,+EAA+E;iBAC5F,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,sBAAsB;oBAC5B,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,8BAA8B;oBACvC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,+EAA+E;iBAC5F,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,6BAA6B;oBACnC,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,kCAAkC;oBAC3C,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,0DAA0D;iBACvE,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,yBAAyB;oBAC/B,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,6BAA6B;oBACtC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,0DAA0D;iBACvE,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yDAAyD;IACzD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,uBAAuB;oBAC7B,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,oCAAoC;oBAC7C,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,8DAA8D;iBAC3E,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,uBAAuB;oBAC7B,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,+BAA+B;oBACxC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,8DAA8D;iBAC3E,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACnG,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,yBAAyB;oBAC/B,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,2BAA2B,KAAK,CAAC,CAAC,CAAC,4BAA4B;oBACxE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,sGAAsG;iBACnH,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iEAAiE;IACjE,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,wBAAwB;oBAC9B,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,mCAAmC;oBAC5C,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,kDAAkD;iBAC/D,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,wBAAwB;oBAC9B,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,0CAA0C;oBACnD,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,kDAAkD;iBAC/D,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,wBAAwB;oBAC9B,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,sCAAsC;oBAC/C,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,qDAAqD;iBAClE,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,sBAAsB;oBAC5B,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,uCAAuC;oBAChD,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,gFAAgF;oBAC5F,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,yCAAyC,CAAC;iBACjF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,sBAAsB;oBAC5B,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,oCAAoC;oBAC7C,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;oBACxB,UAAU,EAAE,0EAA0E;oBACtF,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,mCAAmC,CAAC;iBACxE,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8BAA8B;IAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACrE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACzE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAEnE,IAAI,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,EAAE,GAAG,YAAY,GAAG,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC;IACtE,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,GAAG,CAAC,CAAC;IAEzB,MAAM,KAAK,GAAG,UAAU,KAAK,CAAC,CAAC;IAE/B,kCAAkC;IAClC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,WAAW,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAClD,WAAW,CAAC,IAAI,CAAC,sBAAsB,QAAQ,IAAI,CAAC,CAAC;IACrD,WAAW,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,iBAAiB,KAAK,MAAM,CAAC,CAAC;IAC7F,WAAW,CAAC,IAAI,CAAC,gBAAgB,UAAU,YAAY,YAAY,cAAc,SAAS,gBAAgB,CAAC,CAAC;IAE5G,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,WAAW,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;IAC3H,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QAC1E,WAAW,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YAChH,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YACpD,WAAW,CAAC,IAAI,CAAC,KAAK,OAAO,MAAM,KAAK,QAAQ,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,OAAO,UAAU,KAAK,CAAC,UAAU,KAAK,CAAC,CAAC;QACpH,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK;QACL,KAAK;QACL,MAAM;QACN,OAAO,EAAE;YACP,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,SAAS;SACjB;QACD,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;KACxC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"code-analyzer.js","sourceRoot":"","sources":["../../src/utils/code-analyzer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "purity-mcp",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Official Model Context Protocol (MCP) server for the Purity framework - Supercharging AI-assisted development with scaffolding, code validation, component inspection, API documentation, and template conversion",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",