react-ssr-seo-toolkit 1.1.0 → 1.2.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.
Files changed (70) hide show
  1. package/README.md +592 -512
  2. package/dist/adapters/nextjs.d.cts +1 -1
  3. package/dist/adapters/nextjs.d.ts +1 -1
  4. package/dist/adapters/react-router.d.cts +1 -1
  5. package/dist/adapters/react-router.d.ts +1 -1
  6. package/dist/chunk-3UCLUFOI.js +5 -0
  7. package/dist/chunk-3UCLUFOI.js.map +1 -0
  8. package/dist/chunk-A62THBIS.cjs +3 -0
  9. package/dist/chunk-A62THBIS.cjs.map +1 -0
  10. package/dist/chunk-GNLXGAS6.js +3 -0
  11. package/dist/chunk-GNLXGAS6.js.map +1 -0
  12. package/dist/chunk-LEOORZQY.cjs +5 -0
  13. package/dist/chunk-LEOORZQY.cjs.map +1 -0
  14. package/dist/chunk-ROA74LH6.cjs +61 -0
  15. package/dist/chunk-ROA74LH6.cjs.map +1 -0
  16. package/dist/chunk-WM5VVPED.js +61 -0
  17. package/dist/chunk-WM5VVPED.js.map +1 -0
  18. package/dist/chunk-X535MU7Z.js +5 -0
  19. package/dist/chunk-X535MU7Z.js.map +1 -0
  20. package/dist/chunk-ZADUJHVR.cjs +5 -0
  21. package/dist/chunk-ZADUJHVR.cjs.map +1 -0
  22. package/dist/chunk-ZECSTNEE.cjs +3 -0
  23. package/dist/chunk-ZECSTNEE.cjs.map +1 -0
  24. package/dist/chunk-ZVFEGG25.js +3 -0
  25. package/dist/chunk-ZVFEGG25.js.map +1 -0
  26. package/dist/components.cjs +1 -1
  27. package/dist/components.d.cts +2 -2
  28. package/dist/components.d.ts +2 -2
  29. package/dist/components.js +1 -1
  30. package/dist/index-Br7Sh9Ur.d.cts +329 -0
  31. package/dist/index-Br7Sh9Ur.d.ts +329 -0
  32. package/dist/{index-DAGfo2Fc.d.ts → index-CKNcgAj8.d.ts} +10 -2
  33. package/dist/{index-RBSUcdqN.d.cts → index-Wgogf4CX.d.cts} +10 -2
  34. package/dist/index.cjs +1 -1
  35. package/dist/index.d.cts +7 -4
  36. package/dist/index.d.ts +7 -4
  37. package/dist/index.js +1 -1
  38. package/dist/og.cjs +2 -0
  39. package/dist/og.cjs.map +1 -0
  40. package/dist/og.d.cts +5 -0
  41. package/dist/og.d.ts +5 -0
  42. package/dist/og.js +2 -0
  43. package/dist/og.js.map +1 -0
  44. package/dist/schema.cjs +1 -1
  45. package/dist/schema.d.cts +6 -2
  46. package/dist/schema.d.ts +6 -2
  47. package/dist/schema.js +1 -1
  48. package/dist/sitemap.cjs +2 -0
  49. package/dist/sitemap.cjs.map +1 -0
  50. package/dist/sitemap.d.cts +12 -0
  51. package/dist/sitemap.d.ts +12 -0
  52. package/dist/sitemap.js +2 -0
  53. package/dist/sitemap.js.map +1 -0
  54. package/dist/validation.cjs +2 -0
  55. package/dist/validation.cjs.map +1 -0
  56. package/dist/validation.d.cts +8 -0
  57. package/dist/validation.d.ts +8 -0
  58. package/dist/validation.js +2 -0
  59. package/dist/validation.js.map +1 -0
  60. package/package.json +38 -2
  61. package/dist/chunk-63ETSZTD.cjs +0 -3
  62. package/dist/chunk-63ETSZTD.cjs.map +0 -1
  63. package/dist/chunk-AYIAPQTP.js +0 -2
  64. package/dist/chunk-AYIAPQTP.js.map +0 -1
  65. package/dist/chunk-ES4OXVOR.js +0 -3
  66. package/dist/chunk-ES4OXVOR.js.map +0 -1
  67. package/dist/chunk-T7EB7Y2S.cjs +0 -2
  68. package/dist/chunk-T7EB7Y2S.cjs.map +0 -1
  69. package/dist/index-Dr2yktvz.d.cts +0 -136
  70. package/dist/index-Dr2yktvz.d.ts +0 -136
