@cmssy/astro 5.1.0 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +16 -6
- package/dist/index.d.cts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +16 -6
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -52,12 +52,19 @@ async function loadCmssyPage(config, request, url) {
|
|
|
52
52
|
function xmlEscape(value) {
|
|
53
53
|
return value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
54
54
|
}
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
function baseUrlFor(config, url, request) {
|
|
56
|
+
if (config.siteUrl) return config.siteUrl.replace(/\/+$/, "");
|
|
57
|
+
const host = request.headers.get("x-forwarded-host") ?? request.headers.get("host");
|
|
58
|
+
if (!host) return url.origin.replace(/\/+$/, "");
|
|
59
|
+
const protocol = request.headers.get("x-forwarded-proto") ?? (host.startsWith("localhost") || host.startsWith("127.0.0.1") ? "http" : "https");
|
|
60
|
+
return `${protocol}://${host}`.replace(/\/+$/, "");
|
|
57
61
|
}
|
|
58
62
|
function createCmssySitemap(config, options = {}) {
|
|
59
|
-
return async function GET({
|
|
60
|
-
|
|
63
|
+
return async function GET({
|
|
64
|
+
url,
|
|
65
|
+
request
|
|
66
|
+
}) {
|
|
67
|
+
const baseUrl = baseUrlFor(config, url, request);
|
|
61
68
|
const { defaultLocale, locales } = await core.resolveSiteLocales(config);
|
|
62
69
|
const pages = await core.fetchPages(config);
|
|
63
70
|
const entries = [];
|
|
@@ -98,8 +105,11 @@ function createCmssySitemap(config, options = {}) {
|
|
|
98
105
|
};
|
|
99
106
|
}
|
|
100
107
|
function createCmssyRobots(config) {
|
|
101
|
-
return async function GET({
|
|
102
|
-
|
|
108
|
+
return async function GET({
|
|
109
|
+
url,
|
|
110
|
+
request
|
|
111
|
+
}) {
|
|
112
|
+
const baseUrl = baseUrlFor(config, url, request);
|
|
103
113
|
const body = [
|
|
104
114
|
"User-agent: *",
|
|
105
115
|
"Allow: /",
|
package/dist/index.d.cts
CHANGED
|
@@ -70,11 +70,13 @@ interface CmssySitemapOptions {
|
|
|
70
70
|
* One `<url>` per language, plus x-default - a translated page is not a
|
|
71
71
|
* duplicate, and telling Google it is keeps the translation out of the index.
|
|
72
72
|
*/
|
|
73
|
-
declare function createCmssySitemap(config: CmssyConfig, options?: CmssySitemapOptions): ({ url }: {
|
|
73
|
+
declare function createCmssySitemap(config: CmssyConfig, options?: CmssySitemapOptions): ({ url, request, }: {
|
|
74
74
|
url: URL;
|
|
75
|
+
request: Request;
|
|
75
76
|
}) => Promise<Response>;
|
|
76
|
-
declare function createCmssyRobots(config: CmssyConfig): ({ url }: {
|
|
77
|
+
declare function createCmssyRobots(config: CmssyConfig): ({ url, request, }: {
|
|
77
78
|
url: URL;
|
|
79
|
+
request: Request;
|
|
78
80
|
}) => Promise<Response>;
|
|
79
81
|
|
|
80
82
|
export { CMSSY_EDIT_PATH_PREFIX, type CmssyMiddlewareOptions, type CmssyPageResult, type CmssySitemapEntry, type CmssySitemapOptions, cmssyMiddleware, createCmssyRobots, createCmssySitemap, loadCmssyPage };
|
package/dist/index.d.ts
CHANGED
|
@@ -70,11 +70,13 @@ interface CmssySitemapOptions {
|
|
|
70
70
|
* One `<url>` per language, plus x-default - a translated page is not a
|
|
71
71
|
* duplicate, and telling Google it is keeps the translation out of the index.
|
|
72
72
|
*/
|
|
73
|
-
declare function createCmssySitemap(config: CmssyConfig, options?: CmssySitemapOptions): ({ url }: {
|
|
73
|
+
declare function createCmssySitemap(config: CmssyConfig, options?: CmssySitemapOptions): ({ url, request, }: {
|
|
74
74
|
url: URL;
|
|
75
|
+
request: Request;
|
|
75
76
|
}) => Promise<Response>;
|
|
76
|
-
declare function createCmssyRobots(config: CmssyConfig): ({ url }: {
|
|
77
|
+
declare function createCmssyRobots(config: CmssyConfig): ({ url, request, }: {
|
|
77
78
|
url: URL;
|
|
79
|
+
request: Request;
|
|
78
80
|
}) => Promise<Response>;
|
|
79
81
|
|
|
80
82
|
export { CMSSY_EDIT_PATH_PREFIX, type CmssyMiddlewareOptions, type CmssyPageResult, type CmssySitemapEntry, type CmssySitemapOptions, cmssyMiddleware, createCmssyRobots, createCmssySitemap, loadCmssyPage };
|
package/dist/index.js
CHANGED
|
@@ -51,12 +51,19 @@ async function loadCmssyPage(config, request, url) {
|
|
|
51
51
|
function xmlEscape(value) {
|
|
52
52
|
return value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
53
53
|
}
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
function baseUrlFor(config, url, request) {
|
|
55
|
+
if (config.siteUrl) return config.siteUrl.replace(/\/+$/, "");
|
|
56
|
+
const host = request.headers.get("x-forwarded-host") ?? request.headers.get("host");
|
|
57
|
+
if (!host) return url.origin.replace(/\/+$/, "");
|
|
58
|
+
const protocol = request.headers.get("x-forwarded-proto") ?? (host.startsWith("localhost") || host.startsWith("127.0.0.1") ? "http" : "https");
|
|
59
|
+
return `${protocol}://${host}`.replace(/\/+$/, "");
|
|
56
60
|
}
|
|
57
61
|
function createCmssySitemap(config, options = {}) {
|
|
58
|
-
return async function GET({
|
|
59
|
-
|
|
62
|
+
return async function GET({
|
|
63
|
+
url,
|
|
64
|
+
request
|
|
65
|
+
}) {
|
|
66
|
+
const baseUrl = baseUrlFor(config, url, request);
|
|
60
67
|
const { defaultLocale, locales } = await resolveSiteLocales(config);
|
|
61
68
|
const pages = await fetchPages(config);
|
|
62
69
|
const entries = [];
|
|
@@ -97,8 +104,11 @@ function createCmssySitemap(config, options = {}) {
|
|
|
97
104
|
};
|
|
98
105
|
}
|
|
99
106
|
function createCmssyRobots(config) {
|
|
100
|
-
return async function GET({
|
|
101
|
-
|
|
107
|
+
return async function GET({
|
|
108
|
+
url,
|
|
109
|
+
request
|
|
110
|
+
}) {
|
|
111
|
+
const baseUrl = baseUrlFor(config, url, request);
|
|
102
112
|
const body = [
|
|
103
113
|
"User-agent: *",
|
|
104
114
|
"Allow: /",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cmssy/astro",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.1",
|
|
4
4
|
"description": "Astro bindings for cmssy headless sites: middleware, page loader, sitemap and robots.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cmssy",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"vitest": "^2.1.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@cmssy/core": "
|
|
51
|
+
"@cmssy/core": "6.0.1"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
|
54
54
|
"build": "tsup",
|