@paroicms/public-server-lib 0.13.0 → 0.14.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.
- package/dist/index.d.ts +0 -1
- package/dist/index.js.map +1 -1
- package/dist/simple-i18n.d.ts +1 -1
- package/dist/simple-i18n.js +1 -1
- package/dist/simple-i18n.js.map +1 -1
- package/dist/url.helpers.d.ts +7 -7
- package/dist/url.helpers.js +9 -9
- package/dist/url.helpers.js.map +1 -1
- package/package.json +3 -3
- package/types/backend-plugin-types.d.ts +87 -12
- package/types/plugin-site-context-types.d.ts +0 -64
package/dist/index.d.ts
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,8DAA4C;AAC5C,qDAAmC;AACnC,qEAAmD;AACnD,gDAA8B;AAC9B,gDAA8B"}
|
package/dist/simple-i18n.d.ts
CHANGED
package/dist/simple-i18n.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createSimpleTranslator = createSimpleTranslator;
|
|
4
|
+
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
4
5
|
const promises_1 = require("node:fs/promises");
|
|
5
6
|
const node_path_1 = require("node:path");
|
|
6
|
-
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
7
7
|
async function createSimpleTranslator(options) {
|
|
8
8
|
const labels = await loadLabels(options);
|
|
9
9
|
return {
|
package/dist/simple-i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-i18n.js","sourceRoot":"","sources":["../src/simple-i18n.ts"],"names":[],"mappings":";;AAeA,wDASC;AAxBD,+CAA4C;AAC5C,yCAAiC;
|
|
1
|
+
{"version":3,"file":"simple-i18n.js","sourceRoot":"","sources":["../src/simple-i18n.ts"],"names":[],"mappings":"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"}
|
package/dist/url.helpers.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { VariantName } from "@paroicms/public-anywhere-lib";
|
|
2
|
-
import type {
|
|
2
|
+
import type { BackendPluginService } from "../types/backend-plugin-types";
|
|
3
3
|
export interface GetBoUrlOptions {
|
|
4
4
|
path?: string;
|
|
5
5
|
publicProtocol: string;
|
|
@@ -13,8 +13,8 @@ export interface UrlOfMediaFileValues {
|
|
|
13
13
|
originalName: string | undefined;
|
|
14
14
|
absoluteUrl?: boolean;
|
|
15
15
|
}
|
|
16
|
-
export declare function makeUrlOfMediaFile(
|
|
17
|
-
export declare function makeUrlOfMediaFile(
|
|
16
|
+
export declare function makeUrlOfMediaFile(service: Pick<BackendPluginService, "siteUrl">, values: UrlOfMediaFileValues): string;
|
|
17
|
+
export declare function makeUrlOfMediaFile(service: Pick<BackendPluginService, "siteUrl">, values: UrlOfMediaFileValues, options: {
|
|
18
18
|
returnObj: true;
|
|
19
19
|
}): {
|
|
20
20
|
url: string;
|
|
@@ -28,13 +28,13 @@ export interface UrlOfImageVariantValues {
|
|
|
28
28
|
slug: string | undefined;
|
|
29
29
|
absoluteUrl?: boolean;
|
|
30
30
|
}
|
|
31
|
-
export declare function makeUrlOfImageVariant(
|
|
32
|
-
export declare function makeUrlOfImageVariant(
|
|
31
|
+
export declare function makeUrlOfImageVariant(service: Pick<BackendPluginService, "siteUrl">, values: UrlOfImageVariantValues): string;
|
|
32
|
+
export declare function makeUrlOfImageVariant(service: Pick<BackendPluginService, "siteUrl">, values: UrlOfImageVariantValues, options: {
|
|
33
33
|
returnObj: true;
|
|
34
34
|
}): {
|
|
35
35
|
url: string;
|
|
36
36
|
fileName: string;
|
|
37
37
|
};
|
|
38
38
|
export declare function fileExtensionOf(mediaType: string): string;
|
|
39
|
-
export declare function toAbsoluteUrl(
|
|
40
|
-
export declare function makeFeedUrl(
|
|
39
|
+
export declare function toAbsoluteUrl(service: Pick<BackendPluginService, "siteUrl">, url: string): string;
|
|
40
|
+
export declare function makeFeedUrl(service: Pick<BackendPluginService, "siteSchema" | "siteUrl">, language?: string): string;
|
package/dist/url.helpers.js
CHANGED
|
@@ -9,14 +9,14 @@ exports.makeFeedUrl = makeFeedUrl;
|
|
|
9
9
|
function getBoUrl({ path, fqdn, publicProtocol, boPort }) {
|
|
10
10
|
return `${publicProtocol}://${fqdn}${boPort === 80 ? "" : `:${boPort}`}${path ?? ""}`;
|
|
11
11
|
}
|
|
12
|
-
function makeUrlOfMediaFile(
|
|
12
|
+
function makeUrlOfMediaFile(service, values, options) {
|
|
13
13
|
const { mediaUid, mediaType, originalName, absoluteUrl } = values;
|
|
14
14
|
const fileName = `${originalName ?? "unamed"}${fileExtensionOf(mediaType)}`;
|
|
15
15
|
const relUrl = `/medias/${encodeURIComponent(mediaUid)}/file/${encodeURIComponent(fileName)}`;
|
|
16
|
-
const url = absoluteUrl ? toAbsoluteUrl(
|
|
16
|
+
const url = absoluteUrl ? toAbsoluteUrl(service, relUrl) : relUrl;
|
|
17
17
|
return options?.returnObj ? { url, fileName } : url;
|
|
18
18
|
}
|
|
19
|
-
function makeUrlOfImageVariant(
|
|
19
|
+
function makeUrlOfImageVariant(service, values, options) {
|
|
20
20
|
const { mediaUid, mediaType, variantName, slug, resourceVersion, absoluteUrl } = values;
|
|
21
21
|
const fileName = `${slug ?? "unamed"}-${variantName}${fileExtensionOf(mediaType)}`;
|
|
22
22
|
let relUrl;
|
|
@@ -26,7 +26,7 @@ function makeUrlOfImageVariant(siteContext, values, options) {
|
|
|
26
26
|
else {
|
|
27
27
|
relUrl = `/medias/${encodeURIComponent(mediaUid)}/image/${encodeURIComponent(fileName)}`;
|
|
28
28
|
}
|
|
29
|
-
const url = absoluteUrl ? toAbsoluteUrl(
|
|
29
|
+
const url = absoluteUrl ? toAbsoluteUrl(service, relUrl) : relUrl;
|
|
30
30
|
return options?.returnObj ? { url, fileName } : url;
|
|
31
31
|
}
|
|
32
32
|
function fileExtensionOf(mediaType) {
|
|
@@ -36,14 +36,14 @@ function fileExtensionOf(mediaType) {
|
|
|
36
36
|
}
|
|
37
37
|
return `.${regexMatchArray[1]}`;
|
|
38
38
|
}
|
|
39
|
-
function toAbsoluteUrl(
|
|
40
|
-
return url.startsWith("/") ? `${
|
|
39
|
+
function toAbsoluteUrl(service, url) {
|
|
40
|
+
return url.startsWith("/") ? `${service.siteUrl}${url}` : url;
|
|
41
41
|
}
|
|
42
|
-
function makeFeedUrl(
|
|
43
|
-
const isMultilingual =
|
|
42
|
+
function makeFeedUrl(service, language) {
|
|
43
|
+
const isMultilingual = service.siteSchema.isMultilingual;
|
|
44
44
|
if (isMultilingual && !language) {
|
|
45
45
|
throw new Error("language is required for multilingual site");
|
|
46
46
|
}
|
|
47
|
-
return toAbsoluteUrl(
|
|
47
|
+
return toAbsoluteUrl(service, isMultilingual ? `/${language}/feed` : "/feed");
|
|
48
48
|
}
|
|
49
49
|
//# sourceMappingURL=url.helpers.js.map
|
package/dist/url.helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.helpers.js","sourceRoot":"","sources":["../src/url.helpers.ts"],"names":[],"mappings":";;AAUA,4BAEC;AAkBD,gDAYC;AAoBD,sDAmBC;AAED,0CAQC;AAED,sCAEC;AAED,kCASC;AAhGD,SAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAmB;IAC9E,OAAO,GAAG,cAAc,MAAM,IAAI,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;AACxF,CAAC;AAkBD,SAAgB,kBAAkB,CAChC,
|
|
1
|
+
{"version":3,"file":"url.helpers.js","sourceRoot":"","sources":["../src/url.helpers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paroicms/public-server-lib",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.1",
|
|
4
4
|
"description": "Common utilitaries for paroicms plugins (backend side).",
|
|
5
5
|
"author": "Paroi Team",
|
|
6
6
|
"repository": {
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@paroi/data-formatters-lib": "~0.4.0",
|
|
24
|
-
"@paroicms/internal-anywhere-lib": "1.18.
|
|
25
|
-
"@paroicms/public-anywhere-lib": "0.
|
|
24
|
+
"@paroicms/internal-anywhere-lib": "1.18.6",
|
|
25
|
+
"@paroicms/public-anywhere-lib": "0.8.0",
|
|
26
26
|
"@types/express": "*"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { Obj } from "@paroi/data-formatters-lib";
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
ImageSize,
|
|
4
|
+
ParsedSectionId,
|
|
5
|
+
ScSiteSchema,
|
|
6
|
+
ThemeConf,
|
|
7
|
+
} from "@paroicms/public-anywhere-lib";
|
|
3
8
|
import type { Request, Response } from "express";
|
|
4
|
-
import type { AppLog, PluginSiteContext } from "./plugin-site-context-types";
|
|
5
9
|
|
|
6
10
|
export interface ParoiCmsPlugin {
|
|
7
11
|
version: string;
|
|
@@ -10,46 +14,91 @@ export interface ParoiCmsPlugin {
|
|
|
10
14
|
* is generated from the plugin name.
|
|
11
15
|
*/
|
|
12
16
|
slug?: string;
|
|
13
|
-
siteInit?: (service:
|
|
17
|
+
siteInit?: (service: BackendPluginInitService) => void | Promise<void>;
|
|
14
18
|
}
|
|
15
19
|
|
|
16
|
-
export interface
|
|
17
|
-
|
|
20
|
+
export interface BackendPluginInitService {
|
|
21
|
+
logger: AppLog;
|
|
18
22
|
setPublicAssetsDirectory(directory: string): void;
|
|
19
23
|
setBoAssetsDirectory(directory: string): void;
|
|
20
24
|
registerSiteSchemaLibrary(directory: string): void;
|
|
21
25
|
registerLiquidRootDirectory(directory: string): void;
|
|
22
26
|
registerLiquidFilter(
|
|
23
27
|
filterName: string,
|
|
24
|
-
handler:
|
|
28
|
+
handler: PluginLiquidFilterHandler,
|
|
25
29
|
options?: { raw?: boolean },
|
|
26
30
|
): void;
|
|
27
31
|
registerFieldPreprocessor(dataType: string, handler: FieldPreprocessor): void;
|
|
32
|
+
registerHook(hookName: string, handler: BackendHookHandler, options?: { unique?: boolean }): void;
|
|
28
33
|
setPublicApiHandler(handler: PublicApiHandler): void;
|
|
29
34
|
addHeadTag(...htmlTags: string[]): void;
|
|
30
35
|
pluginConf: PluginConf;
|
|
31
36
|
pluginAssetsUrl: string;
|
|
32
37
|
}
|
|
33
38
|
|
|
39
|
+
export type BackendHookHandler = (service: BackendPluginService, params: any) => any;
|
|
40
|
+
|
|
41
|
+
export type PluginLiquidFilterHandler = (
|
|
42
|
+
service: BackendPluginRenderService,
|
|
43
|
+
value: unknown,
|
|
44
|
+
options: {
|
|
45
|
+
/**
|
|
46
|
+
* The Liquid context
|
|
47
|
+
*/
|
|
48
|
+
ctx: any;
|
|
49
|
+
args: any[];
|
|
50
|
+
},
|
|
51
|
+
) => string | Promise<string>;
|
|
52
|
+
|
|
34
53
|
export type PublicApiHandler = (
|
|
35
|
-
|
|
54
|
+
service: BackendPluginRenderService,
|
|
36
55
|
req: Request,
|
|
37
56
|
res: Response,
|
|
38
57
|
relativePath: string,
|
|
39
58
|
) => Promise<void> | void;
|
|
40
59
|
|
|
41
60
|
export type FieldPreprocessor = (
|
|
42
|
-
|
|
61
|
+
service: BackendPluginRenderService,
|
|
43
62
|
value: unknown,
|
|
44
63
|
options: FieldPreprocessorOptions,
|
|
45
64
|
) => unknown | Promise<unknown>;
|
|
46
65
|
|
|
47
|
-
export interface
|
|
48
|
-
|
|
49
|
-
|
|
66
|
+
export interface BackendPluginService {
|
|
67
|
+
fqdn: string;
|
|
68
|
+
siteUrl: string;
|
|
69
|
+
siteSchema: ScSiteSchema;
|
|
70
|
+
themeConf: ThemeConf;
|
|
71
|
+
logger: AppLog;
|
|
72
|
+
validateRecaptchaResponse: (gRecaptchaResponse: string | undefined) => Promise<boolean>;
|
|
73
|
+
sendMail: ({ subject, html, replyTo, to }: MailData) => Promise<void>;
|
|
74
|
+
executeHook<T = unknown>(hookName: string, params?: any): T[];
|
|
75
|
+
pluginConf: PluginConf;
|
|
76
|
+
pluginAssetsUrl: string;
|
|
50
77
|
}
|
|
51
78
|
|
|
52
|
-
export
|
|
79
|
+
export interface BackendPluginRenderService extends BackendPluginService {
|
|
80
|
+
getSiteFieldValue: (options: {
|
|
81
|
+
fieldName: string;
|
|
82
|
+
language?: string;
|
|
83
|
+
}) => Promise<unknown | undefined>;
|
|
84
|
+
renderChildPartials(options: {
|
|
85
|
+
req: Request;
|
|
86
|
+
res: Response;
|
|
87
|
+
params: PartialsParamsInput;
|
|
88
|
+
parentDocumentId: ParsedSectionId;
|
|
89
|
+
labeledByTermId?: string;
|
|
90
|
+
}): Promise<void>;
|
|
91
|
+
renderSearchPartials(options: {
|
|
92
|
+
req: Request;
|
|
93
|
+
res: Response;
|
|
94
|
+
language: string;
|
|
95
|
+
words: string[];
|
|
96
|
+
limit: number;
|
|
97
|
+
start: number;
|
|
98
|
+
templateName: string;
|
|
99
|
+
}): Promise<void>;
|
|
100
|
+
useImage: (options: { imageUid: string; size: ImageSize }) => Promise<UsedImage>;
|
|
101
|
+
}
|
|
53
102
|
|
|
54
103
|
export interface UsedImage {
|
|
55
104
|
url: string;
|
|
@@ -71,3 +120,29 @@ export interface PluginConf {
|
|
|
71
120
|
[key: string]: unknown;
|
|
72
121
|
bo?: Obj;
|
|
73
122
|
}
|
|
123
|
+
|
|
124
|
+
export interface MailData {
|
|
125
|
+
subject: string;
|
|
126
|
+
html: string;
|
|
127
|
+
replyTo?: ReplyTo;
|
|
128
|
+
to: string;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export interface ReplyTo {
|
|
132
|
+
email: string;
|
|
133
|
+
name: string;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export interface AppLog {
|
|
137
|
+
error(...messages: any[]): void;
|
|
138
|
+
warn(...messages: any[]): void;
|
|
139
|
+
info(...messages: any[]): void;
|
|
140
|
+
debug(...messages: any[]): void;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export interface PartialsParamsInput {
|
|
144
|
+
templateName: string;
|
|
145
|
+
documentId: string;
|
|
146
|
+
offset: string;
|
|
147
|
+
limit: string;
|
|
148
|
+
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import type { ParsedSectionId, ScSiteSchema, ThemeConf } from "@paroicms/public-anywhere-lib";
|
|
2
|
-
import type { Request, Response } from "express";
|
|
3
|
-
export interface PluginSiteContext {
|
|
4
|
-
fqdn: string;
|
|
5
|
-
siteUrl: string;
|
|
6
|
-
siteSchema: ScSiteSchema;
|
|
7
|
-
themeConf: ThemeConf;
|
|
8
|
-
siteLog: AppLog;
|
|
9
|
-
validateRecaptchaResponse: (gRecaptchaResponse: string | undefined) => Promise<boolean>;
|
|
10
|
-
getSiteFieldValue: (options: {
|
|
11
|
-
fieldName: string;
|
|
12
|
-
language?: string;
|
|
13
|
-
}) => Promise<unknown | undefined>;
|
|
14
|
-
sendMail: (
|
|
15
|
-
{ subject, html, replyTo, to }: MailData,
|
|
16
|
-
{
|
|
17
|
-
appLog,
|
|
18
|
-
}: {
|
|
19
|
-
appLog: AppLog;
|
|
20
|
-
},
|
|
21
|
-
) => Promise<void>;
|
|
22
|
-
renderChildPartials(options: {
|
|
23
|
-
req: Request;
|
|
24
|
-
res: Response;
|
|
25
|
-
params: PartialsParamsInput;
|
|
26
|
-
parentDocumentId: ParsedSectionId;
|
|
27
|
-
labeledByTermId?: string;
|
|
28
|
-
}): Promise<void>;
|
|
29
|
-
renderSearchPartials(options: {
|
|
30
|
-
req: Request;
|
|
31
|
-
res: Response;
|
|
32
|
-
language: string;
|
|
33
|
-
words: string[];
|
|
34
|
-
limit: number;
|
|
35
|
-
start: number;
|
|
36
|
-
templateName: string;
|
|
37
|
-
}): Promise<void>;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export interface MailData {
|
|
41
|
-
subject: string;
|
|
42
|
-
html: string;
|
|
43
|
-
replyTo?: ReplyTo;
|
|
44
|
-
to: string;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export interface ReplyTo {
|
|
48
|
-
email: string;
|
|
49
|
-
name: string;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export interface AppLog {
|
|
53
|
-
error(...messages: any[]): void;
|
|
54
|
-
warn(...messages: any[]): void;
|
|
55
|
-
info(...messages: any[]): void;
|
|
56
|
-
debug(...messages: any[]): void;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export interface PartialsParamsInput {
|
|
60
|
-
templateName: string;
|
|
61
|
-
documentId: string;
|
|
62
|
-
offset: string;
|
|
63
|
-
limit: string;
|
|
64
|
-
}
|