scribe-cms 0.0.8 → 0.0.9
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 +5 -5
- package/dist/cli/index.cjs +432 -384
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.js +432 -384
- package/dist/cli/index.js.map +1 -1
- package/dist/index.cjs +642 -512
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +642 -513
- package/dist/index.js.map +1 -1
- package/dist/runtime.cjs +287 -261
- package/dist/runtime.cjs.map +1 -1
- package/dist/runtime.js +286 -261
- package/dist/runtime.js.map +1 -1
- package/dist/src/config/resolve-config.d.ts.map +1 -1
- package/dist/src/core/builtin-fields.d.ts +8 -8
- package/dist/src/core/builtin-fields.d.ts.map +1 -1
- package/dist/src/core/types.d.ts +11 -4
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/create-project.d.ts.map +1 -1
- package/dist/src/export/build-static-raw-exports.d.ts.map +1 -1
- package/dist/src/i18n/build-url.d.ts +16 -3
- package/dist/src/i18n/build-url.d.ts.map +1 -1
- package/dist/src/i18n/resolve-document.d.ts +3 -2
- package/dist/src/i18n/resolve-document.d.ts.map +1 -1
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/loader/create-loader.d.ts.map +1 -1
- package/dist/src/redirects/build-json-redirects.d.ts +6 -0
- package/dist/src/redirects/build-json-redirects.d.ts.map +1 -0
- package/dist/src/redirects/build-redirects.d.ts +9 -7
- package/dist/src/redirects/build-redirects.d.ts.map +1 -1
- package/dist/src/redirects/load-type-redirects.d.ts +14 -0
- package/dist/src/redirects/load-type-redirects.d.ts.map +1 -0
- package/dist/src/redirects/redirect-schema.d.ts +31 -0
- package/dist/src/redirects/redirect-schema.d.ts.map +1 -0
- package/dist/src/runtime.d.ts +3 -1
- package/dist/src/runtime.d.ts.map +1 -1
- package/dist/src/sitemap/generate-sitemap.d.ts.map +1 -1
- package/dist/src/validate/validate-project.d.ts.map +1 -1
- package/dist/src/validate/validate-redirects.d.ts +4 -0
- package/dist/src/validate/validate-redirects.d.ts.map +1 -0
- package/dist/studio/server.cjs +90 -61
- package/dist/studio/server.cjs.map +1 -1
- package/dist/studio/server.js +90 -61
- package/dist/studio/server.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/core/slug-aliases.d.ts +0 -27
- package/dist/src/core/slug-aliases.d.ts.map +0 -1
- package/dist/src/redirects/translation-index.d.ts +0 -4
- package/dist/src/redirects/translation-index.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-config.d.ts","sourceRoot":"","sources":["../../../src/config/resolve-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,YAAY,EACZ,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAK1B,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,YAAY,CAMxE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,YAAY,EAC5C,OAAO,CAAC,EAAE,MAAM,GACf,YAAY,
|
|
1
|
+
{"version":3,"file":"resolve-config.d.ts","sourceRoot":"","sources":["../../../src/config/resolve-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,YAAY,EACZ,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAK1B,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,YAAY,CAMxE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,YAAY,EAC5C,OAAO,CAAC,EAAE,MAAM,GACf,YAAY,CAgEd"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import
|
|
2
|
+
import { pathPrefix, pathSuffix } from "../i18n/build-url.js";
|
|
3
|
+
import type { ContentTypeConfig, LocaleRoutingConfig, ScribeDocument } from "./types.js";
|
|
3
4
|
export declare const SLUG_PATTERN: RegExp;
|
|
4
5
|
export declare const slugPatternSchema: z.ZodString;
|
|
5
6
|
export declare const isoDateSchema: z.ZodString;
|
|
6
7
|
export interface BuiltinEnFields {
|
|
7
|
-
aliases: string[];
|
|
8
|
-
redirectTo?: string;
|
|
9
8
|
publishedAt?: string;
|
|
10
9
|
updatedAt?: string;
|
|
11
10
|
noindex: boolean;
|
|
@@ -17,8 +16,8 @@ export interface BuiltinParseIssue {
|
|
|
17
16
|
message: string;
|
|
18
17
|
level: "error" | "warning";
|
|
19
18
|
}
|
|
20
|
-
/** Extract built-in EN frontmatter (
|
|
21
|
-
export declare function extractBuiltinEnFields(data: Record<string, unknown>,
|
|
19
|
+
/** Extract built-in EN frontmatter (dates, SEO) before Zod validation. */
|
|
20
|
+
export declare function extractBuiltinEnFields(data: Record<string, unknown>, _pathTemplate: string | undefined, _enSlug: string, _defaultLocale: string): {
|
|
22
21
|
builtin: BuiltinEnFields;
|
|
23
22
|
rest: Record<string, unknown>;
|
|
24
23
|
issues: BuiltinParseIssue[];
|
|
@@ -31,8 +30,9 @@ export declare function documentLastModified(doc: {
|
|
|
31
30
|
publishedAt?: string;
|
|
32
31
|
}): string | undefined;
|
|
33
32
|
/** Locale-aware pathname for a document. */
|
|
34
|
-
export declare function resolveCanonicalPathname(type: Pick<ContentTypeConfig, "path">, doc: Pick<ScribeDocument, "slug" | "locale" | "canonicalPathOverride">, defaultLocale: string): string;
|
|
33
|
+
export declare function resolveCanonicalPathname(type: Pick<ContentTypeConfig, "path">, doc: Pick<ScribeDocument, "slug" | "locale" | "canonicalPathOverride">, defaultLocale: string, localeRouting?: LocaleRoutingConfig): string;
|
|
35
34
|
/** Hydrate locale frontmatter with EN-only built-in fields at load time. */
|
|
36
|
-
export declare function mergeBuiltinsIntoFrontmatter(frontmatter: Record<string, unknown>, doc: Pick<ScribeDocument, "publishedAt" | "updatedAt" | "noindex" | "canonicalPathOverride" | "slug" | "locale">, type: Pick<ContentTypeConfig, "path">, defaultLocale: string): Record<string, unknown>;
|
|
37
|
-
export declare function seoFieldsFromEn(enDoc: ScribeDocument): Pick<ScribeDocument, "publishedAt" | "updatedAt" | "noindex" | "canonicalPathOverride"
|
|
35
|
+
export declare function mergeBuiltinsIntoFrontmatter(frontmatter: Record<string, unknown>, doc: Pick<ScribeDocument, "publishedAt" | "updatedAt" | "noindex" | "canonicalPathOverride" | "slug" | "locale">, type: Pick<ContentTypeConfig, "path">, defaultLocale: string, localeRouting?: LocaleRoutingConfig): Record<string, unknown>;
|
|
36
|
+
export declare function seoFieldsFromEn(enDoc: ScribeDocument): Pick<ScribeDocument, "publishedAt" | "updatedAt" | "noindex" | "canonicalPathOverride">;
|
|
37
|
+
export { pathPrefix, pathSuffix };
|
|
38
38
|
//# sourceMappingURL=builtin-fields.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-fields.d.ts","sourceRoot":"","sources":["../../../src/core/builtin-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"builtin-fields.d.ts","sourceRoot":"","sources":["../../../src/core/builtin-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzF,eAAO,MAAM,YAAY,QAA+B,CAAC;AAEzD,eAAO,MAAM,iBAAiB,aAE6B,CAAC;AAE5D,eAAO,MAAM,aAAa,aAE+D,CAAC;AAI1F,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5B;AAwBD,0EAA0E;AAC1E,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB;IACD,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B,CAmFA;AAED,8DAA8D;AAC9D,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,iBAAiB,EAAE,CAQ9F;AAED,kEAAkE;AAClE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,GAAG,SAAS,CAKrB;AAED,4CAA4C;AAC5C,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EACrC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ,GAAG,uBAAuB,CAAC,EACtE,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,mBAAmB,GAClC,MAAM,CAYR;AAED,4EAA4E;AAC5E,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,GAAG,EAAE,IAAI,CACP,cAAc,EACd,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,uBAAuB,GAAG,MAAM,GAAG,QAAQ,CACtF,EACD,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EACrC,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,mBAAmB,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAC1D,cAAc,EACd,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,uBAAuB,CAClE,CAOA;AAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
|
package/dist/src/core/types.d.ts
CHANGED
|
@@ -33,6 +33,14 @@ export interface LocalePresets {
|
|
|
33
33
|
ultraLight?: string[];
|
|
34
34
|
[name: string]: string[] | undefined;
|
|
35
35
|
}
|
|
36
|
+
/** How non-default locales appear in generated URLs. */
|
|
37
|
+
export type LocaleRoutingConfig = {
|
|
38
|
+
strategy: "path-prefix";
|
|
39
|
+
prefixDefaultLocale?: boolean;
|
|
40
|
+
} | {
|
|
41
|
+
strategy: "search-param";
|
|
42
|
+
param: string;
|
|
43
|
+
};
|
|
36
44
|
/** Per-content-type translation settings (merged over the project-level defaults). */
|
|
37
45
|
export interface TranslateConfig {
|
|
38
46
|
/** Replace the default system prompt entirely. */
|
|
@@ -102,6 +110,8 @@ export interface ScribeConfigInput<TTypes extends readonly ContentTypeInput<any>
|
|
|
102
110
|
locales: string[];
|
|
103
111
|
/** Canonical source locale. Must be in `locales`. Default: `"en"`. */
|
|
104
112
|
defaultLocale?: string;
|
|
113
|
+
/** How locale markers are applied to generated URLs. Default: path-prefix without default locale. */
|
|
114
|
+
localeRouting?: LocaleRoutingConfig;
|
|
105
115
|
localePresets?: LocalePresets;
|
|
106
116
|
translate?: ScribeTranslateDefaults;
|
|
107
117
|
types: TTypes;
|
|
@@ -119,6 +129,7 @@ export interface ScribeConfig {
|
|
|
119
129
|
assetsPath?: string;
|
|
120
130
|
locales: string[];
|
|
121
131
|
defaultLocale: string;
|
|
132
|
+
localeRouting: LocaleRoutingConfig;
|
|
122
133
|
localePresets?: LocalePresets;
|
|
123
134
|
translate?: ScribeTranslateDefaults;
|
|
124
135
|
types: ContentTypeConfig[];
|
|
@@ -130,10 +141,6 @@ export interface ScribeDocument<TFrontmatter = Record<string, unknown>> {
|
|
|
130
141
|
/** Slug of the EN (default-locale) parent. Equal to `slug` for EN documents. */
|
|
131
142
|
enSlug: string;
|
|
132
143
|
locale: string;
|
|
133
|
-
/** Inbound slug aliases (EN canonical docs only). */
|
|
134
|
-
aliases: string[];
|
|
135
|
-
/** Outbound retirement redirect, e.g. `/blog/successor-slug`. */
|
|
136
|
-
redirectTo?: string;
|
|
137
144
|
publishedAt?: string;
|
|
138
145
|
updatedAt?: string;
|
|
139
146
|
noindex: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-project.d.ts","sourceRoot":"","sources":["../../src/create-project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,YAAY,EAEZ,aAAa,EAEd,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-project.d.ts","sourceRoot":"","sources":["../../src/create-project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,YAAY,EAEZ,aAAa,EAEd,MAAM,iBAAiB,CAAC;AA2LzB;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CA0BjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-static-raw-exports.d.ts","sourceRoot":"","sources":["../../../src/export/build-static-raw-exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItD,MAAM,WAAW,eAAe;IAC9B,qFAAqF;IACrF,YAAY,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,wDAAwD;IACxD,SAAS,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;IACzB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,oDAAoD;IACpD,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAMD,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GAC9D,MAAM,EAAE,CAkBV;AAED,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,4BAAiC,GACzC,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"build-static-raw-exports.d.ts","sourceRoot":"","sources":["../../../src/export/build-static-raw-exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItD,MAAM,WAAW,eAAe;IAC9B,qFAAqF;IACrF,YAAY,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,wDAAwD;IACxD,SAAS,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;IACzB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,oDAAoD;IACpD,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAMD,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GAC9D,MAAM,EAAE,CAkBV;AAED,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,4BAAiC,GACzC,eAAe,EAAE,CA4CnB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ContentTypeConfig } from "../core/types.js";
|
|
1
|
+
import type { ContentTypeConfig, LocaleRoutingConfig, ScribeConfig } from "../core/types.js";
|
|
2
2
|
/** Whether a content type has a public URL path template. */
|
|
3
3
|
export declare function isRoutableType(type: Pick<ContentTypeConfig, "path">): boolean;
|
|
4
4
|
/** Validate path template at project init. */
|
|
@@ -7,8 +7,21 @@ export declare function assertValidPathTemplate(path: string, typeId: string): v
|
|
|
7
7
|
export declare function pathPrefix(template: string): string;
|
|
8
8
|
/** Segment after `{slug}` in the template, e.g. `/advanced` from `/blog/{slug}/advanced`. */
|
|
9
9
|
export declare function pathSuffix(template: string): string;
|
|
10
|
+
export interface UrlBuilder {
|
|
11
|
+
defaultLocale: string;
|
|
12
|
+
locales: readonly string[];
|
|
13
|
+
localeRouting: LocaleRoutingConfig;
|
|
14
|
+
/** Locales that receive a non-default locale marker in generated URLs. */
|
|
15
|
+
prefixedLocales: string[];
|
|
16
|
+
resolvePath: (template: string, slug: string, locale: string) => string;
|
|
17
|
+
extractSlugFromResolvedPath: (template: string, resolvedPath: string) => string | null;
|
|
18
|
+
/** Apply locale routing to an already-resolved pathname (e.g. canonicalPath override). */
|
|
19
|
+
applyLocaleToPath: (pathname: string, locale: string) => string;
|
|
20
|
+
}
|
|
21
|
+
/** Create a locale-aware URL builder from a resolved Scribe config. */
|
|
22
|
+
export declare function createUrlBuilder(config: Pick<ScribeConfig, "locales" | "defaultLocale" | "localeRouting">): UrlBuilder;
|
|
10
23
|
/** Build a locale-aware pathname from a path template and slug. */
|
|
11
|
-
export declare function resolvePath(template: string, slug: string, locale: string, defaultLocale: string): string;
|
|
24
|
+
export declare function resolvePath(template: string, slug: string, locale: string, defaultLocale: string, localeRouting?: LocaleRoutingConfig): string;
|
|
12
25
|
/** Extract slug from a resolved path that matches the template. */
|
|
13
|
-
export declare function extractSlugFromResolvedPath(template: string, resolvedPath: string): string | null;
|
|
26
|
+
export declare function extractSlugFromResolvedPath(template: string, resolvedPath: string, localeRouting?: LocaleRoutingConfig): string | null;
|
|
14
27
|
//# sourceMappingURL=build-url.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-url.d.ts","sourceRoot":"","sources":["../../../src/i18n/build-url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"build-url.d.ts","sourceRoot":"","sources":["../../../src/i18n/build-url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAI7F,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,OAAO,CAE7E;AAED,8CAA8C;AAC9C,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAU1E;AAED,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,6FAA6F;AAC7F,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAInD;AAYD,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,mBAAmB,CAAC;IACnC,0EAA0E;IAC1E,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACxE,2BAA2B,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACvF,0FAA0F;IAC1F,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACjE;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,eAAe,GAAG,eAAe,CAAC,GAAG,UAAU,CAmEtH;AAED,mEAAmE;AACnE,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,mBAAmB,GAClC,MAAM,CAOR;AAED,mEAAmE;AACnE,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,mBAAmB,GAClC,MAAM,GAAG,IAAI,CAOf"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { ContentTypeConfig, ScribeDocument, ResolvedDocument } from "../core/types.js";
|
|
2
|
-
|
|
2
|
+
import type { LocaleRoutingConfig } from "../core/types.js";
|
|
3
|
+
/** Resolve a document by slug and locale (fallback, cross-locale slug correction). */
|
|
3
4
|
export declare function resolveLocalizedDocument<TDoc extends ScribeDocument>(slug: string, locale: string, defaultLocale: string, allDocs: ReadonlyMap<string, {
|
|
4
5
|
bySlug: ReadonlyMap<string, TDoc>;
|
|
5
6
|
byEnSlug: ReadonlyMap<string, TDoc>;
|
|
6
|
-
}>, type: ContentTypeConfig): ResolvedDocument<TDoc>;
|
|
7
|
+
}>, type: ContentTypeConfig, localeRouting?: LocaleRoutingConfig): ResolvedDocument<TDoc>;
|
|
7
8
|
/** Map a document slug from one locale to another via the EN parent slug. */
|
|
8
9
|
export declare function getSlugForLocale<TDoc extends ScribeDocument>(document: TDoc, sourceLocale: string, targetLocale: string, allDocs: ReadonlyMap<string, {
|
|
9
10
|
bySlug: ReadonlyMap<string, TDoc>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-document.d.ts","sourceRoot":"","sources":["../../../src/i18n/resolve-document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-document.d.ts","sourceRoot":"","sources":["../../../src/i18n/resolve-document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,sFAAsF;AACtF,wBAAgB,wBAAwB,CAAC,IAAI,SAAS,cAAc,EAClE,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;CAAE,CAAC,EACxG,IAAI,EAAE,iBAAiB,EACvB,aAAa,CAAC,EAAE,mBAAmB,GAClC,gBAAgB,CAAC,IAAI,CAAC,CA2DxB;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,IAAI,SAAS,cAAc,EAC1D,QAAQ,EAAE,IAAI,EACd,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;CAAE,CAAC,EACxG,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,IAAI,CAQf"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export { field, getRelationTarget, getFieldKind, unwrapSchema } from "./core/field.js";
|
|
2
2
|
export type { RelationBrand, RelationField, RelationFieldOptions, RelationMeta, } from "./core/field.js";
|
|
3
3
|
export { defineConfig, defineContentType } from "./core/types.js";
|
|
4
|
-
export type { ScribeConfigInput, ScribeConfig, ScribeProject, ScribeDocument, ContentTypeInput, ContentTypeConfig, ContentTypeRuntime, ListOptions, OrderBy, StaticParam, LocaleIndex, AllDocuments, ResolvedDocument, CrossValidateContext, CrossValidateIssue, TranslateConfig, ScribeTranslateDefaults, LocalePresets, SlugStrategy, IndexFallback, Scribe, InferDocMap, InferDocFromTypeConfig, RelationFieldsOf, RelatedMapFor, ScribeClient, ScribeDocs, ScribeDocOf, } from "./core/types.js";
|
|
4
|
+
export type { ScribeConfigInput, ScribeConfig, ScribeProject, ScribeDocument, ContentTypeInput, ContentTypeConfig, ContentTypeRuntime, ListOptions, OrderBy, StaticParam, LocaleIndex, AllDocuments, ResolvedDocument, CrossValidateContext, CrossValidateIssue, TranslateConfig, ScribeTranslateDefaults, LocalePresets, LocaleRoutingConfig, SlugStrategy, IndexFallback, Scribe, InferDocMap, InferDocFromTypeConfig, RelationFieldsOf, RelatedMapFor, ScribeClient, ScribeDocs, ScribeDocOf, } from "./core/types.js";
|
|
5
5
|
export { createScribe } from "./create-scribe.js";
|
|
6
6
|
export { createProject } from "./create-project.js";
|
|
7
|
-
export { isRoutableType } from "./i18n/build-url.js";
|
|
7
|
+
export { isRoutableType, createUrlBuilder } from "./i18n/build-url.js";
|
|
8
|
+
export type { UrlBuilder } from "./i18n/build-url.js";
|
|
8
9
|
export { resolveConfig, isResolvedConfig } from "./config/resolve-config.js";
|
|
9
10
|
export { loadConfigSync, findConfigPath } from "./config/load-config.js";
|
|
10
11
|
export { validateProject } from "./validate/validate-project.js";
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACvF,YAAY,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAClE,YAAY,EACV,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,WAAW,EACX,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,MAAM,EACN,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACvF,YAAY,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAClE,YAAY,EACV,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,WAAW,EACX,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,MAAM,EACN,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAClF,YAAY,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACjH,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAClF,YAAY,EACV,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EACV,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,4BAA4B,EAC5B,eAAe,GAChB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,YAAY,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-loader.d.ts","sourceRoot":"","sources":["../../../src/loader/create-loader.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EAEjB,YAAY,EACZ,cAAc,EACf,MAAM,kBAAkB,CAAC;AAqB1B,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;CAC/E;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,iBAAiB,GACtB,aAAa,
|
|
1
|
+
{"version":3,"file":"create-loader.d.ts","sourceRoot":"","sources":["../../../src/loader/create-loader.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EAEjB,YAAY,EACZ,cAAc,EACf,MAAM,kBAAkB,CAAC;AAqB1B,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;CAC/E;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,iBAAiB,GACtB,aAAa,CA0Ef;AAwCD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,GAAG,MAAM,YAAY,CAoGrG;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,MAAM,GACb,cAAc,GAAG,IAAI,CASvB;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,iBAAiB,GACtB;IAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAKxD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ScribeProject } from "../core/types.js";
|
|
2
|
+
import type { NextRedirectRule } from "./types.js";
|
|
3
|
+
export declare function buildJsonRedirects(project: ScribeProject): NextRedirectRule[];
|
|
4
|
+
export declare function buildRedirectSourceSlugSet(project: ScribeProject): Set<string>;
|
|
5
|
+
export declare function buildLegacyNoBlogPathRedirects(project: ScribeProject, redirectSourceKeys: Set<string>): NextRedirectRule[];
|
|
6
|
+
//# sourceMappingURL=build-json-redirects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-json-redirects.d.ts","sourceRoot":"","sources":["../../../src/redirects/build-json-redirects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAyInD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB,EAAE,CAoB7E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAY9E;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,aAAa,EACtB,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC9B,gBAAgB,EAAE,CAsCpB"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import type { ScribeProject } from "../core/types.js";
|
|
2
|
+
import { listEnSlugs } from "../core/alias-helpers.js";
|
|
2
3
|
import type { NextRedirectRule } from "./types.js";
|
|
3
4
|
export interface BuildRedirectsOptions {
|
|
4
|
-
/** Locales that use a URL prefix (excludes default locale). */
|
|
5
|
-
prefixedLocales
|
|
5
|
+
/** Locales that use a URL prefix (excludes default locale). Deprecated: derived from localeRouting when omitted. */
|
|
6
|
+
prefixedLocales?: string[];
|
|
6
7
|
}
|
|
7
|
-
/** Build Next.js redirect rules from
|
|
8
|
-
export declare function buildAllContentRedirects(project: ScribeProject,
|
|
8
|
+
/** Build Next.js redirect rules from `_redirects.json`, locale slug fixes, and legacy blog paths. */
|
|
9
|
+
export declare function buildAllContentRedirects(project: ScribeProject, _options?: BuildRedirectsOptions): NextRedirectRule[];
|
|
9
10
|
export interface RedirectSourceSlugs {
|
|
10
|
-
/** All
|
|
11
|
+
/** All inbound redirect source slugs — exclude from sitemap. */
|
|
11
12
|
aliasSlugs: Set<string>;
|
|
12
|
-
/** EN canonical slugs with outbound
|
|
13
|
+
/** EN canonical slugs with outbound redirects — exclude from sitemap. */
|
|
13
14
|
outboundByType: Map<string, Set<string>>;
|
|
14
15
|
}
|
|
15
|
-
/** Slugs excluded from sitemap (
|
|
16
|
+
/** Slugs excluded from sitemap (redirect sources). */
|
|
16
17
|
export declare function getRedirectSourceSlugs(project: ScribeProject): RedirectSourceSlugs;
|
|
18
|
+
export { listEnSlugs };
|
|
17
19
|
//# sourceMappingURL=build-redirects.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-redirects.d.ts","sourceRoot":"","sources":["../../../src/redirects/build-redirects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"build-redirects.d.ts","sourceRoot":"","sources":["../../../src/redirects/build-redirects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAevD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,WAAW,qBAAqB;IACpC,oHAAoH;IACpH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AA6ED,qGAAqG;AACrG,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,aAAa,EACtB,QAAQ,GAAE,qBAA0B,GACnC,gBAAgB,EAAE,CAapB;AAED,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,yEAAyE;IACzE,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CAC1C;AAED,sDAAsD;AACtD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,mBAAmB,CAelF;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ContentTypeConfig, ScribeConfig } from "../core/types.js";
|
|
2
|
+
import { type ParsedRedirectEntry } from "./redirect-schema.js";
|
|
3
|
+
export declare const TYPE_REDIRECTS_FILENAME = "_redirects.json";
|
|
4
|
+
export interface LoadedTypeRedirects {
|
|
5
|
+
contentTypeId: string;
|
|
6
|
+
contentDir: string;
|
|
7
|
+
filePath: string;
|
|
8
|
+
entries: ParsedRedirectEntry[];
|
|
9
|
+
}
|
|
10
|
+
export declare function loadTypeRedirectsFile(config: ScribeConfig, type: ContentTypeConfig): LoadedTypeRedirects | null;
|
|
11
|
+
export declare function loadAllTypeRedirects(config: ScribeConfig): LoadedTypeRedirects[];
|
|
12
|
+
export declare function collectRedirectSourceSlugs(loaded: LoadedTypeRedirects[]): Set<string>;
|
|
13
|
+
export declare function collectOutboundRedirectSourcesByType(loaded: LoadedTypeRedirects[]): Map<string, Set<string>>;
|
|
14
|
+
//# sourceMappingURL=load-type-redirects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-type-redirects.d.ts","sourceRoot":"","sources":["../../../src/redirects/load-type-redirects.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAMD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,iBAAiB,GACtB,mBAAmB,GAAG,IAAI,CA2B5B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,mBAAmB,EAAE,CAOhF;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAUrF;AAED,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,mBAAmB,EAAE,GAC5B,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAY1B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const typeRedirectEntrySchema: z.ZodObject<{
|
|
3
|
+
from: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
|
|
4
|
+
toSlug: z.ZodOptional<z.ZodString>;
|
|
5
|
+
toType: z.ZodOptional<z.ZodString>;
|
|
6
|
+
toUrl: z.ZodOptional<z.ZodString>;
|
|
7
|
+
permanent: z.ZodOptional<z.ZodBoolean>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
export declare const typeRedirectsFileSchema: z.ZodObject<{
|
|
10
|
+
redirects: z.ZodArray<z.ZodObject<{
|
|
11
|
+
from: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
|
|
12
|
+
toSlug: z.ZodOptional<z.ZodString>;
|
|
13
|
+
toType: z.ZodOptional<z.ZodString>;
|
|
14
|
+
toUrl: z.ZodOptional<z.ZodString>;
|
|
15
|
+
permanent: z.ZodOptional<z.ZodBoolean>;
|
|
16
|
+
}, z.core.$strip>>;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
export type TypeRedirectEntry = z.infer<typeof typeRedirectEntrySchema>;
|
|
19
|
+
export type TypeRedirectsFile = z.infer<typeof typeRedirectsFileSchema>;
|
|
20
|
+
export type RedirectTargetKind = "same-type" | "cross-type" | "anywhere";
|
|
21
|
+
export interface ParsedRedirectEntry {
|
|
22
|
+
fromSlugs: string[];
|
|
23
|
+
kind: RedirectTargetKind;
|
|
24
|
+
toSlug?: string;
|
|
25
|
+
toType?: string;
|
|
26
|
+
toUrl?: string;
|
|
27
|
+
permanent: boolean;
|
|
28
|
+
}
|
|
29
|
+
export declare function normalizeRedirectFrom(from: string | string[]): string[];
|
|
30
|
+
export declare function parseRedirectEntry(entry: TypeRedirectEntry): ParsedRedirectEntry;
|
|
31
|
+
//# sourceMappingURL=redirect-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redirect-schema.d.ts","sourceRoot":"","sources":["../../../src/redirects/redirect-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,uBAAuB;;;;;;iBAsChC,CAAC;AAEL,eAAO,MAAM,uBAAuB;;;;;;;;iBAElC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAEvE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,mBAAmB,CAyBhF"}
|
package/dist/src/runtime.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/** App-code entry — use instead of `scribe-cms` in bundled server code (Next.js, Astro, …) to keep CLI/translator code paths out of bundler tracing. */
|
|
2
2
|
export { createScribe } from "./create-scribe.js";
|
|
3
|
-
export { isRoutableType } from "./i18n/build-url.js";
|
|
3
|
+
export { isRoutableType, createUrlBuilder } from "./i18n/build-url.js";
|
|
4
|
+
export type { UrlBuilder } from "./i18n/build-url.js";
|
|
5
|
+
export type { LocaleRoutingConfig } from "./core/types.js";
|
|
4
6
|
export type { ScribeConfigInput, ScribeConfig, ScribeDocument, ContentTypeInput, ContentTypeConfig, ContentTypeRuntime, ListOptions, OrderBy, StaticParam, ResolvedDocument, Scribe, InferDocMap, InferDocFromTypeConfig, ScribeClient, ScribeDocs, ScribeDocOf, } from "./core/types.js";
|
|
5
7
|
export type { SitemapEntry, SitemapChangeFrequency } from "./sitemap/types.js";
|
|
6
8
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA,wJAAwJ;AACxJ,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA,wJAAwJ;AACxJ,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EACV,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,sBAAsB,EACtB,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-sitemap.d.ts","sourceRoot":"","sources":["../../../src/sitemap/generate-sitemap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIrH,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"generate-sitemap.d.ts","sourceRoot":"","sources":["../../../src/sitemap/generate-sitemap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIrH,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAsFvE,iFAAiF;AACjF,wBAAsB,eAAe,CACnC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,YAAY,EAAE,CAAC,CA8CzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-project.d.ts","sourceRoot":"","sources":["../../../src/validate/validate-project.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"validate-project.d.ts","sourceRoot":"","sources":["../../../src/validate/validate-project.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAarD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAWD,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CA4IpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-redirects.d.ts","sourceRoot":"","sources":["../../../src/validate/validate-redirects.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AASpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAmCrE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,EAAE,CAsJ7E"}
|
package/dist/studio/server.cjs
CHANGED
|
@@ -195,65 +195,93 @@ function pathSuffix(template) {
|
|
|
195
195
|
if (idx === -1) throw new Error(`Invalid path template (missing {slug}): ${template}`);
|
|
196
196
|
return template.slice(idx + SLUG_PLACEHOLDER.length);
|
|
197
197
|
}
|
|
198
|
-
function
|
|
199
|
-
|
|
200
|
-
if (locale === defaultLocale) return relative;
|
|
201
|
-
return `/${locale}${relative}`;
|
|
198
|
+
function resolveDefaultLocaleRouting() {
|
|
199
|
+
return { strategy: "path-prefix", prefixDefaultLocale: false };
|
|
202
200
|
}
|
|
203
|
-
function
|
|
204
|
-
const
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
const
|
|
210
|
-
|
|
201
|
+
function splitPathAndSearch(pathname) {
|
|
202
|
+
const q = pathname.indexOf("?");
|
|
203
|
+
if (q === -1) return { pathname, search: "" };
|
|
204
|
+
return { pathname: pathname.slice(0, q), search: pathname.slice(q) };
|
|
205
|
+
}
|
|
206
|
+
function createUrlBuilder(config) {
|
|
207
|
+
const localeRouting = config.localeRouting ?? resolveDefaultLocaleRouting();
|
|
208
|
+
const defaultLocale = config.defaultLocale;
|
|
209
|
+
const prefixedLocales = localeRouting.strategy === "path-prefix" ? localeRouting.prefixDefaultLocale ? [...config.locales] : config.locales.filter((locale) => locale !== defaultLocale) : config.locales.filter((locale) => locale !== defaultLocale);
|
|
210
|
+
function applyLocaleToPath(pathname, locale) {
|
|
211
|
+
if (locale === defaultLocale) {
|
|
212
|
+
if (localeRouting.strategy === "path-prefix" && localeRouting.prefixDefaultLocale) {
|
|
213
|
+
return `/${defaultLocale}${pathname}`;
|
|
214
|
+
}
|
|
215
|
+
return pathname;
|
|
216
|
+
}
|
|
217
|
+
if (localeRouting.strategy === "search-param") {
|
|
218
|
+
const { pathname: base, search } = splitPathAndSearch(pathname);
|
|
219
|
+
const params = new URLSearchParams(search.startsWith("?") ? search.slice(1) : search);
|
|
220
|
+
params.set(localeRouting.param, locale);
|
|
221
|
+
const qs = params.toString();
|
|
222
|
+
return qs ? `${base}?${qs}` : base;
|
|
223
|
+
}
|
|
224
|
+
return `/${locale}${pathname}`;
|
|
225
|
+
}
|
|
226
|
+
function resolvePath(template, slug, locale) {
|
|
227
|
+
const relative = template.replace(SLUG_PLACEHOLDER, slug);
|
|
228
|
+
return applyLocaleToPath(relative, locale);
|
|
229
|
+
}
|
|
230
|
+
function extractSlugFromResolvedPath(template, resolvedPath) {
|
|
231
|
+
let pathname = resolvedPath;
|
|
232
|
+
if (localeRouting.strategy === "search-param") {
|
|
233
|
+
pathname = splitPathAndSearch(resolvedPath).pathname;
|
|
234
|
+
} else if (localeRouting.strategy === "path-prefix") {
|
|
235
|
+
for (const locale of config.locales) {
|
|
236
|
+
if (locale === defaultLocale && !localeRouting.prefixDefaultLocale) continue;
|
|
237
|
+
const prefix2 = `/${locale}`;
|
|
238
|
+
if (pathname === prefix2 || pathname.startsWith(`${prefix2}/`)) {
|
|
239
|
+
pathname = pathname.slice(prefix2.length) || "/";
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
const prefix = pathPrefix(template);
|
|
245
|
+
const suffix = pathSuffix(template);
|
|
246
|
+
if (!pathname.startsWith(prefix)) return null;
|
|
247
|
+
if (suffix && !pathname.endsWith(suffix)) return null;
|
|
248
|
+
const slugEnd = suffix ? pathname.length - suffix.length : pathname.length;
|
|
249
|
+
const slug = pathname.slice(prefix.length, slugEnd);
|
|
250
|
+
return slug.length > 0 ? slug : null;
|
|
251
|
+
}
|
|
252
|
+
return {
|
|
253
|
+
defaultLocale,
|
|
254
|
+
locales: config.locales,
|
|
255
|
+
localeRouting,
|
|
256
|
+
prefixedLocales,
|
|
257
|
+
resolvePath,
|
|
258
|
+
extractSlugFromResolvedPath,
|
|
259
|
+
applyLocaleToPath
|
|
260
|
+
};
|
|
211
261
|
}
|
|
212
262
|
|
|
213
263
|
// src/core/builtin-fields.ts
|
|
214
264
|
var SLUG_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
215
|
-
|
|
265
|
+
zod.z.string().regex(SLUG_PATTERN, "slug must be lowercase-kebab-case");
|
|
216
266
|
var isoDateSchema = zod.z.string().regex(/^\d{4}-\d{2}-\d{2}(T[\d:.Z+-]*)?$/, "Use ISO date YYYY-MM-DD or full ISO 8601");
|
|
217
267
|
var canonicalPathSchema = zod.z.string().regex(/^\//, "canonicalPath must start with /");
|
|
218
|
-
|
|
268
|
+
var DEPRECATED_REDIRECT_FIELDS = [
|
|
269
|
+
[
|
|
270
|
+
"aliases",
|
|
271
|
+
"aliases frontmatter is removed \u2014 add redirects to content/<type>/_redirects.json instead"
|
|
272
|
+
],
|
|
273
|
+
[
|
|
274
|
+
"redirect_to",
|
|
275
|
+
"redirect_to frontmatter is removed \u2014 add redirects to content/<type>/_redirects.json instead"
|
|
276
|
+
]
|
|
277
|
+
];
|
|
278
|
+
function extractBuiltinEnFields(data, _pathTemplate, _enSlug, _defaultLocale) {
|
|
219
279
|
const issues = [];
|
|
220
280
|
const rest = { ...data };
|
|
221
|
-
const
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
let redirectTo;
|
|
226
|
-
if (redirectRaw !== void 0 && redirectRaw !== null && redirectRaw !== "") {
|
|
227
|
-
if (typeof redirectRaw !== "string") {
|
|
228
|
-
issues.push({
|
|
229
|
-
field: "redirect_to",
|
|
230
|
-
message: "redirect_to must be a string path",
|
|
231
|
-
level: "error"
|
|
232
|
-
});
|
|
233
|
-
} else if (!pathTemplate) {
|
|
234
|
-
issues.push({
|
|
235
|
-
field: "redirect_to",
|
|
236
|
-
message: "redirect_to is not allowed on reference-only content types",
|
|
237
|
-
level: "error"
|
|
238
|
-
});
|
|
239
|
-
} else if (!extractSlugFromResolvedPath(pathTemplate, redirectRaw)) {
|
|
240
|
-
issues.push({
|
|
241
|
-
field: "redirect_to",
|
|
242
|
-
message: `redirect_to must match path template "${pathTemplate}" (prefix "${pathPrefix(pathTemplate)}"${pathSuffix(pathTemplate) ? `, suffix "${pathSuffix(pathTemplate)}"` : ""})`,
|
|
243
|
-
level: "error"
|
|
244
|
-
});
|
|
245
|
-
} else {
|
|
246
|
-
redirectTo = redirectRaw;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
const aliases = aliasesResult.success ? aliasesResult.data : [];
|
|
250
|
-
if (!aliasesResult.success) {
|
|
251
|
-
for (const issue of aliasesResult.error.issues) {
|
|
252
|
-
issues.push({
|
|
253
|
-
field: `aliases.${issue.path.join(".")}`,
|
|
254
|
-
message: issue.message,
|
|
255
|
-
level: "error"
|
|
256
|
-
});
|
|
281
|
+
for (const [field, message] of DEPRECATED_REDIRECT_FIELDS) {
|
|
282
|
+
if (rest[field] !== void 0) {
|
|
283
|
+
issues.push({ field, message, level: "error" });
|
|
284
|
+
delete rest[field];
|
|
257
285
|
}
|
|
258
286
|
}
|
|
259
287
|
let publishedAt;
|
|
@@ -315,8 +343,6 @@ function extractBuiltinEnFields(data, pathTemplate, enSlug, defaultLocale) {
|
|
|
315
343
|
}
|
|
316
344
|
return {
|
|
317
345
|
builtin: {
|
|
318
|
-
aliases,
|
|
319
|
-
redirectTo,
|
|
320
346
|
publishedAt,
|
|
321
347
|
updatedAt,
|
|
322
348
|
noindex,
|
|
@@ -326,20 +352,24 @@ function extractBuiltinEnFields(data, pathTemplate, enSlug, defaultLocale) {
|
|
|
326
352
|
issues
|
|
327
353
|
};
|
|
328
354
|
}
|
|
329
|
-
function resolveCanonicalPathname(type, doc, defaultLocale) {
|
|
355
|
+
function resolveCanonicalPathname(type, doc, defaultLocale, localeRouting) {
|
|
356
|
+
const urlBuilder = createUrlBuilder({
|
|
357
|
+
locales: [defaultLocale, ...doc.locale !== defaultLocale ? [doc.locale] : []],
|
|
358
|
+
defaultLocale,
|
|
359
|
+
localeRouting: localeRouting ?? { strategy: "path-prefix", prefixDefaultLocale: false }
|
|
360
|
+
});
|
|
330
361
|
if (doc.canonicalPathOverride) {
|
|
331
|
-
|
|
332
|
-
return `/${doc.locale}${doc.canonicalPathOverride}`;
|
|
362
|
+
return urlBuilder.applyLocaleToPath(doc.canonicalPathOverride, doc.locale);
|
|
333
363
|
}
|
|
334
364
|
if (!type.path) return `/${doc.slug}`;
|
|
335
|
-
return resolvePath(type.path, doc.slug, doc.locale
|
|
365
|
+
return urlBuilder.resolvePath(type.path, doc.slug, doc.locale);
|
|
336
366
|
}
|
|
337
|
-
function mergeBuiltinsIntoFrontmatter(frontmatter, doc, type, defaultLocale) {
|
|
367
|
+
function mergeBuiltinsIntoFrontmatter(frontmatter, doc, type, defaultLocale, localeRouting) {
|
|
338
368
|
const out = { ...frontmatter };
|
|
339
369
|
if (doc.publishedAt !== void 0) out.publishedAt = doc.publishedAt;
|
|
340
370
|
if (doc.updatedAt !== void 0) out.updatedAt = doc.updatedAt;
|
|
341
371
|
out.noindex = doc.noindex;
|
|
342
|
-
out.canonicalPath = resolveCanonicalPathname(type, doc, defaultLocale);
|
|
372
|
+
out.canonicalPath = resolveCanonicalPathname(type, doc, defaultLocale, localeRouting);
|
|
343
373
|
return out;
|
|
344
374
|
}
|
|
345
375
|
var SCHEMA_VERSION = 4;
|
|
@@ -512,7 +542,8 @@ function parseEnMdx(filePath, config, type) {
|
|
|
512
542
|
locale: config.defaultLocale
|
|
513
543
|
},
|
|
514
544
|
type,
|
|
515
|
-
config.defaultLocale
|
|
545
|
+
config.defaultLocale,
|
|
546
|
+
config.localeRouting
|
|
516
547
|
);
|
|
517
548
|
const crossIssues = type.crossValidate?.(result.data, {
|
|
518
549
|
locale: config.defaultLocale,
|
|
@@ -526,8 +557,6 @@ function parseEnMdx(filePath, config, type) {
|
|
|
526
557
|
slug,
|
|
527
558
|
enSlug: slug,
|
|
528
559
|
locale: config.defaultLocale,
|
|
529
|
-
aliases: builtin.aliases,
|
|
530
|
-
redirectTo: builtin.redirectTo,
|
|
531
560
|
publishedAt: builtin.publishedAt,
|
|
532
561
|
updatedAt: builtin.updatedAt,
|
|
533
562
|
noindex: builtin.noindex,
|