@@ -0,0 +1,329 @@
1
+ type OpenGraphType = "website" | "article" | "product" | "profile" | "book" | "music.song" | "music.album" | "video.movie" | "video.episode" | (string & {});
2
+ interface OpenGraphImage {
3
+ url: string;
4
+ alt?: string;
5
+ width?: number;
6
+ height?: number;
7
+ type?: string;
8
+ }
9
+ interface OpenGraphConfig {
10
+ title?: string;
11
+ description?: string;
12
+ url?: string;
13
+ siteName?: string;
14
+ type?: OpenGraphType;
15
+ locale?: string;
16
+ images?: OpenGraphImage[];
17
+ }
18
+ type TwitterCardType = "summary" | "summary_large_image" | "app" | "player";
19
+ interface TwitterConfig {
20
+ card?: TwitterCardType;
21
+ site?: string;
22
+ creator?: string;
23
+ title?: string;
24
+ description?: string;
25
+ image?: string;
26
+ imageAlt?: string;
27
+ }
28
+ interface RobotsConfig {
29
+ index?: boolean;
30
+ follow?: boolean;
31
+ noarchive?: boolean;
32
+ nosnippet?: boolean;
33
+ noimageindex?: boolean;
34
+ notranslate?: boolean;
35
+ maxSnippet?: number;
36
+ maxImagePreview?: "none" | "standard" | "large";
37
+ maxVideoPreview?: number;
38
+ }
39
+ interface AlternateLink {
40
+ hreflang: string;
41
+ href: string;
42
+ }
43
+ interface SEOConfig {
44
+ title?: string;
45
+ titleTemplate?: string;
46
+ description?: string;
47
+ canonical?: string;
48
+ robots?: RobotsConfig;
49
+ openGraph?: OpenGraphConfig;
50
+ twitter?: TwitterConfig;
51
+ alternates?: AlternateLink[];
52
+ additionalMetaTags?: Array<{
53
+ name?: string;
54
+ property?: string;
55
+ content: string;
56
+ }>;
57
+ additionalLinkTags?: Array<{
58
+ rel: string;
59
+ href: string;
60
+ hreflang?: string;
61
+ type?: string;
62
+ sizes?: string;
63
+ }>;
64
+ jsonLd?: Record<string, unknown> | Array<Record<string, unknown>>;
65
+ }
66
+ interface JSONLDBase {
67
+ "@context"?: string;
68
+ "@type": string;
69
+ [key: string]: unknown;
70
+ }
71
+ interface BreadcrumbItem {
72
+ name: string;
73
+ url: string;
74
+ }
75
+ interface OrganizationSchemaInput {
76
+ name: string;
77
+ url: string;
78
+ logo?: string;
79
+ description?: string;
80
+ sameAs?: string[];
81
+ contactPoint?: {
82
+ telephone?: string;
83
+ contactType?: string;
84
+ email?: string;
85
+ areaServed?: string | string[];
86
+ availableLanguage?: string | string[];
87
+ };
88
+ }
89
+ interface WebsiteSchemaInput {
90
+ name: string;
91
+ url: string;
92
+ description?: string;
93
+ searchUrl?: string;
94
+ searchQueryParam?: string;
95
+ }
96
+ interface ArticleSchemaInput {
97
+ headline: string;
98
+ url: string;
99
+ description?: string;
100
+ images?: string[];
101
+ datePublished?: string;
102
+ dateModified?: string;
103
+ author?: {
104
+ name: string;
105
+ url?: string;
106
+ } | Array<{
107
+ name: string;
108
+ url?: string;
109
+ }>;
110
+ publisher?: {
111
+ name: string;
112
+ logo?: string;
113
+ };
114
+ section?: string;
115
+ keywords?: string[];
116
+ }
117
+ interface ProductSchemaInput {
118
+ name: string;
119
+ url: string;
120
+ description?: string;
121
+ images?: string[];
122
+ brand?: string;
123
+ sku?: string;
124
+ gtin?: string;
125
+ price?: number | string;
126
+ priceCurrency?: string;
127
+ availability?: "InStock" | "OutOfStock" | "PreOrder" | "Discontinued" | (string & {});
128
+ ratingValue?: number;
129
+ reviewCount?: number;
130
+ }
131
+ interface FAQItem {
132
+ question: string;
133
+ answer: string;
134
+ }
135
+ interface PersonSchemaInput {
136
+ name: string;
137
+ url?: string;
138
+ image?: string;
139
+ jobTitle?: string;
140
+ description?: string;
141
+ email?: string;
142
+ telephone?: string;
143
+ sameAs?: string[];
144
+ worksFor?: {
145
+ name: string;
146
+ url?: string;
147
+ };
148
+ birthDate?: string;
149
+ address?: string | {
150
+ streetAddress?: string;
151
+ addressLocality?: string;
152
+ addressRegion?: string;
153
+ postalCode?: string;
154
+ addressCountry?: string;
155
+ };
156
+ }
157
+ type RecipeInstruction = string | {
158
+ text: string;
159
+ name?: string;
160
+ url?: string;
161
+ image?: string;
162
+ };
163
+ interface RecipeSchemaInput {
164
+ name: string;
165
+ description?: string;
166
+ images?: string[];
167
+ author?: {
168
+ name: string;
169
+ url?: string;
170
+ };
171
+ datePublished?: string;
172
+ prepTime?: string;
173
+ cookTime?: string;
174
+ totalTime?: string;
175
+ recipeYield?: string | number;
176
+ recipeCategory?: string;
177
+ recipeCuisine?: string;
178
+ recipeIngredient?: string[];
179
+ recipeInstructions?: RecipeInstruction[];
180
+ nutrition?: Record<string, string>;
181
+ ratingValue?: number;
182
+ reviewCount?: number;
183
+ keywords?: string[];
184
+ }
185
+ interface JobPostingSchemaInput {
186
+ title: string;
187
+ description: string;
188
+ datePosted: string;
189
+ validThrough?: string;
190
+ employmentType?: string | string[];
191
+ hiringOrganization: {
192
+ name: string;
193
+ sameAs?: string;
194
+ logo?: string;
195
+ };
196
+ jobLocation?: {
197
+ addressLocality?: string;
198
+ addressRegion?: string;
199
+ addressCountry?: string;
200
+ };
201
+ remote?: boolean;
202
+ baseSalary?: {
203
+ currency: string;
204
+ value: number | {
205
+ minValue: number;
206
+ maxValue: number;
207
+ };
208
+ unitText?: "HOUR" | "DAY" | "WEEK" | "MONTH" | "YEAR";
209
+ };
210
+ experienceRequirements?: string;
211
+ educationRequirements?: string;
212
+ skills?: string | string[];
213
+ url?: string;
214
+ identifier?: {
215
+ name: string;
216
+ value: string;
217
+ };
218
+ }
219
+ type ChangeFreq = "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never";
220
+ interface SitemapRoute {
221
+ path: string;
222
+ lastmod?: string;
223
+ changefreq?: ChangeFreq;
224
+ priority?: number;
225
+ }
226
+ interface GenerateSitemapOptions {
227
+ routes: string[] | SitemapRoute[];
228
+ baseUrl: string;
229
+ exclude?: string[];
230
+ defaultChangefreq?: ChangeFreq;
231
+ defaultPriority?: number;
232
+ }
233
+ interface RobotsRule {
234
+ userAgent?: string | string[];
235
+ allow?: string | string[];
236
+ disallow?: string | string[];
237
+ crawlDelay?: number;
238
+ }
239
+ interface GenerateRobotsOptions {
240
+ rules?: RobotsRule | RobotsRule[];
241
+ sitemap?: string | string[];
242
+ }
243
+ interface SEOValidationIssue {
244
+ page: string;
245
+ field: string;
246
+ message: string;
247
+ severity: "error" | "warning";
248
+ }
249
+ interface RouteWithSEO {
250
+ path: string;
251
+ name?: string;
252
+ seo?: SEOConfig;
253
+ }
254
+ interface SEOScoreCheck {
255
+ name: string;
256
+ passed: boolean;
257
+ points: number;
258
+ maxPoints: number;
259
+ message?: string;
260
+ }
261
+ interface SEOScoreResult {
262
+ page: string;
263
+ score: number;
264
+ maxScore: number;
265
+ percentage: number;
266
+ checks: SEOScoreCheck[];
267
+ }
268
+ type OGImageTemplate = "default" | "article" | "sports-event";
269
+ interface OGImageOptions {
270
+ title: string;
271
+ description?: string;
272
+ template?: OGImageTemplate;
273
+ brand?: string;
274
+ backgroundColor?: string;
275
+ textColor?: string;
276
+ accentColor?: string;
277
+ category?: string;
278
+ author?: string;
279
+ dateString?: string;
280
+ homeTeam?: string;
281
+ awayTeam?: string;
282
+ eventDate?: string;
283
+ }
284
+ type EventStatus = "EventScheduled" | "EventCancelled" | "EventPostponed" | "EventRescheduled";
285
+ type EventAttendanceMode = "OfflineEventAttendanceMode" | "OnlineEventAttendanceMode" | "MixedEventAttendanceMode";
286
+ interface EventSchemaInput {
287
+ name: string;
288
+ startDate: string;
289
+ endDate?: string;
290
+ description?: string;
291
+ url?: string;
292
+ images?: string[];
293
+ location?: {
294
+ name: string;
295
+ url?: string;
296
+ address?: string | {
297
+ streetAddress?: string;
298
+ addressLocality?: string;
299
+ addressRegion?: string;
300
+ postalCode?: string;
301
+ addressCountry?: string;
302
+ };
303
+ };
304
+ organizer?: {
305
+ name: string;
306
+ url?: string;
307
+ };
308
+ performer?: {
309
+ name: string;
310
+ url?: string;
311
+ } | Array<{
312
+ name: string;
313
+ url?: string;
314
+ }>;
315
+ eventStatus?: EventStatus;
316
+ eventAttendanceMode?: EventAttendanceMode;
317
+ /** Presence of any sports-specific field switches @type to "SportsEvent" */
318
+ sport?: string;
319
+ homeTeam?: {
320
+ name: string;
321
+ url?: string;
322
+ };
323
+ awayTeam?: {
324
+ name: string;
325
+ url?: string;
326
+ };
327
+ }
328
+
329
+ export type { ArticleSchemaInput as A, BreadcrumbItem as B, ChangeFreq as C, EventSchemaInput as E, FAQItem as F, GenerateRobotsOptions as G, JSONLDBase as J, OrganizationSchemaInput as O, PersonSchemaInput as P, RecipeSchemaInput as R, SEOScoreResult as S, TwitterConfig as T, WebsiteSchemaInput as W, JobPostingSchemaInput as a, ProductSchemaInput as b, GenerateSitemapOptions as c, SEOConfig as d, SEOValidationIssue as e, RouteWithSEO as f, OGImageOptions as g, AlternateLink as h, OpenGraphConfig as i, RobotsConfig as j, EventAttendanceMode as k, EventStatus as l, OGImageTemplate as m, OpenGraphImage as n, OpenGraphType as o, RecipeInstruction as p, RobotsRule as q, SEOScoreCheck as r, SitemapRoute as s, TwitterCardType as t };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { S as SEOConfig } from './index-Dr2yktvz.js';
2
+ import { d as SEOConfig } from './index-Br7Sh9Ur.js';
3
3
 
