@paroicms/public-server-lib 0.25.0 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/simple-i18n.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ScSchemaLocales, ScTranslations } from "@paroicms/public-anywhere-lib";
|
|
2
|
-
import type { AppLogger } from "../types/backend-plugin-types.ts";
|
|
2
|
+
import type { AppLogger } from "../types/backend-plugin-types.d.ts";
|
|
3
3
|
export interface SimpleTranslator {
|
|
4
4
|
translate: (options: SimpleTranslateOptions) => string;
|
|
5
5
|
}
|
|
@@ -19,4 +19,4 @@ export declare function createSimpleTranslator(options: {
|
|
|
19
19
|
[language: string]: ScTranslations;
|
|
20
20
|
} | ScSchemaLocales;
|
|
21
21
|
logger: Pick<AppLogger, "warn">;
|
|
22
|
-
}):
|
|
22
|
+
}): SimpleTranslator;
|
package/dist/simple-i18n.js
CHANGED
|
@@ -7,7 +7,7 @@ export async function loadSimpleTranslatorFromDirectory(options) {
|
|
|
7
7
|
translate: (options) => translate(labels, options),
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
|
-
export
|
|
10
|
+
export function createSimpleTranslator(options) {
|
|
11
11
|
const labels = new Map(Object.entries(options.labels).map(([k, v]) => [k, flattenLocales(v)]));
|
|
12
12
|
return {
|
|
13
13
|
translate: (options) => translate(labels, options),
|
package/dist/simple-i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-i18n.js","sourceRoot":"","sources":["../src/simple-i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAcjC,MAAM,CAAC,KAAK,UAAU,iCAAiC,CAAC,OAIvD;IACC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO;QACL,SAAS,EAAE,CAAC,OAA+B,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"simple-i18n.js","sourceRoot":"","sources":["../src/simple-i18n.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.26.0",
|
|
4
4
|
"description": "Common utilitaries for paroicms plugins (backend side).",
|
|
5
5
|
"author": "Paroi Team",
|
|
6
6
|
"repository": {
|
|
@@ -21,15 +21,15 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@paroi/data-formatters-lib": "~0.4.0",
|
|
24
|
-
"@paroicms/internal-anywhere-lib": "1.
|
|
25
|
-
"@paroicms/public-anywhere-lib": "0.
|
|
24
|
+
"@paroicms/internal-anywhere-lib": "1.25.0",
|
|
25
|
+
"@paroicms/public-anywhere-lib": "0.19.0",
|
|
26
26
|
"@types/express": "~4.17.21"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@types/node": "~22.10
|
|
29
|
+
"@types/node": "~22.13.10",
|
|
30
30
|
"rimraf": "~6.0.1",
|
|
31
|
-
"typescript": "~5.
|
|
32
|
-
"vitest": "~3.0.
|
|
31
|
+
"typescript": "~5.8.2",
|
|
32
|
+
"vitest": "~3.0.5"
|
|
33
33
|
},
|
|
34
34
|
"files": [
|
|
35
35
|
"dist",
|
|
@@ -3,7 +3,9 @@ import type {
|
|
|
3
3
|
FieldValue,
|
|
4
4
|
ImageSize,
|
|
5
5
|
ParsedNodelId,
|
|
6
|
+
ScFieldDataType,
|
|
6
7
|
ScSiteSchema,
|
|
8
|
+
SiteIds,
|
|
7
9
|
ThemeConf,
|
|
8
10
|
} from "@paroicms/public-anywhere-lib";
|
|
9
11
|
import type { Request, Response } from "express";
|
|
@@ -75,6 +77,16 @@ export interface BackendPluginService {
|
|
|
75
77
|
executeHook<T = unknown>(hookName: string, params?: any): T[];
|
|
76
78
|
pluginConf: PluginConf;
|
|
77
79
|
pluginAssetsUrl: string;
|
|
80
|
+
registerNewSite: (options: NewSiteOptions) => Promise<Readonly<SiteConf>>;
|
|
81
|
+
/** This is the connector of the running instance of ParoiCMS. */
|
|
82
|
+
connector: RunningInstanceConnector;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export interface NewSiteOptions {
|
|
86
|
+
packName: string;
|
|
87
|
+
siteDir: string;
|
|
88
|
+
domain: string;
|
|
89
|
+
version?: string;
|
|
78
90
|
}
|
|
79
91
|
|
|
80
92
|
export interface BackendPluginRenderService extends BackendPluginService {
|
|
@@ -160,3 +172,139 @@ export interface PartialsParamsInput {
|
|
|
160
172
|
offset: string;
|
|
161
173
|
limit: string;
|
|
162
174
|
}
|
|
175
|
+
export interface SiteConf {
|
|
176
|
+
fqdn: string;
|
|
177
|
+
siteName: string;
|
|
178
|
+
version?: string;
|
|
179
|
+
siteDir: string;
|
|
180
|
+
dataDir: string;
|
|
181
|
+
cacheDir: string;
|
|
182
|
+
backupDir: string;
|
|
183
|
+
siteUrl: string;
|
|
184
|
+
/**
|
|
185
|
+
* This status can be mutated.
|
|
186
|
+
*/
|
|
187
|
+
loadedOnce: boolean;
|
|
188
|
+
redirectWww?: boolean;
|
|
189
|
+
trusted: boolean;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
export type SitePackConf = FqdnSitePackConf | SubDomainSitePackConf;
|
|
193
|
+
|
|
194
|
+
export interface SitePackConfBase {
|
|
195
|
+
packName: string;
|
|
196
|
+
sitesDir?: string;
|
|
197
|
+
dataDir: string;
|
|
198
|
+
cacheDir: string;
|
|
199
|
+
backupDir: string;
|
|
200
|
+
redirectWww?: boolean;
|
|
201
|
+
trusted: boolean;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export interface FqdnSitePackConf extends SitePackConfBase {
|
|
205
|
+
serveOn: "fqdn";
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
export interface SubDomainSitePackConf extends SitePackConfBase {
|
|
209
|
+
serveOn: "subDomain";
|
|
210
|
+
parentDomain: string;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export interface RunningInstanceConnector {
|
|
214
|
+
getSitePackConf(packName: string): SitePackConf;
|
|
215
|
+
loadSiteSchemaAndIds(fqdn: string): Promise<SiteSchemaAndIds>;
|
|
216
|
+
updateSiteFields(fqdn: string, fields: NcFieldSetContent): Promise<void>;
|
|
217
|
+
updateDocumentContent(
|
|
218
|
+
fqdn: string,
|
|
219
|
+
options: {
|
|
220
|
+
nodeId: string;
|
|
221
|
+
content: NcDocumentContent;
|
|
222
|
+
},
|
|
223
|
+
): Promise<void>;
|
|
224
|
+
addMultipleDocumentContents(
|
|
225
|
+
fqdn: string,
|
|
226
|
+
options: {
|
|
227
|
+
parentNodeId: string;
|
|
228
|
+
contents: NcDocumentContent[];
|
|
229
|
+
},
|
|
230
|
+
): Promise<void>;
|
|
231
|
+
addMultiplePartContents(
|
|
232
|
+
fqdn: string,
|
|
233
|
+
options: {
|
|
234
|
+
parentNodeId: string;
|
|
235
|
+
contents: NcPartContent[];
|
|
236
|
+
},
|
|
237
|
+
): Promise<void>;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
export interface SiteSchemaAndIds {
|
|
241
|
+
siteSchema: ScSiteSchema;
|
|
242
|
+
siteIds: SiteIds;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/** "Nc" stands for Node Content. */
|
|
246
|
+
export type NcNodeContent = NcDocumentContent | NcPartContent;
|
|
247
|
+
|
|
248
|
+
export interface NcDocumentContent {
|
|
249
|
+
kind: "document";
|
|
250
|
+
typeName: string;
|
|
251
|
+
title?: { [language: string]: string };
|
|
252
|
+
featuredImage?: NcMediaValue;
|
|
253
|
+
fields: NcFieldSetContent;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
export interface NcPartContent {
|
|
257
|
+
kind: "part";
|
|
258
|
+
typeName: string;
|
|
259
|
+
fields: NcFieldSetContent;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
export interface NcFieldSetContent {
|
|
263
|
+
[fieldName: string]: NcFieldContent;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
export type NcFieldContent =
|
|
267
|
+
| NcStringContent
|
|
268
|
+
| NcNumberContent
|
|
269
|
+
| NcBooleanContent
|
|
270
|
+
| NcQuillDeltaContent
|
|
271
|
+
| NcMediaContent
|
|
272
|
+
| NcGalleryContent;
|
|
273
|
+
|
|
274
|
+
export type NcStringContent = NcFieldContentTemplate<"string", string>;
|
|
275
|
+
export type NcNumberContent = NcFieldContentTemplate<"number", number>;
|
|
276
|
+
export type NcBooleanContent = NcFieldContentTemplate<"boolean", boolean>;
|
|
277
|
+
export type NcQuillDeltaContent = NcFieldContentTemplate<"quillDelta", QuillDeltaValue>;
|
|
278
|
+
export type NcMediaContent = NcFieldContentTemplate<"media", NcMediaValue>;
|
|
279
|
+
export type NcGalleryContent = NcFieldContentTemplate<"gallery", NcGalleryValue>;
|
|
280
|
+
|
|
281
|
+
export type NcFieldContentTemplate<T extends ScFieldDataType, V> =
|
|
282
|
+
| NcLocalizedFieldContent<T, V>
|
|
283
|
+
| NcUnlocalizedFieldContent<T, V>;
|
|
284
|
+
|
|
285
|
+
export interface NcLocalizedFieldContent<T extends ScFieldDataType, V> {
|
|
286
|
+
dataType: T;
|
|
287
|
+
localized: true;
|
|
288
|
+
value: {
|
|
289
|
+
[language: string]: V | null;
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
export interface NcUnlocalizedFieldContent<T extends ScFieldDataType, V> {
|
|
294
|
+
dataType: T;
|
|
295
|
+
localized: false;
|
|
296
|
+
value: V | null;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
export interface NcMediaValue {
|
|
300
|
+
file: string;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
export interface NcGalleryValue {
|
|
304
|
+
files: string[];
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
// TODO: replace with markdown content. The plugin should convert markdown to quill delta.
|
|
308
|
+
export interface QuillDeltaValue {
|
|
309
|
+
ops: any[];
|
|
310
|
+
}
|