@paroicms/server 1.2.1 → 1.3.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.
@@ -11,6 +11,6 @@ export declare function serveContent({ res, status, contentType, html, or304, }:
11
11
  };
12
12
  }): void;
13
13
  export declare function serve500Html(res: Response, _siteContext?: SiteContext): void;
14
- export declare function serve404NoSiteHtml(res: Response): void;
14
+ export declare function serve404SimpleHtml(res: Response): void;
15
15
  export declare function serve304NotModified(res: Response): void;
16
16
  export declare function serve301Redirect(res: Response, redirectTo: string): void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.serve301Redirect = exports.serve304NotModified = exports.serve404NoSiteHtml = exports.serve500Html = exports.serveContent = void 0;
3
+ exports.serve301Redirect = exports.serve304NotModified = exports.serve404SimpleHtml = exports.serve500Html = exports.serveContent = void 0;
4
4
  function serveContent({ res, status, contentType, html, or304, }) {
5
5
  res.status(status ?? 200);
6
6
  res.setHeader("Content-Type", contentType ?? "text/html");
@@ -23,14 +23,14 @@ function serve500Html(res, _siteContext) {
23
23
  res.end();
24
24
  }
25
25
  exports.serve500Html = serve500Html;
26
- function serve404NoSiteHtml(res) {
26
+ function serve404SimpleHtml(res) {
27
27
  res.status(404);
28
28
  res.setHeader("Content-Type", "text/html");
29
29
  res.send(`<!DOCTYPE html>
30
30
  <p>404 Not Found</p>`);
31
31
  res.end();
32
32
  }
33
- exports.serve404NoSiteHtml = serve404NoSiteHtml;
33
+ exports.serve404SimpleHtml = serve404SimpleHtml;
34
34
  function serve304NotModified(res) {
35
35
  res.status(304);
36
36
  res.end();
@@ -21,7 +21,7 @@ async function themeAssetsMiddleware(req, res, next) {
21
21
  siteContext = await (0, site_context_1.getSiteContext)(req.hostname);
22
22
  }
23
23
  catch (error) {
24
- (0, http_helpers_1.serve404NoSiteHtml)(res);
24
+ (0, http_helpers_1.serve404SimpleHtml)(res);
25
25
  return;
26
26
  }
27
27
  let pathPrefix;
@@ -65,7 +65,7 @@ async function boMiddleware(req, res, next) {
65
65
  siteContext = await (0, site_context_1.getSiteContext)(req.hostname);
66
66
  }
67
67
  catch (error) {
68
- (0, http_helpers_1.serve404NoSiteHtml)(res);
68
+ (0, http_helpers_1.serve404SimpleHtml)(res);
69
69
  return;
70
70
  }
71
71
  try {
@@ -90,33 +90,40 @@ exports.boMiddleware = boMiddleware;
90
90
  async function boPluginsMiddleware(req, res, next) {
91
91
  const currentSiteConf = context_1.siteConfs.get(req.hostname);
92
92
  if (!currentSiteConf) {
93
- (0, http_helpers_1.serve404NoSiteHtml)(res);
93
+ (0, http_helpers_1.serve404SimpleHtml)(res);
94
94
  return;
95
95
  }
96
- const pluginsDir = (0, node_path_1.join)(currentSiteConf.siteDir, "plugins");
97
- let path = req.path;
98
- if (req.method !== "GET" || !path.startsWith("/adm/plugins/")) {
96
+ const prefix = "/adm/plugins/";
97
+ if (req.method !== "GET" || !req.path.startsWith(prefix)) {
99
98
  next();
100
99
  return;
101
100
  }
101
+ const relPathIndex = req.path.indexOf("/", prefix.length);
102
+ if (relPathIndex === -1) {
103
+ (0, http_helpers_1.serve404SimpleHtml)(res);
104
+ return;
105
+ }
106
+ const urlPath = req.path.substring(prefix.length, relPathIndex);
107
+ const relPath = req.path.substring(relPathIndex + 1);
102
108
  let siteContext;
103
109
  try {
104
110
  siteContext = await (0, site_context_1.getSiteContext)(req.hostname);
105
111
  }
106
112
  catch (error) {
107
- (0, http_helpers_1.serve404NoSiteHtml)(res);
113
+ (0, http_helpers_1.serve404SimpleHtml)(res);
108
114
  return;
109
115
  }
110
116
  try {
111
- path = path.substring("/adm/plugins/".length);
112
- if (!(await (0, server_lib_1.pathExists)((0, node_path_1.join)(pluginsDir, path)))) {
113
- (0, http_helpers_1.serve404NoSiteHtml)(res);
117
+ const plugin = siteContext.plugins.get(urlPath);
118
+ const boPluginDir = plugin?.plugin.boPluginDir;
119
+ if (!boPluginDir || !(await (0, server_lib_1.pathExists)((0, node_path_1.join)(boPluginDir, relPath)))) {
120
+ (0, http_helpers_1.serve404SimpleHtml)(res);
114
121
  return;
115
122
  }
116
- res.sendFile(path, { root: pluginsDir }, (error) => {
123
+ res.sendFile(relPath, { root: boPluginDir }, (error) => {
117
124
  if (!error)
118
125
  return;
119
- sendFileErrorHandler(error, siteContext, res, path);
126
+ sendFileErrorHandler(error, siteContext, res, (0, node_path_1.join)(boPluginDir, relPath));
120
127
  });
121
128
  }
122
129
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"static-middlewares.js","sourceRoot":"","sources":["../../src/express/static-middlewares.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static-middlewares.js","sourceRoot":"","sources":["../../src/express/static-middlewares.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type ArgumentsHost, type ExceptionFilter, NotFoundException } from "@nestjs/common";
1
+ import { NotFoundException, type ArgumentsHost, type ExceptionFilter } from "@nestjs/common";
2
2
  export declare class NotFoundExceptionFilter implements ExceptionFilter {
3
3
  catch(error: NotFoundException, host: ArgumentsHost): Promise<void>;
4
4
  }
@@ -25,7 +25,7 @@ let NotFoundExceptionFilter = class NotFoundExceptionFilter {
25
25
  await (0, serve_html_or_1.render404Html)(siteContext, res);
26
26
  }
27
27
  else {
28
- (0, http_helpers_1.serve404NoSiteHtml)(res);
28
+ (0, http_helpers_1.serve404SimpleHtml)(res);
29
29
  }
30
30
  }
31
31
  catch (error) {
@@ -0,0 +1,3 @@
1
+ import type { SiteContext } from "../site-context/site-context.types";
2
+ import type { Plugin } from "./plugin-loader";
3
+ export declare function initialisePlugins(siteContext: SiteContext, plugins: Plugin[]): void;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initialisePlugins = void 0;
4
+ const liquidjs_filter_1 = require("../liquidjs-tools/liquidjs-filter");
5
+ function initialisePlugins(siteContext, plugins) {
6
+ const api = createPluginApi(siteContext);
7
+ for (const { plugin, pluginName } of plugins) {
8
+ try {
9
+ plugin.siteInit?.(api);
10
+ }
11
+ catch (error) {
12
+ siteContext.siteLog.error(`Failed initializing plugin '${pluginName}'`);
13
+ throw error;
14
+ }
15
+ }
16
+ }
17
+ exports.initialisePlugins = initialisePlugins;
18
+ function createPluginApi(siteContext) {
19
+ const { liquidEngine } = siteContext;
20
+ return {
21
+ registerLiquidFilter(filterName, handler, options) {
22
+ liquidEngine.registerFilter(filterName, {
23
+ handler: (0, liquidjs_filter_1.toLiquidJsFilterHandler)(siteContext, handler),
24
+ raw: options?.raw ?? false,
25
+ });
26
+ },
27
+ };
28
+ }
29
+ //# sourceMappingURL=plugin-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-api.js","sourceRoot":"","sources":["../../src/plugins/plugin-api.ts"],"names":[],"mappings":";;;AACA,uEAA4E;AAI5E,SAAgB,iBAAiB,CAAC,WAAwB,EAAE,OAAiB;IAC3E,MAAM,GAAG,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IACzC,KAAK,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,OAAO,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,+BAA+B,UAAU,GAAG,CAAC,CAAC;YACxE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAVD,8CAUC;AAED,SAAS,eAAe,CAAC,WAAwB;IAC/C,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;IAErC,OAAO;QACL,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO;YAC/C,YAAY,CAAC,cAAc,CAAC,UAAU,EAAE;gBACtC,OAAO,EAAE,IAAA,yCAAuB,EAAC,WAAW,EAAE,OAAO,CAAC;gBACtD,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,KAAK;aAC3B,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ParoiCmsPlugin } from "@paroicms/plugin-lib";
2
+ import type { SiteConf } from "../site-context/site-conf";
3
+ export interface Plugin {
4
+ pluginName: string;
5
+ plugin: ParoiCmsPlugin;
6
+ boPluginUrl: string;
7
+ urlPath: string;
8
+ }
9
+ export declare function loadPlugins(siteConf: Pick<SiteConf, "siteDir" | "siteUrl">, pluginNames: string[]): Map<string, Plugin>;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadPlugins = void 0;
4
+ const anywhere_lib_1 = require("@paroicms/anywhere-lib");
5
+ const context_1 = require("../context");
6
+ const plugin_helpers_1 = require("./plugin.helpers");
7
+ const importedPlugins = new Map();
8
+ function loadPlugins(siteConf, pluginNames) {
9
+ const urlProvider = createBoPluginUrlProvider(siteConf.siteUrl);
10
+ const map = new Map();
11
+ for (const pluginName of pluginNames) {
12
+ const plugin = getImportedPlugin(siteConf, pluginName);
13
+ if (plugin) {
14
+ const { boPluginUrl, urlPath } = urlProvider(pluginName);
15
+ map.set(pluginName, { pluginName, plugin, boPluginUrl, urlPath });
16
+ }
17
+ }
18
+ return map;
19
+ }
20
+ exports.loadPlugins = loadPlugins;
21
+ function createBoPluginUrlProvider(siteUrl) {
22
+ const paths = new Set();
23
+ return (pluginName) => {
24
+ const basePath = (0, plugin_helpers_1.toPluginUrlPathName)(pluginName);
25
+ let urlPath;
26
+ if (paths.has(basePath)) {
27
+ for (let i = 2; i < 100; ++i) {
28
+ const attempt = `${basePath}-${i}`;
29
+ if (!paths.has(attempt)) {
30
+ urlPath = attempt;
31
+ break;
32
+ }
33
+ }
34
+ if (!urlPath)
35
+ throw new Error(`Too many plugins with the same name '${basePath}'`);
36
+ }
37
+ else {
38
+ urlPath = basePath;
39
+ }
40
+ paths.add(urlPath);
41
+ return {
42
+ boPluginUrl: `${siteUrl}/adm/plugins/${urlPath}`,
43
+ urlPath,
44
+ };
45
+ };
46
+ }
47
+ function getImportedPlugin(siteConf, pluginName) {
48
+ const jsModuleName = (0, plugin_helpers_1.toJsModuleName)(siteConf, pluginName);
49
+ if (importedPlugins.has(jsModuleName)) {
50
+ return importedPlugins.get(jsModuleName);
51
+ }
52
+ try {
53
+ const plugin = require(jsModuleName);
54
+ checkPluginFormat(plugin);
55
+ importedPlugins.set(jsModuleName, plugin);
56
+ return plugin;
57
+ }
58
+ catch (error) {
59
+ context_1.platformLog.error(`Invalid plugin '${pluginName}', used in '${siteConf.siteDir}': ${(0, anywhere_lib_1.messageOf)(error)}`);
60
+ importedPlugins.set(jsModuleName, undefined);
61
+ }
62
+ }
63
+ function checkPluginFormat(plugin) {
64
+ if (!plugin || typeof plugin !== "object") {
65
+ throw new Error("should export an object");
66
+ }
67
+ const obj = plugin;
68
+ if (obj.init && typeof obj.init !== "function") {
69
+ throw new Error("'init' should be a function");
70
+ }
71
+ if (!obj.boPluginDir || typeof obj.boPluginDir !== "string") {
72
+ throw new Error("'boPluginDir' should be a string");
73
+ }
74
+ if (!obj.version || typeof obj.version !== "string") {
75
+ throw new Error("'version' should be a string");
76
+ }
77
+ }
78
+ //# sourceMappingURL=plugin-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/plugins/plugin-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { SiteConf } from "../site-context/site-conf";
2
+ export declare function toPluginUrlPathName(pluginName: string): string;
3
+ export declare function unscopePackageName(packageName: string): string;
4
+ export declare function toJsModuleName(siteConf: Pick<SiteConf, "siteDir" | "siteUrl">, pluginName: string): string;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toJsModuleName = exports.unscopePackageName = exports.toPluginUrlPathName = void 0;
4
+ const anywhere_lib_1 = require("@paroicms/anywhere-lib");
5
+ const node_path_1 = require("node:path");
6
+ function toPluginUrlPathName(pluginName) {
7
+ if (pluginName.startsWith("site:")) {
8
+ return (0, anywhere_lib_1.generateSlug)(pluginName.slice(5));
9
+ }
10
+ const name = unscopePackageName(pluginName);
11
+ const index = name.indexOf("plugin-");
12
+ if (index === -1)
13
+ return (0, anywhere_lib_1.generateSlug)(name);
14
+ return (0, anywhere_lib_1.generateSlug)(name.slice(index + 7));
15
+ }
16
+ exports.toPluginUrlPathName = toPluginUrlPathName;
17
+ function unscopePackageName(packageName) {
18
+ const match = packageName.match(/^@[^/]+\/(.*)$/);
19
+ if (!match)
20
+ return packageName;
21
+ return match[1];
22
+ }
23
+ exports.unscopePackageName = unscopePackageName;
24
+ function toJsModuleName(siteConf, pluginName) {
25
+ if (pluginName.startsWith("site:")) {
26
+ return (0, node_path_1.join)(siteConf.siteDir, "plugins", pluginName.slice(5), "plugin.cjs");
27
+ }
28
+ return pluginName;
29
+ }
30
+ exports.toJsModuleName = toJsModuleName;
31
+ //# sourceMappingURL=plugin.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.helpers.js","sourceRoot":"","sources":["../../src/plugins/plugin.helpers.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,yCAAiC;AAGjC,SAAgB,mBAAmB,CAAC,UAAkB;IACpD,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,IAAA,2BAAY,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAA,2BAAY,EAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,IAAA,2BAAY,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AARD,kDAQC;AAED,SAAgB,kBAAkB,CAAC,WAAmB;IACpD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,WAAW,CAAC;IAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAJD,gDAIC;AAED,SAAgB,cAAc,CAC5B,QAA+C,EAC/C,UAAkB;IAElB,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,IAAA,gBAAI,EAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AARD,wCAQC"}
@@ -28,6 +28,7 @@ const translate_filter_1 = require("../modules/public-site/liquidjs-filters/tran
28
28
  const get_page_tag_1 = require("../modules/public-site/liquidjs-tags/get-page-tag");
29
29
  const get_pages_tag_1 = require("../modules/public-site/liquidjs-tags/get-pages-tag");
30
30
  const use_image_tag_1 = require("../modules/public-site/liquidjs-tags/use-image-tag");
31
+ const plugin_api_1 = require("../plugins/plugin-api");
31
32
  const site_schema_factory_1 = require("../site-schema/site-schema-factory");
32
33
  const db_init_1 = require("./db-init/db-init");
33
34
  const init_routing_points_1 = require("./db-init/init-routing-points");
@@ -39,7 +40,7 @@ async function createSiteContext(siteConf) {
39
40
  await (0, server_lib_1.ensureDirectory)(dataDir);
40
41
  await (0, server_lib_1.ensureDirectory)(cacheDir);
41
42
  await (0, server_lib_1.ensureDirectory)(backupDir);
42
- const siteSchema = await (0, site_schema_factory_1.loadSiteSchema)(siteDir);
43
+ const { siteSchema, plugins } = await (0, site_schema_factory_1.loadSiteSchema)(siteConf);
43
44
  const { mainCn, logNextQuery } = await (0, db_init_1.createOrOpenMainCn)(siteSchema, dataDir, {
44
45
  siteName,
45
46
  canCreate: !!context_1.appConf.generateMissingDatabases,
@@ -132,10 +133,12 @@ async function createSiteContext(siteConf) {
132
133
  themeTranslator,
133
134
  multilingual: siteSchema.langs.length > 1,
134
135
  themeConf,
136
+ plugins: new Map(plugins.map((plugin) => [plugin.urlPath, plugin])),
135
137
  logNextQuery,
136
138
  siteLog,
137
139
  };
138
140
  configureLiquidEngine(siteContext);
141
+ (0, plugin_api_1.initialisePlugins)(siteContext, plugins);
139
142
  return siteContext;
140
143
  }
141
144
  exports.createSiteContext = createSiteContext;
@@ -1 +1 @@
1
- {"version":3,"file":"create-site-context.js","sourceRoot":"","sources":["../../src/site-context/create-site-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-site-context.js","sourceRoot":"","sources":["../../src/site-context/create-site-context.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { TextCacheSystem } from "@paroicms/server-text-cache-system";
5
5
  import type { Liquid } from "liquidjs";
6
6
  import type { DataSource } from "typeorm";
7
7
  import type { SimpleTranslator } from "../helpers/simple-i18n";
8
+ import type { Plugin } from "../plugins/plugin-loader";
8
9
  import type { AppLog } from "../share/pino-app-log";
9
10
  import type { ThemeConf } from "./theme-conf-types";
10
11
  export interface SiteContext {
@@ -27,6 +28,7 @@ export interface SiteContext {
27
28
  themeTranslator: SimpleTranslator;
28
29
  multilingual: boolean;
29
30
  themeConf: ThemeConf;
31
+ plugins: Map<string, Plugin>;
30
32
  logNextQuery: (count?: number) => void;
31
33
  siteLog: AppLog;
32
34
  }
@@ -1,9 +1,12 @@
1
+ import { type Plugin } from "../plugins/plugin-loader";
2
+ import type { SiteConf } from "../site-context/site-conf";
1
3
  import type { JsonOfFieldType, JsonOfImageCompressionQualityPolicy, JsonOfMediaPolicy, JsonOfModuleDocumentType, JsonOfPartSchema } from "../typeonly/site-schema-json-types";
2
4
  import type { CommonSchema } from "./common-schema-reader";
3
5
  import { type GroupedLabelLocales } from "./read-locales";
4
6
  import type { SiteSchemaLibrary } from "./site-schema-lib-reader";
5
7
  export interface MergedSchemaLib {
6
8
  common: CommonSchema;
9
+ plugins?: Map<string, Plugin> | undefined;
7
10
  module: {
8
11
  siteFieldLib: {
9
12
  [fieldName: string]: JsonOfFieldType;
@@ -27,4 +30,10 @@ export interface MergedSchemaLib {
27
30
  };
28
31
  l10n: GroupedLabelLocales;
29
32
  }
30
- export declare function prepareLib(useModules: string[] | undefined, siteSchemaLib: SiteSchemaLibrary, langs: string[]): MergedSchemaLib;
33
+ export declare function prepareLib({ siteConf, initialUseModules, initialUsePlugins, siteSchemaLib, langs, }: {
34
+ siteConf: Pick<SiteConf, "siteDir" | "siteUrl">;
35
+ initialUseModules: string[] | undefined;
36
+ initialUsePlugins: string[] | undefined;
37
+ siteSchemaLib: SiteSchemaLibrary;
38
+ langs: string[];
39
+ }): MergedSchemaLib;
@@ -1,10 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prepareLib = void 0;
4
+ const plugin_loader_1 = require("../plugins/plugin-loader");
4
5
  const read_locales_1 = require("./read-locales");
5
- function prepareLib(useModules, siteSchemaLib, langs) {
6
+ function prepareLib({ siteConf, initialUseModules, initialUsePlugins, siteSchemaLib, langs, }) {
7
+ const { useModules: allUseModules, usePlugins } = getAllUseModulesAndPlugins({
8
+ initialUseModules,
9
+ initialUsePlugins,
10
+ siteSchemaLib,
11
+ });
12
+ const plugins = usePlugins ? (0, plugin_loader_1.loadPlugins)(siteConf, Array.from(usePlugins)) : undefined;
6
13
  const result = {
7
14
  common: siteSchemaLib.common,
15
+ plugins,
8
16
  module: {
9
17
  siteFieldLib: {},
10
18
  sectionFieldLib: {},
@@ -14,9 +22,6 @@ function prepareLib(useModules, siteSchemaLib, langs) {
14
22
  },
15
23
  l10n: (0, read_locales_1.createEmptyGroupedLabelLocales)(langs),
16
24
  };
17
- if (!useModules)
18
- return result;
19
- const allUseModules = getAllUseModules(useModules, siteSchemaLib);
20
25
  for (const moduleName of allUseModules) {
21
26
  const modLib = siteSchemaLib.modules[moduleName];
22
27
  if (!modLib)
@@ -83,13 +88,19 @@ function containsAllLangs(requiredLangs, langsToCheck) {
83
88
  }
84
89
  return true;
85
90
  }
86
- function getAllUseModules(useModules, siteSchemaLib) {
87
- const result = [...useModules];
91
+ function getAllUseModulesAndPlugins({ initialUseModules, initialUsePlugins, siteSchemaLib, }) {
92
+ const result = initialUseModules ? [...initialUseModules] : [];
88
93
  const processed = new Set();
89
- walkUseModules(useModules, siteSchemaLib, result, processed);
90
- return result.length !== processed.size ? dedup(result) : result;
94
+ const usePlugins = new Set(initialUsePlugins);
95
+ if (initialUseModules) {
96
+ walkUseModules(initialUseModules, siteSchemaLib, result, processed, usePlugins);
97
+ }
98
+ return {
99
+ useModules: result.length !== processed.size ? dedup(result) : result,
100
+ usePlugins,
101
+ };
91
102
  }
92
- function walkUseModules(useModules, siteSchemaLib, result, processed) {
103
+ function walkUseModules(useModules, siteSchemaLib, result, processed, usePlugins) {
93
104
  for (const moduleName of useModules) {
94
105
  if (processed.has(moduleName))
95
106
  continue;
@@ -97,11 +108,12 @@ function walkUseModules(useModules, siteSchemaLib, result, processed) {
97
108
  const modLib = siteSchemaLib.modules[moduleName];
98
109
  if (!modLib)
99
110
  throw new Error(`unknown module '${moduleName}'`);
111
+ modLib.module.usePlugins?.forEach((pluginName) => usePlugins.add(pluginName));
100
112
  const childUseModules = modLib.module.useModules;
101
113
  if (!childUseModules)
102
114
  continue;
103
115
  result.push(...childUseModules);
104
- walkUseModules(childUseModules, siteSchemaLib, result, processed);
116
+ walkUseModules(childUseModules, siteSchemaLib, result, processed, usePlugins);
105
117
  }
106
118
  }
107
119
  function dedup(arr) {
@@ -1 +1 @@
1
- {"version":3,"file":"merged-schema-lib.js","sourceRoot":"","sources":["../../src/site-schema/merged-schema-lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merged-schema-lib.js","sourceRoot":"","sources":["../../src/site-schema/merged-schema-lib.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,7 @@
1
1
  import type { SiteSchema } from "@paroicms/anywhere-lib";
2
- export declare function loadSiteSchema(siteDir: string): Promise<SiteSchema>;
2
+ import type { Plugin } from "../plugins/plugin-loader";
3
+ import type { SiteConf } from "../site-context/site-conf";
4
+ export declare function loadSiteSchema(siteConf: Pick<SiteConf, "siteDir" | "siteUrl">): Promise<{
5
+ siteSchema: SiteSchema;
6
+ plugins: Plugin[];
7
+ }>;
@@ -11,9 +11,15 @@ const read_locales_1 = require("./read-locales");
11
11
  const site_schema_helpers_1 = require("./site-schema-helpers");
12
12
  const authorizedClassicRoute = new Set([":relativeId-:slug", ":yyyy/:mm/:dd/:relativeId-:slug"]);
13
13
  const invalidFieldNames = ["featuredImage", "boFavicon"];
14
- async function loadSiteSchema(siteDir) {
15
- const jsonData = await readJsonOfSiteSchema((0, node_path_1.join)(siteDir, "site-schema.json"));
16
- const lib = (0, merged_schema_lib_1.prepareLib)(jsonData.useModules, (0, context_1.getSiteSchemaLib)(), jsonData.langs);
14
+ async function loadSiteSchema(siteConf) {
15
+ const jsonData = await readJsonOfSiteSchema((0, node_path_1.join)(siteConf.siteDir, "site-schema.json"));
16
+ const lib = (0, merged_schema_lib_1.prepareLib)({
17
+ siteConf,
18
+ initialUseModules: jsonData.useModules,
19
+ initialUsePlugins: jsonData.usePlugins,
20
+ siteSchemaLib: (0, context_1.getSiteSchemaLib)(),
21
+ langs: jsonData.langs,
22
+ });
17
23
  const l10n = (0, read_locales_1.createEmptySchemaLocales)(jsonData.langs);
18
24
  (0, read_locales_1.importPartOfL10n)({
19
25
  from: lib.common.l10n,
@@ -28,7 +34,7 @@ async function loadSiteSchema(siteDir) {
28
34
  const jsonSiteFields = jsonData.site?.fields ?? lib.module.site?.fields;
29
35
  const siteFields = jsonSiteFields === undefined
30
36
  ? []
31
- : jsonSiteFields.map((item) => typeof item === "string" ? importSiteField(item, l10n, lib) : item);
37
+ : jsonSiteFields.map((item) => typeof item === "string" ? importSiteField(item, l10n, lib) : toFieldType(item, lib));
32
38
  checkFieldNames(siteFields, { common: lib.common, type: "site" });
33
39
  if (jsonData.langs.length === 0)
34
40
  throw new Error("missing langs in site-schema");
@@ -54,9 +60,9 @@ async function loadSiteSchema(siteDir) {
54
60
  };
55
61
  importMediaPolicy(newSchema, lib, "default", { ensureImagePolicy: true });
56
62
  appendDocumentTypesToSiteSchema(jsonData, newSchema, lib);
57
- await (0, read_locales_1.completeSchemaLocales)(siteDir, l10n);
63
+ await (0, read_locales_1.completeSchemaLocales)(siteConf.siteDir, l10n);
58
64
  checkRoutingPointDocumentTypes(newSchema);
59
- return newSchema;
65
+ return { siteSchema: newSchema, plugins: Array.from(lib.plugins?.values() ?? []) };
60
66
  }
61
67
  exports.loadSiteSchema = loadSiteSchema;
62
68
  function appendDocumentTypesToSiteSchema(jsonData, newSchema, lib) {
@@ -116,7 +122,7 @@ function toDocumentSchema({ newSchema, jsonData, langs, lib, }) {
116
122
  fillL10nPath: ["documentTypes", jsonData.leafType, "fields"],
117
123
  lib,
118
124
  })
119
- : item);
125
+ : toFieldType(item, lib));
120
126
  if (fields)
121
127
  checkFieldNames(fields, { common: lib.common, type: "document" });
122
128
  if (isRoutingPoint)
@@ -249,7 +255,7 @@ function toPartType(jsonData, l10n, lib) {
249
255
  fillL10nPath: ["partTypes", jsonData.leafType, "fields"],
250
256
  lib,
251
257
  })
252
- : item);
258
+ : toFieldType(item, lib));
253
259
  if (fields)
254
260
  checkFieldNames(fields, { common: lib.common, type: "part" });
255
261
  return {
@@ -329,9 +335,10 @@ async function readJsonOfSiteSchema(file) {
329
335
  return data;
330
336
  }
331
337
  function importSiteField(fieldName, fillL10n, lib) {
332
- const field = lib.module.siteFieldLib[fieldName];
333
- if (!field)
338
+ if (!(fieldName in lib.module.siteFieldLib)) {
334
339
  throw new Error(`unknown site-field '${fieldName}'`);
340
+ }
341
+ const field = toFieldType(lib.module.siteFieldLib[fieldName], lib);
335
342
  (0, read_locales_1.importPartOfL10n)({
336
343
  from: lib.l10n,
337
344
  fromPath: ["siteFieldLib", fieldName],
@@ -341,9 +348,10 @@ function importSiteField(fieldName, fillL10n, lib) {
341
348
  return field;
342
349
  }
343
350
  function importSectionField({ fieldName, fillL10n, fillL10nPath, lib, }) {
344
- const field = lib.module.sectionFieldLib[fieldName];
345
- if (!field)
351
+ if (!(fieldName in lib.module.sectionFieldLib)) {
346
352
  throw new Error(`unknown section-field '${fieldName}'`);
353
+ }
354
+ const field = toFieldType(lib.module.sectionFieldLib[fieldName], lib);
347
355
  (0, read_locales_1.importPartOfL10n)({
348
356
  from: lib.l10n,
349
357
  fromPath: ["sectionFieldLib", fieldName],
@@ -352,6 +360,20 @@ function importSectionField({ fieldName, fillL10n, fillL10nPath, lib, }) {
352
360
  });
353
361
  return field;
354
362
  }
363
+ function toFieldType(jsonData, lib) {
364
+ const { plugin, ...rawField } = jsonData;
365
+ const field = rawField;
366
+ if (plugin) {
367
+ field.boPluginUrl = toBoPluginUrl(plugin, lib.plugins);
368
+ }
369
+ return field;
370
+ }
371
+ function toBoPluginUrl(pluginName, plugins) {
372
+ const plugin = plugins?.get(pluginName);
373
+ if (!plugin)
374
+ throw new Error(`plugin '${pluginName}' is not referenced in 'usePlugins'`);
375
+ return plugin.boPluginUrl;
376
+ }
355
377
  function makeLangLabels(langs, langLabelsLib) {
356
378
  const newLabels = {};
357
379
  for (const lang of langs) {
@@ -1 +1 @@
1
- {"version":3,"file":"site-schema-factory.js","sourceRoot":"","sources":["../../src/site-schema/site-schema-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"site-schema-factory.js","sourceRoot":"","sources":["../../src/site-schema/site-schema-factory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"./configuration-types":{"namedTypes":[{"name":"Configuration","exported":true,"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"SingleSiteConfiguration"},{"kind":"localRef","refName":"MultiSiteConfiguration"}]},{"name":"ConfigurationBase","exported":true,"kind":"interface","properties":[{"name":"thisServer","type":{"kind":"localRef","refName":"ThisServerConf"}},{"name":"log","type":{"kind":"localRef","refName":"LogConf"}},{"name":"allowRobots","type":{"kind":"name","group":"primitive","refName":"boolean"}},{"name":"immutableAssets","type":{"kind":"name","group":"primitive","refName":"boolean"}},{"name":"cacheTimeToIdle","type":{"kind":"composite","op":"union","types":[{"kind":"name","group":"primitive","refName":"string"},{"kind":"literal","literal":"disabled"},{"kind":"literal","literal":"infinite"}]},"docComment":"For example: `\"14d\"`."},{"name":"clearCacheAfterStart","type":{"kind":"name","group":"primitive","refName":"boolean"}},{"name":"clearImageCacheAfterStart","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true},{"name":"graphqlDevTools","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true},{"name":"generateMissingDatabases","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true},{"name":"googleAuth","type":{"kind":"localRef","refName":"GoogleAuth"},"optional":true},{"name":"awsSesMail","type":{"kind":"localRef","refName":"AwsSesMailConf"},"optional":true},{"name":"googleRecaptcha","type":{"kind":"localRef","refName":"GoogleRecaptchaConf"},"optional":true},{"name":"imageProcessor","type":{"kind":"localRef","refName":"ImageProcessorConf"},"optional":true},{"name":"devAccount","type":{"kind":"localRef","refName":"DevAccount"},"optional":true},{"name":"platformAdminAccounts","type":{"kind":"array","itemType":{"kind":"localRef","refName":"PlatformAdminAccount"}},"optional":true}]},{"name":"SingleSiteConfiguration","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"ConfigurationBase"},{"kind":"interface","properties":[{"name":"singleSite","type":{"kind":"localRef","refName":"SingleSiteConf"}}]}]},{"name":"MultiSiteConfiguration","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"ConfigurationBase"},{"kind":"interface","properties":[{"name":"platform","type":{"kind":"interface","properties":[{"name":"dataDir","type":{"kind":"name","group":"primitive","refName":"string"}}]}},{"name":"sitePacks","type":{"kind":"array","itemType":{"kind":"localRef","refName":"SitePackConf"}}}]}]},{"name":"ThisServerConf","exported":true,"kind":"interface","properties":[{"name":"port","type":{"kind":"name","group":"primitive","refName":"number"}},{"name":"publicPort","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true},{"name":"boPublicPort","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true},{"name":"hostName","type":{"kind":"composite","op":"union","types":[{"kind":"name","group":"primitive","refName":"string"},{"kind":"name","group":"primitive","refName":"null"}]},"optional":true},{"name":"https","type":{"kind":"name","group":"primitive","refName":"boolean"}}]},{"name":"LogConf","exported":true,"kind":"interface","properties":[{"name":"level","type":{"kind":"composite","op":"union","types":[{"kind":"literal","literal":"silent"},{"kind":"literal","literal":"error"},{"kind":"literal","literal":"warn"},{"kind":"literal","literal":"info"},{"kind":"literal","literal":"stats"},{"kind":"literal","literal":"debug"},{"kind":"literal","literal":"trace"}]}},{"name":"file","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true,"docComment":"Omit for stdout."}]},{"name":"SingleSiteConf","exported":true,"kind":"interface","properties":[{"name":"siteDir","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"dataDir","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"cacheDir","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"backupDir","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"fqdn","type":{"kind":"name","group":"primitive","refName":"string"}}]},{"name":"SitePackConf","exported":true,"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"FqdnSitePackConf"},{"kind":"localRef","refName":"SubDomainSitePackConf"}]},{"name":"SitePackConfBase","exported":true,"kind":"interface","properties":[{"name":"packName","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"sitesDir","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true},{"name":"dataDir","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"cacheDir","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"backupDir","type":{"kind":"name","group":"primitive","refName":"string"}}]},{"name":"FqdnSitePackConf","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"SitePackConfBase"},{"kind":"interface","properties":[{"name":"serveAs","type":{"kind":"literal","literal":"fqdn"}}]}]},{"name":"SubDomainSitePackConf","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"SitePackConfBase"},{"kind":"interface","properties":[{"name":"serveAs","type":{"kind":"literal","literal":"subDomain"}},{"name":"parentDomain","type":{"kind":"name","group":"primitive","refName":"string"}}]}]},{"name":"GoogleAuth","exported":true,"kind":"interface","properties":[{"name":"disabled","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true},{"name":"fqdn","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"clientId","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"clientSecret","type":{"kind":"name","group":"primitive","refName":"string"}}]},{"name":"AwsSesMailConf","exported":true,"kind":"interface","properties":[{"name":"disabled","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true},{"name":"from","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"accessKeyId","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"secretAccessKey","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"region","type":{"kind":"name","group":"primitive","refName":"string"}}]},{"name":"GoogleRecaptchaConf","exported":true,"kind":"interface","properties":[{"name":"disabled","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true},{"name":"siteKey","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"secretKey","type":{"kind":"name","group":"primitive","refName":"string"}}]},{"name":"ImageProcessorConf","exported":true,"kind":"interface","properties":[{"name":"cpuCoresPerFile","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true},{"name":"oneSharpAtATime","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true}]},{"name":"DevAccount","exported":true,"kind":"interface","properties":[{"name":"email","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"name","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"password","type":{"kind":"name","group":"primitive","refName":"string"}}]},{"name":"PlatformAdminAccount","exported":true,"kind":"interface","properties":[{"name":"email","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"name","type":{"kind":"name","group":"primitive","refName":"string"}}]}]},"./l10n-types":{"namedTypes":[{"name":"JsonOfLanguageSchemaLocales","exported":true,"kind":"interface","properties":[{"name":"siteFieldLib","type":{"kind":"interface","indexSignature":{"keyName":"fieldName","keyType":"string","type":{"kind":"localRef","refName":"JsonOfLabelLocales"}}},"optional":true},{"name":"sectionFieldLib","type":{"kind":"interface","indexSignature":{"keyName":"fieldName","keyType":"string","type":{"kind":"localRef","refName":"JsonOfLabelLocales"}}},"optional":true},{"name":"site","type":{"kind":"interface","properties":[{"name":"fields","type":{"kind":"interface","indexSignature":{"keyName":"fieldName","keyType":"string","type":{"kind":"localRef","refName":"JsonOfLabelLocales"}}},"optional":true}]},"optional":true},{"name":"documentTypes","type":{"kind":"interface","indexSignature":{"keyName":"leafType","keyType":"string","type":{"kind":"localRef","refName":"JsonOfLabelLocales"}}},"optional":true},{"name":"partTypes","type":{"kind":"interface","indexSignature":{"keyName":"leafType","keyType":"string","type":{"kind":"localRef","refName":"JsonOfLabelLocales"}}},"optional":true}]},{"name":"JsonOfLabelLocales","exported":true,"kind":"interface","indexSignature":{"keyName":"key","keyType":"string","type":{"kind":"composite","op":"union","types":[{"kind":"name","group":"primitive","refName":"string"},{"kind":"localRef","refName":"JsonOfLabelLocales"}]}}}]},"./site-schema-json-types":{"namedTypes":[{"name":"JsonOfCommonSchema","exported":true,"docComment":"The common schema is currently an internal file. Here is its typing.","kind":"interface","properties":[{"name":"schemaEngineVersion","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"This is the version of the schema engine."},{"name":"langs","type":{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}},"docComment":"Specify the list of 2-letters language codes that can be used in the websites.\n\n@example [\"en\", \"fr\"]`"},{"name":"site","type":{"kind":"interface","properties":[{"name":"fields","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfFieldType"}}}]}}]},{"name":"JsonOfSiteSchemaBase","exported":true,"docComment":"This properties are part of a site schema, and part of the internal library as well.","kind":"interface","properties":[{"name":"schemaEngineVersion","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"This is the version of the schema engine."},{"name":"langs","type":{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}},"docComment":"Specify the list of 2-letters language codes of the website. The first language is the default language.\n\n@example `[\"en\", \"fr\"]`"},{"name":"useModules","type":{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}},"optional":true,"docComment":"Allows you to load other configuration schema in module form\n@example [\"media-policies\", \"simple-page\"]"},{"name":"site","type":{"kind":"localRef","refName":"JsonOfSiteDataSchema"},"optional":true},{"name":"partTypes","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfPartSchema"}},"optional":true,"docComment":"The different parts that can be used in documents."},{"name":"mediaPolicies","type":{"kind":"array","itemType":{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfMediaPolicy"},{"kind":"name","group":"primitive","refName":"string"}]}},"optional":true,"docComment":"Media policies"},{"name":"imageQualityPolicy","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfImageCompressionQualityPolicy"}},"optional":true,"docComment":"We can set the image compression quality here. The list must be ordered from the lowest area\nto the highest.\n@example\n```json\n{\n \"areaLimitPx\": 120000,\n \"quality\": 90\n},\n{\n \"areaLimitPx\": 750000,\n \"quality\": 80\n},\n{\n \"quality\": 70\n}\n```"}]},{"name":"JsonOfSiteDataSchema","exported":true,"kind":"interface","properties":[{"name":"fields","type":{"kind":"array","itemType":{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfFieldType"},{"kind":"name","group":"primitive","refName":"string"}]}},"optional":true,"docComment":"The fields of the site. They will be added to the required fields `[\"title\", \"contactEmail\", \"favicon\", \"ogImage\"]`.\n\n@example `[\"logo\", \"slogan\", \"phone\"]`"}]},{"name":"JsonOfSiteSchema","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfSiteSchemaBase"},{"kind":"interface","properties":[{"name":"siteFieldLib","type":{"kind":"array","itemType":{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfFieldType"},{"kind":"name","group":"primitive","refName":"string"}]}},"optional":true},{"name":"sectionFieldLib","type":{"kind":"array","itemType":{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfFieldType"},{"kind":"name","group":"primitive","refName":"string"}]}},"optional":true},{"name":"documentTypes","type":{"kind":"array","itemType":{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfDocumentType"},{"kind":"name","group":"primitive","refName":"string"}]}},"optional":true,"docComment":"If missing, then `[\"home\"]` is taken by default."}]}]},{"name":"JsonOfSiteSchemaModule","exported":true,"docComment":"The site schema module","kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfSiteSchemaBase"},{"kind":"interface","properties":[{"name":"siteFieldLib","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfFieldType"}},"optional":true,"docComment":"Allows you to specify the different fields to add as site properties.\n\nParoiCMS is a dynamic CMS; then it does not impose a structure regarding the\nsite configuration values. As an example of configuration data, we have the\ntitle, logo, slogan, contacts etc...\n\n@see {@link JsonOfFieldType}"},{"name":"sectionFieldLib","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfFieldType"}},"optional":true,"docComment":"Allows you to specify the different fields of a document\n\nThe structure of a document is not imposed. You can choose to\nhave for your document to have the following fields: title, content, media gallery.\n@see {@link JsonOfFieldType}\n@see {@link JsonOfModuleDocumentType}"},{"name":"documentTypes","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfModuleDocumentType"}},"optional":true,"docComment":"Allows you to add the different types of documents that will be handled on the site.\n@see {@link JsonOfModuleDocumentType}"}]}]},{"name":"JsonOfModuleDocumentType","exported":true,"docComment":"A document is a web page. For example, a block article, a service, or a contact page is\na document. What all these elements have in common is that they can be edited in the back-office\nand published on the public site.","kind":"interface","properties":[{"name":"leafType","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"This is the identifier of the document type."},{"name":"route","type":{"kind":"composite","op":"union","types":[{"kind":"name","group":"primitive","refName":"string"},{"kind":"interface","indexSignature":{"keyName":"lang","keyType":"string","type":{"kind":"name","group":"primitive","refName":"string"}}}]},"optional":true,"docComment":"@example\n```json\n \"route\": {\n \"en\": \"posts\",\n \"fr\": \"articles\"\n },\n```"},{"name":"relativeIdGenerator","type":{"kind":"array","itemType":{"kind":"name","group":"ts","refName":"any"}},"optional":true,"docComment":"@example `[\"default\", 6]`"},{"name":"children","type":{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}},"optional":true,"docComment":"Types of children that are allowed for the document."},{"name":"childOrdering","type":{"kind":"localRef","refName":"JsonOfChildOrdering"},"optional":true,"docComment":"We define how to order the children here."},{"name":"childLimit","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"The maximum number of children."},{"name":"partLists","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfPartListSchema"}},"optional":true,"docComment":"The lists of parts in the document."},{"name":"useTaxonomies","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfUseTaxonomy"}},"optional":true,"docComment":"The list of taxonomies used in the document."},{"name":"withData","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true,"docComment":"Value `false` means that the document is just a hierarchy parent for other documents. But it\nhas no content itself."},{"name":"fields","type":{"kind":"array","itemType":{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfFieldType"},{"kind":"name","group":"primitive","refName":"string"}]}},"optional":true,"docComment":"The list of fields in the document."},{"name":"mediaPolicy","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true,"docComment":"The name of the media policy."},{"name":"ogType","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true,"docComment":"@see[Open Graph Protocol](https://ogp.me/)\n@example `\"article\"`"},{"name":"autoPublish","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true,"docComment":"Value `true` means that the document will be automatically published without being a\ndraft before."}]},{"name":"JsonOfChildOrdering","exported":true,"docComment":"Child odering method.\n@default \"manual\"","kind":"composite","op":"union","types":[{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}},{"kind":"literal","literal":"manual"},{"kind":"name","group":"primitive","refName":"string"}]},{"name":"JsonOfDocumentType","exported":true,"docComment":"Document type","kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfModuleDocumentType"},{"kind":"interface","properties":[{"name":"from","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true}]}]},{"name":"JsonOfPartListSchema","exported":true,"docComment":"This is the definition of a list of parts.","kind":"interface","properties":[{"name":"listName","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"This is the identifier of the part list."},{"name":"orderBy","type":{"kind":"literal","literal":"manual"},"docComment":"Only `\"manual\"` is currently supported."},{"name":"partLeafTypes","type":{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}},"docComment":"Part types that can be in the list."},{"name":"partLimit","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"Maximum number of parts in the list."}]},{"name":"JsonOfPartSchema","exported":true,"docComment":"This is part schema","kind":"interface","properties":[{"name":"leafType","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"This is the identifier of the part type."},{"name":"withData","type":{"kind":"name","group":"primitive","refName":"boolean"},"docComment":"Always `true`."},{"name":"fields","type":{"kind":"array","itemType":{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfFieldType"},{"kind":"name","group":"primitive","refName":"string"}]}},"optional":true,"docComment":"The list of fields in the part."},{"name":"mediaPolicy","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true,"docComment":"Give the name of the media policy, if there is one."}]},{"name":"JsonOfUseTaxonomy","exported":true,"docComment":"This object reprensents a link to a taxonomy. A taxonomy is a document type.","kind":"interface","properties":[{"name":"leafType","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"This is the identifier of the taxonomy's document type."},{"name":"relation","type":{"kind":"composite","op":"union","types":[{"kind":"literal","literal":"single"},{"kind":"literal","literal":"multiple"}]},"docComment":"A _single_ relation means that the document can only have one term. A _multiple_ relation\nmeans that the document can have multiple terms."},{"name":"withLeadTerm","type":{"kind":"composite","op":"union","types":[{"kind":"literal","literal":"single"},{"kind":"literal","literal":"multiple"}]},"optional":true,"docComment":"A _lead term_ is a term that is shown first."}]},{"name":"JsonOfFieldType","exported":true,"docComment":"This is field type. It can be varchar, text, leafMedia, leafGallery.\n@see {@link JsonOfVarcharFieldType}\n@see {@link JsonOfTextFieldType}\n@see {@link JsonOfLeafMediaFieldType}\n@see {@link JsonOfLeafGalleryFieldType}","kind":"composite","op":"union","types":[{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfVarcharFieldType"},{"kind":"localRef","refName":"JsonOfTextFieldType"},{"kind":"localRef","refName":"JsonOfLeafMediaFieldType"},{"kind":"localRef","refName":"JsonOfLeafGalleryFieldType"}]}]},{"name":"JsonOfFieldTypeBase","exported":true,"docComment":"This is the base type for other types: varchar text, leafMedia, leafGallery.\n@see {@link JsonOfVarcharFieldType}\n@see {@link JsonOfTextFieldType}\n@see {@link JsonOfLeafMediaFieldType}\n@see {@link JsonOfLeafGalleryFieldType}","kind":"interface","properties":[{"name":"storedOn","type":{"kind":"composite","op":"union","types":[{"kind":"literal","literal":"leaf"},{"kind":"literal","literal":"section"}]},"docComment":"The field value can be attached to\n- `leaf`: all the translations of the same document will share the same value\n- `section`: each translation will have its own value."},{"name":"name","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"The field name."},{"name":"componentUri","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true}]},{"name":"JsonOfVarcharFieldType","exported":true,"docComment":"This is the base type for data varchar types: stringVarchar, numberVarchar, booleanVarchar\n@see {@link JsonOfStringVarcharFieldType}\n@see {@link JsonOfNumberVarcharFieldType}\n@see {@link JsonOfBooleanVarcharFieldType}","kind":"composite","op":"union","types":[{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfStringVarcharFieldType"},{"kind":"localRef","refName":"JsonOfNumberVarcharFieldType"},{"kind":"localRef","refName":"JsonOfBooleanVarcharFieldType"}]}]},{"name":"JsonOfStringVarcharFieldType","exported":true,"docComment":"This is string type with varchar data type","kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfFieldTypeBase"},{"kind":"interface","properties":[{"name":"storedAs","type":{"kind":"literal","literal":"varchar"}},{"name":"dataType","type":{"kind":"literal","literal":"string"}}]}]},{"name":"JsonOfNumberVarcharFieldType","exported":true,"docComment":"This is number type with varchar data type","kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfFieldTypeBase"},{"kind":"interface","properties":[{"name":"storedAs","type":{"kind":"literal","literal":"varchar"}},{"name":"dataType","type":{"kind":"literal","literal":"number"}},{"name":"currency","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true,"docComment":"@example `\"EUR\"`"}]}]},{"name":"JsonOfBooleanVarcharFieldType","exported":true,"docComment":"This is boolean type with varchar data type","kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfFieldTypeBase"},{"kind":"interface","properties":[{"name":"storedAs","type":{"kind":"literal","literal":"varchar"}},{"name":"dataType","type":{"kind":"literal","literal":"boolean"}}]}]},{"name":"JsonOfTextFieldType","exported":true,"docComment":"@see {@link JsonOfFTextFieldType}\n@see {@link JsonOfJsonFieldType}","kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfFTextFieldType"},{"kind":"localRef","refName":"JsonOfJsonFieldType"}]},{"name":"JsonOfFTextFieldType","exported":true,"docComment":"Formatted Text field (with HTML content).","kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfFieldTypeBase"},{"kind":"interface","properties":[{"name":"storedAs","type":{"kind":"literal","literal":"text"}},{"name":"dataType","type":{"kind":"composite","op":"union","types":[{"kind":"literal","literal":"quillDelta"},{"kind":"literal","literal":"html"}]}},{"name":"useAsExcerpt","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"\n@example"},{"name":"useAsDefaultImage","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"\n@example"},{"name":"withGallery","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true,"docComment":"\n@example"},{"name":"backOffice","type":{"kind":"localRef","refName":"JsonOfFTextFieldBackOffice"},"optional":true,"docComment":"\n@example"}]}]},{"name":"JsonOfJsonFieldType","exported":true,"docComment":"This is JSON type","kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfFieldTypeBase"},{"kind":"interface","properties":[{"name":"storedAs","type":{"kind":"literal","literal":"text"}},{"name":"dataType","type":{"kind":"literal","literal":"json"}}]}]},{"name":"JsonOfFTextFieldBackOffice","exported":true,"docComment":"This is the back office properties of a formatted text field (ie. a text editor).","kind":"interface","properties":[{"name":"editorRows","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true}]},{"name":"JsonOfGalleryFieldType","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfFieldTypeBase"},{"kind":"interface","properties":[{"name":"storedAs","type":{"kind":"literal","literal":"mediaHandle"}},{"name":"dataType","type":{"kind":"literal","literal":"gallery"}},{"name":"accept","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"refuse","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true}]}]},{"name":"JsonOfLeafGalleryFieldType","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfGalleryFieldType"},{"kind":"interface","properties":[{"name":"useAsDefaultImage","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"\n@example"}]}]},{"name":"JsonOfMediaFieldType","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfFieldTypeBase"},{"kind":"interface","properties":[{"name":"storedAs","type":{"kind":"literal","literal":"mediaHandle"},"docComment":"\n@example"},{"name":"dataType","type":{"kind":"literal","literal":"media"},"docComment":"\n@example"},{"name":"accept","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"\n@example"},{"name":"refuse","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true,"docComment":"\n@example"}]}]},{"name":"JsonOfLeafMediaFieldType","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfMediaFieldType"},{"kind":"interface","properties":[{"name":"useAsDefaultImage","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"\n@example"}]}]},{"name":"JsonOfMediaPolicy","exported":true,"docComment":"These properties define the rules that are applied to medias.","kind":"interface","properties":[{"name":"policyName","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"The internal name of the policy.\n@example `\"myPolicyName\"`"},{"name":"mediaLimitPerDocument","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"Max media limit uploaded in a document.\n@example `10`"},{"name":"mediaLimitPerPart","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"Max media limit uploaded in a part.\n@example `10`"},{"name":"attachedDocument","type":{"kind":"localRef","refName":"JsonOfAttachedDocumentPolicy"},"optional":true,"docComment":"Rules about non-image medias (like PDF files)."},{"name":"image","type":{"kind":"localRef","refName":"JsonOfImagePolicy"},"optional":true,"docComment":"Rules about images."}]},{"name":"JsonOfAttachedDocumentPolicy","exported":true,"docComment":"These properties define the rules that are applied to\ndocument uploaded in document and document part","kind":"interface","properties":[{"name":"siteWeightLimitB","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"Size limit in bytes.\n@example `2000000`"}]},{"name":"JsonOfImagePolicy","exported":true,"docComment":"These properties define the rules that are applied to\nimages contained in document and document part","kind":"interface","properties":[{"name":"weightLimitB","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"Size limit in bytes.\n@example `2000000`"},{"name":"areaLimitPx","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"Maximum area (width × height, in pixels) of an image.\n@example `2000000`"}]},{"name":"JsonOfImageCompressionQualityPolicy","exported":true,"docComment":"These properties define the rules applied to image\ncompression across all sites","kind":"interface","properties":[{"name":"areaLimitPx","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"The quality will apply for image with area smaller than this value.\n@example `600000`"},{"name":"quality","type":{"kind":"name","group":"primitive","refName":"number"},"docComment":"Webp quality loss, in percents.\n@example `80`"}]}]},"./theme-json-types":{"namedTypes":[{"name":"JsonOfThemeConf","exported":true,"kind":"interface","properties":[{"name":"fTextImages","type":{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}}}]}]}}
1
+ {"./configuration-types":{"namedTypes":[{"name":"Configuration","exported":true,"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"SingleSiteConfiguration"},{"kind":"localRef","refName":"MultiSiteConfiguration"}]},{"name":"ConfigurationBase","exported":true,"kind":"interface","properties":[{"name":"thisServer","type":{"kind":"localRef","refName":"ThisServerConf"}},{"name":"log","type":{"kind":"localRef","refName":"LogConf"}},{"name":"allowRobots","type":{"kind":"name","group":"primitive","refName":"boolean"}},{"name":"immutableAssets","type":{"kind":"name","group":"primitive","refName":"boolean"}},{"name":"cacheTimeToIdle","type":{"kind":"composite","op":"union","types":[{"kind":"name","group":"primitive","refName":"string"},{"kind":"literal","literal":"disabled"},{"kind":"literal","literal":"infinite"}]},"docComment":"For example: `\"14d\"`."},{"name":"clearCacheAfterStart","type":{"kind":"name","group":"primitive","refName":"boolean"}},{"name":"clearImageCacheAfterStart","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true},{"name":"graphqlDevTools","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true},{"name":"generateMissingDatabases","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true},{"name":"googleAuth","type":{"kind":"localRef","refName":"GoogleAuth"},"optional":true},{"name":"awsSesMail","type":{"kind":"localRef","refName":"AwsSesMailConf"},"optional":true},{"name":"googleRecaptcha","type":{"kind":"localRef","refName":"GoogleRecaptchaConf"},"optional":true},{"name":"imageProcessor","type":{"kind":"localRef","refName":"ImageProcessorConf"},"optional":true},{"name":"devAccount","type":{"kind":"localRef","refName":"DevAccount"},"optional":true},{"name":"platformAdminAccounts","type":{"kind":"array","itemType":{"kind":"localRef","refName":"PlatformAdminAccount"}},"optional":true}]},{"name":"SingleSiteConfiguration","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"ConfigurationBase"},{"kind":"interface","properties":[{"name":"singleSite","type":{"kind":"localRef","refName":"SingleSiteConf"}}]}]},{"name":"MultiSiteConfiguration","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"ConfigurationBase"},{"kind":"interface","properties":[{"name":"platform","type":{"kind":"interface","properties":[{"name":"dataDir","type":{"kind":"name","group":"primitive","refName":"string"}}]}},{"name":"sitePacks","type":{"kind":"array","itemType":{"kind":"localRef","refName":"SitePackConf"}}}]}]},{"name":"ThisServerConf","exported":true,"kind":"interface","properties":[{"name":"port","type":{"kind":"name","group":"primitive","refName":"number"}},{"name":"publicPort","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true},{"name":"boPublicPort","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true},{"name":"hostName","type":{"kind":"composite","op":"union","types":[{"kind":"name","group":"primitive","refName":"string"},{"kind":"name","group":"primitive","refName":"null"}]},"optional":true},{"name":"https","type":{"kind":"name","group":"primitive","refName":"boolean"}}]},{"name":"LogConf","exported":true,"kind":"interface","properties":[{"name":"level","type":{"kind":"composite","op":"union","types":[{"kind":"literal","literal":"silent"},{"kind":"literal","literal":"error"},{"kind":"literal","literal":"warn"},{"kind":"literal","literal":"info"},{"kind":"literal","literal":"stats"},{"kind":"literal","literal":"debug"},{"kind":"literal","literal":"trace"}]}},{"name":"file","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true,"docComment":"Omit for stdout."}]},{"name":"SingleSiteConf","exported":true,"kind":"interface","properties":[{"name":"siteDir","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"dataDir","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"cacheDir","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"backupDir","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"fqdn","type":{"kind":"name","group":"primitive","refName":"string"}}]},{"name":"SitePackConf","exported":true,"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"FqdnSitePackConf"},{"kind":"localRef","refName":"SubDomainSitePackConf"}]},{"name":"SitePackConfBase","exported":true,"kind":"interface","properties":[{"name":"packName","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"sitesDir","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true},{"name":"dataDir","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"cacheDir","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"backupDir","type":{"kind":"name","group":"primitive","refName":"string"}}]},{"name":"FqdnSitePackConf","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"SitePackConfBase"},{"kind":"interface","properties":[{"name":"serveAs","type":{"kind":"literal","literal":"fqdn"}}]}]},{"name":"SubDomainSitePackConf","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"SitePackConfBase"},{"kind":"interface","properties":[{"name":"serveAs","type":{"kind":"literal","literal":"subDomain"}},{"name":"parentDomain","type":{"kind":"name","group":"primitive","refName":"string"}}]}]},{"name":"GoogleAuth","exported":true,"kind":"interface","properties":[{"name":"disabled","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true},{"name":"fqdn","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"clientId","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"clientSecret","type":{"kind":"name","group":"primitive","refName":"string"}}]},{"name":"AwsSesMailConf","exported":true,"kind":"interface","properties":[{"name":"disabled","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true},{"name":"from","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"accessKeyId","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"secretAccessKey","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"region","type":{"kind":"name","group":"primitive","refName":"string"}}]},{"name":"GoogleRecaptchaConf","exported":true,"kind":"interface","properties":[{"name":"disabled","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true},{"name":"siteKey","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"secretKey","type":{"kind":"name","group":"primitive","refName":"string"}}]},{"name":"ImageProcessorConf","exported":true,"kind":"interface","properties":[{"name":"cpuCoresPerFile","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true},{"name":"oneSharpAtATime","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true}]},{"name":"DevAccount","exported":true,"kind":"interface","properties":[{"name":"email","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"name","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"password","type":{"kind":"name","group":"primitive","refName":"string"}}]},{"name":"PlatformAdminAccount","exported":true,"kind":"interface","properties":[{"name":"email","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"name","type":{"kind":"name","group":"primitive","refName":"string"}}]}]},"./l10n-types":{"namedTypes":[{"name":"JsonOfLanguageSchemaLocales","exported":true,"kind":"interface","properties":[{"name":"siteFieldLib","type":{"kind":"interface","indexSignature":{"keyName":"fieldName","keyType":"string","type":{"kind":"localRef","refName":"JsonOfLabelLocales"}}},"optional":true},{"name":"sectionFieldLib","type":{"kind":"interface","indexSignature":{"keyName":"fieldName","keyType":"string","type":{"kind":"localRef","refName":"JsonOfLabelLocales"}}},"optional":true},{"name":"site","type":{"kind":"interface","properties":[{"name":"fields","type":{"kind":"interface","indexSignature":{"keyName":"fieldName","keyType":"string","type":{"kind":"localRef","refName":"JsonOfLabelLocales"}}},"optional":true}]},"optional":true},{"name":"documentTypes","type":{"kind":"interface","indexSignature":{"keyName":"leafType","keyType":"string","type":{"kind":"localRef","refName":"JsonOfLabelLocales"}}},"optional":true},{"name":"partTypes","type":{"kind":"interface","indexSignature":{"keyName":"leafType","keyType":"string","type":{"kind":"localRef","refName":"JsonOfLabelLocales"}}},"optional":true}]},{"name":"JsonOfLabelLocales","exported":true,"kind":"interface","indexSignature":{"keyName":"key","keyType":"string","type":{"kind":"composite","op":"union","types":[{"kind":"name","group":"primitive","refName":"string"},{"kind":"localRef","refName":"JsonOfLabelLocales"}]}}}]},"./site-schema-json-types":{"namedTypes":[{"name":"JsonOfCommonSchema","exported":true,"docComment":"The common schema is currently an internal file. Here is its typing.","kind":"interface","properties":[{"name":"schemaEngineVersion","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"This is the version of the schema engine."},{"name":"langs","type":{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}},"docComment":"Specify the list of 2-letters language codes that can be used in the websites.\n\n@example [\"en\", \"fr\"]`"},{"name":"site","type":{"kind":"interface","properties":[{"name":"fields","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfFieldType"}}}]}}]},{"name":"JsonOfSiteSchemaBase","exported":true,"docComment":"This properties are part of a site schema, and part of the internal library as well.","kind":"interface","properties":[{"name":"schemaEngineVersion","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"This is the version of the schema engine."},{"name":"langs","type":{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}},"docComment":"Specify the list of 2-letters language codes of the website. The first language is the default language.\n\n@example `[\"en\", \"fr\"]`"},{"name":"usePlugins","type":{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}},"optional":true,"docComment":"List of plugins that are used in the schema.\n@example [\"site:video\"]"},{"name":"useModules","type":{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}},"optional":true,"docComment":"Allows you to load other configuration schema in module form\n@example [\"media-policies\", \"simple-page\"]"},{"name":"site","type":{"kind":"localRef","refName":"JsonOfSiteDataSchema"},"optional":true},{"name":"partTypes","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfPartSchema"}},"optional":true,"docComment":"The different parts that can be used in documents."},{"name":"mediaPolicies","type":{"kind":"array","itemType":{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfMediaPolicy"},{"kind":"name","group":"primitive","refName":"string"}]}},"optional":true,"docComment":"Media policies"},{"name":"imageQualityPolicy","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfImageCompressionQualityPolicy"}},"optional":true,"docComment":"We can set the image compression quality here. The list must be ordered from the lowest area\nto the highest.\n@example\n```json\n{\n \"areaLimitPx\": 120000,\n \"quality\": 90\n},\n{\n \"areaLimitPx\": 750000,\n \"quality\": 80\n},\n{\n \"quality\": 70\n}\n```"}]},{"name":"JsonOfSiteDataSchema","exported":true,"kind":"interface","properties":[{"name":"fields","type":{"kind":"array","itemType":{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfFieldType"},{"kind":"name","group":"primitive","refName":"string"}]}},"optional":true,"docComment":"The fields of the site. They will be added to the required fields `[\"title\", \"contactEmail\", \"favicon\", \"ogImage\"]`.\n\n@example `[\"logo\", \"slogan\", \"phone\"]`"}]},{"name":"JsonOfSiteSchema","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfSiteSchemaBase"},{"kind":"interface","properties":[{"name":"siteFieldLib","type":{"kind":"array","itemType":{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfFieldType"},{"kind":"name","group":"primitive","refName":"string"}]}},"optional":true},{"name":"sectionFieldLib","type":{"kind":"array","itemType":{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfFieldType"},{"kind":"name","group":"primitive","refName":"string"}]}},"optional":true},{"name":"documentTypes","type":{"kind":"array","itemType":{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfDocumentType"},{"kind":"name","group":"primitive","refName":"string"}]}},"optional":true,"docComment":"If missing, then `[\"home\"]` is taken by default."}]}]},{"name":"JsonOfSiteSchemaModule","exported":true,"docComment":"The site schema module","kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfSiteSchemaBase"},{"kind":"interface","properties":[{"name":"siteFieldLib","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfFieldType"}},"optional":true,"docComment":"Allows you to specify the different fields to add as site properties.\n\nParoiCMS is a dynamic CMS; then it does not impose a structure regarding the\nsite configuration values. As an example of configuration data, we have the\ntitle, logo, slogan, contacts etc...\n\n@see {@link JsonOfFieldType}"},{"name":"sectionFieldLib","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfFieldType"}},"optional":true,"docComment":"Allows you to specify the different fields of a document\n\nThe structure of a document is not imposed. You can choose to\nhave for your document to have the following fields: title, content, media gallery.\n@see {@link JsonOfFieldType}\n@see {@link JsonOfModuleDocumentType}"},{"name":"documentTypes","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfModuleDocumentType"}},"optional":true,"docComment":"Allows you to add the different types of documents that will be handled on the site.\n@see {@link JsonOfModuleDocumentType}"}]}]},{"name":"JsonOfModuleDocumentType","exported":true,"docComment":"A document is a web page. For example, a block article, a service, or a contact page is\na document. What all these elements have in common is that they can be edited in the back-office\nand published on the public site.","kind":"interface","properties":[{"name":"leafType","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"This is the identifier of the document type."},{"name":"route","type":{"kind":"composite","op":"union","types":[{"kind":"name","group":"primitive","refName":"string"},{"kind":"interface","indexSignature":{"keyName":"lang","keyType":"string","type":{"kind":"name","group":"primitive","refName":"string"}}}]},"optional":true,"docComment":"@example\n```json\n \"route\": {\n \"en\": \"posts\",\n \"fr\": \"articles\"\n },\n```"},{"name":"relativeIdGenerator","type":{"kind":"array","itemType":{"kind":"name","group":"ts","refName":"any"}},"optional":true,"docComment":"@example `[\"default\", 6]`"},{"name":"children","type":{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}},"optional":true,"docComment":"Types of children that are allowed for the document."},{"name":"childOrdering","type":{"kind":"localRef","refName":"JsonOfChildOrdering"},"optional":true,"docComment":"We define how to order the children here."},{"name":"childLimit","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"The maximum number of children."},{"name":"partLists","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfPartListSchema"}},"optional":true,"docComment":"The lists of parts in the document."},{"name":"useTaxonomies","type":{"kind":"array","itemType":{"kind":"localRef","refName":"JsonOfUseTaxonomy"}},"optional":true,"docComment":"The list of taxonomies used in the document."},{"name":"withData","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true,"docComment":"Value `false` means that the document is just a hierarchy parent for other documents. But it\nhas no content itself."},{"name":"fields","type":{"kind":"array","itemType":{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfFieldType"},{"kind":"name","group":"primitive","refName":"string"}]}},"optional":true,"docComment":"The list of fields in the document."},{"name":"mediaPolicy","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true,"docComment":"The name of the media policy."},{"name":"ogType","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true,"docComment":"@see[Open Graph Protocol](https://ogp.me/)\n@example `\"article\"`"},{"name":"autoPublish","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true,"docComment":"Value `true` means that the document will be automatically published without being a\ndraft before."}]},{"name":"JsonOfChildOrdering","exported":true,"docComment":"Child odering method.\n@default \"manual\"","kind":"composite","op":"union","types":[{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}},{"kind":"literal","literal":"manual"},{"kind":"name","group":"primitive","refName":"string"}]},{"name":"JsonOfDocumentType","exported":true,"docComment":"Document type","kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfModuleDocumentType"},{"kind":"interface","properties":[{"name":"from","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true}]}]},{"name":"JsonOfPartListSchema","exported":true,"docComment":"This is the definition of a list of parts.","kind":"interface","properties":[{"name":"listName","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"This is the identifier of the part list."},{"name":"orderBy","type":{"kind":"literal","literal":"manual"},"docComment":"Only `\"manual\"` is currently supported."},{"name":"partLeafTypes","type":{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}},"docComment":"Part types that can be in the list."},{"name":"partLimit","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"Maximum number of parts in the list."}]},{"name":"JsonOfPartSchema","exported":true,"docComment":"This is part schema","kind":"interface","properties":[{"name":"leafType","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"This is the identifier of the part type."},{"name":"withData","type":{"kind":"name","group":"primitive","refName":"boolean"},"docComment":"Always `true`."},{"name":"fields","type":{"kind":"array","itemType":{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfFieldType"},{"kind":"name","group":"primitive","refName":"string"}]}},"optional":true,"docComment":"The list of fields in the part."},{"name":"mediaPolicy","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true,"docComment":"Give the name of the media policy, if there is one."}]},{"name":"JsonOfUseTaxonomy","exported":true,"docComment":"This object reprensents a link to a taxonomy. A taxonomy is a document type.","kind":"interface","properties":[{"name":"leafType","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"This is the identifier of the taxonomy's document type."},{"name":"relation","type":{"kind":"composite","op":"union","types":[{"kind":"literal","literal":"single"},{"kind":"literal","literal":"multiple"}]},"docComment":"A _single_ relation means that the document can only have one term. A _multiple_ relation\nmeans that the document can have multiple terms."},{"name":"withLeadTerm","type":{"kind":"composite","op":"union","types":[{"kind":"literal","literal":"single"},{"kind":"literal","literal":"multiple"}]},"optional":true,"docComment":"A _lead term_ is a term that is shown first."}]},{"name":"JsonOfFieldType","exported":true,"docComment":"This is field type. It can be varchar, text, leafMedia, leafGallery.\n@see {@link JsonOfVarcharFieldType}\n@see {@link JsonOfTextFieldType}\n@see {@link JsonOfLeafMediaFieldType}\n@see {@link JsonOfLeafGalleryFieldType}","kind":"composite","op":"union","types":[{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfVarcharFieldType"},{"kind":"localRef","refName":"JsonOfTextFieldType"},{"kind":"localRef","refName":"JsonOfLeafMediaFieldType"},{"kind":"localRef","refName":"JsonOfLeafGalleryFieldType"}]}]},{"name":"JsonOfFieldTypeBase","exported":true,"docComment":"This is the base type for other types: varchar text, leafMedia, leafGallery.\n@see {@link JsonOfVarcharFieldType}\n@see {@link JsonOfTextFieldType}\n@see {@link JsonOfLeafMediaFieldType}\n@see {@link JsonOfLeafGalleryFieldType}","kind":"interface","properties":[{"name":"storedOn","type":{"kind":"composite","op":"union","types":[{"kind":"literal","literal":"leaf"},{"kind":"literal","literal":"section"}]},"docComment":"The field value can be attached to\n- `leaf`: all the translations of the same document will share the same value\n- `section`: each translation will have its own value."},{"name":"name","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"The field name."},{"name":"plugin","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true}]},{"name":"JsonOfVarcharFieldType","exported":true,"docComment":"This is the base type for data varchar types: stringVarchar, numberVarchar, booleanVarchar\n@see {@link JsonOfStringVarcharFieldType}\n@see {@link JsonOfNumberVarcharFieldType}\n@see {@link JsonOfBooleanVarcharFieldType}","kind":"composite","op":"union","types":[{"kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfStringVarcharFieldType"},{"kind":"localRef","refName":"JsonOfNumberVarcharFieldType"},{"kind":"localRef","refName":"JsonOfBooleanVarcharFieldType"}]}]},{"name":"JsonOfStringVarcharFieldType","exported":true,"docComment":"This is string type with varchar data type","kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfFieldTypeBase"},{"kind":"interface","properties":[{"name":"storedAs","type":{"kind":"literal","literal":"varchar"}},{"name":"dataType","type":{"kind":"literal","literal":"string"}}]}]},{"name":"JsonOfNumberVarcharFieldType","exported":true,"docComment":"This is number type with varchar data type","kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfFieldTypeBase"},{"kind":"interface","properties":[{"name":"storedAs","type":{"kind":"literal","literal":"varchar"}},{"name":"dataType","type":{"kind":"literal","literal":"number"}},{"name":"currency","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true,"docComment":"@example `\"EUR\"`"}]}]},{"name":"JsonOfBooleanVarcharFieldType","exported":true,"docComment":"This is boolean type with varchar data type","kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfFieldTypeBase"},{"kind":"interface","properties":[{"name":"storedAs","type":{"kind":"literal","literal":"varchar"}},{"name":"dataType","type":{"kind":"literal","literal":"boolean"}}]}]},{"name":"JsonOfTextFieldType","exported":true,"docComment":"@see {@link JsonOfFTextFieldType}\n@see {@link JsonOfJsonFieldType}","kind":"composite","op":"union","types":[{"kind":"localRef","refName":"JsonOfFTextFieldType"},{"kind":"localRef","refName":"JsonOfJsonFieldType"}]},{"name":"JsonOfFTextFieldType","exported":true,"docComment":"Formatted Text field (with HTML content).","kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfFieldTypeBase"},{"kind":"interface","properties":[{"name":"storedAs","type":{"kind":"literal","literal":"text"}},{"name":"dataType","type":{"kind":"composite","op":"union","types":[{"kind":"literal","literal":"quillDelta"},{"kind":"literal","literal":"html"}]}},{"name":"useAsExcerpt","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"\n@example"},{"name":"useAsDefaultImage","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"\n@example"},{"name":"withGallery","type":{"kind":"name","group":"primitive","refName":"boolean"},"optional":true,"docComment":"\n@example"},{"name":"backOffice","type":{"kind":"localRef","refName":"JsonOfFTextFieldBackOffice"},"optional":true,"docComment":"\n@example"}]}]},{"name":"JsonOfJsonFieldType","exported":true,"docComment":"This is JSON type","kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfFieldTypeBase"},{"kind":"interface","properties":[{"name":"storedAs","type":{"kind":"literal","literal":"text"}},{"name":"dataType","type":{"kind":"literal","literal":"json"}}]}]},{"name":"JsonOfFTextFieldBackOffice","exported":true,"docComment":"This is the back office properties of a formatted text field (ie. a text editor).","kind":"interface","properties":[{"name":"editorRows","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true}]},{"name":"JsonOfGalleryFieldType","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfFieldTypeBase"},{"kind":"interface","properties":[{"name":"storedAs","type":{"kind":"literal","literal":"mediaHandle"}},{"name":"dataType","type":{"kind":"literal","literal":"gallery"}},{"name":"accept","type":{"kind":"name","group":"primitive","refName":"string"}},{"name":"refuse","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true}]}]},{"name":"JsonOfLeafGalleryFieldType","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfGalleryFieldType"},{"kind":"interface","properties":[{"name":"useAsDefaultImage","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"\n@example"}]}]},{"name":"JsonOfMediaFieldType","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfFieldTypeBase"},{"kind":"interface","properties":[{"name":"storedAs","type":{"kind":"literal","literal":"mediaHandle"},"docComment":"\n@example"},{"name":"dataType","type":{"kind":"literal","literal":"media"},"docComment":"\n@example"},{"name":"accept","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"\n@example"},{"name":"refuse","type":{"kind":"name","group":"primitive","refName":"string"},"optional":true,"docComment":"\n@example"}]}]},{"name":"JsonOfLeafMediaFieldType","exported":true,"kind":"composite","op":"intersection","types":[{"kind":"localRef","refName":"JsonOfMediaFieldType"},{"kind":"interface","properties":[{"name":"useAsDefaultImage","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"\n@example"}]}]},{"name":"JsonOfMediaPolicy","exported":true,"docComment":"These properties define the rules that are applied to medias.","kind":"interface","properties":[{"name":"policyName","type":{"kind":"name","group":"primitive","refName":"string"},"docComment":"The internal name of the policy.\n@example `\"myPolicyName\"`"},{"name":"mediaLimitPerDocument","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"Max media limit uploaded in a document.\n@example `10`"},{"name":"mediaLimitPerPart","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"Max media limit uploaded in a part.\n@example `10`"},{"name":"attachedDocument","type":{"kind":"localRef","refName":"JsonOfAttachedDocumentPolicy"},"optional":true,"docComment":"Rules about non-image medias (like PDF files)."},{"name":"image","type":{"kind":"localRef","refName":"JsonOfImagePolicy"},"optional":true,"docComment":"Rules about images."}]},{"name":"JsonOfAttachedDocumentPolicy","exported":true,"docComment":"These properties define the rules that are applied to\ndocument uploaded in document and document part","kind":"interface","properties":[{"name":"siteWeightLimitB","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"Size limit in bytes.\n@example `2000000`"}]},{"name":"JsonOfImagePolicy","exported":true,"docComment":"These properties define the rules that are applied to\nimages contained in document and document part","kind":"interface","properties":[{"name":"weightLimitB","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"Size limit in bytes.\n@example `2000000`"},{"name":"areaLimitPx","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"Maximum area (width × height, in pixels) of an image.\n@example `2000000`"}]},{"name":"JsonOfImageCompressionQualityPolicy","exported":true,"docComment":"These properties define the rules applied to image\ncompression across all sites","kind":"interface","properties":[{"name":"areaLimitPx","type":{"kind":"name","group":"primitive","refName":"number"},"optional":true,"docComment":"The quality will apply for image with area smaller than this value.\n@example `600000`"},{"name":"quality","type":{"kind":"name","group":"primitive","refName":"number"},"docComment":"Webp quality loss, in percents.\n@example `80`"}]}]},"./theme-json-types":{"namedTypes":[{"name":"JsonOfThemeConf","exported":true,"kind":"interface","properties":[{"name":"fTextImages","type":{"kind":"array","itemType":{"kind":"name","group":"primitive","refName":"string"}}}]}]}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paroicms/server",
3
- "version": "1.2.1",
3
+ "version": "1.3.1",
4
4
  "description": "The ParoiCMS server",
5
5
  "keywords": [
6
6
  "cms",
@@ -47,13 +47,14 @@
47
47
  "@nestjs/throttler": "~5.1.2",
48
48
  "@paroi/async-lib": "~0.1.2",
49
49
  "@paroi/data-formatters-lib": "~0.1.2",
50
- "@paroicms/anywhere-lib": "1.2.0",
51
- "@paroicms/bo": "1.1.1",
52
- "@paroicms/server-database-media-storage": "1.0.2",
53
- "@paroicms/server-image-cache-engine": "1.0.2",
54
- "@paroicms/server-lib": "1.0.2",
55
- "@paroicms/server-text-cache-system": "1.0.2",
56
- "@paroicms/site-app": "1.0.1",
50
+ "@paroicms/anywhere-lib": "1.3.0",
51
+ "@paroicms/bo": "1.2.0",
52
+ "@paroicms/plugin-lib": "0.2.0",
53
+ "@paroicms/server-database-media-storage": "1.1.0",
54
+ "@paroicms/server-image-cache-engine": "1.1.0",
55
+ "@paroicms/server-lib": "1.1.0",
56
+ "@paroicms/server-text-cache-system": "1.1.0",
57
+ "@paroicms/site-app": "1.1.0",
57
58
  "@typeonly/validator": "~0.6.0",
58
59
  "archiver": "~6.0.1",
59
60
  "bcrypt": "~5.1.0",
@@ -87,7 +88,7 @@
87
88
  "nodemon": "~3.0.2",
88
89
  "pino-pretty": "~10.3.0",
89
90
  "rimraf": "~5.0.5",
90
- "sass": "~1.69.0",
91
+ "sass": "^1.72.0",
91
92
  "source-map-support": "~0.5.20",
92
93
  "ts-loader": "~9.5.1",
93
94
  "ts-node": "~10.9.2",