4
4
  interface SEOHeadProps extends SEOConfig {
5
5
  /**
@@ -29,4 +29,12 @@ interface JsonLdProps {
29
29
  */
30
30
  declare function JsonLd({ data, nonce }: JsonLdProps): React.ReactElement;
31
31
 
32
- export { JsonLd as J, SEOHead as S, type JsonLdProps as a, type SEOHeadProps as b };
32
+ interface SEOPreviewProps {
33
+ config: SEOConfig;
34
+ platform?: "twitter" | "facebook" | "linkedin" | "google";
35
+ className?: string;
36
+ style?: React.CSSProperties;
37
+ }
38
+ declare function SEOPreview({ config, platform, style, }: SEOPreviewProps): React.ReactElement;
39
+
40
+ export { JsonLd as J, SEOHead as S, type JsonLdProps as a, type SEOHeadProps as b, SEOPreview as c, type SEOPreviewProps as d };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { S as SEOConfig } from './index-Dr2yktvz.cjs';
2
+ import { d as SEOConfig } from './index-Br7Sh9Ur.cjs';
3
3
 
4
4
  interface SEOHeadProps extends SEOConfig {
5
5
  /**
@@ -29,4 +29,12 @@ interface JsonLdProps {
29
29
  */
30
30
  declare function JsonLd({ data, nonce }: JsonLdProps): React.ReactElement;
31
31
 
32
- export { JsonLd as J, SEOHead as S, type JsonLdProps as a, type SEOHeadProps as b };
32
+ interface SEOPreviewProps {
33
+ config: SEOConfig;
34
+ platform?: "twitter" | "facebook" | "linkedin" | "google";
35
+ className?: string;
36
+ style?: React.CSSProperties;
37
+ }
38
+ declare function SEOPreview({ config, platform, style, }: SEOPreviewProps): React.ReactElement;
39
+
40
+ export { JsonLd as J, SEOHead as S, type JsonLdProps as a, type SEOHeadProps as b, SEOPreview as c, type SEOPreviewProps as d };
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunk63ETSZTD_cjs=require('./chunk-63ETSZTD.cjs'),chunkT7EB7Y2S_cjs=require('./chunk-T7EB7Y2S.cjs'),chunkFKDMHECL_cjs=require('./chunk-FKDMHECL.cjs');Object.defineProperty(exports,"composeSchemas",{enumerable:true,get:function(){return chunk63ETSZTD_cjs.g}});Object.defineProperty(exports,"createArticleSchema",{enumerable:true,get:function(){return chunk63ETSZTD_cjs.d}});Object.defineProperty(exports,"createBreadcrumbSchema",{enumerable:true,get:function(){return chunk63ETSZTD_cjs.c}});Object.defineProperty(exports,"createFAQSchema",{enumerable:true,get:function(){return chunk63ETSZTD_cjs.f}});Object.defineProperty(exports,"createOrganizationSchema",{enumerable:true,get:function(){return chunk63ETSZTD_cjs.a}});Object.defineProperty(exports,"createProductSchema",{enumerable:true,get:function(){return chunk63ETSZTD_cjs.e}});Object.defineProperty(exports,"createWebsiteSchema",{enumerable:true,get:function(){return chunk63ETSZTD_cjs.b}});Object.defineProperty(exports,"JsonLd",{enumerable:true,get:function(){return chunkT7EB7Y2S_cjs.b}});Object.defineProperty(exports,"SEOHead",{enumerable:true,get:function(){return chunkT7EB7Y2S_cjs.a}});Object.defineProperty(exports,"buildAlternateLinks",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.q}});Object.defineProperty(exports,"buildCanonicalUrl",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.k}});Object.defineProperty(exports,"buildDescription",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.j}});Object.defineProperty(exports,"buildFullUrl",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.e}});Object.defineProperty(exports,"buildOpenGraph",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.o}});Object.defineProperty(exports,"buildRobotsDirectives",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.l}});Object.defineProperty(exports,"buildTitle",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.i}});Object.defineProperty(exports,"buildTwitterMetadata",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.p}});Object.defineProperty(exports,"createSEOConfig",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.f}});Object.defineProperty(exports,"deepMerge",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.c}});Object.defineProperty(exports,"mergeSEOConfig",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.g}});Object.defineProperty(exports,"noIndex",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.n}});Object.defineProperty(exports,"noIndexNoFollow",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.m}});Object.defineProperty(exports,"normalizeSEOConfig",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.h}});Object.defineProperty(exports,"normalizeUrl",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.d}});Object.defineProperty(exports,"omitEmpty",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.b}});Object.defineProperty(exports,"safeJsonLdSerialize",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.a}});//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var chunkA62THBIS_cjs=require('./chunk-A62THBIS.cjs'),chunkZECSTNEE_cjs=require('./chunk-ZECSTNEE.cjs'),chunkZADUJHVR_cjs=require('./chunk-ZADUJHVR.cjs'),chunkLEOORZQY_cjs=require('./chunk-LEOORZQY.cjs'),chunkROA74LH6_cjs=require('./chunk-ROA74LH6.cjs'),chunkFKDMHECL_cjs=require('./chunk-FKDMHECL.cjs');Object.defineProperty(exports,"composeSchemas",{enumerable:true,get:function(){return chunkA62THBIS_cjs.k}});Object.defineProperty(exports,"createArticleSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.d}});Object.defineProperty(exports,"createBreadcrumbSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.c}});Object.defineProperty(exports,"createEventSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.g}});Object.defineProperty(exports,"createFAQSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.f}});Object.defineProperty(exports,"createJobPostingSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.j}});Object.defineProperty(exports,"createOrganizationSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.a}});Object.defineProperty(exports,"createPersonSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.h}});Object.defineProperty(exports,"createProductSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.e}});Object.defineProperty(exports,"createRecipeSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.i}});Object.defineProperty(exports,"createWebsiteSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.b}});Object.defineProperty(exports,"JsonLd",{enumerable:true,get:function(){return chunkZECSTNEE_cjs.b}});Object.defineProperty(exports,"SEOHead",{enumerable:true,get:function(){return chunkZECSTNEE_cjs.a}});Object.defineProperty(exports,"SEOPreview",{enumerable:true,get:function(){return chunkZECSTNEE_cjs.c}});Object.defineProperty(exports,"autoBreadcrumb",{enumerable:true,get:function(){return chunkZADUJHVR_cjs.c}});Object.defineProperty(exports,"generateRobots",{enumerable:true,get:function(){return chunkZADUJHVR_cjs.b}});Object.defineProperty(exports,"generateSitemap",{enumerable:true,get:function(){return chunkZADUJHVR_cjs.a}});Object.defineProperty(exports,"formatSEOScore",{enumerable:true,get:function(){return chunkLEOORZQY_cjs.d}});Object.defineProperty(exports,"getSEOScore",{enumerable:true,get:function(){return chunkLEOORZQY_cjs.c}});Object.defineProperty(exports,"printValidationReport",{enumerable:true,get:function(){return chunkLEOORZQY_cjs.b}});Object.defineProperty(exports,"validateSEO",{enumerable:true,get:function(){return chunkLEOORZQY_cjs.a}});Object.defineProperty(exports,"createOGImageSVG",{enumerable:true,get:function(){return chunkROA74LH6_cjs.a}});Object.defineProperty(exports,"buildAlternateLinks",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.q}});Object.defineProperty(exports,"buildCanonicalUrl",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.k}});Object.defineProperty(exports,"buildDescription",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.j}});Object.defineProperty(exports,"buildFullUrl",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.e}});Object.defineProperty(exports,"buildOpenGraph",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.o}});Object.defineProperty(exports,"buildRobotsDirectives",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.l}});Object.defineProperty(exports,"buildTitle",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.i}});Object.defineProperty(exports,"buildTwitterMetadata",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.p}});Object.defineProperty(exports,"createSEOConfig",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.f}});Object.defineProperty(exports,"deepMerge",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.c}});Object.defineProperty(exports,"mergeSEOConfig",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.g}});Object.defineProperty(exports,"noIndex",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.n}});Object.defineProperty(exports,"noIndexNoFollow",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.m}});Object.defineProperty(exports,"normalizeSEOConfig",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.h}});Object.defineProperty(exports,"normalizeUrl",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.d}});Object.defineProperty(exports,"omitEmpty",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.b}});Object.defineProperty(exports,"safeJsonLdSerialize",{enumerable:true,get:function(){return chunkFKDMHECL_cjs.a}});//# sourceMappingURL=index.cjs.map
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.cts CHANGED
@@ -1,7 +1,10 @@
1
- import { a as AlternateLink, b as OpenGraphConfig, R as RobotsConfig, T as TwitterConfig, S as SEOConfig } from './index-Dr2yktvz.cjs';
2
- export { A as ArticleSchemaInput, B as BreadcrumbItem, F as FAQItem, J as JSONLDBase, c as OpenGraphImage, d as OpenGraphType, O as OrganizationSchemaInput, P as ProductSchemaInput, e as TwitterCardType, W as WebsiteSchemaInput } from './index-Dr2yktvz.cjs';
3
- export { composeSchemas, createArticleSchema, createBreadcrumbSchema, createFAQSchema, createOrganizationSchema, createProductSchema, createWebsiteSchema } from './schema.cjs';
4
- export { J as JsonLd, a as JsonLdProps, S as SEOHead, b as SEOHeadProps } from './index-RBSUcdqN.cjs';
1
+ import { h as AlternateLink, i as OpenGraphConfig, j as RobotsConfig, T as TwitterConfig, d as SEOConfig } from './index-Br7Sh9Ur.cjs';
2
+ export { A as ArticleSchemaInput, B as BreadcrumbItem, C as ChangeFreq, k as EventAttendanceMode, E as EventSchemaInput, l as EventStatus, F as FAQItem, G as GenerateRobotsOptions, c as GenerateSitemapOptions, J as JSONLDBase, a as JobPostingSchemaInput, g as OGImageOptions, m as OGImageTemplate, n as OpenGraphImage, o as OpenGraphType, O as OrganizationSchemaInput, P as PersonSchemaInput, b as ProductSchemaInput, p as RecipeInstruction, R as RecipeSchemaInput, q as RobotsRule, f as RouteWithSEO, r as SEOScoreCheck, S as SEOScoreResult, e as SEOValidationIssue, s as SitemapRoute, t as TwitterCardType, W as WebsiteSchemaInput } from './index-Br7Sh9Ur.cjs';
3
+ export { composeSchemas, createArticleSchema, createBreadcrumbSchema, createEventSchema, createFAQSchema, createJobPostingSchema, createOrganizationSchema, createPersonSchema, createProductSchema, createRecipeSchema, createWebsiteSchema } from './schema.cjs';
4
+ export { AutoBreadcrumbOptions, autoBreadcrumb, generateRobots, generateSitemap } from './sitemap.cjs';
5
+ export { formatSEOScore, getSEOScore, printValidationReport, validateSEO } from './validation.cjs';
6
+ export { createOGImageSVG } from './og.cjs';
7
+ export { J as JsonLd, a as JsonLdProps, S as SEOHead, b as SEOHeadProps, c as SEOPreview, d as SEOPreviewProps } from './index-Wgogf4CX.cjs';
5
8
  import 'react';
