@tanstack/start-plugin-core 1.120.4-alpha.9 → 1.121.0-alpha.2
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/constants.cjs +10 -0
- package/dist/cjs/constants.cjs.map +1 -0
- package/dist/cjs/constants.d.cts +4 -0
- package/dist/cjs/index.cjs +0 -6
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +0 -5
- package/dist/cjs/nitro/dev-server-plugin.cjs +11 -3
- package/dist/cjs/nitro/dev-server-plugin.cjs.map +1 -1
- package/dist/cjs/nitro/nitro-plugin.cjs +35 -5
- package/dist/cjs/nitro/nitro-plugin.cjs.map +1 -1
- package/dist/cjs/plugin.cjs +82 -15
- package/dist/cjs/plugin.cjs.map +1 -1
- package/dist/cjs/plugin.d.cts +766 -147
- package/dist/cjs/prerender.cjs +19 -15
- package/dist/cjs/prerender.cjs.map +1 -1
- package/dist/cjs/schema.cjs +21 -2
- package/dist/cjs/schema.cjs.map +1 -1
- package/dist/cjs/schema.d.cts +2362 -601
- package/dist/esm/constants.d.ts +4 -0
- package/dist/esm/constants.js +10 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/index.d.ts +0 -5
- package/dist/esm/index.js +0 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/nitro/dev-server-plugin.js +11 -3
- package/dist/esm/nitro/dev-server-plugin.js.map +1 -1
- package/dist/esm/nitro/nitro-plugin.js +35 -5
- package/dist/esm/nitro/nitro-plugin.js.map +1 -1
- package/dist/esm/plugin.d.ts +766 -147
- package/dist/esm/plugin.js +65 -15
- package/dist/esm/plugin.js.map +1 -1
- package/dist/esm/prerender.js +19 -15
- package/dist/esm/prerender.js.map +1 -1
- package/dist/esm/schema.d.ts +2362 -601
- package/dist/esm/schema.js +22 -3
- package/dist/esm/schema.js.map +1 -1
- package/package.json +6 -4
- package/src/constants.ts +6 -0
- package/src/index.ts +0 -8
- package/src/nitro/dev-server-plugin.ts +14 -4
- package/src/nitro/nitro-plugin.ts +42 -4
- package/src/plugin.ts +81 -15
- package/src/prerender.ts +26 -19
- package/src/schema.ts +26 -1
- package/dist/cjs/nitro/build-sitemap.cjs +0 -54
- package/dist/cjs/nitro/build-sitemap.cjs.map +0 -1
- package/dist/esm/nitro/build-sitemap.js +0 -54
- package/dist/esm/nitro/build-sitemap.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-sitemap.cjs","sources":["../../../src/nitro/build-sitemap.ts"],"sourcesContent":["import { writeFileSync } from 'node:fs'\nimport { resolve } from 'node:path'\nimport { create } from 'xmlbuilder2'\nimport type { XMLBuilder } from 'xmlbuilder2/lib/interfaces'\n\nexport type PagesJson = {\n page: string\n lastMod: string\n}\n\nexport async function buildSitemap({\n host,\n routes,\n outputDir,\n}: {\n host: string\n routes: Array<string | undefined> | (() => Promise<Array<string | undefined>>)\n outputDir: string\n}) {\n const routeList: Array<string> = await optionHasRoutes(routes)\n\n if (routeList.length) {\n const slash = checkSlash(host)\n const sitemapData: Array<PagesJson> = routeList.map((page: string) => ({\n page: `${host}${slash}${page.replace(/^\\/+/g, '')}`,\n lastMod: new Date().toISOString().split('T')[0]!,\n }))\n\n const sitemap = createXml('urlset')\n\n for (const item of sitemapData) {\n const page = sitemap.ele('url')\n page.ele('loc').txt(item.page)\n page.ele('lastmod').txt(item.lastMod)\n }\n\n const mapPath = `${resolve(outputDir)}/sitemap.xml`\n try {\n console.log(`Writing sitemap at ${mapPath}`)\n writeFileSync(mapPath, sitemap.end({ prettyPrint: true }))\n } catch (e) {\n console.error(`Unable to write file at ${mapPath}`, e)\n }\n }\n}\n\nfunction createXml(elementName: 'urlset' | 'sitemapindex'): XMLBuilder {\n return create({ version: '1.0', encoding: 'UTF-8' })\n .ele(elementName, {\n xmlns: 'https://www.sitemaps.org/schemas/sitemap/0.9',\n })\n .com(`This file was automatically generated by Analog.`)\n}\n\nfunction checkSlash(host: string): string {\n const finalChar = host.slice(-1)\n return finalChar === '/' ? '' : '/'\n}\n\nasync function optionHasRoutes(\n routes:\n | Array<string | undefined>\n | (() => Promise<Array<string | undefined>>),\n): Promise<Array<string>> {\n let routeList: Array<string | undefined>\n\n if (typeof routes === 'function') {\n // returns an array or undefined\n routeList = await routes()\n } else if (Array.isArray(routes)) {\n // returns an array of strings\n routeList = routes\n } else {\n // default it to an empty of array\n routeList = []\n }\n\n return routeList.filter(Boolean) as Array<string>\n}\n"],"names":["resolve","writeFileSync","create"],"mappings":";;;;;AAUA,eAAsB,aAAa;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACK,QAAA,YAA2B,MAAM,gBAAgB,MAAM;AAE7D,MAAI,UAAU,QAAQ;AACd,UAAA,QAAQ,WAAW,IAAI;AAC7B,UAAM,cAAgC,UAAU,IAAI,CAAC,UAAkB;AAAA,MACrE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,QAAQ,SAAS,EAAE,CAAC;AAAA,MACjD,8BAAa,KAAK,GAAE,cAAc,MAAM,GAAG,EAAE,CAAC;AAAA,IAAA,EAC9C;AAEI,UAAA,UAAU,UAAU,QAAQ;AAElC,eAAW,QAAQ,aAAa;AACxB,YAAA,OAAO,QAAQ,IAAI,KAAK;AAC9B,WAAK,IAAI,KAAK,EAAE,IAAI,KAAK,IAAI;AAC7B,WAAK,IAAI,SAAS,EAAE,IAAI,KAAK,OAAO;AAAA,IAAA;AAGtC,UAAM,UAAU,GAAGA,KAAQ,QAAA,SAAS,CAAC;AACjC,QAAA;AACM,cAAA,IAAI,sBAAsB,OAAO,EAAE;AAC3CC,SAAA,cAAc,SAAS,QAAQ,IAAI,EAAE,aAAa,KAAA,CAAM,CAAC;AAAA,aAClD,GAAG;AACV,cAAQ,MAAM,2BAA2B,OAAO,IAAI,CAAC;AAAA,IAAA;AAAA,EACvD;AAEJ;AAEA,SAAS,UAAU,aAAoD;AAC9D,SAAAC,YAAA,OAAO,EAAE,SAAS,OAAO,UAAU,QAAS,CAAA,EAChD,IAAI,aAAa;AAAA,IAChB,OAAO;AAAA,EAAA,CACR,EACA,IAAI,kDAAkD;AAC3D;AAEA,SAAS,WAAW,MAAsB;AAClC,QAAA,YAAY,KAAK,MAAM,EAAE;AACxB,SAAA,cAAc,MAAM,KAAK;AAClC;AAEA,eAAe,gBACb,QAGwB;AACpB,MAAA;AAEA,MAAA,OAAO,WAAW,YAAY;AAEhC,gBAAY,MAAM,OAAO;AAAA,EAChB,WAAA,MAAM,QAAQ,MAAM,GAAG;AAEpB,gBAAA;AAAA,EAAA,OACP;AAEL,gBAAY,CAAC;AAAA,EAAA;AAGR,SAAA,UAAU,OAAO,OAAO;AACjC;;"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { writeFileSync } from "node:fs";
|
|
2
|
-
import { resolve } from "node:path";
|
|
3
|
-
import { create } from "xmlbuilder2";
|
|
4
|
-
async function buildSitemap({
|
|
5
|
-
host,
|
|
6
|
-
routes,
|
|
7
|
-
outputDir
|
|
8
|
-
}) {
|
|
9
|
-
const routeList = await optionHasRoutes(routes);
|
|
10
|
-
if (routeList.length) {
|
|
11
|
-
const slash = checkSlash(host);
|
|
12
|
-
const sitemapData = routeList.map((page) => ({
|
|
13
|
-
page: `${host}${slash}${page.replace(/^\/+/g, "")}`,
|
|
14
|
-
lastMod: (/* @__PURE__ */ new Date()).toISOString().split("T")[0]
|
|
15
|
-
}));
|
|
16
|
-
const sitemap = createXml("urlset");
|
|
17
|
-
for (const item of sitemapData) {
|
|
18
|
-
const page = sitemap.ele("url");
|
|
19
|
-
page.ele("loc").txt(item.page);
|
|
20
|
-
page.ele("lastmod").txt(item.lastMod);
|
|
21
|
-
}
|
|
22
|
-
const mapPath = `${resolve(outputDir)}/sitemap.xml`;
|
|
23
|
-
try {
|
|
24
|
-
console.log(`Writing sitemap at ${mapPath}`);
|
|
25
|
-
writeFileSync(mapPath, sitemap.end({ prettyPrint: true }));
|
|
26
|
-
} catch (e) {
|
|
27
|
-
console.error(`Unable to write file at ${mapPath}`, e);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
function createXml(elementName) {
|
|
32
|
-
return create({ version: "1.0", encoding: "UTF-8" }).ele(elementName, {
|
|
33
|
-
xmlns: "https://www.sitemaps.org/schemas/sitemap/0.9"
|
|
34
|
-
}).com(`This file was automatically generated by Analog.`);
|
|
35
|
-
}
|
|
36
|
-
function checkSlash(host) {
|
|
37
|
-
const finalChar = host.slice(-1);
|
|
38
|
-
return finalChar === "/" ? "" : "/";
|
|
39
|
-
}
|
|
40
|
-
async function optionHasRoutes(routes) {
|
|
41
|
-
let routeList;
|
|
42
|
-
if (typeof routes === "function") {
|
|
43
|
-
routeList = await routes();
|
|
44
|
-
} else if (Array.isArray(routes)) {
|
|
45
|
-
routeList = routes;
|
|
46
|
-
} else {
|
|
47
|
-
routeList = [];
|
|
48
|
-
}
|
|
49
|
-
return routeList.filter(Boolean);
|
|
50
|
-
}
|
|
51
|
-
export {
|
|
52
|
-
buildSitemap
|
|
53
|
-
};
|
|
54
|
-
//# sourceMappingURL=build-sitemap.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-sitemap.js","sources":["../../../src/nitro/build-sitemap.ts"],"sourcesContent":["import { writeFileSync } from 'node:fs'\nimport { resolve } from 'node:path'\nimport { create } from 'xmlbuilder2'\nimport type { XMLBuilder } from 'xmlbuilder2/lib/interfaces'\n\nexport type PagesJson = {\n page: string\n lastMod: string\n}\n\nexport async function buildSitemap({\n host,\n routes,\n outputDir,\n}: {\n host: string\n routes: Array<string | undefined> | (() => Promise<Array<string | undefined>>)\n outputDir: string\n}) {\n const routeList: Array<string> = await optionHasRoutes(routes)\n\n if (routeList.length) {\n const slash = checkSlash(host)\n const sitemapData: Array<PagesJson> = routeList.map((page: string) => ({\n page: `${host}${slash}${page.replace(/^\\/+/g, '')}`,\n lastMod: new Date().toISOString().split('T')[0]!,\n }))\n\n const sitemap = createXml('urlset')\n\n for (const item of sitemapData) {\n const page = sitemap.ele('url')\n page.ele('loc').txt(item.page)\n page.ele('lastmod').txt(item.lastMod)\n }\n\n const mapPath = `${resolve(outputDir)}/sitemap.xml`\n try {\n console.log(`Writing sitemap at ${mapPath}`)\n writeFileSync(mapPath, sitemap.end({ prettyPrint: true }))\n } catch (e) {\n console.error(`Unable to write file at ${mapPath}`, e)\n }\n }\n}\n\nfunction createXml(elementName: 'urlset' | 'sitemapindex'): XMLBuilder {\n return create({ version: '1.0', encoding: 'UTF-8' })\n .ele(elementName, {\n xmlns: 'https://www.sitemaps.org/schemas/sitemap/0.9',\n })\n .com(`This file was automatically generated by Analog.`)\n}\n\nfunction checkSlash(host: string): string {\n const finalChar = host.slice(-1)\n return finalChar === '/' ? '' : '/'\n}\n\nasync function optionHasRoutes(\n routes:\n | Array<string | undefined>\n | (() => Promise<Array<string | undefined>>),\n): Promise<Array<string>> {\n let routeList: Array<string | undefined>\n\n if (typeof routes === 'function') {\n // returns an array or undefined\n routeList = await routes()\n } else if (Array.isArray(routes)) {\n // returns an array of strings\n routeList = routes\n } else {\n // default it to an empty of array\n routeList = []\n }\n\n return routeList.filter(Boolean) as Array<string>\n}\n"],"names":[],"mappings":";;;AAUA,eAAsB,aAAa;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACK,QAAA,YAA2B,MAAM,gBAAgB,MAAM;AAE7D,MAAI,UAAU,QAAQ;AACd,UAAA,QAAQ,WAAW,IAAI;AAC7B,UAAM,cAAgC,UAAU,IAAI,CAAC,UAAkB;AAAA,MACrE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,QAAQ,SAAS,EAAE,CAAC;AAAA,MACjD,8BAAa,KAAK,GAAE,cAAc,MAAM,GAAG,EAAE,CAAC;AAAA,IAAA,EAC9C;AAEI,UAAA,UAAU,UAAU,QAAQ;AAElC,eAAW,QAAQ,aAAa;AACxB,YAAA,OAAO,QAAQ,IAAI,KAAK;AAC9B,WAAK,IAAI,KAAK,EAAE,IAAI,KAAK,IAAI;AAC7B,WAAK,IAAI,SAAS,EAAE,IAAI,KAAK,OAAO;AAAA,IAAA;AAGtC,UAAM,UAAU,GAAG,QAAQ,SAAS,CAAC;AACjC,QAAA;AACM,cAAA,IAAI,sBAAsB,OAAO,EAAE;AAC3C,oBAAc,SAAS,QAAQ,IAAI,EAAE,aAAa,KAAA,CAAM,CAAC;AAAA,aAClD,GAAG;AACV,cAAQ,MAAM,2BAA2B,OAAO,IAAI,CAAC;AAAA,IAAA;AAAA,EACvD;AAEJ;AAEA,SAAS,UAAU,aAAoD;AAC9D,SAAA,OAAO,EAAE,SAAS,OAAO,UAAU,QAAS,CAAA,EAChD,IAAI,aAAa;AAAA,IAChB,OAAO;AAAA,EAAA,CACR,EACA,IAAI,kDAAkD;AAC3D;AAEA,SAAS,WAAW,MAAsB;AAClC,QAAA,YAAY,KAAK,MAAM,EAAE;AACxB,SAAA,cAAc,MAAM,KAAK;AAClC;AAEA,eAAe,gBACb,QAGwB;AACpB,MAAA;AAEA,MAAA,OAAO,WAAW,YAAY;AAEhC,gBAAY,MAAM,OAAO;AAAA,EAChB,WAAA,MAAM,QAAQ,MAAM,GAAG;AAEpB,gBAAA;AAAA,EAAA,OACP;AAEL,gBAAY,CAAC;AAAA,EAAA;AAGR,SAAA,UAAU,OAAO,OAAO;AACjC;"}
|