@immense/vue-pom-generator 1.0.59 → 1.0.61

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 (40) hide show
  1. package/README.md +38 -7
  2. package/RELEASE_NOTES.md +28 -72
  3. package/class-generation/base-page.ts +43 -12
  4. package/class-generation/index.ts +19 -18
  5. package/dist/accessibility-audit.d.ts +20 -0
  6. package/dist/accessibility-audit.d.ts.map +1 -0
  7. package/dist/class-generation/base-page.d.ts +7 -4
  8. package/dist/class-generation/base-page.d.ts.map +1 -1
  9. package/dist/class-generation/index.d.ts.map +1 -1
  10. package/dist/compiler-metadata-utils.d.ts.map +1 -1
  11. package/dist/index.cjs +451 -84
  12. package/dist/index.cjs.map +1 -1
  13. package/dist/index.mjs +451 -84
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/manifest-generator.d.ts +37 -1
  16. package/dist/manifest-generator.d.ts.map +1 -1
  17. package/dist/metadata-collector.d.ts +5 -1
  18. package/dist/metadata-collector.d.ts.map +1 -1
  19. package/dist/method-generation.d.ts +2 -2
  20. package/dist/method-generation.d.ts.map +1 -1
  21. package/dist/plugin/create-vue-pom-generator-plugins.d.ts.map +1 -1
  22. package/dist/plugin/resolved-generation-options.d.ts +1 -0
  23. package/dist/plugin/resolved-generation-options.d.ts.map +1 -1
  24. package/dist/plugin/support/virtual-modules.d.ts +3 -1
  25. package/dist/plugin/support/virtual-modules.d.ts.map +1 -1
  26. package/dist/plugin/support-plugins.d.ts +2 -1
  27. package/dist/plugin/support-plugins.d.ts.map +1 -1
  28. package/dist/plugin/types.d.ts +7 -0
  29. package/dist/plugin/types.d.ts.map +1 -1
  30. package/dist/plugin/vue-plugin.d.ts +1 -0
  31. package/dist/plugin/vue-plugin.d.ts.map +1 -1
  32. package/dist/pom-discoverability.d.ts +10 -0
  33. package/dist/pom-discoverability.d.ts.map +1 -0
  34. package/dist/tests/accessibility-audit.test.d.ts +2 -0
  35. package/dist/tests/accessibility-audit.test.d.ts.map +1 -0
  36. package/dist/tests/fixtures/generated-tsc/base-page.full.d.ts +7 -4
  37. package/dist/tests/fixtures/generated-tsc/base-page.full.d.ts.map +1 -1
  38. package/dist/tests/resolved-generation-options.test.d.ts +2 -0
  39. package/dist/tests/resolved-generation-options.test.d.ts.map +1 -0
  40. package/package.json +1 -1
package/README.md CHANGED
@@ -12,10 +12,11 @@ If you already use Playwright with `getByTestId`, the point is simple: this pack
12
12
  - **Injects test ids during Vue compilation, not at runtime.** It hooks into the Vue template compiler and rewrites the compiled template output.
13
13
  - **Uses real template signals to name ids and methods.** Click handlers, `v-model`, `id`/`name`, `:to`, wrapper configuration, and a few targeted fallbacks all feed the generated API.
14
14
  - **Generates TypeScript POM output as either one aggregate or split per class, always with a stable `index.ts` barrel.**
15
+ - **Describes generated Playwright locators** with deterministic human-readable labels via `Locator.describe()`.
15
16
  - **Can generate Playwright fixtures** so tests can request `userListPage` instead of constructing `new UserListPage(page)` manually.
16
17
  - **Can fail fast on unnameable wrapper-button actions** so complex inline handlers do not silently degrade into low-signal generated APIs.
17
18
  - **Can emit a single C# POM file** for Playwright .NET consumers.
18
- - **Exposes `virtual:testids`** so your app can import the current collected test-id manifest at runtime.
19
+ - **Exposes `virtual:testids` and `virtual:pom-manifest`** so your app can inspect collected ids and generated POM metadata at runtime.
19
20
  - **Ships ESLint rules** to remove legacy manually-authored test ids, ban raw `page` fixture usage in spec callbacks, and discourage raw locator actions on generated getters.
20
21
 
21
22
  ## What this does not do
@@ -347,8 +348,8 @@ This is important if you are deciding whether the tool will fit into a real code
347
348
 
