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.
- package/README.md +592 -512
- package/dist/adapters/nextjs.d.cts +1 -1
- package/dist/adapters/nextjs.d.ts +1 -1
- package/dist/adapters/react-router.d.cts +1 -1
- package/dist/adapters/react-router.d.ts +1 -1
- package/dist/chunk-3UCLUFOI.js +5 -0
- package/dist/chunk-3UCLUFOI.js.map +1 -0
- package/dist/chunk-A62THBIS.cjs +3 -0
- package/dist/chunk-A62THBIS.cjs.map +1 -0
- package/dist/chunk-GNLXGAS6.js +3 -0
- package/dist/chunk-GNLXGAS6.js.map +1 -0
- package/dist/chunk-LEOORZQY.cjs +5 -0
- package/dist/chunk-LEOORZQY.cjs.map +1 -0
- package/dist/chunk-ROA74LH6.cjs +61 -0
- package/dist/chunk-ROA74LH6.cjs.map +1 -0
- package/dist/chunk-WM5VVPED.js +61 -0
- package/dist/chunk-WM5VVPED.js.map +1 -0
- package/dist/chunk-X535MU7Z.js +5 -0
- package/dist/chunk-X535MU7Z.js.map +1 -0
- package/dist/chunk-ZADUJHVR.cjs +5 -0
- package/dist/chunk-ZADUJHVR.cjs.map +1 -0
- package/dist/chunk-ZECSTNEE.cjs +3 -0
- package/dist/chunk-ZECSTNEE.cjs.map +1 -0
- package/dist/chunk-ZVFEGG25.js +3 -0
- package/dist/chunk-ZVFEGG25.js.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.d.cts +2 -2
- package/dist/components.d.ts +2 -2
- package/dist/components.js +1 -1
- package/dist/index-Br7Sh9Ur.d.cts +329 -0
- package/dist/index-Br7Sh9Ur.d.ts +329 -0
- package/dist/{index-DAGfo2Fc.d.ts → index-CKNcgAj8.d.ts} +10 -2
- package/dist/{index-RBSUcdqN.d.cts → index-Wgogf4CX.d.cts} +10 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +7 -4
- package/dist/index.d.ts +7 -4
- package/dist/index.js +1 -1
- package/dist/og.cjs +2 -0
- package/dist/og.cjs.map +1 -0
- package/dist/og.d.cts +5 -0
- package/dist/og.d.ts +5 -0
- package/dist/og.js +2 -0
- package/dist/og.js.map +1 -0
- package/dist/schema.cjs +1 -1
- package/dist/schema.d.cts +6 -2
- package/dist/schema.d.ts +6 -2
- package/dist/schema.js +1 -1
- package/dist/sitemap.cjs +2 -0
- package/dist/sitemap.cjs.map +1 -0
- package/dist/sitemap.d.cts +12 -0
- package/dist/sitemap.d.ts +12 -0
- package/dist/sitemap.js +2 -0
- package/dist/sitemap.js.map +1 -0
- package/dist/validation.cjs +2 -0
- package/dist/validation.cjs.map +1 -0
- package/dist/validation.d.cts +8 -0
- package/dist/validation.d.ts +8 -0
- package/dist/validation.js +2 -0
- package/dist/validation.js.map +1 -0
- package/package.json +38 -2
- package/dist/chunk-63ETSZTD.cjs +0 -3
- package/dist/chunk-63ETSZTD.cjs.map +0 -1
- package/dist/chunk-AYIAPQTP.js +0 -2
- package/dist/chunk-AYIAPQTP.js.map +0 -1
- package/dist/chunk-ES4OXVOR.js +0 -3
- package/dist/chunk-ES4OXVOR.js.map +0 -1
- package/dist/chunk-T7EB7Y2S.cjs +0 -2
- package/dist/chunk-T7EB7Y2S.cjs.map +0 -1
- package/dist/index-Dr2yktvz.d.cts +0 -136
- 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 {
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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
|
|
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 {
|
|
2
|
-
export { A as ArticleSchemaInput, B as BreadcrumbItem, F as FAQItem, J as JSONLDBase,
|
|
3
|
-
export { composeSchemas, createArticleSchema, createBreadcrumbSchema, createFAQSchema, createOrganizationSchema, createProductSchema, createWebsiteSchema } from './schema.cjs';
|
|
4
|
-
export {
|
|
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 {
|
|
2
|
-
export { A as ArticleSchemaInput, B as BreadcrumbItem, F as FAQItem, J as JSONLDBase,
|
|
3
|
-
export { composeSchemas, createArticleSchema, createBreadcrumbSchema, createFAQSchema, createOrganizationSchema, createProductSchema, createWebsiteSchema } from './schema.js';
|
|
4
|
-
export {
|
|
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{
|
|
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
package/dist/og.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"og.cjs"}
|
package/dist/og.d.cts
ADDED
package/dist/og.d.ts
ADDED
package/dist/og.js
ADDED
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
|
|
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-
|
|
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-
|
|
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{
|
|
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
|
package/dist/sitemap.cjs
ADDED
|
@@ -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 };
|
package/dist/sitemap.js
ADDED
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"validation.js"}
|