@sleetch/server 1.0.8 → 1.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/dist/index.d.ts CHANGED
@@ -43,5 +43,6 @@ declare const get_static_paths: <T>(transformer: path_transformer<T>, _language?
43
43
  paths: T[];
44
44
  language: string;
45
45
  }>;
46
+ declare const get_languages: () => Promise<string[]>;
46
47
  //#endregion
47
- export { get_llms, get_page, get_pages, get_rss, get_sitemap, get_static_paths, get_tree, type sleetch_configuration };
48
+ export { get_languages, get_llms, get_page, get_pages, get_rss, get_sitemap, get_static_paths, get_tree, type sleetch_configuration };
package/dist/index.js CHANGED
@@ -1,9 +1,21 @@
1
+ import { clean_path } from "@sleetch/client";
1
2
  import { resolve_language, to_flat_tree } from "@sleetch/core/compiler";
3
+ //#region src/utils/manifest.ts
4
+ const isBareESM = typeof module === "undefined" && typeof import.meta !== "undefined" && typeof process !== "undefined" && (!import.meta.env || !import.meta.env.DEV && !import.meta.env.PROD);
5
+ const dynamic_import = new Function("specifier", "return import(specifier)");
6
+ const get_manifest = async () => {
7
+ if (isBareESM) {
8
+ const { default: manifest } = await dynamic_import(`@sleetch/client/manifest-cache-bust?t=${Date.now()}`);
9
+ return manifest;
10
+ }
11
+ const { default: manifest } = await import("@sleetch/client/manifest");
12
+ return manifest;
13
+ };
14
+ //#endregion
2
15
  //#region src/utils/tree.ts
3
16
  const get_tree = async (_language) => {
4
17
  const language = resolve_language(_language);
5
- const { default: manifest } = await import("@sleetch/client/manifest");
6
- const { default: tree } = await manifest[language].tree();
18
+ const { default: tree } = await (await get_manifest())[language].tree();
7
19
  return {
8
20
  tree,
9
21
  language
@@ -20,17 +32,14 @@ const get_static_paths = async (transformer, _language) => {
20
32
  };
21
33
  };
22
34
  const get_languages = async () => {
23
- const { default: manifest } = await import("@sleetch/client/manifest");
24
- return manifest.languages;
35
+ return (await get_manifest()).languages;
25
36
  };
26
37
  //#endregion
27
38
  //#region src/utils/pages.ts
28
39
  const get_page = async (_path, _language) => {
29
- if (_path.length === 0) _path = "/";
30
- else if (!_path.startsWith("/", 0)) _path = `/${_path}`;
31
- if (_path.length > 1 && _path.slice(-1) === "/") _path = _path.slice(0, -1);
40
+ _path = clean_path(_path);
32
41
  const language = resolve_language(_language);
33
- const { default: manifest } = await import("@sleetch/client/manifest");
42
+ const manifest = await get_manifest();
34
43
  for (const path of Object.keys(manifest[language].pages)) if (path === _path) {
35
44
  const { default: page } = await manifest[language].pages[path]();
36
45
  return {
@@ -118,4 +127,4 @@ async function get_sitemap(path_builder) {
118
127
  </urlset>`;
119
128
  }
120
129
  //#endregion
121
- export { get_llms, get_page, get_pages, get_rss, get_sitemap, get_static_paths, get_tree };
130
+ export { get_languages, get_llms, get_page, get_pages, get_rss, get_sitemap, get_static_paths, get_tree };
package/package.json CHANGED
@@ -1,28 +1,29 @@
1
1
  {
2
- "name": "@sleetch/server",
3
- "version": "1.0.8",
4
- "type": "module",
5
- "files": [
6
- "dist"
7
- ],
8
- "publishConfig": {
9
- "access": "public"
10
- },
11
- "scripts": {
12
- "build": "tsdown",
13
- "dev": "tsdown --watch"
14
- },
15
- "dependencies": {
16
- "@sleetch/core": "1.0.8"
17
- },
18
- "peerDependencies": {
19
- "@sleetch/client": "1.0.8"
20
- },
21
- "exports": {
22
- ".": "./dist/index.js",
23
- "./package.json": "./package.json"
24
- },
25
- "types": "./dist/index.d.ts",
26
- "main": "./dist/index.js",
27
- "module": "./dist/index.js"
2
+ "name": "@sleetch/server",
3
+ "version": "1.0.9",
4
+ "type": "module",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "scripts": {
12
+ "build": "tsdown",
13
+ "dev": "tsdown --watch"
14
+ },
15
+ "dependencies": {
16
+ "@sleetch/core": "1.0.9",
17
+ "@sleetch/client": "1.0.9"
18
+ },
19
+ "peerDependencies": {
20
+ "@sleetch/client": "1.0.9"
21
+ },
22
+ "exports": {
23
+ ".": "./dist/index.js",
24
+ "./package.json": "./package.json"
25
+ },
26
+ "types": "./dist/index.d.ts",
27
+ "main": "./dist/index.js",
28
+ "module": "./dist/index.js"
28
29
  }