348
349
  - **Dev server:** on startup, it scans the configured Vue page/component/layout directories (or the directories resolved from Nuxt config in Nuxt mode), compiles each `.vue` file into a snapshot, writes the configured TypeScript outputs once, then batches add/change/delete events and regenerates incrementally.
349
350
  - **Build:** it generates from the richest build pass it sees, which matters because Vite can run multiple passes (for example SSR plus client). The generator avoids letting a thinner pass clobber a richer one.
350
- - **Always-on virtual module:** `virtual:testids` is registered whether generation is enabled or disabled.
351
- - **Generation can be disabled:** `generation: false` still keeps compile-time test-id injection and the virtual module, but skips emitted POM files.
351
+ - **Always-on virtual modules:** `virtual:testids` and `virtual:pom-manifest` are registered whether generation is enabled or disabled.
352
+ - **Generation can be disabled:** `generation: false` still keeps compile-time test-id injection and the virtual modules, but skips emitted POM files.
352
353
 
353
354
  ## Router-aware navigation: the real semantics
354
355
 
@@ -680,27 +681,50 @@ This package registers a Vite virtual module named `virtual:testids`.
680
681
  Usage:
681
682
 
682
683
  ```ts
683
- import { testIdManifest } from "virtual:testids";
684
+ import { pomManifest, testIdManifest } from "virtual:testids";
684
685
 
685
686
  console.log(testIdManifest.UserEditorPage);
687
+ console.log(pomManifest.UserEditorPage.entries);
686
688
  ```
687
689
 
688
690
  What it contains:
689
691
 
690
692
  - an object keyed by component name
691
- - each value is a sorted array of collected test ids for that component
693
+ - `testIdManifest`: each value is a sorted array of collected test ids for that component
694
+ - `pomManifest`: richer per-component metadata including source file, generated locator/property names, and generated action names
695
+ - each manifest entry also carries `locatorDescription`, which matches the human-readable label used by generated Playwright locators
696
+ - each manifest entry may also carry `accessibility`, a compile-time review signal with static metadata, accessible-name hints, and `needsReview`
692
697
 
693
698
  What it is good for:
694
699
 
695
700
  - runtime inspection
696
701
  - analytics / logging helpers that need the current generated ids
697
- - debugging what the generator has collected
702
+ - debugging what the generator has collected and generated
703
+ - keeping manifest-driven tools aligned with the same locator descriptions shown in Playwright traces
698
704
 
699
705
  What it is not:
700
706
 
701
- - a full metadata export
702
707
  - a generated source file on disk
703
708
 
709
+ ## `virtual:pom-manifest`
710
+
711
+ This package also registers `virtual:pom-manifest` for consumers that only want the richer discoverability surface.
712
+
713
+ Usage:
714
+
715
+ ```ts
716
+ import { pomManifest } from "virtual:pom-manifest";
717
+
718
+ console.log(pomManifest.UserEditorPage.sourceFile);
719
+ console.log(pomManifest.UserEditorPage.entries.map(entry => entry.generatedActionNames));
720
+ ```
721
+
722
+ What it contains:
723
+
724
+ - an object keyed by component/page object model class name
725
+ - for each component: source file, whether it is a view or component, sorted test ids, and rich entry metadata
726
+ - for each entry: test id, semantic name, inferred role, generated property name, generated action names, collected compiler metadata when available, and accessibility review metadata when available
727
+
704
728
  ## ESLint rules that actually ship
705
729
 
706
730
  The package exports `@immense/vue-pom-generator/eslint`.
@@ -1031,6 +1055,13 @@ Set `generation: false` to keep injection and `virtual:testids` but skip emitted
1031
1055
  - **Benefit:** you can keep your own BasePage implementation while still using the generator.
1032
1056
  - **Without it:** the package uses its bundled `class-generation/BasePage.ts`.
1033
1057
 
1058
+ #### `generation.accessibilityAudit`
1059
+
1060
+ - **What it does:** emits warnings for generated interactive elements whose accessible-name signals look weak or unverifiable from compile-time metadata.
1061
+ - **Why it exists:** generated POM coverage can look healthy while the underlying control still needs an accessibility review.
1062
+ - **Benefit:** gives you an opt-in review signal without auto-injecting ARIA or guessing runtime behavior.
1063
+ - **Without it:** accessibility review metadata can still appear in `pomManifest`, but no warnings are emitted during compilation.
1064
+
1034
1065
  ### `generation.router`
1035
1066
 
1036
1067
  If omitted, router introspection is off.
package/RELEASE_NOTES.md CHANGED
@@ -1,56 +1,37 @@
1
- ● # Release Notes: v1.0.59
1
+ ● # Release Notes: v1.0.61
2
2
 
