uiaudit.js 1.0.0
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/dist/auditor.d.ts +11 -0
- package/dist/auditor.d.ts.map +1 -0
- package/dist/auditor.js +70 -0
- package/dist/auditor.js.map +1 -0
- package/dist/auditors/accessibility.d.ts +8 -0
- package/dist/auditors/accessibility.d.ts.map +1 -0
- package/dist/auditors/accessibility.js +1769 -0
- package/dist/auditors/accessibility.js.map +1 -0
- package/dist/auditors/performance.d.ts +8 -0
- package/dist/auditors/performance.d.ts.map +1 -0
- package/dist/auditors/performance.js +168 -0
- package/dist/auditors/performance.js.map +1 -0
- package/dist/auditors/seo.d.ts +8 -0
- package/dist/auditors/seo.d.ts.map +1 -0
- package/dist/auditors/seo.js +171 -0
- package/dist/auditors/seo.js.map +1 -0
- package/dist/cli.d.ts +10 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +115 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/parser/index.d.ts +18 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +87 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/traverse.d.ts +10 -0
- package/dist/parser/traverse.d.ts.map +1 -0
- package/dist/parser/traverse.js +13 -0
- package/dist/parser/traverse.js.map +1 -0
- package/dist/reporter/terminal.d.ts +3 -0
- package/dist/reporter/terminal.d.ts.map +1 -0
- package/dist/reporter/terminal.js +200 -0
- package/dist/reporter/terminal.js.map +1 -0
- package/dist/types.d.ts +38 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +39 -0
- package/src/auditor.ts +100 -0
- package/src/auditors/accessibility.ts +2125 -0
- package/src/auditors/performance.ts +212 -0
- package/src/auditors/seo.ts +212 -0
- package/src/cli.ts +162 -0
- package/src/index.ts +22 -0
- package/src/parser/index.ts +106 -0
- package/src/parser/traverse.ts +14 -0
- package/src/reporter/terminal.ts +247 -0
- package/src/types.ts +51 -0
- package/tsconfig.json +47 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessibility.js","sourceRoot":"","sources":["../../src/auditors/accessibility.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ParsedFile } from '../parser/index.js';
|
|
2
|
+
import type { Issue } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Audits parsed files for React performance anti-patterns.
|
|
5
|
+
* All checks are purely static — no browser, no runtime needed.
|
|
6
|
+
*/
|
|
7
|
+
export declare function auditPerformance(parsedFiles: ParsedFile[]): Issue[];
|
|
8
|
+
//# sourceMappingURL=performance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/auditors/performance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,CA8LnE"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { traverse } from '../parser/traverse.js';
|
|
2
|
+
/**
|
|
3
|
+
* Audits parsed files for React performance anti-patterns.
|
|
4
|
+
* All checks are purely static — no browser, no runtime needed.
|
|
5
|
+
*/
|
|
6
|
+
export function auditPerformance(parsedFiles) {
|
|
7
|
+
const issues = [];
|
|
8
|
+
for (const { ast, filePath } of parsedFiles) {
|
|
9
|
+
traverse(ast, {
|
|
10
|
+
/**
|
|
11
|
+
* All CallExpression checks are merged into ONE visitor.
|
|
12
|
+
* Babel traverse does NOT support duplicate visitor keys —
|
|
13
|
+
* the last one silently wins. Always merge.
|
|
14
|
+
*/
|
|
15
|
+
CallExpression(path) {
|
|
16
|
+
const node = path.node;
|
|
17
|
+
// ── Check 1: .map() returning JSX without a key prop ─────────────
|
|
18
|
+
//
|
|
19
|
+
// Why this matters: React uses keys to identify which items in a
|
|
20
|
+
// list changed. Without keys, React re-renders the entire list on
|
|
21
|
+
// every state change — O(n) DOM mutations instead of O(1).
|
|
22
|
+
if (node.callee.type === 'MemberExpression' &&
|
|
23
|
+
node.callee.property.type === 'Identifier' &&
|
|
24
|
+
node.callee.property.name === 'map' &&
|
|
25
|
+
node.arguments.length > 0) {
|
|
26
|
+
const callback = node.arguments[0];
|
|
27
|
+
if (callback.type === 'ArrowFunctionExpression' ||
|
|
28
|
+
callback.type === 'FunctionExpression') {
|
|
29
|
+
const body = callback.body;
|
|
30
|
+
let jsxEl = null;
|
|
31
|
+
// Arrow fn with implicit return: items.map(item => <div />)
|
|
32
|
+
if (body.type === 'JSXElement' || body.type === 'JSXFragment') {
|
|
33
|
+
jsxEl = body;
|
|
34
|
+
}
|
|
35
|
+
// Arrow fn with block body: items.map(item => { return <div /> })
|
|
36
|
+
if (body.type === 'BlockStatement') {
|
|
37
|
+
const ret = body.body.find((s) => s.type === 'ReturnStatement' &&
|
|
38
|
+
s.argument?.type === 'JSXElement');
|
|
39
|
+
jsxEl = ret?.argument ?? null;
|
|
40
|
+
}
|
|
41
|
+
if (jsxEl?.type === 'JSXElement') {
|
|
42
|
+
const attrs = jsxEl.openingElement.attributes;
|
|
43
|
+
const hasKey = attrs.some((a) => a.type === 'JSXAttribute' &&
|
|
44
|
+
a.name?.type === 'JSXIdentifier' &&
|
|
45
|
+
a.name.name === 'key');
|
|
46
|
+
if (!hasKey) {
|
|
47
|
+
issues.push({
|
|
48
|
+
id: 'missing-key-prop',
|
|
49
|
+
category: 'performance',
|
|
50
|
+
title: 'Missing key prop in list render',
|
|
51
|
+
description: 'React uses keys to identify which items changed, were added, or removed. Without a key, React re-renders the whole list on every state update — even when nothing changed.',
|
|
52
|
+
impact: 'major',
|
|
53
|
+
status: 'fail',
|
|
54
|
+
suggestion: 'Add a unique, stable key to the root element inside .map(). Use a real ID from your data — never the array index (index shifts when items are added/removed).',
|
|
55
|
+
codeSnippet: 'items.map(item => <Card>{item.name}</Card>)',
|
|
56
|
+
fixSnippet: 'items.map(item => <Card key={item.id}>{item.name}</Card>)',
|
|
57
|
+
file: filePath,
|
|
58
|
+
line: node.loc?.start.line,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// ── Check 2: useEffect with no dependency array ───────────────────
|
|
65
|
+
//
|
|
66
|
+
// Why this matters: No second argument = runs after EVERY render.
|
|
67
|
+
// This is almost always a bug — it creates fetch loops, causes
|
|
68
|
+
// infinite re-renders, and kills performance.
|
|
69
|
+
if (node.callee.type === 'Identifier' &&
|
|
70
|
+
node.callee.name === 'useEffect' &&
|
|
71
|
+
node.arguments.length === 1 // 2nd arg (dep array) is absent
|
|
72
|
+
) {
|
|
73
|
+
issues.push({
|
|
74
|
+
id: 'useeffect-no-deps',
|
|
75
|
+
category: 'performance',
|
|
76
|
+
title: 'useEffect is missing a dependency array',
|
|
77
|
+
description: 'A useEffect with no second argument runs after every single render, including renders triggered by unrelated state changes. This almost always causes performance problems or infinite loops.',
|
|
78
|
+
impact: 'major',
|
|
79
|
+
status: 'fail',
|
|
80
|
+
suggestion: 'Add a dependency array as the second argument.\n [] — run once on mount (equivalent to componentDidMount)\n [value] — run whenever `value` changes\n [id, token] — run when either changes',
|
|
81
|
+
codeSnippet: 'useEffect(() => { fetchUser(id); })',
|
|
82
|
+
fixSnippet: 'useEffect(() => { fetchUser(id); }, [id])',
|
|
83
|
+
file: filePath,
|
|
84
|
+
line: node.loc?.start.line,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
// ── Check 3: console.log/debug/info in component files ────────────
|
|
88
|
+
//
|
|
89
|
+
// Why this matters: Console calls shipped to production leak
|
|
90
|
+
// internal data to any user who opens DevTools, and they
|
|
91
|
+
// accumulate into thousands of log entries in long sessions.
|
|
92
|
+
if (node.callee.type === 'MemberExpression' &&
|
|
93
|
+
node.callee.object.type === 'Identifier' &&
|
|
94
|
+
node.callee.object.name === 'console' &&
|
|
95
|
+
node.callee.property.type === 'Identifier' &&
|
|
96
|
+
['log', 'debug', 'info'].includes(node.callee.property.name)) {
|
|
97
|
+
const method = node.callee.property.name;
|
|
98
|
+
issues.push({
|
|
99
|
+
id: 'console-in-component',
|
|
100
|
+
category: 'performance',
|
|
101
|
+
title: `console.${method}() left in component`,
|
|
102
|
+
description: `console.${method} calls shipped to production expose internal data to end users and clutter the browser DevTools console.`,
|
|
103
|
+
impact: 'minor',
|
|
104
|
+
status: 'warning',
|
|
105
|
+
suggestion: 'Remove before shipping. For intentional debug logging, gate it:\nif (process.env.NODE_ENV !== "production") console.log(...)',
|
|
106
|
+
file: filePath,
|
|
107
|
+
line: node.loc?.start.line,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}, // end CallExpression
|
|
111
|
+
// ── Check 4: Complex inline function in event handler props ──────────
|
|
112
|
+
//
|
|
113
|
+
// Why this matters: () => { ... } inside JSX creates a NEW function
|
|
114
|
+
// object on every render. Any child component that receives this prop
|
|
115
|
+
// will always fail React.memo's shallow equality check and re-render.
|
|
116
|
+
JSXAttribute(path) {
|
|
117
|
+
const node = path.node;
|
|
118
|
+
const EVENT_HANDLERS = [
|
|
119
|
+
'onClick', 'onChange', 'onSubmit', 'onBlur', 'onFocus', 'onKeyDown',
|
|
120
|
+
];
|
|
121
|
+
if (node.name.type !== 'JSXIdentifier' ||
|
|
122
|
+
!EVENT_HANDLERS.includes(node.name.name))
|
|
123
|
+
return;
|
|
124
|
+
if (node.value?.type !== 'JSXExpressionContainer')
|
|
125
|
+
return;
|
|
126
|
+
const expr = node.value.expression;
|
|
127
|
+
if (expr.type !== 'ArrowFunctionExpression' &&
|
|
128
|
+
expr.type !== 'FunctionExpression')
|
|
129
|
+
return;
|
|
130
|
+
// Only flag truly inline logic — 2+ statements in the function body.
|
|
131
|
+
// A simple pass-through like onClick={() => onClick(item)} is fine.
|
|
132
|
+
const body = expr.body;
|
|
133
|
+
const isComplex = body?.type === 'BlockStatement' && body.body.length >= 2;
|
|
134
|
+
if (isComplex) {
|
|
135
|
+
const propName = node.name.name;
|
|
136
|
+
const handlerName = `handle${propName.slice(2)}`; // onClick → handleClick
|
|
137
|
+
issues.push({
|
|
138
|
+
id: 'inline-handler-in-jsx',
|
|
139
|
+
category: 'performance',
|
|
140
|
+
title: `Complex inline function in ${propName} prop`,
|
|
141
|
+
description: `This creates a new function reference on every render. Any child receiving this prop via React.memo or PureComponent will always re-render because the prop value is never referentially equal.`,
|
|
142
|
+
impact: 'minor',
|
|
143
|
+
status: 'warning',
|
|
144
|
+
suggestion: `Extract into a useCallback at the top of your component:\n\nconst ${handlerName} = useCallback(() => {\n // your logic here\n}, [/* list dependencies */]);\n\n// Then use:\n<Component ${propName}={${handlerName}} />`,
|
|
145
|
+
codeSnippet: `<Button ${propName}={() => { doA(); doB(); }}>`,
|
|
146
|
+
fixSnippet: `const ${handlerName} = useCallback(() => { doA(); doB(); }, []);\n<Button ${propName}={${handlerName}}>`,
|
|
147
|
+
file: filePath,
|
|
148
|
+
line: node.loc?.start.line,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}, // end JSXAttribute
|
|
152
|
+
}); // end traverse
|
|
153
|
+
}
|
|
154
|
+
return deduplicate(issues);
|
|
155
|
+
}
|
|
156
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
157
|
+
/** Drop exact duplicate issues (same rule, file, and line). */
|
|
158
|
+
function deduplicate(issues) {
|
|
159
|
+
const seen = new Set();
|
|
160
|
+
return issues.filter((issue) => {
|
|
161
|
+
const key = `${issue.id}::${issue.file}::${issue.line}`;
|
|
162
|
+
if (seen.has(key))
|
|
163
|
+
return false;
|
|
164
|
+
seen.add(key);
|
|
165
|
+
return true;
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=performance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance.js","sourceRoot":"","sources":["../../src/auditors/performance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ParsedFile } from '../parser/index.js';
|
|
2
|
+
import type { Issue } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Audits parsed files for SEO issues detectable via static AST analysis.
|
|
5
|
+
* Focus: things that directly cost you search ranking or crawlability.
|
|
6
|
+
*/
|
|
7
|
+
export declare function auditSEO(parsedFiles: ParsedFile[]): Issue[];
|
|
8
|
+
//# sourceMappingURL=seo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seo.d.ts","sourceRoot":"","sources":["../../src/auditors/seo.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,CA+L3D"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { traverse } from '../parser/traverse.js';
|
|
2
|
+
/**
|
|
3
|
+
* Audits parsed files for SEO issues detectable via static AST analysis.
|
|
4
|
+
* Focus: things that directly cost you search ranking or crawlability.
|
|
5
|
+
*/
|
|
6
|
+
export function auditSEO(parsedFiles) {
|
|
7
|
+
const issues = [];
|
|
8
|
+
for (const { ast, filePath } of parsedFiles) {
|
|
9
|
+
// Per-file state — we collect import info first, then use it in checks
|
|
10
|
+
const fileState = {
|
|
11
|
+
importsNextImage: false,
|
|
12
|
+
imgTagLines: [],
|
|
13
|
+
};
|
|
14
|
+
traverse(ast, {
|
|
15
|
+
// ── Track which packages this file imports ────────────────────────────
|
|
16
|
+
ImportDeclaration(path) {
|
|
17
|
+
if (path.node.source.value === 'next/image') {
|
|
18
|
+
fileState.importsNextImage = true;
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
// ── All JSXOpeningElement checks ──────────────────────────────────────
|
|
22
|
+
JSXOpeningElement(path) {
|
|
23
|
+
const node = path.node;
|
|
24
|
+
if (node.name.type !== 'JSXIdentifier')
|
|
25
|
+
return;
|
|
26
|
+
const tagName = node.name.name;
|
|
27
|
+
// Helper: check if an attribute exists on this element
|
|
28
|
+
const hasAttr = (name) => node.attributes.some((a) => a.type === 'JSXAttribute' &&
|
|
29
|
+
a.name.type === 'JSXIdentifier' &&
|
|
30
|
+
a.name.name === name);
|
|
31
|
+
// Helper: get an attribute's string value (returns null if dynamic/absent)
|
|
32
|
+
const getStringAttr = (name) => {
|
|
33
|
+
const attr = node.attributes.find((a) => a.type === 'JSXAttribute' &&
|
|
34
|
+
a.name.type === 'JSXIdentifier' &&
|
|
35
|
+
a.name.name === name);
|
|
36
|
+
return attr?.value?.type === 'StringLiteral'
|
|
37
|
+
? attr.value.value
|
|
38
|
+
: null;
|
|
39
|
+
};
|
|
40
|
+
// ── Check 1: <img> without alt attribute ─────────────────────────
|
|
41
|
+
//
|
|
42
|
+
// Why this matters: Google uses alt text to understand image content
|
|
43
|
+
// for image search ranking. Missing alt = invisible to search engines.
|
|
44
|
+
if (tagName === 'img') {
|
|
45
|
+
fileState.imgTagLines.push(node.loc?.start.line ?? 0);
|
|
46
|
+
if (!hasAttr('alt')) {
|
|
47
|
+
issues.push({
|
|
48
|
+
id: 'img-missing-alt',
|
|
49
|
+
category: 'seo',
|
|
50
|
+
title: '<img> is missing an alt attribute',
|
|
51
|
+
description: 'Search engines use alt text to index image content. Missing alt attributes also break Google Image Search rankings and violate WCAG 1.1.1.',
|
|
52
|
+
impact: 'major',
|
|
53
|
+
status: 'fail',
|
|
54
|
+
suggestion: 'Add an alt attribute describing what the image shows.\nFor decorative images (pure visual flair, no meaning): alt=""\nFor meaningful images: alt="Two developers reviewing code on a laptop"',
|
|
55
|
+
codeSnippet: '<img src={hero} />',
|
|
56
|
+
fixSnippet: '<img src={hero} alt="Hero banner showing the product dashboard" />',
|
|
57
|
+
file: filePath,
|
|
58
|
+
line: node.loc?.start.line,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// ── Check 2: Self-closing <a> with no content or aria-label ──────
|
|
63
|
+
//
|
|
64
|
+
// Why this matters: Google uses anchor text to understand what the
|
|
65
|
+
// linked page is about. An empty link gives it nothing to rank on.
|
|
66
|
+
if (tagName === 'a' && node.selfClosing) {
|
|
67
|
+
const hasAriaLabel = hasAttr('aria-label');
|
|
68
|
+
const hasTitle = hasAttr('title');
|
|
69
|
+
if (!hasAriaLabel && !hasTitle) {
|
|
70
|
+
issues.push({
|
|
71
|
+
id: 'anchor-no-content',
|
|
72
|
+
category: 'seo',
|
|
73
|
+
title: '<a> tag has no content or accessible label',
|
|
74
|
+
description: 'Empty anchor tags give search engines no anchor text to rank with, and give screen readers nothing to announce. Both hurt you — one in rankings, one in accessibility.',
|
|
75
|
+
impact: 'major',
|
|
76
|
+
status: 'fail',
|
|
77
|
+
suggestion: 'Add descriptive text between <a> and </a>, or add aria-label if the link contains only an icon:\n<a href="/about">About us</a>\n// Icon-only link:\n<a href="/about" aria-label="About us"><Icon /></a>',
|
|
78
|
+
codeSnippet: '<a href="/about" />',
|
|
79
|
+
fixSnippet: '<a href="/about">About us</a>',
|
|
80
|
+
file: filePath,
|
|
81
|
+
line: node.loc?.start.line,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// ── Check 3: <div> used where a semantic HTML tag belongs ────────
|
|
86
|
+
//
|
|
87
|
+
// Why this matters: Semantic HTML is a direct ranking signal.
|
|
88
|
+
// Google's crawlers assign structural meaning to <nav>, <main>,
|
|
89
|
+
// <article>, etc. A <div> with className="nav" tells them nothing.
|
|
90
|
+
if (tagName === 'div') {
|
|
91
|
+
// Look at className and id for hints about intended semantics
|
|
92
|
+
const className = getStringAttr('className') ?? '';
|
|
93
|
+
const idVal = getStringAttr('id') ?? '';
|
|
94
|
+
const combined = `${className} ${idVal}`.toLowerCase();
|
|
95
|
+
const SEMANTIC_MAP = {
|
|
96
|
+
nav: 'nav',
|
|
97
|
+
navigation: 'nav',
|
|
98
|
+
header: 'header',
|
|
99
|
+
footer: 'footer',
|
|
100
|
+
main: 'main',
|
|
101
|
+
sidebar: 'aside',
|
|
102
|
+
aside: 'aside',
|
|
103
|
+
article: 'article',
|
|
104
|
+
section: 'section',
|
|
105
|
+
};
|
|
106
|
+
// Check each word in className/id against our semantic map
|
|
107
|
+
const words = combined.split(/[\s\-_/]+/);
|
|
108
|
+
const match = words.find((w) => SEMANTIC_MAP[w]);
|
|
109
|
+
if (match) {
|
|
110
|
+
const replacement = SEMANTIC_MAP[match];
|
|
111
|
+
issues.push({
|
|
112
|
+
id: 'non-semantic-html',
|
|
113
|
+
category: 'seo',
|
|
114
|
+
title: `Use <${replacement}> instead of <div className="${className || idVal}">`,
|
|
115
|
+
description: `Search engines assign structural roles to semantic HTML elements. <${replacement}> signals its purpose to Google's crawler and improves your document outline. A <div> is invisible to that system.`,
|
|
116
|
+
impact: 'minor',
|
|
117
|
+
status: 'warning',
|
|
118
|
+
suggestion: `Replace <div> with <${replacement}>. You can keep the existing className — the element name is what changes.\n<${replacement} className="${className || idVal}">...</${replacement}>`,
|
|
119
|
+
codeSnippet: `<div className="${className || idVal}">...</div>`,
|
|
120
|
+
fixSnippet: `<${replacement} className="${className || idVal}">...</${replacement}>`,
|
|
121
|
+
file: filePath,
|
|
122
|
+
line: node.loc?.start.line,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}, // end JSXOpeningElement
|
|
127
|
+
}); // end traverse
|
|
128
|
+
// ── Post-traverse: Check for raw <img> in Next.js component files ────────
|
|
129
|
+
//
|
|
130
|
+
// This runs AFTER traverse because we need to know both:
|
|
131
|
+
// (a) whether 'next/image' was imported (set in ImportDeclaration)
|
|
132
|
+
// (b) whether any <img> tags were used (set in JSXOpeningElement)
|
|
133
|
+
//
|
|
134
|
+
// Why this matters: next/image gives you automatic WebP, lazy-loading,
|
|
135
|
+
// responsive sizes, and CLS prevention — all Core Web Vitals wins.
|
|
136
|
+
// A raw <img> tag bypasses ALL of that.
|
|
137
|
+
const isComponentFile = filePath.endsWith('.tsx') || filePath.endsWith('.jsx');
|
|
138
|
+
if (isComponentFile &&
|
|
139
|
+
fileState.imgTagLines.length > 0 &&
|
|
140
|
+
!fileState.importsNextImage) {
|
|
141
|
+
for (const line of fileState.imgTagLines) {
|
|
142
|
+
issues.push({
|
|
143
|
+
id: 'use-next-image',
|
|
144
|
+
category: 'seo',
|
|
145
|
+
title: 'Use Next.js <Image> instead of <img>',
|
|
146
|
+
description: 'Next.js <Image> automatically converts to WebP, lazy-loads below-the-fold images, prevents layout shift (CLS), and serves correctly-sized images per viewport. Raw <img> gets none of this.',
|
|
147
|
+
impact: 'major',
|
|
148
|
+
status: 'warning',
|
|
149
|
+
suggestion: "Import and use the Next.js Image component:\nimport Image from 'next/image';\n\n// Replace:\n<img src={src} alt={alt} width={500} height={300} />",
|
|
150
|
+
codeSnippet: `import Image from 'next/image';`,
|
|
151
|
+
fixSnippet: `<Image src={src} alt="description" width={500} height={300} />`,
|
|
152
|
+
file: filePath,
|
|
153
|
+
line,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return deduplicate(issues);
|
|
159
|
+
}
|
|
160
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
161
|
+
function deduplicate(issues) {
|
|
162
|
+
const seen = new Set();
|
|
163
|
+
return issues.filter((i) => {
|
|
164
|
+
const key = `${i.id}::${i.file}::${i.line}`;
|
|
165
|
+
if (seen.has(key))
|
|
166
|
+
return false;
|
|
167
|
+
seen.add(key);
|
|
168
|
+
return true;
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=seo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seo.js","sourceRoot":"","sources":["../../src/auditors/seo.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* UIAudit CLI entry point.
|
|
4
|
+
* This file is what runs when someone types `uiaudit` in their terminal.
|
|
5
|
+
*
|
|
6
|
+
* The bin field in package.json points to `dist/cli.js` (compiled version).
|
|
7
|
+
* During development: `npx ts-node src/cli.ts audit ./src`
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;GAMG"}
|