@analogjs/vite-plugin-nitro 0.2.30-rc.1 → 0.2.31-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/lib/build-sitemap.d.ts +1 -1
- package/src/lib/build-sitemap.js +1 -1
- package/src/lib/build-sitemap.js.map +1 -1
- package/src/lib/options.d.ts +28 -1
- package/src/lib/utils/get-content-files.d.ts +2 -0
- package/src/lib/utils/get-content-files.js +38 -0
- package/src/lib/utils/get-content-files.js.map +1 -0
- package/src/lib/vite-plugin-nitro.js +24 -4
- package/src/lib/vite-plugin-nitro.js.map +1 -1
package/package.json
CHANGED
|
@@ -4,4 +4,4 @@ export type PagesJson = {
|
|
|
4
4
|
page: string;
|
|
5
5
|
lastMod: string;
|
|
6
6
|
};
|
|
7
|
-
export declare function buildSitemap(config: UserConfig, sitemapConfig: SitemapConfig, routes: string[] | (() => Promise<(string | undefined)[]>), outputDir: string): Promise<void>;
|
|
7
|
+
export declare function buildSitemap(config: UserConfig, sitemapConfig: SitemapConfig, routes: (string | undefined)[] | (() => Promise<(string | undefined)[]>), outputDir: string): Promise<void>;
|
package/src/lib/build-sitemap.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-sitemap.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/build-sitemap.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AAEzB,6CAAqC;AAErC,6BAA6B;AAQtB,KAAK,UAAU,YAAY,CAChC,MAAkB,EAClB,aAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"build-sitemap.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/build-sitemap.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AAEzB,6CAAqC;AAErC,6BAA6B;AAQtB,KAAK,UAAU,YAAY,CAChC,MAAkB,EAClB,aAA4B,EAC5B,MAAwE,EACxE,SAAiB;IAEjB,MAAM,SAAS,GAAa,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;IAE1D,IAAI,SAAS,CAAC,MAAM,EAAE;QACpB,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAgB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE;YACjE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAChD,CAAC,CAAC,CAAC;QAEJ,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;YAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACvC;QAED,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC;QACzD,IAAI;YACF,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;YAC7C,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;SAC/D;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,2BAA2B,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;SACxD;KACF;AACH,CAAC;AA/BD,oCA+BC;AAED,SAAS,SAAS,CAAC,WAAsC;IACvD,OAAO,IAAA,oBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;SACjD,GAAG,CAAC,WAAW,EAAE;QAChB,KAAK,EAAE,8CAA8C;KACtD,CAAC;SACD,GAAG,CAAC,kDAAkD,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,MAAwE;IAExE,IAAI,SAAiC,CAAC;IAEtC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;QAChC,gCAAgC;QAChC,SAAS,GAAG,MAAM,MAAM,EAAE,CAAC;KAC5B;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAChC,8BAA8B;QAC9B,SAAS,GAAG,MAAM,CAAC;KACpB;SAAM;QACL,kCAAkC;QAClC,SAAS,GAAG,EAAE,CAAC;KAChB;IAED,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;AAC/C,CAAC"}
|
package/src/lib/options.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export interface PrerenderOptions {
|
|
|
19
19
|
/**
|
|
20
20
|
* List of routes to prerender resolved statically or dynamically.
|
|
21
21
|
*/
|
|
22
|
-
routes?: string[] | (() => Promise<(string | undefined)[]>);
|
|
22
|
+
routes?: (string | PrerenderContentDir)[] | (() => Promise<(string | PrerenderContentDir | undefined)[]>);
|
|
23
23
|
sitemap?: SitemapConfig;
|
|
24
24
|
/** List of functions that run for each route after pre-rendering is complete. */
|
|
25
25
|
postRenderingHooks?: ((routes: PrerenderRoute) => Promise<void>)[];
|
|
@@ -27,3 +27,30 @@ export interface PrerenderOptions {
|
|
|
27
27
|
export interface SitemapConfig {
|
|
28
28
|
host: string;
|
|
29
29
|
}
|
|
30
|
+
export interface PrerenderContentDir {
|
|
31
|
+
/**
|
|
32
|
+
* The directory where files should be grabbed from.
|
|
33
|
+
* @example `/src/contents/blog`
|
|
34
|
+
*/
|
|
35
|
+
contentDir: string;
|
|
36
|
+
/**
|
|
37
|
+
* Transform the matching content files path into a route.
|
|
38
|
+
* The function is called for each matching content file within the specified contentDir.
|
|
39
|
+
* @param file information of the matching file (`path`, `name`, `extension`, `attributes`)
|
|
40
|
+
* @returns a string with the route should be returned (e. g. `/blog/<slug>`) or the value `false`, when the route should not be prerendered.
|
|
41
|
+
*/
|
|
42
|
+
transform: (file: PrerenderContentFile) => string | false;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @param path the path to the content file
|
|
46
|
+
* @param name the basename of the matching content file without the file extension
|
|
47
|
+
* @param extension the file extension
|
|
48
|
+
* @param attributes the frontmatter attributes extracted from the frontmatter section of the file
|
|
49
|
+
* @returns a string with the route should be returned (e. g. `/blog/<slug>`) or the value `false`, when the route should not be prerendered.
|
|
50
|
+
*/
|
|
51
|
+
export interface PrerenderContentFile {
|
|
52
|
+
path: string;
|
|
53
|
+
attributes: Record<string, any>;
|
|
54
|
+
name: string;
|
|
55
|
+
extension: string;
|
|
56
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMatchingContentFilesWithFrontMatter = void 0;
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const vite_1 = require("vite");
|
|
7
|
+
function getMatchingContentFilesWithFrontMatter(workspaceRoot, rootDir, glob) {
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
9
|
+
const fg = require('fast-glob');
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
11
|
+
const fm = require('front-matter');
|
|
12
|
+
const root = (0, vite_1.normalizePath)(path.resolve(workspaceRoot, rootDir));
|
|
13
|
+
const resolvedDir = (0, vite_1.normalizePath)(path.resolve(root, glob));
|
|
14
|
+
const contentFiles = fg.sync([`${root}/${resolvedDir}/*`], {
|
|
15
|
+
dot: true,
|
|
16
|
+
});
|
|
17
|
+
const mappedFilesWithFm = contentFiles.map((f) => {
|
|
18
|
+
const fileContents = fs.readFileSync(f, 'utf8');
|
|
19
|
+
const raw = fm(fileContents);
|
|
20
|
+
const filepath = f.replace(root, '');
|
|
21
|
+
const match = filepath.match(/\/([^/.]+)(\.([^/.]+))?$/);
|
|
22
|
+
let name = '';
|
|
23
|
+
let extension = '';
|
|
24
|
+
if (match) {
|
|
25
|
+
name = match[1];
|
|
26
|
+
extension = match[3] || ''; // Using an empty string if there's no extension
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
name,
|
|
30
|
+
extension,
|
|
31
|
+
path: resolvedDir,
|
|
32
|
+
attributes: raw.attributes,
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
return mappedFilesWithFm;
|
|
36
|
+
}
|
|
37
|
+
exports.getMatchingContentFilesWithFrontMatter = getMatchingContentFilesWithFrontMatter;
|
|
38
|
+
//# sourceMappingURL=get-content-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-content-files.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-nitro/src/lib/utils/get-content-files.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,6BAA6B;AAC7B,+BAAqC;AAIrC,SAAgB,sCAAsC,CACpD,aAAqB,EACrB,OAAe,EACf,IAAY;IAEZ,8DAA8D;IAC9D,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,8DAA8D;IAC9D,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAA,oBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAEjE,MAAM,WAAW,GAAG,IAAA,oBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAa,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,WAAW,IAAI,CAAC,EAAE;QACnE,GAAG,EAAE,IAAI;KACV,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAA2B,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvE,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAErC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,KAAK,EAAE;YACT,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,gDAAgD;SAC7E;QAED,OAAO;YACL,IAAI;YACJ,SAAS;YACT,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,GAAG,CAAC,UAAiD;SAClE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAtCD,wFAsCC"}
|
|
@@ -11,6 +11,7 @@ const get_page_handlers_1 = require("./utils/get-page-handlers");
|
|
|
11
11
|
const build_sitemap_1 = require("./build-sitemap");
|
|
12
12
|
const dev_server_plugin_1 = require("./plugins/dev-server-plugin");
|
|
13
13
|
const load_esm_1 = require("./utils/load-esm");
|
|
14
|
+
const get_content_files_1 = require("./utils/get-content-files");
|
|
14
15
|
let clientOutputPath = '';
|
|
15
16
|
function nitro(options, nitroOptions) {
|
|
16
17
|
const workspaceRoot = options?.workspaceRoot ?? process.cwd();
|
|
@@ -92,13 +93,31 @@ function nitro(options, nitroOptions) {
|
|
|
92
93
|
if (options?.prerender) {
|
|
93
94
|
nitroConfig.prerender = nitroConfig.prerender ?? {};
|
|
94
95
|
nitroConfig.prerender.crawlLinks = options?.prerender?.discover;
|
|
96
|
+
let routes = [];
|
|
95
97
|
const prerenderRoutes = options?.prerender?.routes;
|
|
96
98
|
if (isArrayWithElements(prerenderRoutes)) {
|
|
97
|
-
|
|
99
|
+
routes = prerenderRoutes;
|
|
98
100
|
}
|
|
99
101
|
else if (typeof prerenderRoutes === 'function') {
|
|
100
|
-
|
|
102
|
+
routes = await prerenderRoutes();
|
|
101
103
|
}
|
|
104
|
+
nitroConfig.prerender.routes = routes.reduce((prev, current) => {
|
|
105
|
+
if (!current) {
|
|
106
|
+
return prev;
|
|
107
|
+
}
|
|
108
|
+
if (typeof current === 'string') {
|
|
109
|
+
prev.push(current);
|
|
110
|
+
return prev;
|
|
111
|
+
}
|
|
112
|
+
const affectedFiles = (0, get_content_files_1.getMatchingContentFilesWithFrontMatter)(workspaceRoot, rootDir, current.contentDir);
|
|
113
|
+
affectedFiles.forEach((f) => {
|
|
114
|
+
const result = current.transform(f);
|
|
115
|
+
if (result) {
|
|
116
|
+
prev.push(result);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
return prev;
|
|
120
|
+
}, []);
|
|
102
121
|
}
|
|
103
122
|
if (ssrBuild) {
|
|
104
123
|
nitroConfig = {
|
|
@@ -168,10 +187,11 @@ function nitro(options, nitroOptions) {
|
|
|
168
187
|
await (0, build_ssr_1.buildSSRApp)(config, options);
|
|
169
188
|
}
|
|
170
189
|
await (0, build_server_1.buildServer)(options, nitroConfig);
|
|
171
|
-
if (
|
|
190
|
+
if (nitroConfig.prerender?.routes?.length &&
|
|
191
|
+
options?.prerender?.sitemap) {
|
|
172
192
|
console.log('Building Sitemap...');
|
|
173
193
|
// sitemap needs to be built after all directories are built
|
|
174
|
-
await (0, build_sitemap_1.buildSitemap)(config, options.prerender.sitemap,
|
|
194
|
+
await (0, build_sitemap_1.buildSitemap)(config, options.prerender.sitemap, nitroConfig.prerender.routes, nitroConfig.output?.publicDir);
|
|
175
195
|
}
|
|
176
196
|
console.log(`\n\nThe '@analogjs/platform' server has been successfully built.`);
|
|
177
197
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin-nitro.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/vite-plugin-nitro.ts"],"names":[],"mappings":";;;AACA,2BAAyC;AAEzC,+BAAoD;AACpD,6BAA6B;AAE7B,iDAA6C;AAC7C,2CAA0C;AAG1C,6DAA+D;AAC/D,iEAA4D;AAC5D,mDAA+C;AAC/C,mEAA8D;AAC9D,+CAAiD;
|
|
1
|
+
{"version":3,"file":"vite-plugin-nitro.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/vite-plugin-nitro.ts"],"names":[],"mappings":"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"}
|