chromiumly 2.3.1 → 2.4.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.
@@ -14,9 +14,14 @@ class HtmlConverter extends converter_1.Converter {
14
14
  }
15
15
  convert({ html, header, footer, properties, pdfFormat, pdfUA, emulatedMediaType, waitDelay, waitForExpression, userAgent, extraHttpHeaders, failOnConsoleExceptions, }) {
16
16
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
17
- yield fs_1.promises.access(html, fs_1.constants.R_OK);
18
17
  const data = new form_data_1.default();
19
- data.append("index.html", (0, fs_1.createReadStream)(html));
18
+ if (Buffer.isBuffer(html)) {
19
+ data.append("files", html, "index.html");
20
+ }
21
+ else {
22
+ yield fs_1.promises.access(html, fs_1.constants.R_OK);
23
+ data.append("files", (0, fs_1.createReadStream)(html), "index.html");
24
+ }
20
25
  converter_utils_1.ConverterUtils.customize(data, {
21
26
  header,
22
27
  footer,
@@ -1 +1 @@
1
- {"version":3,"file":"html.converter.js","sourceRoot":"","sources":["../../../src/chromium/converters/html.converter.ts"],"names":[],"mappings":";;;;AAAA,2BAAqE;AAErE,kEAAiC;AAEjC,yCAAyD;AAKzD,8DAA0D;AAC1D,2CAAwC;AACxC,mDAAkD;AAElD,MAAa,aAAc,SAAQ,qBAAS;IAC1C;QACE,KAAK,CAAC,2BAAa,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEK,OAAO,CAAC,EACZ,IAAI,EACJ,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,uBAAuB,GAcxB;;YACC,MAAM,aAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,cAAS,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAA,qBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;YAElD,gCAAc,CAAC,SAAS,CAAC,IAAI,EAAE;gBAC7B,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,SAAS;gBACT,KAAK;gBACL,iBAAiB;gBACjB,SAAS;gBACT,iBAAiB;gBACjB,SAAS;gBACT,gBAAgB;gBAChB,uBAAuB;aACxB,CAAC,CAAC;YAEH,OAAO,uBAAc,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AArDD,sCAqDC"}
1
+ {"version":3,"file":"html.converter.js","sourceRoot":"","sources":["../../../src/chromium/converters/html.converter.ts"],"names":[],"mappings":";;;;AAAA,2BAAqE;AAErE,kEAAiC;AAEjC,yCAAyD;AAKzD,8DAA0D;AAC1D,2CAAwC;AACxC,mDAAkD;AAElD,MAAa,aAAc,SAAQ,qBAAS;IAC1C;QACE,KAAK,CAAC,2BAAa,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEK,OAAO,CAAC,EACZ,IAAI,EACJ,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,uBAAuB,GAcxB;;YACC,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;YAE5B,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,cAAS,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,qBAAgB,EAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;YAC7D,CAAC;YAED,gCAAc,CAAC,SAAS,CAAC,IAAI,EAAE;gBAC7B,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,SAAS;gBACT,KAAK;gBACL,iBAAiB;gBACjB,SAAS;gBACT,iBAAiB;gBACjB,SAAS;gBACT,gBAAgB;gBAChB,uBAAuB;aACxB,CAAC,CAAC;YAEH,OAAO,uBAAc,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AAzDD,sCAyDC"}
@@ -14,11 +14,21 @@ class MarkdownConverter extends converter_1.Converter {
14
14
  }
15
15
  convert({ html, markdown, header, footer, properties, pdfFormat, pdfUA, emulatedMediaType, waitDelay, waitForExpression, userAgent, extraHttpHeaders, failOnConsoleExceptions, }) {
16
16
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
17
- yield fs_1.promises.access(html, fs_1.constants.R_OK);
18
- yield fs_1.promises.access(markdown, fs_1.constants.R_OK);
19
17
  const data = new form_data_1.default();
20
- data.append("index.html", (0, fs_1.createReadStream)(html));
21
- data.append("file.md", (0, fs_1.createReadStream)(markdown));
18
+ if (Buffer.isBuffer(html)) {
19
+ data.append("files", html, "index.html");
20
+ }
21
+ else {
22
+ yield fs_1.promises.access(html, fs_1.constants.R_OK);
23
+ data.append("files", (0, fs_1.createReadStream)(html), "index.html");
24
+ }
25
+ if (Buffer.isBuffer(markdown)) {
26
+ data.append("files", (0, fs_1.createReadStream)(markdown), "file.md");
27
+ }
28
+ else {
29
+ yield fs_1.promises.access(markdown, fs_1.constants.R_OK);
30
+ data.append("file.md", (0, fs_1.createReadStream)(markdown));
31
+ }
22
32
  converter_utils_1.ConverterUtils.customize(data, {
23
33
  header,
24
34
  footer,
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.converter.js","sourceRoot":"","sources":["../../../src/chromium/converters/markdown.converter.ts"],"names":[],"mappings":";;;;AAAA,2BAAqE;AAErE,kEAAiC;AAEjC,yCAAyD;AAKzD,8DAA0D;AAC1D,2CAAwC;AACxC,mDAAkD;AAElD,MAAa,iBAAkB,SAAQ,qBAAS;IAC9C;QACE,KAAK,CAAC,2BAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAEK,OAAO,CAAC,EACZ,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,uBAAuB,GAexB;;YACC,MAAM,aAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,cAAS,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,aAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAS,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAA,qBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAA,qBAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC;YAEnD,gCAAc,CAAC,SAAS,CAAC,IAAI,EAAE;gBAC7B,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,SAAS;gBACT,KAAK;gBACL,iBAAiB;gBACjB,SAAS;gBACT,iBAAiB;gBACjB,SAAS;gBACT,gBAAgB;gBAChB,uBAAuB;aACxB,CAAC,CAAC;YAEH,OAAO,uBAAc,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AAzDD,8CAyDC"}
1
+ {"version":3,"file":"markdown.converter.js","sourceRoot":"","sources":["../../../src/chromium/converters/markdown.converter.ts"],"names":[],"mappings":";;;;AAAA,2BAAqE;AAErE,kEAAiC;AAEjC,yCAAyD;AAKzD,8DAA0D;AAC1D,2CAAwC;AACxC,mDAAkD;AAElD,MAAa,iBAAkB,SAAQ,qBAAS;IAC9C;QACE,KAAK,CAAC,2BAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAEK,OAAO,CAAC,EACZ,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,uBAAuB,GAexB;;YACC,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;YAE5B,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,cAAS,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,qBAAgB,EAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,qBAAgB,EAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAS,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAA,qBAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC;YACrD,CAAC;YAED,gCAAc,CAAC,SAAS,CAAC,IAAI,EAAE;gBAC7B,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,SAAS;gBACT,KAAK;gBACL,iBAAiB;gBACjB,SAAS;gBACT,iBAAiB;gBACjB,SAAS;gBACT,gBAAgB;gBAChB,uBAAuB;aACxB,CAAC,CAAC;YAEH,OAAO,uBAAc,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AAlED,8CAkEC"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { PathLike } from "fs";
3
4
  import { PdfFormat } from "../../common";
4
5
  type PageSize = {
@@ -26,8 +27,8 @@ export type PageProperties = {
26
27
  };
27
28
  export type EmulatedMediaType = "screen" | "print";
28
29
  export type ConversionOptions = {
29
- header?: PathLike;
30
- footer?: PathLike;
30
+ header?: PathLike | Buffer;
31
+ footer?: PathLike | Buffer;
31
32
  properties?: PageProperties;
32
33
  pdfFormat?: PdfFormat;
33
34
  pdfUA?: boolean;
@@ -54,12 +54,24 @@ class ConverterUtils {
54
54
  data.append("pdfua", String(options.pdfUA));
55
55
  }
56
56
  if (options.header) {
57
- yield fs_1.promises.access(options.header, fs_1.constants.R_OK);
58
- data.append("header.html", (0, fs_1.createReadStream)(options.header));
57
+ const { header } = options;
58
+ if (Buffer.isBuffer(header)) {
59
+ data.append("files", header, "header.html");
60
+ }
61
+ else {
62
+ yield fs_1.promises.access(options.header, fs_1.constants.R_OK);
63
+ data.append("files", (0, fs_1.createReadStream)(options.header), "header.html");
64
+ }
59
65
  }
60
66
  if (options.footer) {
61
- yield fs_1.promises.access(options.footer, fs_1.constants.R_OK);
62
- data.append("footer.html", (0, fs_1.createReadStream)(options.footer));
67
+ const { footer } = options;
68
+ if (Buffer.isBuffer(footer)) {
69
+ data.append("files", footer, "footer.html");
70
+ }
71
+ else {
72
+ yield fs_1.promises.access(options.footer, fs_1.constants.R_OK);
73
+ data.append("files", (0, fs_1.createReadStream)(options.footer), "footer.html");
74
+ }
63
75
  }
64
76
  if (options.emulatedMediaType) {
65
77
  data.append("emulatedMediaType", options.emulatedMediaType);
@@ -1 +1 @@
1
- {"version":3,"file":"converter.utils.js","sourceRoot":"","sources":["../../../src/chromium/utils/converter.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"converter.utils.js","sourceRoot":"","sources":["../../../src/chromium/utils/converter.utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chromiumly",
3
- "version": "2.3.1",
3
+ "version": "2.4.0",
4
4
  "description": "A lightweight Typescript library that interacts with Gotenberg's different modules to convert a variety of document formats to PDF files.",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",
@@ -43,10 +43,14 @@ export class HtmlConverter extends Converter {
43
43
  extraHttpHeaders?: Record<string, string>;
44
44
  failOnConsoleExceptions?: boolean;
45
45
  }): Promise<Buffer> {
46
- await promises.access(html, constants.R_OK);
47
46
  const data = new FormData();
48
47
 
49
- data.append("index.html", createReadStream(html));
48
+ if (Buffer.isBuffer(html)) {
49
+ data.append("files", html, "index.html");
50
+ } else {
51
+ await promises.access(html, constants.R_OK);
52
+ data.append("files", createReadStream(html), "index.html");
53
+ }
50
54
 
51
55
  ConverterUtils.customize(data, {
52
56
  header,
@@ -45,12 +45,21 @@ export class MarkdownConverter extends Converter {
45
45
  extraHttpHeaders?: Record<string, string>;
46
46
  failOnConsoleExceptions?: boolean;
47
47
  }): Promise<Buffer> {
48
- await promises.access(html, constants.R_OK);
49
- await promises.access(markdown, constants.R_OK);
50
48
  const data = new FormData();
51
49
 
52
- data.append("index.html", createReadStream(html));
53
- data.append("file.md", createReadStream(markdown));
50
+ if (Buffer.isBuffer(html)) {
51
+ data.append("files", html, "index.html");
52
+ } else {
53
+ await promises.access(html, constants.R_OK);
54
+ data.append("files", createReadStream(html), "index.html");
55
+ }
56
+
57
+ if (Buffer.isBuffer(markdown)) {
58
+ data.append("files", createReadStream(markdown), "file.md");
59
+ } else {
60
+ await promises.access(markdown, constants.R_OK);
61
+ data.append("file.md", createReadStream(markdown));
62
+ }
54
63
 
55
64
  ConverterUtils.customize(data, {
56
65
  header,
@@ -44,6 +44,17 @@ describe("HtmlConverter", () => {
44
44
  });
45
45
  });
46
46
 
47
+ describe("when buffer is passed", () => {
48
+ it("should return a buffer", async () => {
49
+ mockPromisesAccess.mockResolvedValue();
50
+ mockFetch.mockResolvedValue(new Response("content"));
51
+ const buffer = await converter.convert({
52
+ html: Buffer.from("html"),
53
+ });
54
+ expect(buffer).toEqual(Buffer.from("content"));
55
+ });
56
+ });
57
+
47
58
  describe("when pdf format parameter is passed", () => {
48
59
  it("should return a buffer", async () => {
49
60
  mockPromisesAccess.mockResolvedValue();
@@ -35,7 +35,7 @@ describe("MarkdownConverter", () => {
35
35
  .mockImplementation((file) => file);
36
36
  });
37
37
 
38
- describe("when file exists", () => {
38
+ describe("when files exist", () => {
39
39
  it("should return a buffer", async () => {
40
40
  mockPromisesAccess.mockResolvedValue();
41
41
  mockFetch.mockResolvedValue(new Response("content"));
@@ -47,6 +47,18 @@ describe("MarkdownConverter", () => {
47
47
  });
48
48
  });
49
49
 
50
+ describe("when buffers passed", () => {
51
+ it("should return a buffer", async () => {
52
+ mockPromisesAccess.mockResolvedValue();
53
+ mockFetch.mockResolvedValue(new Response("content"));
54
+ const buffer = await converter.convert({
55
+ html: Buffer.from("html"),
56
+ markdown: Buffer.from("markdown"),
57
+ });
58
+ expect(buffer).toEqual(Buffer.from("content"));
59
+ });
60
+ });
61
+
50
62
  describe("when pdf format parameter is passed", () => {
51
63
  it("should return a buffer", async () => {
52
64
  mockPromisesAccess.mockResolvedValue();
@@ -27,8 +27,8 @@ export type PageProperties = {
27
27
  export type EmulatedMediaType = "screen" | "print";
28
28
 
29
29
  export type ConversionOptions = {
30
- header?: PathLike;
31
- footer?: PathLike;
30
+ header?: PathLike | Buffer;
31
+ footer?: PathLike | Buffer;
32
32
  properties?: PageProperties;
33
33
  pdfFormat?: PdfFormat;
34
34
  pdfUA?: boolean; // Enable PDF for Universal Access for optimal accessibility (default false)
@@ -94,13 +94,23 @@ export class ConverterUtils {
94
94
  }
95
95
 
96
96
  if (options.header) {
97
- await promises.access(options.header, constants.R_OK);
98
- data.append("header.html", createReadStream(options.header));
97
+ const { header } = options;
98
+ if (Buffer.isBuffer(header)) {
99
+ data.append("files", header, "header.html");
100
+ } else {
101
+ await promises.access(options.header, constants.R_OK);
102
+ data.append("files", createReadStream(options.header), "header.html");
103
+ }
99
104
  }
100
105
 
101
106
  if (options.footer) {
102
- await promises.access(options.footer, constants.R_OK);
103
- data.append("footer.html", createReadStream(options.footer));
107
+ const { footer } = options;
108
+ if (Buffer.isBuffer(footer)) {
109
+ data.append("files", footer, "footer.html");
110
+ } else {
111
+ await promises.access(options.footer, constants.R_OK);
112
+ data.append("files", createReadStream(options.footer), "footer.html");
113
+ }
104
114
  }
105
115
 
106
116
  if (options.emulatedMediaType) {
@@ -127,7 +127,7 @@ describe("ConverterUtils", () => {
127
127
  });
128
128
  });
129
129
 
130
- describe("when header parameter is passed", () => {
130
+ describe("when header parameter is passed as file", () => {
131
131
  it("should append header", async () => {
132
132
  mockPromisesAccess.mockResolvedValue();
133
133
  await ConverterUtils.customize(data, {
@@ -135,13 +135,29 @@ describe("ConverterUtils", () => {
135
135
  });
136
136
  expect(mockFormDataAppend).toHaveBeenCalledTimes(1);
137
137
  expect(data.append).toHaveBeenCalledWith(
138
- "header.html",
139
- "path/to/header.html"
138
+ "files",
139
+ "path/to/header.html",
140
+ "header.html"
140
141
  );
141
142
  });
142
143
  });
143
144
 
144
- describe("when footer parameter is passed", () => {
145
+ describe("when header parameter is passed as buffer", () => {
146
+ it("should append header", async () => {
147
+ mockPromisesAccess.mockResolvedValue();
148
+ await ConverterUtils.customize(data, {
149
+ header: Buffer.from("header"),
150
+ });
151
+ expect(mockFormDataAppend).toHaveBeenCalledTimes(1);
152
+ expect(data.append).toHaveBeenCalledWith(
153
+ "files",
154
+ Buffer.from("header"),
155
+ "header.html"
156
+ );
157
+ });
158
+ });
159
+
160
+ describe("when footer parameter is passed as file", () => {
145
161
  it("should append footer", async () => {
146
162
  mockPromisesAccess.mockResolvedValue();
147
163
  await ConverterUtils.customize(data, {
@@ -149,8 +165,24 @@ describe("ConverterUtils", () => {
149
165
  });
150
166
  expect(mockFormDataAppend).toHaveBeenCalledTimes(1);
151
167
  expect(data.append).toHaveBeenCalledWith(
152
- "footer.html",
153
- "path/to/footer.html"
168
+ "files",
169
+ "path/to/footer.html",
170
+ "footer.html"
171
+ );
172
+ });
173
+ });
174
+
175
+ describe("when footer parameter is passed as buffer", () => {
176
+ it("should append footer", async () => {
177
+ mockPromisesAccess.mockResolvedValue();
178
+ await ConverterUtils.customize(data, {
179
+ footer: Buffer.from("footer"),
180
+ });
181
+ expect(mockFormDataAppend).toHaveBeenCalledTimes(1);
182
+ expect(data.append).toHaveBeenCalledWith(
183
+ "files",
184
+ Buffer.from("footer"),
185
+ "footer.html"
154
186
  );
155
187
  });
156
188
  });
@@ -285,13 +317,15 @@ describe("ConverterUtils", () => {
285
317
  expect(data.append).toHaveBeenNthCalledWith(2, "pdfua", "true");
286
318
  expect(data.append).toHaveBeenNthCalledWith(
287
319
  3,
288
- "header.html",
289
- "path/to/header.html"
320
+ "files",
321
+ "path/to/header.html",
322
+ "header.html"
290
323
  );
291
324
  expect(data.append).toHaveBeenNthCalledWith(
292
325
  4,
293
- "footer.html",
294
- "path/to/footer.html"
326
+ "files",
327
+ "path/to/footer.html",
328
+ "footer.html"
295
329
  );
296
330
  expect(data.append).toHaveBeenNthCalledWith(
297
331
  5,