@rankcli/agent-runtime 0.0.3 → 0.0.5
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/index.js +14 -1
- package/dist/index.mjs +14 -1
- package/package.json +1 -1
- package/src/fixer.ts +11 -2
package/dist/index.js
CHANGED
|
@@ -26764,25 +26764,33 @@ async function generateFixForIssue(issue, context) {
|
|
|
26764
26764
|
return generateMetaDescFix(context, siteName);
|
|
26765
26765
|
// Canonical issues
|
|
26766
26766
|
case "MISSING_CANONICAL":
|
|
26767
|
+
case "CANONICAL_MISSING":
|
|
26768
|
+
// Full audit code
|
|
26767
26769
|
case "CANONICAL_NO_HTTPS_REDIRECT":
|
|
26768
26770
|
return generateCanonicalFix(context, fullUrl);
|
|
26769
26771
|
// Viewport issues
|
|
26770
26772
|
case "MISSING_VIEWPORT":
|
|
26771
26773
|
case "HTML_NO_VIEWPORT":
|
|
26772
26774
|
case "RESPONSIVE_NO_VIEWPORT":
|
|
26775
|
+
case "VIEWPORT_MISSING":
|
|
26773
26776
|
return generateViewportFix(context);
|
|
26774
26777
|
// Open Graph issues
|
|
26775
26778
|
case "MISSING_OG_TAGS":
|
|
26776
26779
|
case "OG_TITLE_MISSING":
|
|
26777
26780
|
case "OG_DESC_MISSING":
|
|
26781
|
+
case "OG_DESCRIPTION_MISSING":
|
|
26782
|
+
// Full audit code
|
|
26778
26783
|
case "OG_IMAGE_MISSING":
|
|
26779
26784
|
case "OG_URL_MISSING":
|
|
26785
|
+
case "OG_TYPE_MISSING":
|
|
26780
26786
|
return generateOGFix(context, siteName, fullUrl);
|
|
26781
26787
|
// Twitter Card issues
|
|
26782
26788
|
case "MISSING_TWITTER_CARD":
|
|
26783
26789
|
case "TWITTER_CARD_MISSING":
|
|
26784
26790
|
case "TWITTER_TITLE_MISSING":
|
|
26785
26791
|
case "TWITTER_DESC_MISSING":
|
|
26792
|
+
case "TWITTER_DESCRIPTION_MISSING":
|
|
26793
|
+
// Full audit code
|
|
26786
26794
|
case "TWITTER_IMAGE_MISSING":
|
|
26787
26795
|
return generateTwitterFix(context, siteName);
|
|
26788
26796
|
// Schema/structured data issues
|
|
@@ -26809,6 +26817,8 @@ async function generateFixForIssue(issue, context) {
|
|
|
26809
26817
|
return generateSitemapFix(context, fullUrl);
|
|
26810
26818
|
// H1 issues
|
|
26811
26819
|
case "MISSING_H1":
|
|
26820
|
+
case "H1_MISSING":
|
|
26821
|
+
// Full audit code
|
|
26812
26822
|
case "NO_VISIBLE_HEADLINE":
|
|
26813
26823
|
case "H1_MISSING_KEYWORD":
|
|
26814
26824
|
return await generateH1Fix({ cwd });
|
|
@@ -26838,12 +26848,14 @@ async function generateFixForIssue(issue, context) {
|
|
|
26838
26848
|
// Favicon/icons
|
|
26839
26849
|
case "HTML_NO_FAVICON":
|
|
26840
26850
|
case "HTML_NO_APPLE_TOUCH_ICON":
|
|
26851
|
+
case "FAVICON_MISSING":
|
|
26841
26852
|
return generateFaviconFix(context);
|
|
26842
26853
|
// Charset/lang
|
|
26843
26854
|
case "HTML_NO_CHARSET":
|
|
26844
26855
|
case "HTML_NOT_UTF8":
|
|
26845
26856
|
return generateCharsetFix(context);
|
|
26846
26857
|
case "HTML_NO_LANG":
|
|
26858
|
+
case "LANG_ATTR_MISSING":
|
|
26847
26859
|
return generateLangFix(context);
|
|
26848
26860
|
// AI/LLMs.txt
|
|
26849
26861
|
case "AI_NO_LLMS_TXT":
|
|
@@ -27078,7 +27090,8 @@ function generateSitemapFix(context, url) {
|
|
|
27078
27090
|
}
|
|
27079
27091
|
function generateSPAMetaFix(context, framework) {
|
|
27080
27092
|
const { htmlPath } = context;
|
|
27081
|
-
|
|
27093
|
+
const frameworkLower = framework.name.toLowerCase();
|
|
27094
|
+
if (frameworkLower.includes("react") || frameworkLower.includes("vite") || framework.name === "Unknown") {
|
|
27082
27095
|
return {
|
|
27083
27096
|
issue: { code: "SPA_NO_META_MANAGEMENT", message: "SPA without dynamic meta tag management", severity: "warning" },
|
|
27084
27097
|
file: "src/components/SEOHead.tsx",
|
package/dist/index.mjs
CHANGED
|
@@ -25692,25 +25692,33 @@ async function generateFixForIssue(issue, context) {
|
|
|
25692
25692
|
return generateMetaDescFix(context, siteName);
|
|
25693
25693
|
// Canonical issues
|
|
25694
25694
|
case "MISSING_CANONICAL":
|
|
25695
|
+
case "CANONICAL_MISSING":
|
|
25696
|
+
// Full audit code
|
|
25695
25697
|
case "CANONICAL_NO_HTTPS_REDIRECT":
|
|
25696
25698
|
return generateCanonicalFix(context, fullUrl);
|
|
25697
25699
|
// Viewport issues
|
|
25698
25700
|
case "MISSING_VIEWPORT":
|
|
25699
25701
|
case "HTML_NO_VIEWPORT":
|
|
25700
25702
|
case "RESPONSIVE_NO_VIEWPORT":
|
|
25703
|
+
case "VIEWPORT_MISSING":
|
|
25701
25704
|
return generateViewportFix(context);
|
|
25702
25705
|
// Open Graph issues
|
|
25703
25706
|
case "MISSING_OG_TAGS":
|
|
25704
25707
|
case "OG_TITLE_MISSING":
|
|
25705
25708
|
case "OG_DESC_MISSING":
|
|
25709
|
+
case "OG_DESCRIPTION_MISSING":
|
|
25710
|
+
// Full audit code
|
|
25706
25711
|
case "OG_IMAGE_MISSING":
|
|
25707
25712
|
case "OG_URL_MISSING":
|
|
25713
|
+
case "OG_TYPE_MISSING":
|
|
25708
25714
|
return generateOGFix(context, siteName, fullUrl);
|
|
25709
25715
|
// Twitter Card issues
|
|
25710
25716
|
case "MISSING_TWITTER_CARD":
|
|
25711
25717
|
case "TWITTER_CARD_MISSING":
|
|
25712
25718
|
case "TWITTER_TITLE_MISSING":
|
|
25713
25719
|
case "TWITTER_DESC_MISSING":
|
|
25720
|
+
case "TWITTER_DESCRIPTION_MISSING":
|
|
25721
|
+
// Full audit code
|
|
25714
25722
|
case "TWITTER_IMAGE_MISSING":
|
|
25715
25723
|
return generateTwitterFix(context, siteName);
|
|
25716
25724
|
// Schema/structured data issues
|
|
@@ -25737,6 +25745,8 @@ async function generateFixForIssue(issue, context) {
|
|
|
25737
25745
|
return generateSitemapFix(context, fullUrl);
|
|
25738
25746
|
// H1 issues
|
|
25739
25747
|
case "MISSING_H1":
|
|
25748
|
+
case "H1_MISSING":
|
|
25749
|
+
// Full audit code
|
|
25740
25750
|
case "NO_VISIBLE_HEADLINE":
|
|
25741
25751
|
case "H1_MISSING_KEYWORD":
|
|
25742
25752
|
return await generateH1Fix({ cwd });
|
|
@@ -25766,12 +25776,14 @@ async function generateFixForIssue(issue, context) {
|
|
|
25766
25776
|
// Favicon/icons
|
|
25767
25777
|
case "HTML_NO_FAVICON":
|
|
25768
25778
|
case "HTML_NO_APPLE_TOUCH_ICON":
|
|
25779
|
+
case "FAVICON_MISSING":
|
|
25769
25780
|
return generateFaviconFix(context);
|
|
25770
25781
|
// Charset/lang
|
|
25771
25782
|
case "HTML_NO_CHARSET":
|
|
25772
25783
|
case "HTML_NOT_UTF8":
|
|
25773
25784
|
return generateCharsetFix(context);
|
|
25774
25785
|
case "HTML_NO_LANG":
|
|
25786
|
+
case "LANG_ATTR_MISSING":
|
|
25775
25787
|
return generateLangFix(context);
|
|
25776
25788
|
// AI/LLMs.txt
|
|
25777
25789
|
case "AI_NO_LLMS_TXT":
|
|
@@ -26006,7 +26018,8 @@ function generateSitemapFix(context, url) {
|
|
|
26006
26018
|
}
|
|
26007
26019
|
function generateSPAMetaFix(context, framework) {
|
|
26008
26020
|
const { htmlPath } = context;
|
|
26009
|
-
|
|
26021
|
+
const frameworkLower = framework.name.toLowerCase();
|
|
26022
|
+
if (frameworkLower.includes("react") || frameworkLower.includes("vite") || framework.name === "Unknown") {
|
|
26010
26023
|
return {
|
|
26011
26024
|
issue: { code: "SPA_NO_META_MANAGEMENT", message: "SPA without dynamic meta tag management", severity: "warning" },
|
|
26012
26025
|
file: "src/components/SEOHead.tsx",
|
package/package.json
CHANGED
package/src/fixer.ts
CHANGED
|
@@ -86,6 +86,7 @@ async function generateFixForIssue(
|
|
|
86
86
|
|
|
87
87
|
// Canonical issues
|
|
88
88
|
case 'MISSING_CANONICAL':
|
|
89
|
+
case 'CANONICAL_MISSING': // Full audit code
|
|
89
90
|
case 'CANONICAL_NO_HTTPS_REDIRECT':
|
|
90
91
|
return generateCanonicalFix(context, fullUrl);
|
|
91
92
|
|
|
@@ -93,14 +94,17 @@ async function generateFixForIssue(
|
|
|
93
94
|
case 'MISSING_VIEWPORT':
|
|
94
95
|
case 'HTML_NO_VIEWPORT':
|
|
95
96
|
case 'RESPONSIVE_NO_VIEWPORT':
|
|
97
|
+
case 'VIEWPORT_MISSING': // Full audit code
|
|
96
98
|
return generateViewportFix(context);
|
|
97
99
|
|
|
98
100
|
// Open Graph issues
|
|
99
101
|
case 'MISSING_OG_TAGS':
|
|
100
102
|
case 'OG_TITLE_MISSING':
|
|
101
103
|
case 'OG_DESC_MISSING':
|
|
104
|
+
case 'OG_DESCRIPTION_MISSING': // Full audit code
|
|
102
105
|
case 'OG_IMAGE_MISSING':
|
|
103
106
|
case 'OG_URL_MISSING':
|
|
107
|
+
case 'OG_TYPE_MISSING':
|
|
104
108
|
return generateOGFix(context, siteName, fullUrl);
|
|
105
109
|
|
|
106
110
|
// Twitter Card issues
|
|
@@ -108,6 +112,7 @@ async function generateFixForIssue(
|
|
|
108
112
|
case 'TWITTER_CARD_MISSING':
|
|
109
113
|
case 'TWITTER_TITLE_MISSING':
|
|
110
114
|
case 'TWITTER_DESC_MISSING':
|
|
115
|
+
case 'TWITTER_DESCRIPTION_MISSING': // Full audit code
|
|
111
116
|
case 'TWITTER_IMAGE_MISSING':
|
|
112
117
|
return generateTwitterFix(context, siteName);
|
|
113
118
|
|
|
@@ -135,6 +140,7 @@ async function generateFixForIssue(
|
|
|
135
140
|
|
|
136
141
|
// H1 issues
|
|
137
142
|
case 'MISSING_H1':
|
|
143
|
+
case 'H1_MISSING': // Full audit code
|
|
138
144
|
case 'NO_VISIBLE_HEADLINE':
|
|
139
145
|
case 'H1_MISSING_KEYWORD':
|
|
140
146
|
return await generateH1Fix({ cwd });
|
|
@@ -168,6 +174,7 @@ async function generateFixForIssue(
|
|
|
168
174
|
// Favicon/icons
|
|
169
175
|
case 'HTML_NO_FAVICON':
|
|
170
176
|
case 'HTML_NO_APPLE_TOUCH_ICON':
|
|
177
|
+
case 'FAVICON_MISSING': // Full audit code
|
|
171
178
|
return generateFaviconFix(context);
|
|
172
179
|
|
|
173
180
|
// Charset/lang
|
|
@@ -176,6 +183,7 @@ async function generateFixForIssue(
|
|
|
176
183
|
return generateCharsetFix(context);
|
|
177
184
|
|
|
178
185
|
case 'HTML_NO_LANG':
|
|
186
|
+
case 'LANG_ATTR_MISSING': // Full audit code
|
|
179
187
|
return generateLangFix(context);
|
|
180
188
|
|
|
181
189
|
// AI/LLMs.txt
|
|
@@ -441,9 +449,10 @@ function generateSitemapFix(context: FixContext, url: string): GeneratedFix {
|
|
|
441
449
|
|
|
442
450
|
function generateSPAMetaFix(context: FixContext, framework: FrameworkInfo): GeneratedFix {
|
|
443
451
|
const { htmlPath } = context;
|
|
452
|
+
const frameworkLower = framework.name.toLowerCase();
|
|
444
453
|
|
|
445
|
-
// For React apps, recommend react-helmet-async
|
|
446
|
-
if (
|
|
454
|
+
// For React/Vite apps, recommend react-helmet-async
|
|
455
|
+
if (frameworkLower.includes('react') || frameworkLower.includes('vite') || framework.name === 'Unknown') {
|
|
447
456
|
return {
|
|
448
457
|
issue: { code: 'SPA_NO_META_MANAGEMENT', message: 'SPA without dynamic meta tag management', severity: 'warning' },
|
|
449
458
|
file: 'src/components/SEOHead.tsx',
|