polotno-node 2.5.1 → 2.6.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/README.md CHANGED
@@ -191,6 +191,16 @@ const url = await instance.jsonToPDFDataURL(json, {
191
191
  });
192
192
  ```
193
193
 
194
+ ### `attrs.skipFontError`
195
+
196
+ If `skipFontError` is true, it will not throw error font is not loaded or not defined. By default it is `false`.
197
+
198
+ ```js
199
+ const url = await instance.jsonToPDFDataURL(json, {
200
+ skipFontError: true,
201
+ });
202
+ ```
203
+
194
204
  ### `instance.run()`
195
205
 
196
206
  Run any Polotno store API directly inside web-page context.
package/index.js CHANGED
@@ -69,6 +69,9 @@ module.exports.createInstance = async ({
69
69
  ],
70
70
  defaultViewport: chrome.defaultViewport,
71
71
  headless: 'new',
72
+ // make default protocol timeout bigger
73
+ // because some clients had issues with it
74
+ protocolTimeout: 10 * 60 * 1000,
72
75
  executablePath: isMacOs ? undefined : await chrome.executablePath(),
73
76
  ignoreHTTPSErrors: true,
74
77
  });
package/instance.js CHANGED
@@ -124,7 +124,12 @@ module.exports.createInstance = async ({
124
124
  const result = await page.evaluate(func, ...args);
125
125
  const error = await page.evaluate(() => window._polotnoError);
126
126
  if (error) {
127
- throw new Error(error);
127
+ const message = error.toString();
128
+ const isFontError = message.indexOf('Timeout for loading font') >= 0;
129
+ const skipError = isFontError && args[1]?.skipFontError;
130
+ if (!skipError) {
131
+ throw new Error(error);
132
+ }
128
133
  }
129
134
  if (useParallelPages) {
130
135
  await page.close();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polotno-node",
3
- "version": "2.5.1",
3
+ "version": "2.6.1",
4
4
  "description": "Polotno workflow from NodeJS",
5
5
  "main": "index.js",
6
6
  "scripts": {