one 1.2.35 → 1.2.37
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/cjs/cli/build.cjs +16 -2
- package/dist/cjs/cli/build.js +14 -3
- package/dist/cjs/cli/build.js.map +1 -1
- package/dist/cjs/cli/build.native.js +20 -5
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.cjs +86 -0
- package/dist/cjs/cli/generateSitemap.js +69 -0
- package/dist/cjs/cli/generateSitemap.js.map +6 -0
- package/dist/cjs/cli/generateSitemap.native.js +112 -0
- package/dist/cjs/cli/generateSitemap.native.js.map +1 -0
- package/dist/cjs/cli/generateSitemap.test.cjs +156 -0
- package/dist/cjs/cli/generateSitemap.test.js +103 -0
- package/dist/cjs/cli/generateSitemap.test.js.map +6 -0
- package/dist/cjs/cli/generateSitemap.test.native.js +200 -0
- package/dist/cjs/cli/generateSitemap.test.native.js.map +1 -0
- package/dist/cjs/createApp.cjs +6 -5
- package/dist/cjs/createApp.js +7 -3
- package/dist/cjs/createApp.js.map +2 -2
- package/dist/cjs/vite/one.cjs +30 -14
- package/dist/cjs/vite/one.js +30 -14
- package/dist/cjs/vite/one.js.map +1 -1
- package/dist/cjs/vite/one.native.js +30 -14
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/esm/cli/build.js +14 -2
- package/dist/esm/cli/build.js.map +1 -1
- package/dist/esm/cli/build.mjs +16 -2
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js +20 -5
- package/dist/esm/cli/build.native.js.map +1 -1
- package/dist/esm/cli/generateSitemap.js +45 -0
- package/dist/esm/cli/generateSitemap.js.map +6 -0
- package/dist/esm/cli/generateSitemap.mjs +52 -0
- package/dist/esm/cli/generateSitemap.mjs.map +1 -0
- package/dist/esm/cli/generateSitemap.native.js +75 -0
- package/dist/esm/cli/generateSitemap.native.js.map +1 -0
- package/dist/esm/cli/generateSitemap.test.js +104 -0
- package/dist/esm/cli/generateSitemap.test.js.map +6 -0
- package/dist/esm/cli/generateSitemap.test.mjs +157 -0
- package/dist/esm/cli/generateSitemap.test.mjs.map +1 -0
- package/dist/esm/cli/generateSitemap.test.native.js +198 -0
- package/dist/esm/cli/generateSitemap.test.native.js.map +1 -0
- package/dist/esm/createApp.js +6 -4
- package/dist/esm/createApp.js.map +1 -1
- package/dist/esm/createApp.mjs +5 -4
- package/dist/esm/createApp.mjs.map +1 -1
- package/dist/esm/vite/one.js +30 -14
- package/dist/esm/vite/one.js.map +1 -1
- package/dist/esm/vite/one.mjs +30 -14
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js +30 -14
- package/dist/esm/vite/one.native.js.map +1 -1
- package/package.json +13 -10
- package/src/cli/build.ts +31 -0
- package/src/cli/generateSitemap.test.ts +207 -0
- package/src/cli/generateSitemap.ts +93 -0
- package/src/createApp.tsx +12 -4
- package/src/interfaces/router.ts +28 -0
- package/src/vite/one.ts +28 -11
- package/src/vite/types.ts +50 -0
- package/types/cli/build.d.ts.map +1 -1
- package/types/cli/generateSitemap.d.ts +13 -0
- package/types/cli/generateSitemap.d.ts.map +1 -0
- package/types/cli/generateSitemap.test.d.ts +2 -0
- package/types/cli/generateSitemap.test.d.ts.map +1 -0
- package/types/createApp.d.ts.map +1 -1
- package/types/env.d.ts +43 -0
- package/types/interfaces/router.d.ts +19 -0
- package/types/interfaces/router.d.ts.map +1 -1
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/types.d.ts +46 -0
- package/types/vite/types.d.ts.map +1 -1
|
@@ -15,6 +15,7 @@ import { loadUserOneOptions } from "../vite/loadConfig.native.js";
|
|
|
15
15
|
import { runWithAsyncLocalContext } from "../vite/one-server-only.native.js";
|
|
16
16
|
import { buildPage } from "./buildPage.native.js";
|
|
17
17
|
import { checkNodeVersion } from "./checkNodeVersion.native.js";
|
|
18
|
+
import { generateSitemap } from "./generateSitemap.native.js";
|
|
18
19
|
import { labelProcess } from "./label-process.native.js";
|
|
19
20
|
var {
|
|
20
21
|
ensureDir,
|
|
@@ -24,7 +25,7 @@ process.on("uncaughtException", function (err) {
|
|
|
24
25
|
console.error(err?.message || err);
|
|
25
26
|
});
|
|
26
27
|
async function build(args) {
|
|
27
|
-
var _oneOptions_build, _oneOptions_build_server, _oneOptions_build1, _oneOptions_build2, _oneOptions_web;
|
|
28
|
+
var _oneOptions_build, _oneOptions_build_server, _oneOptions_build1, _oneOptions_build2, _oneOptions_web, _oneOptions_web1;
|
|
28
29
|
process.env.IS_VXRN_CLI = "true", process.env.NODE_ENV = "production", labelProcess("build"), checkNodeVersion(), setServerGlobals();
|
|
29
30
|
var {
|
|
30
31
|
oneOptions
|
|
@@ -190,7 +191,8 @@ async function build(args) {
|
|
|
190
191
|
}
|
|
191
192
|
globalThis.require = createRequire(join(import.meta.url, ".."));
|
|
192
193
|
var assets = [],
|
|
193
|
-
builtRoutes = []
|
|
194
|
+
builtRoutes = [],
|
|
195
|
+
sitemapData = [];
|
|
194
196
|
console.info(`
|
|
195
197
|
\u{1F528} build static routes
|
|
196
198
|
`);
|
|
@@ -343,7 +345,8 @@ async function build(args) {
|
|
|
343
345
|
console.info(`
|
|
344
346
|
[build] page ${relativeId} (with ${paramsList.length} routes)
|
|
345
347
|
`), process.env.DEBUG && console.info("paramsList", JSON.stringify(paramsList, null, 2));
|
|
346
|
-
var
|
|
348
|
+
var routeSitemapExport = exported.sitemap,
|
|
349
|
+
_iteratorNormalCompletion12 = !0,
|
|
347
350
|
_didIteratorError12 = !1,
|
|
348
351
|
_iteratorError12 = void 0;
|
|
349
352
|
try {
|
|
@@ -354,7 +357,10 @@ async function build(args) {
|
|
|
354
357
|
var built = await runWithAsyncLocalContext(async function () {
|
|
355
358
|
return await buildPage(vxrnOutput.serverEntry, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads2, allCSS, routePreloads, allCSSContents);
|
|
356
359
|
});
|
|
357
|
-
builtRoutes.push(built)
|
|
360
|
+
builtRoutes.push(built), foundRoute.type !== "api" && foundRoute.type !== "layout" && !foundRoute.isNotFound && !foundRoute.page.includes("+not-found") && !foundRoute.page.includes("_sitemap") && sitemapData.push({
|
|
361
|
+
path,
|
|
362
|
+
routeExport: routeSitemapExport
|
|
363
|
+
});
|
|
358
364
|
}, _iterator12 = paramsList[Symbol.iterator](), _step22; !(_iteratorNormalCompletion12 = (_step22 = _iterator12.next()).done); _iteratorNormalCompletion12 = !0) await _loop2();
|
|
359
365
|
} catch (err) {
|
|
360
366
|
_didIteratorError12 = !0, _iteratorError12 = err;
|
|
@@ -473,8 +479,17 @@ async function build(args) {
|
|
|
473
479
|
loaders
|
|
474
480
|
};
|
|
475
481
|
await writeJSON(toAbsolute("dist/buildInfo.json"), buildInfoForWriting);
|
|
482
|
+
var sitemapConfig = (_oneOptions_web = oneOptions.web) === null || _oneOptions_web === void 0 ? void 0 : _oneOptions_web.sitemap;
|
|
483
|
+
if (sitemapConfig) {
|
|
484
|
+
var sitemapOptions = typeof sitemapConfig == "boolean" ? {} : sitemapConfig,
|
|
485
|
+
sitemapXml = generateSitemap(sitemapData, sitemapOptions),
|
|
486
|
+
sitemapPath = join(clientDir, "sitemap.xml");
|
|
487
|
+
await FSExtra.writeFile(sitemapPath, sitemapXml), console.info(`
|
|
488
|
+
\u{1F4C4} generated sitemap.xml (${sitemapData.length} URLs)
|
|
489
|
+
`);
|
|
490
|
+
}
|
|
476
491
|
var postBuildLogs = [],
|
|
477
|
-
platform = (
|
|
492
|
+
platform = (_oneOptions_web1 = oneOptions.web) === null || _oneOptions_web1 === void 0 ? void 0 : _oneOptions_web1.deploy;
|
|
478
493
|
switch (platform && postBuildLogs.push(`[one.build] platform ${platform}`), platform) {
|
|
479
494
|
case "vercel":
|
|
480
495
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createRequire","Path","join","relative","resolve","FSExtra","MicroMatch","mergeConfig","build","viteBuild","fillOptions","getOptimizeDeps","rollupRemoveUnusedImportsPlugin","vxrnBuild","constants","setServerGlobals","getPathnameFromFilePath","getRouterRootFromOneOptions","toAbsolute","buildVercelOutputDirectory","getManifest","loadUserOneOptions","runWithAsyncLocalContext","buildPage","checkNodeVersion","labelProcess","ensureDir","writeJSON","process","on","err","console","error","message","args","_oneOptions_build","_oneOptions_build_server","_oneOptions_build1","_oneOptions_build2","_oneOptions_web","env","IS_VXRN_CLI","NODE_ENV","oneOptions","routerRoot","routerRootRegexp","RegExp","manifest","_oneOptions_build_server_outputFormat","serverOutputFormat","server","outputFormat","vxrnOutput","analyze","platform","options","optimizeDeps","apiBuildConfig","webBuildConfig","configFile","appType","buildCustomRoutes","subFolder","routes","_oneOptions_build_api","_oneOptions_build3","_oneOptions_build_api1","_oneOptions_build12","_oneOptions_build_api2","_oneOptions_build22","input","reduce","entries","param","page","file","slice","_oneOptions_build_api_outputFormat","api","treeshake","mergedConfig","define","processEnvDefines","ssr","noExternal","external","emptyOutDir","outDir","copyPublicDir","minify","rollupOptions","moduleSideEffects","plugins","filter","Boolean","preserveEntrySignatures","id","output","entryFileNames","exports","format","esModule","chunkInfo","name","replace","chunkFileNames","dir","dirname","basename","extname","assetFileNames","assetInfo","_assetInfo_name","baseName","ext","userApiBuildConf","config","finalApiBuildConf","apiOutput","apiRoutes","length","info","builtMiddlewares","middlewareRoutes","middlewareBuildInfo","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","middleware","_step","value","absoluteRoot","cwd","root","fullPath","outChunks","x","type","chunk","find","facadeModuleId","Error","fileName","_iterator","Symbol","iterator","next","done","return","globalThis","require","import","meta","url","assets","builtRoutes","staticDir","clientDir","serverOutput","outputEntries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop1","index","_step1","_vxrnOutput_buildArgs","_foundRoute_layouts","_oneOptions_web2","_exported_generateStaticParams","push","includes","relativeId","onlyBuild","buildArgs","only","contains","clientManifestKey","Object","keys","clientManifest","key","endsWith","clientManifestEntry","foundRoute","pageRoutes","route2","loaderServerPath","collectImports","imports","css","arguments","Set","flatMap","found","warn","flat","map","startsWith","JSON","stringify","entryImports","_foundRoute_layouts_flatMap","layoutEntries","layouts","layout2","clientKey2","contextKey","layoutImports","entry2","routePreloads","rootLayoutKey","rootLayoutEntry","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_iterator4","_step4","layout","clientKey","entry","preloadSetupFilePreloads","setupFile","clientSetupFile","client","needle","file2","preloads2","path","allEntries","allCSS","allCSSContents","web","inlineLayoutCSS","Promise","all","cssPath","filePath","readFile","DEBUG","serverJsPath","exported","cause","isDynamic","routeKeys","generateStaticParams","_ref","paramsList","call","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_loop2","params","_step22","built","serverEntry","_iterator12","_iterator1","moveAllFiles","rm","force","recursive","routeMap","routeToBuildInfo","pathToRoute","preloads","cssPreloads","loaders","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","route","cleanPath","htmlPath","loaderData","_loaderData","rest","routeFile"],"sources":["../../../src/cli/build.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createRequire","Path","join","relative","resolve","FSExtra","MicroMatch","mergeConfig","build","viteBuild","fillOptions","getOptimizeDeps","rollupRemoveUnusedImportsPlugin","vxrnBuild","constants","setServerGlobals","getPathnameFromFilePath","getRouterRootFromOneOptions","toAbsolute","buildVercelOutputDirectory","getManifest","loadUserOneOptions","runWithAsyncLocalContext","buildPage","checkNodeVersion","generateSitemap","labelProcess","ensureDir","writeJSON","process","on","err","console","error","message","args","_oneOptions_build","_oneOptions_build_server","_oneOptions_build1","_oneOptions_build2","_oneOptions_web","_oneOptions_web1","env","IS_VXRN_CLI","NODE_ENV","oneOptions","routerRoot","routerRootRegexp","RegExp","manifest","_oneOptions_build_server_outputFormat","serverOutputFormat","server","outputFormat","vxrnOutput","analyze","platform","options","optimizeDeps","apiBuildConfig","webBuildConfig","configFile","appType","buildCustomRoutes","subFolder","routes","_oneOptions_build_api","_oneOptions_build3","_oneOptions_build_api1","_oneOptions_build12","_oneOptions_build_api2","_oneOptions_build22","input","reduce","entries","param","page","file","slice","_oneOptions_build_api_outputFormat","api","treeshake","mergedConfig","define","processEnvDefines","ssr","noExternal","external","emptyOutDir","outDir","copyPublicDir","minify","rollupOptions","moduleSideEffects","plugins","filter","Boolean","preserveEntrySignatures","id","output","entryFileNames","exports","format","esModule","chunkInfo","name","replace","chunkFileNames","dir","dirname","basename","extname","assetFileNames","assetInfo","_assetInfo_name","baseName","ext","userApiBuildConf","config","finalApiBuildConf","apiOutput","apiRoutes","length","info","builtMiddlewares","middlewareRoutes","middlewareBuildInfo","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","middleware","_step","value","absoluteRoot","cwd","root","fullPath","outChunks","x","type","chunk","find","facadeModuleId","Error","fileName","_iterator","Symbol","iterator","next","done","return","globalThis","require","import","meta","url","assets","builtRoutes","sitemapData","staticDir","clientDir","serverOutput","outputEntries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop1","index","_step1","_vxrnOutput_buildArgs","_foundRoute_layouts","_oneOptions_web2","_exported_generateStaticParams","push","includes","relativeId","onlyBuild","buildArgs","only","contains","clientManifestKey","Object","keys","clientManifest","key","endsWith","clientManifestEntry","foundRoute","pageRoutes","route2","loaderServerPath","collectImports","imports","css","arguments","Set","flatMap","found","warn","flat","map","startsWith","JSON","stringify","entryImports","_foundRoute_layouts_flatMap","layoutEntries","layouts","layout2","clientKey2","contextKey","layoutImports","entry2","routePreloads","rootLayoutKey","rootLayoutEntry","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_iterator4","_step4","layout","clientKey","entry","preloadSetupFilePreloads","setupFile","clientSetupFile","client","needle","file2","preloads2","path","allEntries","allCSS","allCSSContents","web","inlineLayoutCSS","Promise","all","cssPath","filePath","readFile","DEBUG","serverJsPath","exported","cause","isDynamic","routeKeys","generateStaticParams","_ref","paramsList","call","routeSitemapExport","sitemap","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_loop2","params","_step22","built","serverEntry","isNotFound","routeExport","_iterator12","_iterator1","moveAllFiles","rm","force","recursive","routeMap","routeToBuildInfo","pathToRoute","preloads","cssPreloads","loaders","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","route","cleanPath","htmlPath","loaderData","_loaderData","rest","routeFile","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","getCleanPaths","_step3","p"],"sources":["../../../src/cli/build.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import MicroMatch from "micromatch";
|
|
2
|
+
function generateSitemap(routes, options) {
|
|
3
|
+
const envUrl = process.env.ONE_SERVER_URL, baseUrl = options.baseUrl ?? (envUrl && envUrl !== "undefined" ? envUrl : ""), defaultPriority = options.priority ?? 0.5, defaultChangefreq = options.changefreq, excludePatterns = options.exclude || [], entries = [];
|
|
4
|
+
for (const route of routes) {
|
|
5
|
+
const { path, routeExport } = route;
|
|
6
|
+
if (routeExport?.exclude || excludePatterns.length > 0 && MicroMatch.isMatch(path, excludePatterns))
|
|
7
|
+
continue;
|
|
8
|
+
const priority = routeExport?.priority ?? defaultPriority, changefreq = routeExport?.changefreq ?? defaultChangefreq, lastmod = routeExport?.lastmod;
|
|
9
|
+
entries.push({
|
|
10
|
+
path,
|
|
11
|
+
priority,
|
|
12
|
+
changefreq,
|
|
13
|
+
lastmod
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return buildSitemapXml(entries, baseUrl);
|
|
17
|
+
}
|
|
18
|
+
function buildSitemapXml(entries, baseUrl) {
|
|
19
|
+
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
20
|
+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
21
|
+
${entries.map((entry) => {
|
|
22
|
+
const loc = baseUrl ? `${baseUrl.replace(/\/$/, "")}${entry.path}` : entry.path;
|
|
23
|
+
let xml = ` <url>
|
|
24
|
+
<loc>${escapeXml(loc)}</loc>`;
|
|
25
|
+
if (entry.lastmod) {
|
|
26
|
+
const date = entry.lastmod instanceof Date ? entry.lastmod.toISOString().split("T")[0] : entry.lastmod;
|
|
27
|
+
xml += `
|
|
28
|
+
<lastmod>${escapeXml(date)}</lastmod>`;
|
|
29
|
+
}
|
|
30
|
+
return entry.changefreq && (xml += `
|
|
31
|
+
<changefreq>${entry.changefreq}</changefreq>`), entry.priority !== void 0 && (xml += `
|
|
32
|
+
<priority>${entry.priority.toFixed(1)}</priority>`), xml += `
|
|
33
|
+
</url>`, xml;
|
|
34
|
+
}).join(`
|
|
35
|
+
`)}
|
|
36
|
+
</urlset>
|
|
37
|
+
`;
|
|
38
|
+
}
|
|
39
|
+
function escapeXml(str) {
|
|
40
|
+
return str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
generateSitemap
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=generateSitemap.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/cli/generateSitemap.ts"],
|
|
4
|
+
"mappings": "AAAA,OAAO,gBAAgB;AAehB,SAAS,gBAAgB,QAA4B,SAAqC;AAC/F,QAAM,SAAS,QAAQ,IAAI,gBACrB,UAAU,QAAQ,YAAY,UAAU,WAAW,cAAc,SAAS,KAC1E,kBAAkB,QAAQ,YAAY,KACtC,oBAAoB,QAAQ,YAC5B,kBAAkB,QAAQ,WAAW,CAAC,GAEtC,UAA0B,CAAC;AAEjC,aAAW,SAAS,QAAQ;AAC1B,UAAM,EAAE,MAAM,YAAY,IAAI;AAQ9B,QALI,aAAa,WAKb,gBAAgB,SAAS,KAAK,WAAW,QAAQ,MAAM,eAAe;AACxE;AAGF,UAAM,WAAW,aAAa,YAAY,iBACpC,aAAa,aAAa,cAAc,mBACxC,UAAU,aAAa;AAE7B,YAAQ,KAAK;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO,gBAAgB,SAAS,OAAO;AACzC;AAEA,SAAS,gBAAgB,SAAyB,SAAyB;AA0BzE,SAAO;AAAA;AAAA,EAzBY,QAChB,IAAI,CAAC,UAAU;AACd,UAAM,MAAM,UAAU,GAAG,QAAQ,QAAQ,OAAO,EAAE,CAAC,GAAG,MAAM,IAAI,KAAK,MAAM;AAE3E,QAAI,MAAM;AAAA,WAAqB,UAAU,GAAG,CAAC;AAE7C,QAAI,MAAM,SAAS;AACjB,YAAM,OACJ,MAAM,mBAAmB,OAAO,MAAM,QAAQ,YAAY,EAAE,MAAM,GAAG,EAAE,CAAC,IAAI,MAAM;AACpF,aAAO;AAAA,eAAkB,UAAU,IAAI,CAAC;AAAA,IAC1C;AAEA,WAAI,MAAM,eACR,OAAO;AAAA,kBAAqB,MAAM,UAAU,kBAG1C,MAAM,aAAa,WACrB,OAAO;AAAA,gBAAmB,MAAM,SAAS,QAAQ,CAAC,CAAC,gBAGrD,OAAO;AAAA,WACA;AAAA,EACT,CAAC,EACA,KAAK;AAAA,CAAI,CAIF;AAAA;AAAA;AAGZ;AAEA,SAAS,UAAU,KAAqB;AACtC,SAAO,IACJ,QAAQ,MAAM,OAAO,EACrB,QAAQ,MAAM,MAAM,EACpB,QAAQ,MAAM,MAAM,EACpB,QAAQ,MAAM,QAAQ,EACtB,QAAQ,MAAM,QAAQ;AAC3B;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import MicroMatch from "micromatch";
|
|
2
|
+
function generateSitemap(routes, options) {
|
|
3
|
+
const envUrl = process.env.ONE_SERVER_URL,
|
|
4
|
+
baseUrl = options.baseUrl ?? (envUrl && envUrl !== "undefined" ? envUrl : ""),
|
|
5
|
+
defaultPriority = options.priority ?? 0.5,
|
|
6
|
+
defaultChangefreq = options.changefreq,
|
|
7
|
+
excludePatterns = options.exclude || [],
|
|
8
|
+
entries = [];
|
|
9
|
+
for (const route of routes) {
|
|
10
|
+
const {
|
|
11
|
+
path,
|
|
12
|
+
routeExport
|
|
13
|
+
} = route;
|
|
14
|
+
if (routeExport?.exclude || excludePatterns.length > 0 && MicroMatch.isMatch(path, excludePatterns)) continue;
|
|
15
|
+
const priority = routeExport?.priority ?? defaultPriority,
|
|
16
|
+
changefreq = routeExport?.changefreq ?? defaultChangefreq,
|
|
17
|
+
lastmod = routeExport?.lastmod;
|
|
18
|
+
entries.push({
|
|
19
|
+
path,
|
|
20
|
+
priority,
|
|
21
|
+
changefreq,
|
|
22
|
+
lastmod
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return buildSitemapXml(entries, baseUrl);
|
|
26
|
+
}
|
|
27
|
+
function buildSitemapXml(entries, baseUrl) {
|
|
28
|
+
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
29
|
+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
30
|
+
${entries.map(entry => {
|
|
31
|
+
const loc = baseUrl ? `${baseUrl.replace(/\/$/, "")}${entry.path}` : entry.path;
|
|
32
|
+
let xml = ` <url>
|
|
33
|
+
<loc>${escapeXml(loc)}</loc>`;
|
|
34
|
+
if (entry.lastmod) {
|
|
35
|
+
const date = entry.lastmod instanceof Date ? entry.lastmod.toISOString().split("T")[0] : entry.lastmod;
|
|
36
|
+
xml += `
|
|
37
|
+
<lastmod>${escapeXml(date)}</lastmod>`;
|
|
38
|
+
}
|
|
39
|
+
return entry.changefreq && (xml += `
|
|
40
|
+
<changefreq>${entry.changefreq}</changefreq>`), entry.priority !== void 0 && (xml += `
|
|
41
|
+
<priority>${entry.priority.toFixed(1)}</priority>`), xml += `
|
|
42
|
+
</url>`, xml;
|
|
43
|
+
}).join(`
|
|
44
|
+
`)}
|
|
45
|
+
</urlset>
|
|
46
|
+
`;
|
|
47
|
+
}
|
|
48
|
+
function escapeXml(str) {
|
|
49
|
+
return str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
50
|
+
}
|
|
51
|
+
export { generateSitemap };
|
|
52
|
+
//# sourceMappingURL=generateSitemap.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MicroMatch","generateSitemap","routes","options","envUrl","process","env","ONE_SERVER_URL","baseUrl","defaultPriority","priority","defaultChangefreq","changefreq","excludePatterns","exclude","entries","route","path","routeExport","length","isMatch","lastmod","push","buildSitemapXml","map","entry","loc","replace","xml","escapeXml","date","Date","toISOString","split","toFixed","join","str"],"sources":["../../../src/cli/generateSitemap.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AAehB,SAASC,gBAAgBC,MAAA,EAA4BC,OAAA,EAAqC;EAC/F,MAAMC,MAAA,GAASC,OAAA,CAAQC,GAAA,CAAIC,cAAA;IACrBC,OAAA,GAAUL,OAAA,CAAQK,OAAA,KAAYJ,MAAA,IAAUA,MAAA,KAAW,cAAcA,MAAA,GAAS;IAC1EK,eAAA,GAAkBN,OAAA,CAAQO,QAAA,IAAY;IACtCC,iBAAA,GAAoBR,OAAA,CAAQS,UAAA;IAC5BC,eAAA,GAAkBV,OAAA,CAAQW,OAAA,IAAW,EAAC;IAEtCC,OAAA,GAA0B,EAAC;EAEjC,WAAWC,KAAA,IAASd,MAAA,EAAQ;IAC1B,MAAM;MAAEe,IAAA;MAAMC;IAAY,IAAIF,KAAA;IAQ9B,IALIE,WAAA,EAAaJ,OAAA,IAKbD,eAAA,CAAgBM,MAAA,GAAS,KAAKnB,UAAA,CAAWoB,OAAA,CAAQH,IAAA,EAAMJ,eAAe,GACxE;IAGF,MAAMH,QAAA,GAAWQ,WAAA,EAAaR,QAAA,IAAYD,eAAA;MACpCG,UAAA,GAAaM,WAAA,EAAaN,UAAA,IAAcD,iBAAA;MACxCU,OAAA,GAAUH,WAAA,EAAaG,OAAA;IAE7BN,OAAA,CAAQO,IAAA,CAAK;MACXL,IAAA;MACAP,QAAA;MACAE,UAAA;MACAS;IACF,CAAC;EACH;EAEA,OAAOE,eAAA,CAAgBR,OAAA,EAASP,OAAO;AACzC;AAEA,SAASe,gBAAgBR,OAAA,EAAyBP,OAAA,EAAyB;EA0BzE,OAAO;AAAA;AAAA,EAzBYO,OAAA,CAChBS,GAAA,CAAKC,KAAA,IAAU;IACd,MAAMC,GAAA,GAAMlB,OAAA,GAAU,GAAGA,OAAA,CAAQmB,OAAA,CAAQ,OAAO,EAAE,CAAC,GAAGF,KAAA,CAAMR,IAAI,KAAKQ,KAAA,CAAMR,IAAA;IAE3E,IAAIW,GAAA,GAAM;AAAA,WAAqBC,SAAA,CAAUH,GAAG,CAAC;IAE7C,IAAID,KAAA,CAAMJ,OAAA,EAAS;MACjB,MAAMS,IAAA,GACJL,KAAA,CAAMJ,OAAA,YAAmBU,IAAA,GAAON,KAAA,CAAMJ,OAAA,CAAQW,WAAA,CAAY,EAAEC,KAAA,CAAM,GAAG,EAAE,CAAC,IAAIR,KAAA,CAAMJ,OAAA;MACpFO,GAAA,IAAO;AAAA,eAAkBC,SAAA,CAAUC,IAAI,CAAC;IAC1C;IAEA,OAAIL,KAAA,CAAMb,UAAA,KACRgB,GAAA,IAAO;AAAA,kBAAqBH,KAAA,CAAMb,UAAU,kBAG1Ca,KAAA,CAAMf,QAAA,KAAa,WACrBkB,GAAA,IAAO;AAAA,gBAAmBH,KAAA,CAAMf,QAAA,CAASwB,OAAA,CAAQ,CAAC,CAAC,gBAGrDN,GAAA,IAAO;AAAA,WACAA,GAAA;EACT,CAAC,EACAO,IAAA,CAAK;AAAA,CAAI,CAIF;AAAA;AAAA;AAGZ;AAEA,SAASN,UAAUO,GAAA,EAAqB;EACtC,OAAOA,GAAA,CACJT,OAAA,CAAQ,MAAM,OAAO,EACrBA,OAAA,CAAQ,MAAM,MAAM,EACpBA,OAAA,CAAQ,MAAM,MAAM,EACpBA,OAAA,CAAQ,MAAM,QAAQ,EACtBA,OAAA,CAAQ,MAAM,QAAQ;AAC3B","ignoreList":[]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import MicroMatch from "micromatch";
|
|
2
|
+
function _instanceof(left, right) {
|
|
3
|
+
return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
|
|
4
|
+
}
|
|
5
|
+
function generateSitemap(routes, options) {
|
|
6
|
+
var envUrl = process.env.ONE_SERVER_URL,
|
|
7
|
+
_options_baseUrl,
|
|
8
|
+
baseUrl = (_options_baseUrl = options.baseUrl) !== null && _options_baseUrl !== void 0 ? _options_baseUrl : envUrl && envUrl !== "undefined" ? envUrl : "",
|
|
9
|
+
_options_priority,
|
|
10
|
+
defaultPriority = (_options_priority = options.priority) !== null && _options_priority !== void 0 ? _options_priority : 0.5,
|
|
11
|
+
defaultChangefreq = options.changefreq,
|
|
12
|
+
excludePatterns = options.exclude || [],
|
|
13
|
+
entries = [],
|
|
14
|
+
_iteratorNormalCompletion = !0,
|
|
15
|
+
_didIteratorError = !1,
|
|
16
|
+
_iteratorError = void 0;
|
|
17
|
+
try {
|
|
18
|
+
for (var _iterator = routes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
19
|
+
var route = _step.value,
|
|
20
|
+
{
|
|
21
|
+
path,
|
|
22
|
+
routeExport
|
|
23
|
+
} = route;
|
|
24
|
+
if (!routeExport?.exclude && !(excludePatterns.length > 0 && MicroMatch.isMatch(path, excludePatterns))) {
|
|
25
|
+
var _routeExport_priority,
|
|
26
|
+
priority = (_routeExport_priority = routeExport?.priority) !== null && _routeExport_priority !== void 0 ? _routeExport_priority : defaultPriority,
|
|
27
|
+
_routeExport_changefreq,
|
|
28
|
+
changefreq = (_routeExport_changefreq = routeExport?.changefreq) !== null && _routeExport_changefreq !== void 0 ? _routeExport_changefreq : defaultChangefreq,
|
|
29
|
+
lastmod = routeExport?.lastmod;
|
|
30
|
+
entries.push({
|
|
31
|
+
path,
|
|
32
|
+
priority,
|
|
33
|
+
changefreq,
|
|
34
|
+
lastmod
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
} catch (err) {
|
|
39
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
40
|
+
} finally {
|
|
41
|
+
try {
|
|
42
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
43
|
+
} finally {
|
|
44
|
+
if (_didIteratorError) throw _iteratorError;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return buildSitemapXml(entries, baseUrl);
|
|
48
|
+
}
|
|
49
|
+
function buildSitemapXml(entries, baseUrl) {
|
|
50
|
+
var urlEntries = entries.map(function (entry) {
|
|
51
|
+
var loc = baseUrl ? `${baseUrl.replace(/\/$/, "")}${entry.path}` : entry.path,
|
|
52
|
+
xml = ` <url>
|
|
53
|
+
<loc>${escapeXml(loc)}</loc>`;
|
|
54
|
+
if (entry.lastmod) {
|
|
55
|
+
var date = _instanceof(entry.lastmod, Date) ? entry.lastmod.toISOString().split("T")[0] : entry.lastmod;
|
|
56
|
+
xml += `
|
|
57
|
+
<lastmod>${escapeXml(date)}</lastmod>`;
|
|
58
|
+
}
|
|
59
|
+
return entry.changefreq && (xml += `
|
|
60
|
+
<changefreq>${entry.changefreq}</changefreq>`), entry.priority !== void 0 && (xml += `
|
|
61
|
+
<priority>${entry.priority.toFixed(1)}</priority>`), xml += `
|
|
62
|
+
</url>`, xml;
|
|
63
|
+
}).join(`
|
|
64
|
+
`);
|
|
65
|
+
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
66
|
+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
67
|
+
${urlEntries}
|
|
68
|
+
</urlset>
|
|
69
|
+
`;
|
|
70
|
+
}
|
|
71
|
+
function escapeXml(str) {
|
|
72
|
+
return str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
73
|
+
}
|
|
74
|
+
export { generateSitemap };
|
|
75
|
+
//# sourceMappingURL=generateSitemap.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MicroMatch","_instanceof","left","right","Symbol","hasInstance","generateSitemap","routes","options","envUrl","process","env","ONE_SERVER_URL","_options_baseUrl","baseUrl","_options_priority","defaultPriority","priority","defaultChangefreq","changefreq","excludePatterns","exclude","entries","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","route","value","path","routeExport","length","isMatch","_routeExport_priority","_routeExport_changefreq","lastmod","push","err","return","buildSitemapXml","urlEntries","map","entry","loc","replace","xml","escapeXml","date","Date","toISOString","split"],"sources":["../../../src/cli/generateSitemap.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AAehB,SAASC,YAAAC,IAAgB,EAAAC,KAAA,EAA4B;EAC1D,OAAMA,KAAA,IAAS,QAAQ,OAAIC,MAAA,MACrB,IAAAD,KAAA,CAAUC,MAAA,CAAAC,WAAQ,IAAY,EAAAF,KAAA,CAAUC,MAAA,CAAAC,WAAW,EAAAH,IAAA,CAAc,GAAAA,IAAA,YACjEC,KAAA;AAMN;AACE,SAAAG,eAAcA,CAAAC,MAAY,EAAAC,OAAI;EAQ9B,IAAAC,MALI,GAAAC,OAAa,CAAAC,GAAA,CAAAC,cAKb;IAAAC,gBAAyB;IAAAC,OAAK,IAAAD,gBAAyB,GAAAL,OAAA,CAAAM,OAAe,cAAAD,gBAAA,cAAAA,gBAAA,GAAAJ,MAAA,IAAAA,MAAA,mBAAAA,MAAA;IAAAM,iBAAA;IAAAC,eAAA,IAAAD,iBAAA,GAAAP,OAAA,CAAAS,QAAA,cAAAF,iBAAA,cAAAA,iBAAA;IAAAG,iBAAA,GAAAV,OAAA,CAAAW,UAAA;IAAAC,eAAA,GAAAZ,OAAA,CAAAa,OAAA;IAAAC,OAAA;IAAAC,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EACxE;IAGF,SAAMC,SAAW,GAAAnB,MAAA,CAAAH,MAAa,CAAAuB,QAAY,KAAAC,KAAA,IAAAL,yBACvB,GAAa,CAAAK,KAAA,GAAAF,SAAc,CAAAG,IAAA,IAAAC,IAAA,GACxCP,yBAAuB;MAE7B,IAAAQ,KAAQ,GAAKH,KAAA,CAAAI,KAAA;QAAA;UAAAC,IAAA;UAAAC;QAAA,IAAAH,KAAA;MACX,KAAAG,WAAA,EAAAb,OAAA,MAAAD,eAAA,CAAAe,MAAA,QAAAnC,UAAA,CAAAoC,OAAA,CAAAH,IAAA,EAAAb,eAAA;QACA,IAAAiB,qBAAA;UAAApB,QAAA,IAAAoB,qBAAA,GAAAH,WAAA,EAAAjB,QAAA,cAAAoB,qBAAA,cAAAA,qBAAA,GAAArB,eAAA;UAAAsB,uBAAA;UAAAnB,UAAA,IAAAmB,uBAAA,GAAAJ,WAAA,EAAAf,UAAA,cAAAmB,uBAAA,cAAAA,uBAAA,GAAApB,iBAAA;UAAAqB,OAAA,GAAAL,WAAA,EAAAK,OAAA;QACAjB,OAAA,CAAAkB,IAAA;UACAP,IAAA;UACDhB,QAAA;UACHE,UAAA;UAEOoB;QACT;MAEA;IA0BE;EAAO,SAAAE,GAAA;IAzBYjB,iBACX,IAAU,GAAAC,cAAA,GAAAgB,GAAA;EACd,UAAM;IAEN,IAAI;MAAM,CAAAlB,yBAAmC,IAAAG,SAAA,CAAAgB,MAAA,YAAAhB,SAAA,CAAAgB,MAAA;IAE7C,UAAU;MACR,IAAAlB,iBACQ,EACR,MAAOC,cAAA;IAAA;EAAiC;EAG1C,OAAAkB,eAAU,CAAArB,OACR,EAAAR,OAAO;AAAA;AAIA,SAAA6B,eAAyBA,CAAArB,OAAS,EAAAR,OAAU;EAG9C,IAAA8B,UACA,GAAAtB,OAAA,CAAAuB,GAAA,WAAAC,KAAA;IACR,IACAC,GAAK,GAAAjC,OAAA,MAAAA,OAAA,CAAAkC,OAAA,cAAAF,KAAA,CAAAb,IAAA,KAAAa,KAAA,CAAAb,IAAA;MAAAgB,GAAA;AAAA,WAIEC,SAAA,CAAAH,GAAA;IAAA,IAAAD,KAAA,CAAAP,OAAA;MAAA,IAAAY,IAAA,GAAAlD,WAAA,CAAA6C,KAAA,CAAAP,OAAA,EAAAa,IAAA,IAAAN,KAAA,CAAAP,OAAA,CAAAc,WAAA,GAAAC,KAAA,WAAAR,KAAA,CAAAP,OAAA;MAGZU,GAAA;AAEA,eAASC,SAA+B,CAAAC,IAAA;IACtC;IAMF,OAAAL,KAAA,CAAA3B,UAAA,KAAA8B,GAAA","ignoreList":[]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { generateSitemap } from "./generateSitemap";
|
|
3
|
+
describe("generateSitemap", () => {
|
|
4
|
+
it("generates basic sitemap XML", () => {
|
|
5
|
+
const result = generateSitemap([{ path: "/" }, { path: "/about" }, { path: "/blog" }], {});
|
|
6
|
+
expect(result).toContain('<?xml version="1.0" encoding="UTF-8"?>'), expect(result).toContain('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'), expect(result).toContain("<loc>/</loc>"), expect(result).toContain("<loc>/about</loc>"), expect(result).toContain("<loc>/blog</loc>"), expect(result).toContain("</urlset>");
|
|
7
|
+
}), it("uses baseUrl when provided", () => {
|
|
8
|
+
const result = generateSitemap([{ path: "/" }, { path: "/about" }], {
|
|
9
|
+
baseUrl: "https://example.com"
|
|
10
|
+
});
|
|
11
|
+
expect(result).toContain("<loc>https://example.com/</loc>"), expect(result).toContain("<loc>https://example.com/about</loc>");
|
|
12
|
+
}), it("strips trailing slash from baseUrl", () => {
|
|
13
|
+
const result = generateSitemap([{ path: "/about" }], {
|
|
14
|
+
baseUrl: "https://example.com/"
|
|
15
|
+
});
|
|
16
|
+
expect(result).toContain("<loc>https://example.com/about</loc>"), expect(result).not.toContain("https://example.com//about");
|
|
17
|
+
}), it("uses ONE_SERVER_URL env var when baseUrl not provided", () => {
|
|
18
|
+
const originalEnv = process.env.ONE_SERVER_URL;
|
|
19
|
+
process.env.ONE_SERVER_URL = "https://env-url.com";
|
|
20
|
+
try {
|
|
21
|
+
const result = generateSitemap([{ path: "/test" }], {});
|
|
22
|
+
expect(result).toContain("<loc>https://env-url.com/test</loc>");
|
|
23
|
+
} finally {
|
|
24
|
+
process.env.ONE_SERVER_URL = originalEnv;
|
|
25
|
+
}
|
|
26
|
+
}), it("applies default priority to all routes", () => {
|
|
27
|
+
const result = generateSitemap([{ path: "/" }, { path: "/about" }], {
|
|
28
|
+
priority: 0.8
|
|
29
|
+
});
|
|
30
|
+
expect(result).toMatch(/<url>\s*<loc>\/about<\/loc>\s*<priority>0\.8<\/priority>\s*<\/url>/s);
|
|
31
|
+
}), it("applies default changefreq to all routes", () => {
|
|
32
|
+
const result = generateSitemap([{ path: "/" }, { path: "/about" }], {
|
|
33
|
+
changefreq: "weekly"
|
|
34
|
+
});
|
|
35
|
+
expect(result).toContain("<changefreq>weekly</changefreq>");
|
|
36
|
+
}), it("respects route-level sitemap exports", () => {
|
|
37
|
+
const result = generateSitemap([
|
|
38
|
+
{ path: "/", routeExport: { priority: 1, changefreq: "daily" } },
|
|
39
|
+
{ path: "/about", routeExport: { priority: 0.5, changefreq: "monthly" } }
|
|
40
|
+
], {
|
|
41
|
+
priority: 0.7,
|
|
42
|
+
changefreq: "weekly"
|
|
43
|
+
});
|
|
44
|
+
expect(result).toMatch(
|
|
45
|
+
/<url>\s*<loc>\/<\/loc>\s*<changefreq>daily<\/changefreq>\s*<priority>1\.0<\/priority>\s*<\/url>/s
|
|
46
|
+
), expect(result).toMatch(
|
|
47
|
+
/<url>\s*<loc>\/about<\/loc>\s*<changefreq>monthly<\/changefreq>\s*<priority>0\.5<\/priority>\s*<\/url>/s
|
|
48
|
+
);
|
|
49
|
+
}), it("excludes routes with routeExport.exclude = true", () => {
|
|
50
|
+
const result = generateSitemap([
|
|
51
|
+
{ path: "/" },
|
|
52
|
+
{ path: "/admin", routeExport: { exclude: !0 } },
|
|
53
|
+
{ path: "/about" }
|
|
54
|
+
], {});
|
|
55
|
+
expect(result).toContain("<loc>/</loc>"), expect(result).toContain("<loc>/about</loc>"), expect(result).not.toContain("/admin");
|
|
56
|
+
}), it("excludes routes matching exclude glob patterns", () => {
|
|
57
|
+
const result = generateSitemap([
|
|
58
|
+
{ path: "/" },
|
|
59
|
+
{ path: "/admin/dashboard" },
|
|
60
|
+
{ path: "/admin/users" },
|
|
61
|
+
{ path: "/about" },
|
|
62
|
+
{ path: "/api/health" }
|
|
63
|
+
], {
|
|
64
|
+
exclude: ["/admin/*", "/api/*"]
|
|
65
|
+
});
|
|
66
|
+
expect(result).toContain("<loc>/</loc>"), expect(result).toContain("<loc>/about</loc>"), expect(result).not.toContain("/admin"), expect(result).not.toContain("/api");
|
|
67
|
+
}), it("includes lastmod when provided in route export", () => {
|
|
68
|
+
const result = generateSitemap([
|
|
69
|
+
{ path: "/", routeExport: { lastmod: "2024-01-15" } },
|
|
70
|
+
{ path: "/about", routeExport: { lastmod: /* @__PURE__ */ new Date("2024-06-20") } }
|
|
71
|
+
], {});
|
|
72
|
+
expect(result).toContain("<lastmod>2024-01-15</lastmod>"), expect(result).toContain("<lastmod>2024-06-20</lastmod>");
|
|
73
|
+
}), it("escapes XML special characters in URLs", () => {
|
|
74
|
+
const result = generateSitemap([{ path: "/search?q=foo&bar=baz" }], {
|
|
75
|
+
baseUrl: "https://example.com"
|
|
76
|
+
});
|
|
77
|
+
expect(result).toContain("&"), expect(result).not.toContain("&bar");
|
|
78
|
+
}), it("generates empty sitemap when no routes", () => {
|
|
79
|
+
const result = generateSitemap([], {});
|
|
80
|
+
expect(result).toContain('<?xml version="1.0" encoding="UTF-8"?>'), expect(result).toContain('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'), expect(result).toContain("</urlset>"), expect(result).not.toContain("<url>");
|
|
81
|
+
}), it("handles all valid changefreq values", () => {
|
|
82
|
+
const changefreqs = [
|
|
83
|
+
"always",
|
|
84
|
+
"hourly",
|
|
85
|
+
"daily",
|
|
86
|
+
"weekly",
|
|
87
|
+
"monthly",
|
|
88
|
+
"yearly",
|
|
89
|
+
"never"
|
|
90
|
+
];
|
|
91
|
+
for (const changefreq of changefreqs) {
|
|
92
|
+
const result = generateSitemap([{ path: "/", routeExport: { changefreq } }], {});
|
|
93
|
+
expect(result).toContain(`<changefreq>${changefreq}</changefreq>`);
|
|
94
|
+
}
|
|
95
|
+
}), it("formats priority with one decimal place", () => {
|
|
96
|
+
const result = generateSitemap([
|
|
97
|
+
{ path: "/", routeExport: { priority: 1 } },
|
|
98
|
+
{ path: "/about", routeExport: { priority: 0.5 } },
|
|
99
|
+
{ path: "/blog", routeExport: { priority: 0.75 } }
|
|
100
|
+
], {});
|
|
101
|
+
expect(result).toContain("<priority>1.0</priority>"), expect(result).toContain("<priority>0.5</priority>"), expect(result).toContain("<priority>0.8</priority>");
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
//# sourceMappingURL=generateSitemap.test.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/cli/generateSitemap.test.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { generateSitemap } from "./generateSitemap.mjs";
|
|
3
|
+
describe("generateSitemap", () => {
|
|
4
|
+
it("generates basic sitemap XML", () => {
|
|
5
|
+
const result = generateSitemap([{
|
|
6
|
+
path: "/"
|
|
7
|
+
}, {
|
|
8
|
+
path: "/about"
|
|
9
|
+
}, {
|
|
10
|
+
path: "/blog"
|
|
11
|
+
}], {});
|
|
12
|
+
expect(result).toContain('<?xml version="1.0" encoding="UTF-8"?>'), expect(result).toContain('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'), expect(result).toContain("<loc>/</loc>"), expect(result).toContain("<loc>/about</loc>"), expect(result).toContain("<loc>/blog</loc>"), expect(result).toContain("</urlset>");
|
|
13
|
+
}), it("uses baseUrl when provided", () => {
|
|
14
|
+
const result = generateSitemap([{
|
|
15
|
+
path: "/"
|
|
16
|
+
}, {
|
|
17
|
+
path: "/about"
|
|
18
|
+
}], {
|
|
19
|
+
baseUrl: "https://example.com"
|
|
20
|
+
});
|
|
21
|
+
expect(result).toContain("<loc>https://example.com/</loc>"), expect(result).toContain("<loc>https://example.com/about</loc>");
|
|
22
|
+
}), it("strips trailing slash from baseUrl", () => {
|
|
23
|
+
const result = generateSitemap([{
|
|
24
|
+
path: "/about"
|
|
25
|
+
}], {
|
|
26
|
+
baseUrl: "https://example.com/"
|
|
27
|
+
});
|
|
28
|
+
expect(result).toContain("<loc>https://example.com/about</loc>"), expect(result).not.toContain("https://example.com//about");
|
|
29
|
+
}), it("uses ONE_SERVER_URL env var when baseUrl not provided", () => {
|
|
30
|
+
const originalEnv = process.env.ONE_SERVER_URL;
|
|
31
|
+
process.env.ONE_SERVER_URL = "https://env-url.com";
|
|
32
|
+
try {
|
|
33
|
+
const result = generateSitemap([{
|
|
34
|
+
path: "/test"
|
|
35
|
+
}], {});
|
|
36
|
+
expect(result).toContain("<loc>https://env-url.com/test</loc>");
|
|
37
|
+
} finally {
|
|
38
|
+
process.env.ONE_SERVER_URL = originalEnv;
|
|
39
|
+
}
|
|
40
|
+
}), it("applies default priority to all routes", () => {
|
|
41
|
+
const result = generateSitemap([{
|
|
42
|
+
path: "/"
|
|
43
|
+
}, {
|
|
44
|
+
path: "/about"
|
|
45
|
+
}], {
|
|
46
|
+
priority: 0.8
|
|
47
|
+
});
|
|
48
|
+
expect(result).toMatch(/<url>\s*<loc>\/about<\/loc>\s*<priority>0\.8<\/priority>\s*<\/url>/s);
|
|
49
|
+
}), it("applies default changefreq to all routes", () => {
|
|
50
|
+
const result = generateSitemap([{
|
|
51
|
+
path: "/"
|
|
52
|
+
}, {
|
|
53
|
+
path: "/about"
|
|
54
|
+
}], {
|
|
55
|
+
changefreq: "weekly"
|
|
56
|
+
});
|
|
57
|
+
expect(result).toContain("<changefreq>weekly</changefreq>");
|
|
58
|
+
}), it("respects route-level sitemap exports", () => {
|
|
59
|
+
const result = generateSitemap([{
|
|
60
|
+
path: "/",
|
|
61
|
+
routeExport: {
|
|
62
|
+
priority: 1,
|
|
63
|
+
changefreq: "daily"
|
|
64
|
+
}
|
|
65
|
+
}, {
|
|
66
|
+
path: "/about",
|
|
67
|
+
routeExport: {
|
|
68
|
+
priority: 0.5,
|
|
69
|
+
changefreq: "monthly"
|
|
70
|
+
}
|
|
71
|
+
}], {
|
|
72
|
+
priority: 0.7,
|
|
73
|
+
changefreq: "weekly"
|
|
74
|
+
});
|
|
75
|
+
expect(result).toMatch(/<url>\s*<loc>\/<\/loc>\s*<changefreq>daily<\/changefreq>\s*<priority>1\.0<\/priority>\s*<\/url>/s), expect(result).toMatch(/<url>\s*<loc>\/about<\/loc>\s*<changefreq>monthly<\/changefreq>\s*<priority>0\.5<\/priority>\s*<\/url>/s);
|
|
76
|
+
}), it("excludes routes with routeExport.exclude = true", () => {
|
|
77
|
+
const result = generateSitemap([{
|
|
78
|
+
path: "/"
|
|
79
|
+
}, {
|
|
80
|
+
path: "/admin",
|
|
81
|
+
routeExport: {
|
|
82
|
+
exclude: !0
|
|
83
|
+
}
|
|
84
|
+
}, {
|
|
85
|
+
path: "/about"
|
|
86
|
+
}], {});
|
|
87
|
+
expect(result).toContain("<loc>/</loc>"), expect(result).toContain("<loc>/about</loc>"), expect(result).not.toContain("/admin");
|
|
88
|
+
}), it("excludes routes matching exclude glob patterns", () => {
|
|
89
|
+
const result = generateSitemap([{
|
|
90
|
+
path: "/"
|
|
91
|
+
}, {
|
|
92
|
+
path: "/admin/dashboard"
|
|
93
|
+
}, {
|
|
94
|
+
path: "/admin/users"
|
|
95
|
+
}, {
|
|
96
|
+
path: "/about"
|
|
97
|
+
}, {
|
|
98
|
+
path: "/api/health"
|
|
99
|
+
}], {
|
|
100
|
+
exclude: ["/admin/*", "/api/*"]
|
|
101
|
+
});
|
|
102
|
+
expect(result).toContain("<loc>/</loc>"), expect(result).toContain("<loc>/about</loc>"), expect(result).not.toContain("/admin"), expect(result).not.toContain("/api");
|
|
103
|
+
}), it("includes lastmod when provided in route export", () => {
|
|
104
|
+
const result = generateSitemap([{
|
|
105
|
+
path: "/",
|
|
106
|
+
routeExport: {
|
|
107
|
+
lastmod: "2024-01-15"
|
|
108
|
+
}
|
|
109
|
+
}, {
|
|
110
|
+
path: "/about",
|
|
111
|
+
routeExport: {
|
|
112
|
+
lastmod: /* @__PURE__ */new Date("2024-06-20")
|
|
113
|
+
}
|
|
114
|
+
}], {});
|
|
115
|
+
expect(result).toContain("<lastmod>2024-01-15</lastmod>"), expect(result).toContain("<lastmod>2024-06-20</lastmod>");
|
|
116
|
+
}), it("escapes XML special characters in URLs", () => {
|
|
117
|
+
const result = generateSitemap([{
|
|
118
|
+
path: "/search?q=foo&bar=baz"
|
|
119
|
+
}], {
|
|
120
|
+
baseUrl: "https://example.com"
|
|
121
|
+
});
|
|
122
|
+
expect(result).toContain("&"), expect(result).not.toContain("&bar");
|
|
123
|
+
}), it("generates empty sitemap when no routes", () => {
|
|
124
|
+
const result = generateSitemap([], {});
|
|
125
|
+
expect(result).toContain('<?xml version="1.0" encoding="UTF-8"?>'), expect(result).toContain('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'), expect(result).toContain("</urlset>"), expect(result).not.toContain("<url>");
|
|
126
|
+
}), it("handles all valid changefreq values", () => {
|
|
127
|
+
const changefreqs = ["always", "hourly", "daily", "weekly", "monthly", "yearly", "never"];
|
|
128
|
+
for (const changefreq of changefreqs) {
|
|
129
|
+
const result = generateSitemap([{
|
|
130
|
+
path: "/",
|
|
131
|
+
routeExport: {
|
|
132
|
+
changefreq
|
|
133
|
+
}
|
|
134
|
+
}], {});
|
|
135
|
+
expect(result).toContain(`<changefreq>${changefreq}</changefreq>`);
|
|
136
|
+
}
|
|
137
|
+
}), it("formats priority with one decimal place", () => {
|
|
138
|
+
const result = generateSitemap([{
|
|
139
|
+
path: "/",
|
|
140
|
+
routeExport: {
|
|
141
|
+
priority: 1
|
|
142
|
+
}
|
|
143
|
+
}, {
|
|
144
|
+
path: "/about",
|
|
145
|
+
routeExport: {
|
|
146
|
+
priority: 0.5
|
|
147
|
+
}
|
|
148
|
+
}, {
|
|
149
|
+
path: "/blog",
|
|
150
|
+
routeExport: {
|
|
151
|
+
priority: 0.75
|
|
152
|
+
}
|
|
153
|
+
}], {});
|
|
154
|
+
expect(result).toContain("<priority>1.0</priority>"), expect(result).toContain("<priority>0.5</priority>"), expect(result).toContain("<priority>0.8</priority>");
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
//# sourceMappingURL=generateSitemap.test.mjs.map
|