@paroicms/public-server-lib 0.40.0 → 0.42.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.
@@ -1 +1,2 @@
1
- export declare function getSolidJsVersion(pluginPath: string): string;
1
+ export declare function esmDirName(url: string): string;
2
+ export declare function getSolidJsVersion(dirName: string): string;
@@ -1,7 +1,11 @@
1
1
  import { readFileSync } from "node:fs";
2
- import { resolve } from "node:path";
3
- export function getSolidJsVersion(pluginPath) {
4
- const packageJsonPath = resolve(pluginPath, "package.json");
2
+ import { dirname, resolve } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ export function esmDirName(url) {
5
+ return dirname(fileURLToPath(url));
6
+ }
7
+ export function getSolidJsVersion(dirName) {
8
+ const packageJsonPath = resolve(dirName, "package.json");
5
9
  const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
6
10
  const version = packageJson.devDependencies["solid-js"];
7
11
  if (!version)
@@ -1 +1 @@
1
- {"version":3,"file":"vite-config.helper.js","sourceRoot":"","sources":["../src/vite-config.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,UAAU,CAAuB,CAAC;IAC9E,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,uCAAuC,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"vite-config.helper.js","sourceRoot":"","sources":["../src/vite-config.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,UAAU,CAAuB,CAAC;IAC9E,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,uCAAuC,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paroicms/public-server-lib",
3
- "version": "0.40.0",
3
+ "version": "0.42.0",
4
4
  "description": "Common utilitaries for paroicms plugins (backend side).",
5
5
  "author": "Paroi Team",
6
6
  "repository": {
@@ -14,14 +14,14 @@
14
14
  "types": "dist/index.d.ts",
15
15
  "scripts": {
16
16
  "build": "tsc",
17
- "test": "vitest",
18
- "test:once": "vitest run",
17
+ "test:watch": "vitest",
18
+ "test": "vitest run",
19
19
  "clear": "rimraf dist/*",
20
20
  "dev": "tsc --watch --preserveWatchOutput"
21
21
  },
22
22
  "dependencies": {
23
- "@paroicms/internal-anywhere-lib": "1.31.10",
24
- "@paroicms/public-anywhere-lib": "0.31.0",
23
+ "@paroicms/internal-anywhere-lib": "1.32.0",
24
+ "@paroicms/public-anywhere-lib": "0.33.0",
25
25
  "arktype": "~2.1.20"
26
26
  },
27
27
  "devDependencies": {
@@ -8,9 +8,11 @@ import type {
8
8
  ReadFieldValue,
9
9
  ResizeRule,
10
10
  ScFieldDataType,
11
+ ScFieldType,
11
12
  ScSiteSchema,
12
13
  SiteIds,
13
14
  ThemeConf,
15
+ UpdateFieldValue,
14
16
  UpdateLabelingFieldValue,
15
17
  WithAttachedData,
16
18
  } from "@paroicms/public-anywhere-lib";
@@ -101,8 +103,23 @@ export interface BackendPluginInitService {
101
103
  tagKind: "injectHtml",
102
104
  handler: PluginLiquidTagReturnsHtmlHandler,
103
105
  ): void;
104
- registerFieldPreprocessor(handler: FieldPreprocessor): void;
105
- registerHook(hookName: string, handler: BackendHookHandler, options?: { unique?: boolean }): void;
106
+ registerHook(
107
+ hookName: "initialized",
108
+ handler: BackendHookHandler<undefined, undefined, void>,
109
+ ): void;
110
+ registerHook(
111
+ hookName: "normalizeTypography",
112
+ handler: BackendHookHandler<string, { language: string }, string>,
113
+ ): void;
114
+ registerHook(
115
+ hookName: "beforeSaveValue",
116
+ handler: BackendHookHandler<
117
+ UpdateFieldValue,
118
+ { fieldType: ScFieldType; language: string | undefined },
119
+ UpdateFieldValue
120
+ >,
121
+ ): void;
122
+ registerRenderingHook(hookName: "fieldPreprocessor", handler: RenderingHookHandler): void;
106
123
  setPublicApiHandler(handler: PublicApiHandler): void;
107
124
  /** @deprecated Use `registerHeadTags` instead. */
108
125
  addHeadTag(...htmlTags: string[]): void;
@@ -117,10 +134,24 @@ export type HeadTagsHandler = (options: {
117
134
  html: string;
118
135
  }) => string[] | string | undefined;
119
136
 
120
- export type BackendHookHandler = (
121
- service: BackendPluginService,
122
- params: any,
123
- ) => Promise<unknown> | unknown;
137
+ export type BackendHookHandler<V = unknown, O = unknown, R = unknown> = (hookPayload: {
138
+ service: BackendPluginService;
139
+ value: V;
140
+ options: O;
141
+ }) => Promise<R> | R;
142
+
143
+ export type RenderingHookHandler = (hookPayload: {
144
+ service: PluginRenderingService;
145
+ options: RenderingHookOptions;
146
+ value: ReadFieldValue;
147
+ }) => ReadFieldValue | undefined | Promise<ReadFieldValue | undefined>;
148
+
149
+ export interface RenderingHookOptions {
150
+ fieldType: ScFieldType;
151
+ language: string;
152
+ absoluteUrls?: boolean;
153
+ outputType?: "plainText";
154
+ }
124
155
 
125
156
  export type PluginLiquidFilterHandler = (
126
157
  service: PluginRenderingService,
@@ -129,10 +160,10 @@ export type PluginLiquidFilterHandler = (
129
160
  /**
130
161
  * The Liquid context
131
162
  */
132
- ctx: any;
133
- args: any[];
163
+ ctx: unknown;
164
+ args: unknown[];
134
165
  },
135
- ) => string | Promise<string>;
166
+ ) => string | undefined | Promise<string | undefined>;
136
167
 
137
168
  export type PluginLiquidTagReturnsVarHandler = (
138
169
  service: PluginRenderingService,
@@ -145,12 +176,6 @@ export type PluginLiquidTagReturnsHtmlHandler = (
145
176
  parameters: { [key: string]: unknown },
146
177
  ) => string | Promise<string>;
147
178
 
148
- export type FieldPreprocessor = (
149
- service: PluginRenderingService,
150
- value: ReadFieldValue,
151
- options: FieldPreprocessorOptions,
152
- ) => ReadFieldValue | undefined | Promise<ReadFieldValue | undefined>;
153
-
154
179
  export type PublicApiHandler = (
155
180
  service: BackendPluginService,
156
181
  httpContext: PaHttpContext,
@@ -165,7 +190,13 @@ export interface BackendPluginService {
165
190
  logger: AppLogger;
166
191
  validateRecaptchaResponse: (gRecaptchaResponse: string | undefined) => Promise<boolean>;
167
192
  sendMail: ({ subject, html, replyTo, to }: MailData) => Promise<void>;
168
- executeHook(hookName: string, params?: any): Promise<unknown[]>;
193
+ executeHook(
194
+ hookName: string,
195
+ hookPayload?: {
196
+ options?: unknown;
197
+ value?: unknown;
198
+ },
199
+ ): Promise<unknown> | unknown;
169
200
  registeredSite: RegisteredSite;
170
201
  configuration: PluginConfiguration;
171
202
  pluginAssetsUrl: string;
@@ -262,11 +293,6 @@ export interface PublicDocument {
262
293
  publishDate: string;
263
294
  }
264
295
 
265
- export interface FieldPreprocessorOptions {
266
- absoluteUrls?: boolean;
267
- outputType?: "plainText";
268
- }
269
-
270
296
  export interface PluginConfigurations {
271
297
  [pluginName: string]: PluginConfiguration;
272
298
  }