3
3
  ## Highlights
4
4
 
5
- - **Major refactoring** of POM generation logic for improved maintainability and reliability
6
- - **Zero runtime dependencies** – all runtime dependencies eliminated
7
- - **Enhanced Nuxt support** resolved app-root dev POM clobber and improved local app
8
- integration
9
- - **Split Playwright POM output** added separate output files for better discoverability
10
- - **Fail-fast error handling** – added early validation for dev snapshot generation and
11
- unnameable handlers
12
- - **Expanded test coverage** – new build–serve parity regression tests and additional test
13
- suites
5
+ - **New accessibility audit system** to detect and warn about common ARIA and semantic HTML
6
+ issues during POM generation
7
+ - Audit signals now included in the manifest output for downstream consumption
8
+ - Enhanced compiler metadata utilities to extract role and label information from templates
9
+ - Comprehensive test coverage for the new accessibility audit features
14
10
 
15
11
  ## Changes
16
12
 
17
- **Core Generation & Architecture**
18
- - Refactored POM generation logic across class-generation, method-generation, transform, and
19
- utils modules
20
- - Added `pom-params.ts` and `pom-patterns.ts` modules to centralize generation logic
21
- - Improved routing `to-directive` handling for awaited handler wrappers
13
+ ### Accessibility & Quality
14
+ - Added `accessibility-audit.ts` module with audit functions for detecting missing labels,
15
+ invalid ARIA usage, and semantic violations
16
+ - Integrated audit warnings into the Vite plugin pipeline with configurable severity
17
+ - Extended manifest generator to include `auditSignals` for each component
22
18
 