6
9
 
7
10
  /**
package/dist/index.d.ts CHANGED
@@ -1,7 +1,10 @@
1
- import { a as AlternateLink, b as OpenGraphConfig, R as RobotsConfig, T as TwitterConfig, S as SEOConfig } from './index-Dr2yktvz.js';
2
- export { A as ArticleSchemaInput, B as BreadcrumbItem, F as FAQItem, J as JSONLDBase, c as OpenGraphImage, d as OpenGraphType, O as OrganizationSchemaInput, P as ProductSchemaInput, e as TwitterCardType, W as WebsiteSchemaInput } from './index-Dr2yktvz.js';
3
- export { composeSchemas, createArticleSchema, createBreadcrumbSchema, createFAQSchema, createOrganizationSchema, createProductSchema, createWebsiteSchema } from './schema.js';
4
- export { J as JsonLd, a as JsonLdProps, S as SEOHead, b as SEOHeadProps } from './index-DAGfo2Fc.js';
1
+ import { h as AlternateLink, i as OpenGraphConfig, j as RobotsConfig, T as TwitterConfig, d as SEOConfig } from './index-Br7Sh9Ur.js';
2
+ export { A as ArticleSchemaInput, B as BreadcrumbItem, C as ChangeFreq, k as EventAttendanceMode, E as EventSchemaInput, l as EventStatus, F as FAQItem, G as GenerateRobotsOptions, c as GenerateSitemapOptions, J as JSONLDBase, a as JobPostingSchemaInput, g as OGImageOptions, m as OGImageTemplate, n as OpenGraphImage, o as OpenGraphType, O as OrganizationSchemaInput, P as PersonSchemaInput, b as ProductSchemaInput, p as RecipeInstruction, R as RecipeSchemaInput, q as RobotsRule, f as RouteWithSEO, r as SEOScoreCheck, S as SEOScoreResult, e as SEOValidationIssue, s as SitemapRoute, t as TwitterCardType, W as WebsiteSchemaInput } from './index-Br7Sh9Ur.js';
3
+ export { composeSchemas, createArticleSchema, createBreadcrumbSchema, createEventSchema, createFAQSchema, createJobPostingSchema, createOrganizationSchema, createPersonSchema, createProductSchema, createRecipeSchema, createWebsiteSchema } from './schema.js';
4
+ export { AutoBreadcrumbOptions, autoBreadcrumb, generateRobots, generateSitemap } from './sitemap.js';
5
+ export { formatSEOScore, getSEOScore, printValidationReport, validateSEO } from './validation.js';
6
+ export { createOGImageSVG } from './og.js';
7
+ export { J as JsonLd, a as JsonLdProps, S as SEOHead, b as SEOHeadProps, c as SEOPreview, d as SEOPreviewProps } from './index-CKNcgAj8.js';
5
8
  import 'react';
6
9
 
7
10
  /**
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{g as composeSchemas,d as createArticleSchema,c as createBreadcrumbSchema,f as createFAQSchema,a as createOrganizationSchema,e as createProductSchema,b as createWebsiteSchema}from'./chunk-ES4OXVOR.js';export{b as JsonLd,a as SEOHead}from'./chunk-AYIAPQTP.js';export{q as buildAlternateLinks,k as buildCanonicalUrl,j as buildDescription,e as buildFullUrl,o as buildOpenGraph,l as buildRobotsDirectives,i as buildTitle,p as buildTwitterMetadata,f as createSEOConfig,c as deepMerge,g as mergeSEOConfig,n as noIndex,m as noIndexNoFollow,h as normalizeSEOConfig,d as normalizeUrl,b as omitEmpty,a as safeJsonLdSerialize}from'./chunk-LP66SUGR.js';//# sourceMappingURL=index.js.map
1
+ export{k as composeSchemas,d as createArticleSchema,c as createBreadcrumbSchema,g as createEventSchema,f as createFAQSchema,j as createJobPostingSchema,a as createOrganizationSchema,h as createPersonSchema,e as createProductSchema,i as createRecipeSchema,b as createWebsiteSchema}from'./chunk-ZVFEGG25.js';export{b as JsonLd,a as SEOHead,c as SEOPreview}from'./chunk-GNLXGAS6.js';export{c as autoBreadcrumb,b as generateRobots,a as generateSitemap}from'./chunk-3UCLUFOI.js';export{d as formatSEOScore,c as getSEOScore,b as printValidationReport,a as validateSEO}from'./chunk-X535MU7Z.js';export{a as createOGImageSVG}from'./chunk-WM5VVPED.js';export{q as buildAlternateLinks,k as buildCanonicalUrl,j as buildDescription,e as buildFullUrl,o as buildOpenGraph,l as buildRobotsDirectives,i as buildTitle,p as buildTwitterMetadata,f as createSEOConfig,c as deepMerge,g as mergeSEOConfig,n as noIndex,m as noIndexNoFollow,h as normalizeSEOConfig,d as normalizeUrl,b as omitEmpty,a as safeJsonLdSerialize}from'./chunk-LP66SUGR.js';//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
package/dist/og.cjs ADDED
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkROA74LH6_cjs=require('./chunk-ROA74LH6.cjs');Object.defineProperty(exports,"createOGImageSVG",{enumerable:true,get:function(){return chunkROA74LH6_cjs.a}});//# sourceMappingURL=og.cjs.map
2
+ //# sourceMappingURL=og.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"og.cjs"}
package/dist/og.d.cts ADDED
@@ -0,0 +1,5 @@
1
+ import { g as OGImageOptions } from './index-Br7Sh9Ur.cjs';
2
+
3
+ declare function createOGImageSVG(options: OGImageOptions): string;
4
+
5
+ export { createOGImageSVG };
package/dist/og.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import { g as OGImageOptions } from './index-Br7Sh9Ur.js';
2
+
3
+ declare function createOGImageSVG(options: OGImageOptions): string;
4
+
5
+ export { createOGImageSVG };
package/dist/og.js ADDED
@@ -0,0 +1,2 @@
1
+ export{a as createOGImageSVG}from'./chunk-WM5VVPED.js';//# sourceMappingURL=og.js.map
2
+ //# sourceMappingURL=og.js.map
package/dist/og.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"og.js"}
package/dist/schema.cjs CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunk63ETSZTD_cjs=require('./chunk-63ETSZTD.cjs');Object.defineProperty(exports,"composeSchemas",{enumerable:true,get:function(){return chunk63ETSZTD_cjs.g}});Object.defineProperty(exports,"createArticleSchema",{enumerable:true,get:function(){return chunk63ETSZTD_cjs.d}});Object.defineProperty(exports,"createBreadcrumbSchema",{enumerable:true,get:function(){return chunk63ETSZTD_cjs.c}});Object.defineProperty(exports,"createFAQSchema",{enumerable:true,get:function(){return chunk63ETSZTD_cjs.f}});Object.defineProperty(exports,"createOrganizationSchema",{enumerable:true,get:function(){return chunk63ETSZTD_cjs.a}});Object.defineProperty(exports,"createProductSchema",{enumerable:true,get:function(){return chunk63ETSZTD_cjs.e}});Object.defineProperty(exports,"createWebsiteSchema",{enumerable:true,get:function(){return chunk63ETSZTD_cjs.b}});//# sourceMappingURL=schema.cjs.map
1
+ 'use strict';var chunkA62THBIS_cjs=require('./chunk-A62THBIS.cjs');Object.defineProperty(exports,"composeSchemas",{enumerable:true,get:function(){return chunkA62THBIS_cjs.k}});Object.defineProperty(exports,"createArticleSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.d}});Object.defineProperty(exports,"createBreadcrumbSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.c}});Object.defineProperty(exports,"createEventSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.g}});Object.defineProperty(exports,"createFAQSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.f}});Object.defineProperty(exports,"createJobPostingSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.j}});Object.defineProperty(exports,"createOrganizationSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.a}});Object.defineProperty(exports,"createPersonSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.h}});Object.defineProperty(exports,"createProductSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.e}});Object.defineProperty(exports,"createRecipeSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.i}});Object.defineProperty(exports,"createWebsiteSchema",{enumerable:true,get:function(){return chunkA62THBIS_cjs.b}});//# sourceMappingURL=schema.cjs.map
2
2
  //# sourceMappingURL=schema.cjs.map
package/dist/schema.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { J as JSONLDBase, A as ArticleSchemaInput, B as BreadcrumbItem, F as FAQItem, O as OrganizationSchemaInput, P as ProductSchemaInput, W as WebsiteSchemaInput } from './index-Dr2yktvz.cjs';
1
+ import { J as JSONLDBase, A as ArticleSchemaInput, B as BreadcrumbItem, E as EventSchemaInput, F as FAQItem, a as JobPostingSchemaInput, O as OrganizationSchemaInput, P as PersonSchemaInput, b as ProductSchemaInput, R as RecipeSchemaInput, W as WebsiteSchemaInput } from './index-Br7Sh9Ur.cjs';
2
2
 
3
3
  declare function createOrganizationSchema(input: OrganizationSchemaInput): JSONLDBase;
4
4
  declare function createWebsiteSchema(input: WebsiteSchemaInput): JSONLDBase;
@@ -6,10 +6,14 @@ declare function createBreadcrumbSchema(items: BreadcrumbItem[]): JSONLDBase;
6
6
  declare function createArticleSchema(input: ArticleSchemaInput): JSONLDBase;
7
7
  declare function createProductSchema(input: ProductSchemaInput): JSONLDBase;
8
8
  declare function createFAQSchema(items: FAQItem[]): JSONLDBase;
9
+ declare function createEventSchema(input: EventSchemaInput): JSONLDBase;
10
+ declare function createPersonSchema(input: PersonSchemaInput): JSONLDBase;
11
+ declare function createRecipeSchema(input: RecipeSchemaInput): JSONLDBase;
12
+ declare function createJobPostingSchema(input: JobPostingSchemaInput): JSONLDBase;
9
13
  /**
10
14
  * Compose multiple JSON-LD schemas into a single @graph array.
11
15
  * Useful for embedding multiple structured data blocks in one script tag.
12
16
  */
