@tayo-dev/rtl 1.3.0 → 1.3.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.
@@ -74,11 +74,36 @@ function getRecoveredQuery(step) {
74
74
  }
75
75
  return undefined;
76
76
  }
77
- function reconstructQuery(step) {
77
+ function isSelectorDescriptor(value) {
78
+ return (typeof value === 'object' &&
79
+ value !== null &&
80
+ 'selector' in value &&
81
+ typeof value.selector === 'string');
82
+ }
83
+ function isSelectorResolutionResult(value) {
84
+ return (typeof value === 'object' &&
85
+ value !== null &&
86
+ 'status' in value &&
87
+ (value.status === 'resolved' || value.status === 'unresolved'));
88
+ }
89
+ function getSelectorDescriptor(step) {
90
+ const selector = step.metadata?.selector;
91
+ return isSelectorDescriptor(selector) ? selector : undefined;
92
+ }
93
+ function getSelectorResolution(step) {
94
+ const resolution = step.metadata?.selectorResolution;
95
+ return isSelectorResolutionResult(resolution) ? resolution : undefined;
96
+ }
97
+ function reconstructQuery(step, options = {}) {
78
98
  const target = step.target;
79
99
  if (!target) {
80
100
  return 'document.body';
81
101
  }
102
+ if (options.scopeDialog &&
103
+ step.action === 'click' &&
104
+ /^(continue|save)$/i.test(target)) {
105
+ return `within(screen.getByRole('dialog')).getByRole('button', { name: /^${target.toLowerCase()}$/i })`;
106
+ }
82
107
  const recoveredQuery = getRecoveredQuery(step);
83
108
  if (recoveredQuery) {
84
109
  return recoveredQuery;
@@ -93,11 +118,31 @@ function reconstructQuery(step) {
93
118
  : `screen.${step.originalType}('${escapedTarget}')`;
94
119
  }
95
120
  if (looksLikeCssSelector(target)) {
121
+ if (step.source === 'js') {
122
+ return undefined;
123
+ }
96
124
  return selectorToQuery(target);
97
125
  }
98
126
  const escapedTarget = target.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
99
127
  return `screen.getByText('${escapedTarget}')`;
100
128
  }
129
+ function getSelectorCheckpoint(step) {
130
+ const resolution = getSelectorResolution(step);
131
+ if (resolution?.status === 'unresolved') {
132
+ return {
133
+ reason: resolution.reason,
134
+ selector: resolution.selector.selector,
135
+ };
136
+ }
137
+ const selector = getSelectorDescriptor(step)?.selector ?? step.target;
138
+ if (step.source === 'js' && selector && looksLikeCssSelector(selector)) {
139
+ return {
140
+ reason: 'No trustworthy RTL query evidence was recovered for this selector.',
141
+ selector,
142
+ };
143
+ }
144
+ return null;
145
+ }
101
146
  function generateStepCode(step) {
102
147
  // navigate steps use target (the URL), not the CSS-selector path
103
148
  if (step.action === 'navigate') {
@@ -149,8 +194,48 @@ export function emitQuerySummary(queryResults) {
149
194
  ` ${count} ${method} (${quality}${lineInfo})`);
150
195
  }
151
196
  }
197
+ function getScenarioHelperRefs(scenario, helpers) {
198
+ if (scenario.helperRefs.length > 0) {
199
+ return scenario.helperRefs;
200
+ }
201
+ return helpers
202
+ .filter((helper) => helper.steps.some((step) => scenario.steps.includes(step)))
203
+ .map((helper) => helper.name);
204
+ }
205
+ function buildHelperStepLines(helper, options) {
206
+ return helper.steps.flatMap((step) => {
207
+ if (step.action === 'assert') {
208
+ return [`// synchronization left to the scenario body: ${step.target ?? 'assertion step'}`];
209
+ }
210
+ if (step.action === 'navigate') {
211
+ return [stepTemplate({ action: 'navigate', query: '', value: step.target })];
212
+ }
213
+ const query = reconstructQuery(step, { scopeDialog: options.scopeDialog });
214
+ if (!query) {
215
+ const checkpoint = getSelectorCheckpoint(step);
216
+ if (checkpoint) {
217
+ return [
218
+ stepTemplate({
219
+ action: step.action,
220
+ query: '',
221
+ value: step.value,
222
+ checkpoint,
223
+ }),
224
+ ];
225
+ }
226
+ return [];
227
+ }
228
+ return [
229
+ stepTemplate({
230
+ action: step.action,
231
+ query,
232
+ value: step.value,
233
+ }),
234
+ ];
235
+ });
236
+ }
152
237
  export function generateTestFromGroups(title, itGroups, options = {}) {
153
- const { conventions, queryResults = [], outputPath, dryRun } = options;
238
+ const { conventions, queryResults = [], outputPath, dryRun, helpers = [], scenarios, renderTarget = null, } = options;
154
239
  const importStyle = conventions?.importStyle ?? 'esm';
155
240
  // Determine if any it block uses user events
156
241
  const globalHasUserEvents = itGroups.some((group) => group.steps.some((s) => ['click', 'fill', 'select', 'keyDown'].includes(s.action)));
@@ -161,21 +246,81 @@ export function generateTestFromGroups(title, itGroups, options = {}) {
161
246
  matcherMap.set(qr.query, qr.matcher);
162
247
  }
163
248
  }
164
- // Build ItBlockTemplate[] from ItGroup[]
165
- const itBlocks = itGroups.map((group) => {
166
- const hasUserEvents = group.steps.some((s) => ['click', 'fill', 'select', 'keyDown'].includes(s.action));
167
- const stepLines = group.steps.map((step) => {
249
+ const scenarioPlans = scenarios && scenarios.length > 0
250
+ ? scenarios
251
+ : itGroups.map((group) => ({
252
+ name: group.name,
253
+ goal: 'flow',
254
+ steps: group.steps,
255
+ helperRefs: [],
256
+ requiresFreshRender: true,
257
+ }));
258
+ const helperByName = new Map(helpers.map((helper) => [helper.name, helper]));
259
+ const helperBlocks = helpers
260
+ .map((helper) => ({
261
+ name: helper.name,
262
+ stepLines: buildHelperStepLines(helper, {
263
+ matcherMap,
264
+ scopeDialog: renderTarget?.usesWithin ?? false,
265
+ }),
266
+ }))
267
+ .filter((helper) => helper.stepLines.some((line) => line.trim().length > 0));
268
+ // Build ItBlockTemplate[] from scenario plans
269
+ const itBlocks = scenarioPlans.map((scenario) => {
270
+ const hasUserEvents = scenario.steps.some((s) => ['click', 'fill', 'select', 'keyDown'].includes(s.action));
271
+ const helperRefs = getScenarioHelperRefs(scenario, helpers);
272
+ const helperSteps = helperRefs.flatMap((helperName) => helperByName.get(helperName)?.steps ?? []);
273
+ const helperStepSet = new Set(helperSteps);
274
+ const bodyLines = scenario.steps.flatMap((step) => {
275
+ if (step.action !== 'assert' && helperStepSet.has(step)) {
276
+ return [];
277
+ }
168
278
  if (step.action === 'navigate') {
169
- return stepTemplate({ action: 'navigate', query: '', value: step.target });
279
+ return [stepTemplate({ action: 'navigate', query: '', value: step.target })];
280
+ }
281
+ const query = reconstructQuery(step, { scopeDialog: renderTarget?.usesWithin ?? false });
282
+ if (!query) {
283
+ const checkpoint = getSelectorCheckpoint(step);
284
+ if (checkpoint) {
285
+ return [
286
+ stepTemplate({
287
+ action: step.action,
288
+ query: '',
289
+ value: step.value,
290
+ checkpoint,
291
+ }),
292
+ ];
293
+ }
170
294
  }
171
- const query = reconstructQuery(step);
172
- const matcher = step.action === 'assert' ? matcherMap.get(query) : undefined;
173
- return stepTemplate({ action: step.action, query, value: step.value, matcher });
295
+ const matcher = step.action === 'assert' && query ? matcherMap.get(query) : undefined;
296
+ return [
297
+ stepTemplate({
298
+ action: step.action,
299
+ query: query ?? 'document.body',
300
+ value: step.value,
301
+ matcher,
302
+ }),
303
+ ];
174
304
  });
175
- return { name: group.name, stepLines, hasUserEvents };
305
+ const stepLines = [
306
+ ...helperRefs.map((helperName) => `await ${helperName}(user)`),
307
+ ...bodyLines,
308
+ ];
309
+ return { name: scenario.name, stepLines, hasUserEvents };
310
+ });
311
+ const imports = importBlock(globalHasUserEvents, importStyle, {
312
+ renderTarget: renderTarget
313
+ ? {
314
+ symbol: renderTarget.symbol,
315
+ importPath: renderTarget.importPath,
316
+ }
317
+ : null,
318
+ needsWithin: renderTarget?.usesWithin ?? false,
319
+ });
320
+ const describeCode = describeBlockMultiIt(title, itBlocks, {
321
+ renderExpression: renderTarget ? `<${renderTarget.symbol} />` : '<App />',
322
+ helpers: helperBlocks,
176
323
  });
177
- const imports = importBlock(globalHasUserEvents, importStyle);
178
- const describeCode = describeBlockMultiIt(title, itBlocks);
179
324
  const code = `${imports}\n\n${describeCode}\n`;
180
325
  return {
181
326
  code,
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/core/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/core/generator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,23 @@
1
- import { Page } from 'playwright';
2
- import type { DialogState, ElementInfo, QueryResult, VisualState } from '../types/recording.js';
1
+ import { type Page } from 'playwright';
2
+ import type { DialogState, ElementInfo, QueryDescriptor, QueryResult, SelectorDescriptor, SelectorResolutionResult, VisualState } from '../types/recording.js';
3
+ export interface FoundSelectorInspectionResult {
4
+ status: 'found';
5
+ element: ElementInfo;
6
+ }
7
+ export interface MissingSelectorInspectionResult {
8
+ status: 'selector-not-found';
9
+ }
10
+ export interface FailedSelectorInspectionResult {
11
+ status: 'inspection-failed';
12
+ error: string;
13
+ }
14
+ export type SelectorInspectionResult = FoundSelectorInspectionResult | MissingSelectorInspectionResult | FailedSelectorInspectionResult;
15
+ export interface ResolveSelectorOptions {
16
+ url?: string;
17
+ preservedQuery?: QueryDescriptor;
18
+ timeoutMs?: number;
19
+ inspect?: (url: string, cssSelector: string, timeoutMs?: number) => Promise<SelectorInspectionResult>;
20
+ }
3
21
  export declare function extractDialogState(page: Page): Promise<DialogState | null>;
4
22
  export interface CaptureVisualStateOptions {
5
23
  reason: string;
@@ -19,7 +37,14 @@ export declare function captureVisualState(url: string, options: CaptureVisualSt
19
37
  * @param selector - Original CSS selector
20
38
  * @returns QueryResult with query string, quality rating, and method name
21
39
  */
40
+ export declare function deriveAccessibleQuery(info: ElementInfo): QueryResult | null;
41
+ /**
42
+ * Legacy helper retained for scoring/reporting until generation consumes
43
+ * SelectorResolutionResult directly in Phase 14-02.
44
+ */
22
45
  export declare function buildQuery(info: ElementInfo, selector: string): QueryResult;
46
+ export declare function inspectSelector(url: string, cssSelector: string, timeoutMs?: number): Promise<SelectorInspectionResult>;
47
+ export declare function resolveSelector(selector: SelectorDescriptor, options?: ResolveSelectorOptions): Promise<SelectorResolutionResult>;
23
48
  /**
24
49
  * Selects the most appropriate RTL matcher based on element type and action.
25
50
  *
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/core/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,IAAI,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,WAAW,EAEX,WAAW,EACZ,MAAM,uBAAuB,CAAA;AA4D9B,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA8BhF;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA6C7B;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CA+C3E;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAuBvE;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,SAAS,SAAO,GACf,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAyB7B;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,SAAO,GACf,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAsC1C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMvD"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/core/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,IAAI,EAAE,MAAM,YAAY,CAAA;AAE9D,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EAEX,kBAAkB,EAClB,wBAAwB,EACxB,WAAW,EACZ,MAAM,uBAAuB,CAAA;AAoC9B,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,oBAAoB,CAAA;CAC7B;AAED,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,mBAAmB,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,wBAAwB,GAChC,6BAA6B,GAC7B,+BAA+B,GAC/B,8BAA8B,CAAA;AAElC,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,eAAe,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,CACR,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,wBAAwB,CAAC,CAAA;CACvC;AAwED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA8BhF;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA6C7B;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAyC3E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAa3E;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,SAAS,SAAO,GACf,OAAO,CAAC,wBAAwB,CAAC,CA+BnC;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,wBAAwB,CAAC,CAgFnC;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAuBvE;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,SAAS,SAAO,GACf,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAe7B;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,SAAO,GACf,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAsC1C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMvD"}
@@ -49,6 +49,34 @@ async function readElementInfo(page, selector) {
49
49
  });
50
50
  return elementInfo;
51
51
  }
52
+ function getAccessibleName(info) {
53
+ const accessibleName = info.ariaLabel ?? info.innerText;
54
+ const normalizedName = accessibleName?.trim();
55
+ return normalizedName ? normalizedName : null;
56
+ }
57
+ function toQueryDescriptor(selector, query) {
58
+ return {
59
+ stepId: selector.stepId,
60
+ method: query.method,
61
+ queryRoot: 'screen',
62
+ line: selector.line,
63
+ target: selector.selector,
64
+ quality: query.quality,
65
+ raw: query.query,
66
+ };
67
+ }
68
+ function toUnresolvedSelectorResult(selector, outcome, reason, options = {}) {
69
+ return {
70
+ status: 'unresolved',
71
+ outcome,
72
+ stepId: selector.stepId,
73
+ selector,
74
+ url: options.url,
75
+ reason,
76
+ inspectionError: options.inspectionError,
77
+ warnings: [reason],
78
+ };
79
+ }
52
80
  function sanitizeCaptureSegment(value) {
53
81
  return value.replace(/[^a-zA-Z0-9-_]+/g, '-').replace(/^-+|-+$/g, '') || 'capture';
54
82
  }
@@ -130,9 +158,9 @@ export async function captureVisualState(url, options) {
130
158
  * @param selector - Original CSS selector
131
159
  * @returns QueryResult with query string, quality rating, and method name
132
160
  */
133
- export function buildQuery(info, selector) {
161
+ export function deriveAccessibleQuery(info) {
134
162
  const impliedRole = info.role ?? ROLE_MAP[info.tagName];
135
- const accessibleName = info.ariaLabel ?? info.innerText;
163
+ const accessibleName = getAccessibleName(info);
136
164
  // Priority 1: getByRole when both role and accessible name exist
137
165
  if (impliedRole && accessibleName) {
138
166
  return {
@@ -165,6 +193,17 @@ export function buildQuery(info, selector) {
165
193
  query: `screen.getByPlaceholderText('${escapeSingleQuote(info.placeholder)}')`,
166
194
  };
167
195
  }
196
+ return null;
197
+ }
198
+ /**
199
+ * Legacy helper retained for scoring/reporting until generation consumes
200
+ * SelectorResolutionResult directly in Phase 14-02.
201
+ */
202
+ export function buildQuery(info, selector) {
203
+ const accessibleQuery = deriveAccessibleQuery(info);
204
+ if (accessibleQuery) {
205
+ return accessibleQuery;
206
+ }
168
207
  // Priority 5: Fallback to getByTestId (fragile)
169
208
  const sanitized = sanitizeSelectorForTestId(selector);
170
209
  return {
@@ -173,6 +212,87 @@ export function buildQuery(info, selector) {
173
212
  query: `screen.getByTestId('${sanitized}')`,
174
213
  };
175
214
  }
215
+ export async function inspectSelector(url, cssSelector, timeoutMs = 5000) {
216
+ let browser = null;
217
+ try {
218
+ browser = await chromium.launch({ headless: true });
219
+ const page = await browser.newPage();
220
+ await page.goto(url, {
221
+ timeout: timeoutMs,
222
+ waitUntil: 'domcontentloaded',
223
+ });
224
+ const count = await page.locator(cssSelector).count();
225
+ if (count === 0) {
226
+ return { status: 'selector-not-found' };
227
+ }
228
+ return {
229
+ status: 'found',
230
+ element: await readElementInfo(page, cssSelector),
231
+ };
232
+ }
233
+ catch (error) {
234
+ return {
235
+ status: 'inspection-failed',
236
+ error: error instanceof Error ? error.message : 'Unknown error',
237
+ };
238
+ }
239
+ finally {
240
+ if (browser) {
241
+ await browser.close();
242
+ }
243
+ }
244
+ }
245
+ export async function resolveSelector(selector, options = {}) {
246
+ const { url, preservedQuery, timeoutMs = 5000, inspect = inspectSelector } = options;
247
+ if (preservedQuery) {
248
+ return {
249
+ status: 'resolved',
250
+ outcome: 'preserved-query',
251
+ source: 'baseline',
252
+ stepId: selector.stepId,
253
+ selector,
254
+ url,
255
+ query: preservedQuery,
256
+ warnings: [],
257
+ };
258
+ }
259
+ if (!url) {
260
+ return toUnresolvedSelectorResult(selector, 'no-url', `No recorded URL is available to inspect selector ${selector.selector}.`);
261
+ }
262
+ try {
263
+ const inspection = await inspect(url, selector.selector, timeoutMs);
264
+ if (inspection.status === 'inspection-failed') {
265
+ return toUnresolvedSelectorResult(selector, 'inspection-failed', `Playwright inspection failed for selector ${selector.selector}.`, {
266
+ url,
267
+ inspectionError: inspection.error,
268
+ });
269
+ }
270
+ if (inspection.status === 'selector-not-found') {
271
+ return toUnresolvedSelectorResult(selector, 'selector-not-found', `Selector ${selector.selector} was not found at ${url}.`, { url });
272
+ }
273
+ const accessibleQuery = deriveAccessibleQuery(inspection.element);
274
+ if (!accessibleQuery) {
275
+ return toUnresolvedSelectorResult(selector, 'selector-inaccessible', `Selector ${selector.selector} did not expose trustworthy accessible query evidence.`, { url });
276
+ }
277
+ return {
278
+ status: 'resolved',
279
+ outcome: 'accessible-query',
280
+ source: 'live-dom',
281
+ stepId: selector.stepId,
282
+ selector,
283
+ url,
284
+ query: toQueryDescriptor(selector, accessibleQuery),
285
+ inspectedElement: inspection.element,
286
+ warnings: [],
287
+ };
288
+ }
289
+ catch (error) {
290
+ return toUnresolvedSelectorResult(selector, 'inspection-failed', `Playwright inspection failed for selector ${selector.selector}.`, {
291
+ url,
292
+ inspectionError: error instanceof Error ? error.message : 'Unknown error',
293
+ });
294
+ }
295
+ }
176
296
  /**
177
297
  * Selects the most appropriate RTL matcher based on element type and action.
178
298
  *
@@ -210,27 +330,16 @@ export function selectMatcher(info, action) {
210
330
  * @returns ElementInfo or null if element not found/error occurs
211
331
  */
212
332
  export async function inspectElement(url, cssSelector, timeoutMs = 5000) {
213
- let browser = null;
214
- try {
215
- browser = await chromium.launch({ headless: true });
216
- const page = await browser.newPage();
217
- await page.goto(url, {
218
- timeout: timeoutMs,
219
- waitUntil: 'domcontentloaded',
220
- });
221
- return await readElementInfo(page, cssSelector);
333
+ const inspection = await inspectSelector(url, cssSelector, timeoutMs);
334
+ if (inspection.status === 'found') {
335
+ return inspection.element;
222
336
  }
223
- catch (error) {
337
+ if (inspection.status === 'inspection-failed') {
224
338
  console.warn(pc.yellow('[taro]') +
225
339
  pc.dim(' QRY-02:') +
226
- ` Failed to inspect element ${cssSelector} on ${url}: ${error instanceof Error ? error.message : 'Unknown error'}`);
227
- return null;
228
- }
229
- finally {
230
- if (browser) {
231
- await browser.close();
232
- }
340
+ ` Failed to inspect element ${cssSelector} on ${url}: ${inspection.error}`);
233
341
  }
342
+ return null;
234
343
  }
235
344
  /**
236
345
  * Inspects multiple elements on a page using a single Playwright browser instance.
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/core/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/core/resolver.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,13 @@ export interface TestFileContent {
13
13
  path: string;
14
14
  content: string;
15
15
  }
16
+ export interface RepoRenderTargetCandidate {
17
+ symbol: string;
18
+ importPath: string;
19
+ sourceTestFile: string;
20
+ helperNames: string[];
21
+ usesWithin: boolean;
22
+ }
16
23
  /**
17
24
  * Load discovered test files with content for downstream analyzers.
18
25
  */
@@ -48,4 +55,5 @@ export declare function mergeConventions(projectRoot: string, newPatterns: Conve
48
55
  * Analyze a single test file without rescanning the whole project.
49
56
  */
50
57
  export declare function analyzeSingleTestFile(projectRoot: string, filePath: string): Promise<ConventionFile>;
58
+ export declare function discoverRepoRenderTargets(projectRoot: string): Promise<RepoRenderTargetCandidate[]>;
51
59
  //# sourceMappingURL=scanner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/core/scanner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAA4B,MAAM,yBAAyB,CAAA;AAc1G;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2BnE;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAc5E;AAoED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EAAE,EACvB,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAuCnB;AAgED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAWnC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAgD5B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,iBAAiB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,cAAc,GAC1B,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAMzB"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/core/scanner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAA4B,MAAM,yBAAyB,CAAA;AAc1G;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2BnE;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAc5E;AAoED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EAAE,EACvB,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAuCnB;AAgED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAWnC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAgD5B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,iBAAiB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,cAAc,GAC1B,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAMzB;AAwCD,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAWtC"}
@@ -307,4 +307,42 @@ export async function analyzeSingleTestFile(projectRoot, filePath) {
307
307
  : join(projectRoot, filePath);
308
308
  return analyzeTestFile(normalizedPath);
309
309
  }
310
+ function extractHelperNames(content) {
311
+ const matches = content.matchAll(/const\s+([a-z][A-Za-z0-9_]*)\s*=\s*async\s*\(/g);
312
+ return [...new Set([...matches].map((match) => match[1]))].sort();
313
+ }
314
+ function extractRenderTargetCandidatesFromFile(projectRoot, file) {
315
+ const imports = new Map();
316
+ for (const match of file.content.matchAll(/import\s+([A-Z][A-Za-z0-9_]*)\s+from\s+['"]([^'"]+)['"]/g)) {
317
+ imports.set(match[1], match[2]);
318
+ }
319
+ const helperNames = extractHelperNames(file.content);
320
+ const usesWithin = file.content.includes('within(');
321
+ const sourceTestFile = relative(projectRoot, file.path);
322
+ const candidates = [];
323
+ for (const match of file.content.matchAll(/render\(\s*<([A-Z][A-Za-z0-9_]*)/g)) {
324
+ const symbol = match[1];
325
+ const importPath = imports.get(symbol);
326
+ if (!importPath) {
327
+ continue;
328
+ }
329
+ candidates.push({
330
+ symbol,
331
+ importPath,
332
+ sourceTestFile,
333
+ helperNames,
334
+ usesWithin,
335
+ });
336
+ }
337
+ return candidates;
338
+ }
339
+ export async function discoverRepoRenderTargets(projectRoot) {
340
+ const testFiles = await readTestFiles(projectRoot);
341
+ return testFiles
342
+ .flatMap((file) => extractRenderTargetCandidatesFromFile(projectRoot, file))
343
+ .sort((left, right) => {
344
+ return (left.sourceTestFile.localeCompare(right.sourceTestFile) ||
345
+ left.symbol.localeCompare(right.symbol));
346
+ });
347
+ }
310
348
  //# sourceMappingURL=scanner.js.map