23
- **Plugin System**
24
- - Added `resolved-generation-options.ts` and `resolved-injection-options.ts` for clearer plugin
25
- configuration
26
- - Enhanced `create-vue-pom-generator-plugins`, build-plugin, and dev-plugin implementations
27
- - Relaxed Vite peer dependency range for broader compatibility (#13)
19
+ ### Plugin & Configuration
20
+ - Added `auditSeverity` option to plugin configuration (default: `"warn"`)
21
+ - Enhanced `ResolvedGenerationOptions` to support audit configuration
22
+ - Updated plugin to emit warnings when accessibility issues are detected during build
28
23
 
29
- **Bug Fixes**
30
- - Fixed reparsing of generated test IDs (#21)
31
- - Hardened local app integration (#19)
32
- - Restored router DOM globals after introspection (#18)
33
- - Resolved Nuxt app-root dev POM clobber (#15)
34
- - Fixed keyed POM dedupe and C# navigation returns (#4)
24
+ ### Compiler & Metadata
25
+ - Improved `compiler-metadata-utils.ts` to extract `role` and `aria-label` attributes
26
+ - Enhanced metadata collector to capture accessibility-related attributes
35
27
 
36
- **Error Handling & Validation**
37
- - Added fail-fast on unnameable wrapper handlers (#11)
38
- - Added fail-fast on dev snapshot generation errors (#6)
39
- - Guarded manual releases (#16)
28
+ ### Documentation
29
+ - Updated README with information about the new accessibility audit feature
40
30
 
41
- **Developer Experience**
42
- - Split Playwright POM output for improved discoverability (#12)
43
- - Achieved dev-mode POM generation parity with build mode (#5)
44
- - Added PR release-notes preview comments (#1)
45
-
46
- **Dependencies**
47
- - Eliminated all runtime dependencies (#9)
48
- - Updated package-lock.json to reflect dependency changes
49
-
50
- **Testing**
51
- - Added build–serve parity regression tests (#7)
52
- - Added `base-page.test.ts`, `resolved-injection-options.test.ts`, and `playwright.d.ts` fixture
53
- - Expanded coverage in class-generation, transform, utils, and options tests
31
+ ### Testing
32
+ - Added comprehensive test suite in `tests/accessibility-audit.test.ts` (54 new tests)
33
+ - Added tests for resolved generation options
34
+ - Updated existing tests to accommodate new audit functionality
54
35
 
55
36
  ## Breaking Changes
56
37
 
@@ -58,36 +39,11 @@
58
39
 
59
40
  ## Pull Requests Included
60
41
 
61
- - #21 fix: avoid reparsing generated test ids
62
- (https://github.com/immense/vue-pom-generator/pull/21)
63
- - #19 fix: harden local app integration (https://github.com/immense/vue-pom-generator/pull/19)
64
- - #18 fix: restore router DOM globals after introspection
65
- (https://github.com/immense/vue-pom-generator/pull/18)
66
- - #17 fix: support awaited handler wrappers
67
- (https://github.com/immense/vue-pom-generator/pull/17)
68
- - #16 fix: guard manual releases (https://github.com/immense/vue-pom-generator/pull/16)
69
- - #15 fix: resolve Nuxt app-root dev POM clobber
70
- (https://github.com/immense/vue-pom-generator/pull/15)
71
- - #13 Relax Vite peer dependency range (https://github.com/immense/vue-pom-generator/pull/13)
72
- - #12 feat: add split Playwright POM output for discoverability
73
- (https://github.com/immense/vue-pom-generator/pull/12)
74
- - #11 feat: fail fast on unnameable wrapper handlers
75
- (https://github.com/immense/vue-pom-generator/pull/11)
76
- - #9 refactor(deps): eliminate all runtime dependencies
77
- (https://github.com/immense/vue-pom-generator/pull/9)
78
- - #7 test: add build–serve parity regression tests
79
- (https://github.com/immense/vue-pom-generator/pull/7)
80
- - #6 fix: fail fast on dev snapshot generation errors
81
- (https://github.com/immense/vue-pom-generator/pull/6)
82
- - #5 fix: dev-mode POM generation parity with build mode
83
- (https://github.com/immense/vue-pom-generator/pull/5)
84
- - #4 Fix keyed POM dedupe and C# navigation returns
85
- (https://github.com/immense/vue-pom-generator/pull/4)
86
- - #1 Add PR release-notes preview comments (https://github.com/immense/vue-pom-generator/pull/1)
42
+ - #25 feat: add accessibility audit metadata and warnings
43
+ (https://github.com/immense/vue-pom-generator/pull/25) by @dkattan
87
44
 
88
45
  ## Testing
89
46
 
90
- Comprehensive test coverage expansion with new test suites for base-page,
91
- resolved-injection-options, and build–serve parity. Existing test suites updated to reflect
92
- refactored architecture. All tests passing.
47
+ All changes include full test coverage. New test suite validates audit detection for missing
48
+ labels, invalid ARIA attributes, redundant roles, and other semantic issues.
93
49
 
@@ -233,12 +233,22 @@ export class BasePage {
233
233
  return `[${this.testIdAttribute}="${testId}"]`;
234
234
  }
235
235
 
236
- protected locatorByTestId(testId: string): PwLocator {
237
- return this.page.locator(this.selectorForTestId(testId));
236
+ protected describeLocator(locator: PwLocator, description?: string): PwLocator {
237
+ const normalizedDescription = description?.trim();
238
+ return normalizedDescription ? locator.describe(normalizedDescription) : locator;
238
239
  }
239
240
 
240
- protected locatorWithinTestIdByLabel(rootTestId: string, label: string, options?: { exact?: boolean }): PwLocator {
241
- return this.locatorByTestId(rootTestId).getByLabel(label, { exact: options?.exact ?? true });
241
+ protected locatorByTestId(testId: string, description?: string): PwLocator {
242
+ return this.describeLocator(this.page.locator(this.selectorForTestId(testId)), description);
243
+ }
244
+
245
+ protected locatorWithinTestIdByLabel(
246
+ rootTestId: string,
247
+ label: string,
248
+ options?: { exact?: boolean; description?: string },
249
+ ): PwLocator {
250
+ const locator = this.locatorByTestId(rootTestId).getByLabel(label, { exact: options?.exact ?? true });
251
+ return this.describeLocator(locator, options?.description);
242
252
  }
243
253
 
244
254
  /**
@@ -488,8 +498,14 @@ export class BasePage {
488
498
  * Clicks on an element with the specified data-testid
489
499
  * @param testId The data-testid of the element to click
490
500
  */
491
- public async clickByTestId(testId: string, annotationText: string = "", wait: boolean = true): Promise<void> {
492
- await this.pointer.animateCursorToElement(this.selectorForTestId(testId), true, 200, annotationText, {
501
+ public async clickByTestId(
502
+ testId: string,
503
+ annotationText: string = "",
504
+ wait: boolean = true,
505
+ description?: string,
506
+ ): Promise<void> {
507
+ const locator = this.locatorByTestId(testId, description);
508
+ await this.pointer.animateCursorToElement(locator, true, 200, annotationText, {
493
509
  afterClick: async ({ testId: clickedTestId, instrumented }: AfterPointerClickInfo) => {
494
510
  if (!wait) return;
495
511
  if (!clickedTestId || !instrumented) return;
@@ -513,14 +529,23 @@ export class BasePage {
513
529
  label: string,
514
530
  annotationText: string = "",
515
531
  wait: boolean = true,
516
- options?: { exact?: boolean },
532
+ options?: { exact?: boolean; description?: string },
517
533
  ): Promise<void> {
518
- const locator = this.locatorWithinTestIdByLabel(rootTestId, label, { exact: options?.exact });
534
+ const locator = this.locatorWithinTestIdByLabel(rootTestId, label, {
535
+ exact: options?.exact,
536
+ description: options?.description,
537
+ });
519
538
  await this.clickLocator(locator, annotationText, wait);
520
539
  }
521
540
 
522
- protected async fillInputByTestId(testId: string, text: string, annotationText: string = ""): Promise<void> {
523
- await this.pointer.animateCursorToElementAndClickAndFill(this.selectorForTestId(testId), text, true, 200, annotationText, {
541
+ protected async fillInputByTestId(
542
+ testId: string,
543
+ text: string,
544
+ annotationText: string = "",
545
+ description?: string,
546
+ ): Promise<void> {
547
+ const locator = this.locatorByTestId(testId, description);
548
+ await this.pointer.animateCursorToElementAndClickAndFill(locator, text, true, 200, annotationText, {
524
549
  afterClick: async ({ testId: clickedTestId, instrumented }: AfterPointerClickInfo) => {
525
550
  if (!clickedTestId || !instrumented) return;
526
551
  await this.waitForTestIdClickEventAfter(clickedTestId);
@@ -532,8 +557,14 @@ export class BasePage {
532
557
  * Interacts with a vue-select control rooted by a data-testid.
533
558
  * This is emitted frequently by the generator; keeping it here reduces per-page duplicated code.
534
559
  */
535
- protected async selectVSelectByTestId(testId: string, value: string, timeOut: number = 500, annotationText: string = ""): Promise<void> {
536
- const root = this.locatorByTestId(testId);
560
+ protected async selectVSelectByTestId(
561
+ testId: string,
562
+ value: string,
563
+ timeOut: number = 500,
564
+ annotationText: string = "",
565
+ description?: string,
566
+ ): Promise<void> {
567
+ const root = this.locatorByTestId(testId, description);
537
568
  const input = root.locator("input");
538
569
 
539
570
  await this.pointer.animateCursorToElement(input, false, 200, annotationText);
@@ -28,6 +28,7 @@ import {
28
28
  uniquePomStringPatterns,
29
29
  type PomStringPattern,
30
30
  } from "../pom-patterns";
31
+ import { buildPomLocatorDescription, stripPomActionPrefix } from "../pom-discoverability";
31
32
  import { introspectNuxtPages, parseRouterFileFromCwd } from "../router-introspection";
32
33
  import {
33
34
  addExportAll,
@@ -348,7 +349,7 @@ function getSelectorPatterns(selector: PomSelectorSpec): PomStringPattern[] {
348
349
  : [selector.rootTestId, selector.label];
349
350
  }
350
351
 
351
- function generateExtraClickMethodMembers(spec: PomExtraClickMethodSpec): TypeScriptClassMember[] {
352
+ function generateExtraClickMethodMembers(spec: PomExtraClickMethodSpec, componentName: string): TypeScriptClassMember[] {
352
353
  if (spec.kind !== "click") {
353
354
  return [];
354
355
  }
@@ -365,20 +366,15 @@ function generateExtraClickMethodMembers(spec: PomExtraClickMethodSpec): TypeScr
365
366
  const hasWait = signatureSpecs.some(param => param.name === "wait");
366
367
  const annotationArg = hasAnnotationText ? "annotationText" : "\"\"";
367
368
  const waitArg = hasWait ? "wait" : "true";
369
+ const locatorDescription = JSON.stringify(buildPomLocatorDescription({
370
+ componentName,
371
+ methodName: stripPomActionPrefix(spec.name),
372
+ nativeRole: "button",
373
+ }));
368
374
 
369
375
  if (spec.selector.kind === "testId") {
370
376
  const testIdBinding = bindTypeScriptPomPattern(spec.selector.testId, "testId");
371
377
 
372
- const clickArgs: string[] = [];
373
- clickArgs.push(testIdBinding.expression);
374
-
375
- if (hasAnnotationText || hasWait) {
376
- clickArgs.push(annotationArg);
377
- }
378
- if (hasWait) {
379
- clickArgs.push(waitArg);
380
- }
381
-
382
378
  return [
383
379
  createClassMethod({
384
380
  name: spec.name,
@@ -391,7 +387,7 @@ function generateExtraClickMethodMembers(spec: PomExtraClickMethodSpec): TypeScr
391
387
  for (const statement of testIdBinding.setupStatements) {
392
388
  writer.writeLine(statement);
393
389
  }
394
- writer.writeLine(`await this.clickByTestId(${clickArgs.join(", ")});`);
390
+ writer.writeLine(`await this.clickByTestId(${testIdBinding.expression}, ${annotationArg}, ${waitArg}, ${locatorDescription});`);
395
391
  },
396
392
  }),
397
393
  ];
@@ -414,18 +410,23 @@ function generateExtraClickMethodMembers(spec: PomExtraClickMethodSpec): TypeScr
414
410
  for (const statement of labelBinding.setupStatements) {
415
411
  writer.writeLine(statement);
416
412
  }
417
- writer.writeLine(`await this.clickWithinTestIdByLabel(${rootBinding.expression}, ${labelBinding.expression}, ${annotationArg}, ${waitArg});`);
413
+ writer.writeLine(`await this.clickWithinTestIdByLabel(${rootBinding.expression}, ${labelBinding.expression}, ${annotationArg}, ${waitArg}, { description: ${locatorDescription} });`);
418
414
  },
419
415
  }),
420
416
  ];
421
417
  }
422
418
 
423
- function generateMethodMembersFromPom(primary: PomPrimarySpec, targetPageObjectModelClass?: string): TypeScriptClassMember[] {
419
+ function generateMethodMembersFromPom(
420
+ componentName: string,
421
+ primary: PomPrimarySpec,
422
+ targetPageObjectModelClass?: string,
423
+ ): TypeScriptClassMember[] {
424
424
  if (primary.emitPrimary === false) {
425
425
  return [];
426
426
  }
427
427
 
428
428
  return generateViewObjectModelMembers(
429
+ componentName,
429
430
  targetPageObjectModelClass,
430
431
  primary.methodName,
431
432
  primary.nativeRole,
@@ -436,7 +437,7 @@ function generateMethodMembersFromPom(primary: PomPrimarySpec, targetPageObjectM
436
437
  );
437
438
  }
438
439
 
439
- function generateMethodsContentForDependencies(dependencies: IComponentDependencies): TypeScriptClassMember[] {
440
+ function generateMethodsContentForDependencies(componentName: string, dependencies: IComponentDependencies): TypeScriptClassMember[] {
440
441
  const entries = Array.from(dependencies.dataTestIdSet ?? []);
441
442
  const primarySpecsAll = entries
442
443
  .map(e => ({ pom: e.pom, target: e.targetPageObjectModelClass }))
@@ -475,11 +476,11 @@ function generateMethodsContentForDependencies(dependencies: IComponentDependenc
475
476
 
476
477
  const members: TypeScriptClassMember[] = [];
477
478
  for (const { pom, target } of primarySpecs) {
478
- members.push(...generateMethodMembersFromPom(pom, target));
479
+ members.push(...generateMethodMembersFromPom(componentName, pom, target));
479
480
  }
480
481
 
481
482
  for (const extra of extras) {
482
- members.push(...generateExtraClickMethodMembers(extra));
483
+ members.push(...generateExtraClickMethodMembers(extra, componentName));
483
484
  }
484
485
 
485
486
  return members;
@@ -1698,7 +1699,7 @@ function prepareViewObjectModelClass(
1698
1699
  members.push(...generateGoToSelfMethod(className));
1699
1700
  }
1700
1701
 
1701
- members.push(...generateMethodsContentForDependencies(dependencies));
1702
+ members.push(...generateMethodsContentForDependencies(componentName, dependencies));
1702
1703
 
1703
1704
  return {
1704
1705
  className,
@@ -0,0 +1,20 @@
1
+ import type { ElementMetadata } from "./metadata-collector";
2
+ export interface AccessibilityAuditResult {
3
+ needsReview: boolean;
4
+ accessibleNameSource: "aria-label" | "title" | "text" | "dynamic" | "unknown" | "missing";
5
+ reasons: string[];
6
+ staticAriaLabel?: string;
7
+ staticRole?: string;
8
+ staticTitle?: string;
9
+ staticTextContent?: string;
10
+ }
11
+ export declare function buildAccessibilityAudit(metadata: ElementMetadata | undefined, inferredRole: string | null): AccessibilityAuditResult | undefined;
12
+ export declare function collectAccessibilityReviewWarnings(manifest: Record<string, {
13
+ entries: Array<{
14
+ testId: string;
15
+ generatedPropertyName: string | null;
16
+ inferredRole: string | null;
17
+ accessibility?: AccessibilityAuditResult;
18
+ }>;
19
+ }>): string[];
20
+ //# sourceMappingURL=accessibility-audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessibility-audit.d.ts","sourceRoot":"","sources":["../accessibility-audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,oBAAoB,EAAE,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1F,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAMD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,eAAe,GAAG,SAAS,EACrC,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B,wBAAwB,GAAG,SAAS,CA4CtC;AAED,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,KAAK,CAAC;QACxC,MAAM,EAAE,MAAM,CAAC;QACf,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,aAAa,CAAC,EAAE,wBAAwB,CAAC;KAC1C,CAAC,CAAA;CAAE,CAAC,GACJ,MAAM,EAAE,CAmBV"}
@@ -52,9 +52,11 @@ export declare class BasePage {
52
52
  get screencast(): PwPage["screencast"];
53
53
  private waitForTestIdClickEventAfter;
54
54
  protected selectorForTestId(testId: string): string;
55
- protected locatorByTestId(testId: string): PwLocator;
55
+ protected describeLocator(locator: PwLocator, description?: string): PwLocator;
56
+ protected locatorByTestId(testId: string, description?: string): PwLocator;
56
57
  protected locatorWithinTestIdByLabel(rootTestId: string, label: string, options?: {
57
58
  exact?: boolean;
59
+ description?: string;
58
60
  }): PwLocator;
59
61
  /**
60
62
  * Animates the pointer to an element.
@@ -90,17 +92,18 @@ export declare class BasePage {
90
92
  * Clicks on an element with the specified data-testid
91
93
  * @param testId The data-testid of the element to click
92
94
  */
93
- clickByTestId(testId: string, annotationText?: string, wait?: boolean): Promise<void>;
95
+ clickByTestId(testId: string, annotationText?: string, wait?: boolean, description?: string): Promise<void>;
94
96
  clickLocator(locator: PwLocator, annotationText?: string, wait?: boolean): Promise<void>;
95
97
  protected clickWithinTestIdByLabel(rootTestId: string, label: string, annotationText?: string, wait?: boolean, options?: {
96
98
  exact?: boolean;
99
+ description?: string;
97
100
  }): Promise<void>;
98
- protected fillInputByTestId(testId: string, text: string, annotationText?: string): Promise<void>;
101
+ protected fillInputByTestId(testId: string, text: string, annotationText?: string, description?: string): Promise<void>;
99
102
  /**
100
103
  * Interacts with a vue-select control rooted by a data-testid.
101
104
  * This is emitted frequently by the generator; keeping it here reduces per-page duplicated code.
102
105
  */
103
- protected selectVSelectByTestId(testId: string, value: string, timeOut?: number, annotationText?: string): Promise<void>;
106
+ protected selectVSelectByTestId(testId: string, value: string, timeOut?: number, annotationText?: string, description?: string): Promise<void>;
104
107
  fillInputByLocator(locator: PwLocator, text: string, annotationText?: string): Promise<void>;
105
108
  protected clickByAriaLabel(ariaLabel: string, annotationText?: string): Promise<void>;
106
109
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"base-page.d.ts","sourceRoot":"","sources":["../../class-generation/base-page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-page.d.ts","sourceRoot":"","sources":["../../class-generation/base-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAW,KAAK,iBAAiB,EAA8B,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAe9G;;;;;;;;GAQG;AACH;;;GAGG;AACH,KAAK,UAAU,CAAC,CAAC,EAAE,KAAK,SAAS,MAAM,IAAI;KACxC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,EAAE,GACzD,CAAC,SAAS,aAAa,GACvB,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GACxC,CAAC,SAAS,kBAAkB,GAC5B,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GACxC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,GAC7B,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACnB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GACvB,CAAC,CAAC,CAAC,CAAC;CACP,CAAC;AAEF,KAAK,eAAe,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GACxD,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACvC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACnB,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACrB,CAAC,CAAC,CAAC,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAEzE,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,eAAe,CAAC;QAC1B,OAAO,CAAC,EAAE,eAAe,CAAC;KAC3B,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEV,GAAG,EAAE,MAAM;IAOvB,QAAQ,IAAI,MAAM;IAIlB,KAAK,IAAI,MAAM;IAIf,KAAK,IAAI,MAAM;CAWvB;AAED;;;GAGG;AACH,qBAAa,QAAQ;IASA,SAAS,CAAC,IAAI,EAAE,MAAM;IARzC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IAEvD;;OAEG;gBAC0B,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe;IAWpE,IAAW,UAAU,IAAI,MAAM,CAAC,YAAY,CAAC,CAE5C;YAEa,4BAA4B;IA2G1C,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAInD,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS;IAK9E,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS;IAI1E,SAAS,CAAC,0BAA0B,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,SAAS;IAKZ;;OAEG;cACa,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,GAAE,OAAc,EAC5B,OAAO,GAAE,MAAa,EACtB,cAAc,GAAE,MAAW,EAC3B,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,iBAAiB,CAAC;KAChC,GACA,OAAO,CAAC,IAAI,CAAC;IAIH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9E,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1E,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,SAAS,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;IAc9F,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmBhE,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhF;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAqKxE;;;OAGG;IACU,aAAa,CACxB,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,MAAW,EAC3B,IAAI,GAAE,OAAc,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAWH,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,GAAE,MAAW,EAAE,IAAI,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;cAU/F,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,cAAc,GAAE,MAAW,EAC3B,IAAI,GAAE,OAAc,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,IAAI,CAAC;cAQA,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,cAAc,GAAE,MAAW,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAUhB;;;OAGG;cACa,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,MAAY,EACrB,cAAc,GAAE,MAAW,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAoBH,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;cAS7F,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/F;;;;OAIG;cACa,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE;;;;OAIG;cACa,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE;;;;OAIG;cACa,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIvE;;;;;;OAMG;cACa,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5F;;;OAGG;cACa,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D;;;;OAIG;cACa,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../class-generation/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAkC,oCAAoC,EAAE,MAAM,sBAAsB,CAAC;AAwC5G,OAAO,EACL,sBAAsB,EAOvB,MAAM,UAAU,CAAC;AAQlB,OAAO,EAAE,oCAAoC,EAAE,CAAC;AA2ChD,UAAU,SAAS;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,oBAAoB,CAAC;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AASD,MAAM,MAAM,yBAAyB,GAAG,YAAY,GAAG,OAAO,CAAC;AAqW/D,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAE1D;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,oCAAoC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAEzD;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAE7C,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,uDAAuD;IACvD,aAAa,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;IAEvC;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IAEtD,6BAA6B;IAC7B,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,6EAA6E;IAC7E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mDAAmD;IACnD,UAAU,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IAEnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAClD;AAsCD,wBAAsB,aAAa,CACjC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAC1D,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,iBAAiB,EAAE,MAAM,EACzB,OAAO,GAAE,oBAAyB,iBAoGnC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../class-generation/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAkC,oCAAoC,EAAE,MAAM,sBAAsB,CAAC;AAyC5G,OAAO,EACL,sBAAsB,EAOvB,MAAM,UAAU,CAAC;AAQlB,OAAO,EAAE,oCAAoC,EAAE,CAAC;AA2ChD,UAAU,SAAS;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,oBAAoB,CAAC;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AASD,MAAM,MAAM,yBAAyB,GAAG,YAAY,GAAG,OAAO,CAAC;AAqW/D,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAE1D;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,oCAAoC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAEzD;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAE7C,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,uDAAuD;IACvD,aAAa,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;IAEvC;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IAEtD,6BAA6B;IAC7B,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,6EAA6E;IAC7E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mDAAmD;IACnD,UAAU,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IAEnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAClD;AAsCD,wBAAsB,aAAa,CACjC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAC1D,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,iBAAiB,EAAE,MAAM,EACzB,OAAO,GAAE,oBAAyB,iBAoGnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compiler-metadata-utils.d.ts","sourceRoot":"","sources":["../compiler-metadata-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,oBAAoB,EAErB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,SAAS,CAAC;AAEvE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,GAAE,MAAsB,GAAG,cAAc,CAQ9G;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAcrE;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CA+C/G;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC,EAAE,OAAO,CAAC;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,eAAe,GAAG,IAAI,CA+DzB"}
1
+ {"version":3,"file":"compiler-metadata-utils.d.ts","sourceRoot":"","sources":["../compiler-metadata-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,oBAAoB,EAGrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,SAAS,CAAC;AAEvE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,GAAE,MAAsB,GAAG,cAAc,CAQ9G;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAcrE;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CA+C/G;AAkCD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC,EAAE,OAAO,CAAC;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,eAAe,GAAG,IAAI,CA2DzB"}