13
17
  declare function composeSchemas(...schemas: JSONLDBase[]): JSONLDBase;
14
18
 
15
- export { composeSchemas, createArticleSchema, createBreadcrumbSchema, createFAQSchema, createOrganizationSchema, createProductSchema, createWebsiteSchema };
19
+ export { composeSchemas, createArticleSchema, createBreadcrumbSchema, createEventSchema, createFAQSchema, createJobPostingSchema, createOrganizationSchema, createPersonSchema, createProductSchema, createRecipeSchema, createWebsiteSchema };
package/dist/schema.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { J as JSONLDBase, A as ArticleSchemaInput, B as BreadcrumbItem, F as FAQItem, O as OrganizationSchemaInput, P as ProductSchemaInput, W as WebsiteSchemaInput } from './index-Dr2yktvz.js';
1
+ import { J as JSONLDBase, A as ArticleSchemaInput, B as BreadcrumbItem, E as EventSchemaInput, F as FAQItem, a as JobPostingSchemaInput, O as OrganizationSchemaInput, P as PersonSchemaInput, b as ProductSchemaInput, R as RecipeSchemaInput, W as WebsiteSchemaInput } from './index-Br7Sh9Ur.js';
2
2
 
3
3
  declare function createOrganizationSchema(input: OrganizationSchemaInput): JSONLDBase;
