@iqx-limited/quick-pdf 1.0.6 → 1.0.7

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,6 @@
1
- export declare const html2pdf: (input: string | URL, base64?: boolean) => Promise<string | Buffer>;
1
+ export type Options = {
2
+ base64?: boolean;
3
+ rules?: object;
4
+ scale?: number;
5
+ };
6
+ export declare const html2pdf: (input: string | URL, options?: Options) => Promise<string | Buffer>;
@@ -2,8 +2,13 @@ import { existsSync } from "fs";
2
2
  import { HtmlValidate } from "html-validate/node";
3
3
  import { chromium } from "playwright";
4
4
  import { fetchHtmlFromUrl, readHtmlFromFilePath } from "../utilies.js";
5
- export const html2pdf = async (input, base64) => {
6
- const validator = new HtmlValidate();
5
+ export const html2pdf = async (input, options = {}) => {
6
+ const validator = new HtmlValidate(options.rules ?? {
7
+ extends: ["html-validate:standard"],
8
+ rules: {
9
+ "no-trailing-whitespace": "off"
10
+ }
11
+ });
7
12
  let htmlContent = input.toString();
8
13
  if (htmlContent.startsWith("http://") || htmlContent.startsWith("https://")) {
9
14
  htmlContent = await fetchHtmlFromUrl(htmlContent);
@@ -16,25 +21,38 @@ export const html2pdf = async (input, base64) => {
16
21
  const browser = await chromium.launch();
17
22
  const page = await browser.newPage();
18
23
  await page.setContent(htmlContent, { waitUntil: "load" });
19
- const pdfBuffer = await page.pdf({ format: "A4", printBackground: true });
24
+ const pdfBuffer = await page.pdf({ format: "A4", printBackground: true, scale: options.scale ?? 1 });
20
25
  await browser.close();
21
- if (base64) {
26
+ if (options.base64 ?? false) {
22
27
  return pdfBuffer.toString("base64");
23
28
  }
24
29
  return pdfBuffer;
25
30
  }
26
31
  else {
27
- return Promise.reject(`Validation Error\n` +
28
- res.results
29
- .map((result) => {
30
- return (`File Path: ${result.filePath}\n` +
31
- result.messages
32
- .map((message) => {
33
- return `Message: ${message.message}\nLine: ${message.line}\nColumn: ${message.column}\nSource: ${result.source}`;
32
+ return Promise.reject({
33
+ valid: false,
34
+ count: {
35
+ errors: res.errorCount,
36
+ warnings: res.warningCount
37
+ },
38
+ validation: res.results.map(res => {
39
+ return {
40
+ file: res.filePath,
41
+ count: {
42
+ errors: res.errorCount,
43
+ warnings: res.warningCount
44
+ },
45
+ messages: res.messages.map(msg => {
46
+ return {
47
+ message: msg.message,
48
+ line: msg.line,
49
+ column: msg.column,
50
+ ruleId: msg.ruleId
51
+ };
34
52
  })
35
- .join("\n"));
53
+ };
36
54
  })
37
- .join("\n"));
55
+ });
38
56
  }
39
57
  });
40
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"html2pdf.js","sourceRoot":"","sources":["../../src/modules/html2pdf.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAStE,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,KAAmB,EACnB,MAAgB,EAChB,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,YAAY,EAAG,CAAA;IAErC,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAG,CAAA;IAGnC,IAAK,WAAW,CAAC,UAAU,CAAG,SAAS,CAAE,IAAI,WAAW,CAAC,UAAU,CAAG,UAAU,CAAE,EAAG,CAAC;QACpF,WAAW,GAAG,MAAM,gBAAgB,CAAG,WAAW,CAAE,CAAA;IACtD,CAAC;SAEI,IAAK,UAAU,CAAG,KAAK,CAAE,EAAG,CAAC;QAChC,WAAW,GAAG,MAAM,oBAAoB,CAAG,WAAW,CAAE,CAAA;IAC1D,CAAC;IAED,OAAO,SAAS,CAAC,cAAc,CAAG,WAAW,CAAE,CAAC,IAAI,CAAG,KAAK,EAAG,GAAG,EAAG,EAAE;QACrE,IAAK,GAAG,CAAC,KAAK,EAAG,CAAC;YAChB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAG,CAAA;YACxC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAG,CAAA;YACrC,MAAM,IAAI,CAAC,UAAU,CAAG,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAE,CAAA;YAC5D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAG,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAE,CAAA;YAC5E,MAAM,OAAO,CAAC,KAAK,EAAG,CAAA;YACtB,IAAK,MAAM,EAAG,CAAC;gBACb,OAAO,SAAS,CAAC,QAAQ,CAAG,QAAQ,CAAE,CAAA;YACxC,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;aAAM,CAAC;YAEN,OAAO,OAAO,CAAC,MAAM,CACnB,oBAAoB;gBAClB,GAAG,CAAC,OAAO;qBACR,GAAG,CAAG,CAAE,MAAM,EAAG,EAAE;oBAClB,OAAO,CACL,cAAc,MAAM,CAAC,QAAQ,IAAI;wBACjC,MAAM,CAAC,QAAQ;6BACZ,GAAG,CAAG,CAAE,OAAO,EAAG,EAAE;4BACnB,OAAO,YAAY,OAAO,CAAC,OAAO,WAAW,OAAO,CAAC,IAAI,aAAa,OAAO,CAAC,MAAM,aAAa,MAAM,CAAC,MAAM,EAAE,CAAA;wBAClH,CAAC,CAAE;6BACF,IAAI,CAAG,IAAI,CAAE,CACjB,CAAA;gBACH,CAAC,CAAE;qBACF,IAAI,CAAG,IAAI,CAAE,CACnB,CAAA;QACH,CAAC;IACH,CAAC,CAAE,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"html2pdf.js","sourceRoot":"","sources":["../../src/modules/html2pdf.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AA2BtE,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,KAAmB,EACnB,UAAmB,EAAG,EACtB,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,YAAY,CAAG,OAAO,CAAC,KAAK,IAAI;QACpD,OAAO,EAAE,CAAE,wBAAwB,CAAE;QACrC,KAAK,EAAE;YACL,wBAAwB,EAAE,KAAK;SAChC;KACF,CAAE,CAAA;IAEH,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAG,CAAA;IAGnC,IAAK,WAAW,CAAC,UAAU,CAAG,SAAS,CAAE,IAAI,WAAW,CAAC,UAAU,CAAG,UAAU,CAAE,EAAG,CAAC;QACpF,WAAW,GAAG,MAAM,gBAAgB,CAAG,WAAW,CAAE,CAAA;IACtD,CAAC;SAEI,IAAK,UAAU,CAAG,KAAK,CAAE,EAAG,CAAC;QAChC,WAAW,GAAG,MAAM,oBAAoB,CAAG,WAAW,CAAE,CAAA;IAC1D,CAAC;IAED,OAAO,SAAS,CAAC,cAAc,CAAG,WAAW,CAAE,CAAC,IAAI,CAAG,KAAK,EAAG,GAAG,EAAG,EAAE;QACrE,IAAK,GAAG,CAAC,KAAK,EAAG,CAAC;YAChB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAG,CAAA;YACxC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAG,CAAA;YACrC,MAAM,IAAI,CAAC,UAAU,CAAG,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAE,CAAA;YAC5D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAG,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAE,CAAA;YACvG,MAAM,OAAO,CAAC,KAAK,EAAI,CAAA;YACvB,IAAK,OAAO,CAAC,MAAM,IAAI,KAAK,EAAG,CAAC;gBAC9B,OAAO,SAAS,CAAC,QAAQ,CAAG,QAAQ,CAAE,CAAA;YACxC,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;aAAM,CAAC;YAEN,OAAO,OAAO,CAAC,MAAM,CAAG;gBACtB,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE;oBACL,MAAM,EAAE,GAAG,CAAC,UAAU;oBACtB,QAAQ,EAAE,GAAG,CAAC,YAAY;iBAC3B;gBACD,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAG,GAAG,CAAC,EAAE;oBAClC,OAAO;wBACL,IAAI,EAAE,GAAG,CAAC,QAAQ;wBAClB,KAAK,EAAE;4BACL,MAAM,EAAE,GAAG,CAAC,UAAU;4BACtB,QAAQ,EAAE,GAAG,CAAC,YAAY;yBAC3B;wBACD,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAG,GAAG,CAAC,EAAE;4BACjC,OAAO;gCACL,OAAO,EAAE,GAAG,CAAC,OAAO;gCACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gCACd,MAAM,EAAE,GAAG,CAAC,MAAM;gCAClB,MAAM,EAAE,GAAG,CAAC,MAAM;6BACnB,CAAA;wBACH,CAAC,CAAE;qBACJ,CAAA;gBACH,CAAC,CAAE;aACJ,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAE,CAAA;AACL,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iqx-limited/quick-pdf",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "author": "IQX",
5
5
  "description": "Converting PDFs to images (📃 to 📸)",
6
6
  "type": "module",