@uicontract/parser-vue 0.1.0 → 0.2.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
@@ -37,9 +37,9 @@ Discovered element types: `button`, `a` (link), `input`, `select`, `textarea`, `
37
37
 
38
38
  Targets Vue 3 and Nuxt projects. Unexpected syntax produces a `warning` entry rather than throwing, so partial results are always returned.
39
39
 
40
- ## Part of UIC
40
+ ## Part of UI Contracts
41
41
 
42
- This package is part of [UIC (UI Contracts)](https://github.com/sherifkozman/uicontract) making web app UIs machine-readable.
42
+ This package is part of [UI Contracts](https://github.com/sherifkozman/uicontract) - making web app UIs machine-readable.
43
43
 
44
44
  ## License
45
45
 
@@ -64,7 +64,7 @@ export function extractLabel(node) {
64
64
  textParts.push(trimmed);
65
65
  }
66
66
  else if (child.type === 5) {
67
- // InterpolationNode {{ expr }} skip dynamic content
67
+ // InterpolationNode {{ expr }} - skip dynamic content
68
68
  }
69
69
  }
70
70
  if (textParts.length > 0) {
@@ -102,12 +102,12 @@ export function extractHandler(node) {
102
102
  if (/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(content)) {
103
103
  return content;
104
104
  }
105
- // Member expression: obj.method extract last part
105
+ // Member expression: obj.method - extract last part
106
106
  const dotMatch = /\.([a-zA-Z_$][a-zA-Z0-9_$]*)$/.exec(content);
107
107
  if (dotMatch?.[1]) {
108
108
  return dotMatch[1];
109
109
  }
110
- // Call expression: handleClick() extract function name
110
+ // Call expression: handleClick() - extract function name
111
111
  const callMatch = /^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/.exec(content);
112
112
  if (callMatch?.[1]) {
113
113
  return callMatch[1];
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
- * @uicontract/parser-vue Vue/Nuxt parser for UIC.
2
+ * @uicontract/parser-vue - Vue/Nuxt parser for UIC.
3
3
  * Implements the Parser interface from @uicontract/core.
4
4
  */
5
5
  import type { Parser, DiscoveryResult, ParserOptions } from '@uicontract/core';
6
- export declare const VERSION = "0.0.0";
6
+ export declare const VERSION = "0.2.1";
7
7
  /** The Vue/Nuxt parser implementation. */
8
8
  export declare class VueParser implements Parser {
9
9
  readonly framework = "vue";
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @uicontract/parser-vue Vue/Nuxt parser for UIC.
2
+ * @uicontract/parser-vue - Vue/Nuxt parser for UIC.
3
3
  * Implements the Parser interface from @uicontract/core.
4
4
  */
5
5
  import * as fs from 'node:fs/promises';
6
6
  import * as path from 'node:path';
7
7
  import { discoverFiles } from './file-discovery.js';
8
8
  import { parseVueFile } from './sfc-visitor.js';
9
- export const VERSION = '0.0.0';
9
+ export const VERSION = '0.2.1';
10
10
  /** Detect whether a directory likely contains a Vue project. */
11
11
  async function detectVue(dir) {
12
12
  // Check for package.json with vue or nuxt dependency
@@ -29,7 +29,7 @@ async function detectVue(dir) {
29
29
  return true;
30
30
  }
31
31
  catch {
32
- // No package.json or unreadable fall through to file check
32
+ // No package.json or unreadable - fall through to file check
33
33
  }
34
34
  // Fallback: any .vue file present
35
35
  try {
@@ -110,6 +110,7 @@ function processElement(node, elements, filePath, componentName, route, lineOffs
110
110
  attributes: extractDataAttributes(node),
111
111
  conditional: isConditional(node, ancestors),
112
112
  dynamic: isDynamic(ancestors),
113
+ directive: null, // Vue SFCs don't use RSC directives
113
114
  });
114
115
  }
115
116
  //# sourceMappingURL=sfc-visitor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sfc-visitor.js","sourceRoot":"","sources":["../src/sfc-visitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sfc-visitor.js","sourceRoot":"","sources":["../src/sfc-visitor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uicontract/parser-vue",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Vue and Nuxt parser for discovering interactive UI elements",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -43,7 +43,7 @@
43
43
  ],
44
44
  "dependencies": {
45
45
  "@vue/compiler-dom": "^3.5.0",
46
- "@uicontract/core": "0.1.0"
46
+ "@uicontract/core": "0.2.1"
47
47
  },
48
48
  "scripts": {
49
49
  "build": "tsc -b",