4
4
  declare function createWebsiteSchema(input: WebsiteSchemaInput): JSONLDBase;
@@ -6,10 +6,14 @@ declare function createBreadcrumbSchema(items: BreadcrumbItem[]): JSONLDBase;
6
6
  declare function createArticleSchema(input: ArticleSchemaInput): JSONLDBase;
7
7
  declare function createProductSchema(input: ProductSchemaInput): JSONLDBase;
8
8
  declare function createFAQSchema(items: FAQItem[]): JSONLDBase;
9
+ declare function createEventSchema(input: EventSchemaInput): JSONLDBase;
10
+ declare function createPersonSchema(input: PersonSchemaInput): JSONLDBase;
11
+ declare function createRecipeSchema(input: RecipeSchemaInput): JSONLDBase;
12
+ declare function createJobPostingSchema(input: JobPostingSchemaInput): JSONLDBase;
9
13
  /**
10
14
  * Compose multiple JSON-LD schemas into a single @graph array.
11
15
  * Useful for embedding multiple structured data blocks in one script tag.
12
16
  */
13
17
  declare function composeSchemas(...schemas: JSONLDBase[]): JSONLDBase;
14
18
 
15
- export { composeSchemas, createArticleSchema, createBreadcrumbSchema, createFAQSchema, createOrganizationSchema, createProductSchema, createWebsiteSchema };
19
+ export { composeSchemas, createArticleSchema, createBreadcrumbSchema, createEventSchema, createFAQSchema, createJobPostingSchema, createOrganizationSchema, createPersonSchema, createProductSchema, createRecipeSchema, createWebsiteSchema };
package/dist/schema.js CHANGED
@@ -1,2 +1,2 @@
1
- export{g as composeSchemas,d as createArticleSchema,c as createBreadcrumbSchema,f as createFAQSchema,a as createOrganizationSchema,e as createProductSchema,b as createWebsiteSchema}from'./chunk-ES4OXVOR.js';//# sourceMappingURL=schema.js.map
1
+ export{k as composeSchemas,d as createArticleSchema,c as createBreadcrumbSchema,g as createEventSchema,f as createFAQSchema,j as createJobPostingSchema,a as createOrganizationSchema,h as createPersonSchema,e as createProductSchema,i as createRecipeSchema,b as createWebsiteSchema}from'./chunk-ZVFEGG25.js';//# sourceMappingURL=schema.js.map
2
2
  //# sourceMappingURL=schema.js.map
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkZADUJHVR_cjs=require('./chunk-ZADUJHVR.cjs');Object.defineProperty(exports,"autoBreadcrumb",{enumerable:true,get:function(){return chunkZADUJHVR_cjs.c}});Object.defineProperty(exports,"generateRobots",{enumerable:true,get:function(){return chunkZADUJHVR_cjs.b}});Object.defineProperty(exports,"generateSitemap",{enumerable:true,get:function(){return chunkZADUJHVR_cjs.a}});//# sourceMappingURL=sitemap.cjs.map
2
+ //# sourceMappingURL=sitemap.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"sitemap.cjs"}
@@ -0,0 +1,12 @@
1
+ import { B as BreadcrumbItem, G as GenerateRobotsOptions, c as GenerateSitemapOptions } from './index-Br7Sh9Ur.cjs';
2
+
3
+ declare function generateSitemap(options: GenerateSitemapOptions): string;
4
+ declare function generateRobots(options: GenerateRobotsOptions): string;
5
+ interface AutoBreadcrumbOptions {
6
+ baseUrl?: string;
7
+ labels?: Record<string, string>;
8
+ formatLabel?: (segment: string) => string;
9
+ }
10
+ declare function autoBreadcrumb(currentPath: string, options?: AutoBreadcrumbOptions): BreadcrumbItem[];
11
+
12
+ export { type AutoBreadcrumbOptions, autoBreadcrumb, generateRobots, generateSitemap };
@@ -0,0 +1,12 @@
1
+ import { B as BreadcrumbItem, G as GenerateRobotsOptions, c as GenerateSitemapOptions } from './index-Br7Sh9Ur.js';
2
+
3
+ declare function generateSitemap(options: GenerateSitemapOptions): string;
4
+ declare function generateRobots(options: GenerateRobotsOptions): string;
5
+ interface AutoBreadcrumbOptions {
6
+ baseUrl?: string;
7
+ labels?: Record<string, string>;
8
+ formatLabel?: (segment: string) => string;
9
+ }
10
+ declare function autoBreadcrumb(currentPath: string, options?: AutoBreadcrumbOptions): BreadcrumbItem[];
11
+
12
+ export { type AutoBreadcrumbOptions, autoBreadcrumb, generateRobots, generateSitemap };
@@ -0,0 +1,2 @@
1
+ export{c as autoBreadcrumb,b as generateRobots,a as generateSitemap}from'./chunk-3UCLUFOI.js';//# sourceMappingURL=sitemap.js.map
2
+ //# sourceMappingURL=sitemap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"sitemap.js"}
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkLEOORZQY_cjs=require('./chunk-LEOORZQY.cjs');Object.defineProperty(exports,"formatSEOScore",{enumerable:true,get:function(){return chunkLEOORZQY_cjs.d}});Object.defineProperty(exports,"getSEOScore",{enumerable:true,get:function(){return chunkLEOORZQY_cjs.c}});Object.defineProperty(exports,"printValidationReport",{enumerable:true,get:function(){return chunkLEOORZQY_cjs.b}});Object.defineProperty(exports,"validateSEO",{enumerable:true,get:function(){return chunkLEOORZQY_cjs.a}});//# sourceMappingURL=validation.cjs.map
2
+ //# sourceMappingURL=validation.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"validation.cjs"}
@@ -0,0 +1,8 @@
1
+ import { S as SEOScoreResult, d as SEOConfig, e as SEOValidationIssue, f as RouteWithSEO } from './index-Br7Sh9Ur.cjs';
2
+
3
+ declare function validateSEO(routes: RouteWithSEO[]): SEOValidationIssue[];
4
+ declare function printValidationReport(issues: SEOValidationIssue[]): string;
5
+ declare function getSEOScore(config: SEOConfig, pageName?: string): SEOScoreResult;
6
+ declare function formatSEOScore(result: SEOScoreResult): string;
7
+
8
+ export { formatSEOScore, getSEOScore, printValidationReport, validateSEO };
@@ -0,0 +1,8 @@
1
+ import { S as SEOScoreResult, d as SEOConfig, e as SEOValidationIssue, f as RouteWithSEO } from './index-Br7Sh9Ur.js';
2
+
3
+ declare function validateSEO(routes: RouteWithSEO[]): SEOValidationIssue[];
4
+ declare function printValidationReport(issues: SEOValidationIssue[]): string;
5
+ declare function getSEOScore(config: SEOConfig, pageName?: string): SEOScoreResult;
6
+ declare function formatSEOScore(result: SEOScoreResult): string;
7
+
8
+ export { formatSEOScore, getSEOScore, printValidationReport, validateSEO };
@@ -0,0 +1,2 @@
1
+ export{d as formatSEOScore,c as getSEOScore,b as printValidationReport,a as validateSEO}from'./chunk-X535MU7Z.js';//# sourceMappingURL=validation.js.map
2
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"validation.js"}