chromiumly 3.1.0 → 3.2.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/README.md CHANGED
@@ -265,6 +265,9 @@ type ImageProperties = {
265
265
  format: "png" | "jpeg" | "webp"; //The image compression format, either "png", "jpeg" or "webp".
266
266
  quality?: number; // The compression quality from range 0 to 100 (jpeg only).
267
267
  omitBackground?: boolean; // Hide the default white background and allow generating screenshots with transparency.
268
+ width?: number; // The device screen width in pixels (default 800).
269
+ height?: number; // The device screen height in pixels (default 600).
270
+ clip?: boolean; // Define whether to clip the screenshot according to the device dimensions (default false).
268
271
  };
269
272
  ```
270
273
 
@@ -3,6 +3,9 @@ export type ImageProperties = {
3
3
  format: 'png' | 'jpeg' | 'webp';
4
4
  quality?: number;
5
5
  omitBackground?: boolean;
6
+ width?: number;
7
+ height?: number;
8
+ clip?: boolean;
6
9
  };
7
10
  export type ScreenshotOptions = ChromiumOptions & {
8
11
  properties?: ImageProperties;
@@ -23,6 +23,15 @@ class ScreenshotUtils {
23
23
  if (imageProperties.omitBackground) {
24
24
  data.append('omitBackground', String(imageProperties.omitBackground));
25
25
  }
26
+ if (imageProperties.width) {
27
+ data.append('width', imageProperties.width);
28
+ }
29
+ if (imageProperties.height) {
30
+ data.append('height', imageProperties.height);
31
+ }
32
+ if (imageProperties.clip) {
33
+ data.append('clip', String(imageProperties.clip));
34
+ }
26
35
  }
27
36
  /**
28
37
  * Customizes the FormData object based on the provided screenshot options.
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.utils.js","sourceRoot":"","sources":["../../../src/chromium/utils/screenshot.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenshot.utils.js","sourceRoot":"","sources":["../../../src/chromium/utils/screenshot.utils.ts"],"names":[],"mappings":";;;;AAMA,yCAA8C;AAE9C;;GAEG;AACH,MAAa,eAAe;IACxB;;;;;OAKG;IACI,MAAM,CAAC,kBAAkB,CAC5B,IAAc,EACd,eAAgC;QAEhC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YAC1B,uBAAc,CAAC,MAAM,CACjB,eAAe,CAAC,MAAM,KAAK,MAAM,EACjC,+DAA+D,CAClE,CAAC;YACF,uBAAc,CAAC,MAAM,CACjB,eAAe,CAAC,OAAO,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,IAAI,GAAG,EAC9D,wEAAwE,CAC3E,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CACP,gBAAgB,EAChB,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,CACzC,CAAC;QACN,CAAC;QAED,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAO,SAAS,CACzB,IAAc,EACd,OAA0B;;YAE1B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;gBAC3B,MAAM,uBAAc,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;gBAC3B,MAAM,uBAAc,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACrB,eAAe,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CACP,kBAAkB,EAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAC3C,CAAC;YACN,CAAC;YAED,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CACP,uBAAuB,EACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAChD,CAAC;YACN,CAAC;YAED,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CACP,yBAAyB,EACzB,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAC1C,CAAC;YACN,CAAC;YAED,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CACP,sBAAsB,EACtB,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CACvC,CAAC;YACN,CAAC;YAED,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;KAAA;CACJ;AAnHD,0CAmHC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chromiumly",
3
- "version": "3.1.0",
3
+ "version": "3.2.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",
@@ -52,8 +52,8 @@
52
52
  "@types/jest": "29.5.12",
53
53
  "@types/node": "20.12.7",
54
54
  "@types/node-fetch": "2.6.11",
55
- "@typescript-eslint/eslint-plugin": "7.6.0",
56
- "@typescript-eslint/parser": "7.6.0",
55
+ "@typescript-eslint/eslint-plugin": "7.7.1",
56
+ "@typescript-eslint/parser": "7.7.1",
57
57
  "commitizen": "4.3.0",
58
58
  "eslint": "8.57.0",
59
59
  "eslint-config-prettier": "^9.1.0",
@@ -63,7 +63,7 @@
63
63
  "jest-junit": "16.0.0",
64
64
  "lint-staged": "^15.2.2",
65
65
  "prettier": "3.2.5",
66
- "release-it": "17.1.1",
66
+ "release-it": "17.2.1",
67
67
  "ts-jest": "29.1.2",
68
68
  "ts-node": "10.9.2",
69
69
  "tslib": "2.6.2",
@@ -4,6 +4,9 @@ export type ImageProperties = {
4
4
  format: 'png' | 'jpeg' | 'webp'; //The image compression format, either "png", "jpeg" or "webp".
5
5
  quality?: number; // The compression quality from range 0 to 100 (jpeg only).
6
6
  omitBackground?: boolean; // Hide the default white background and allow generating screenshots with transparency.
7
+ width?: number; // The device screen width in pixels (default 800).
8
+ height?: number; // The device screen height in pixels (default 600).
9
+ clip?: boolean; // Define whether to clip the screenshot according to the device dimensions (default false).
7
10
  };
8
11
 
9
12
  export type ScreenshotOptions = ChromiumOptions & {
@@ -41,6 +41,18 @@ export class ScreenshotUtils {
41
41
  String(imageProperties.omitBackground)
42
42
  );
43
43
  }
44
+
45
+ if (imageProperties.width) {
46
+ data.append('width', imageProperties.width);
47
+ }
48
+
49
+ if (imageProperties.height) {
50
+ data.append('height', imageProperties.height);
51
+ }
52
+
53
+ if (imageProperties.clip) {
54
+ data.append('clip', String(imageProperties.clip));
55
+ }
44
56
  }
45
57
 
46
58
  /**
@@ -42,8 +42,8 @@ describe('GotenbergUtils', () => {
42
42
  });
43
43
 
44
44
  describe('Image quality', () => {
45
- describe('when omitBackground parameter is set', () => {
46
- it('should append omitBackground to data', () => {
45
+ describe('when quality parameter is set', () => {
46
+ it('should append quality to data', () => {
47
47
  ScreenshotUtils.addImageProperties(data, {
48
48
  format: 'jpeg',
49
49
  quality: 50
@@ -58,6 +58,60 @@ describe('GotenbergUtils', () => {
58
58
  });
59
59
  });
60
60
  });
61
+
62
+ describe('Image width', () => {
63
+ describe('when width parameter is set', () => {
64
+ it('should append width to data', () => {
65
+ ScreenshotUtils.addImageProperties(data, {
66
+ format: 'jpeg',
67
+ width: 800
68
+ });
69
+ expect(mockFormDataAppend).toHaveBeenCalledTimes(2);
70
+ expect(data.append).toHaveBeenCalledWith('format', 'jpeg');
71
+ expect(data.append).toHaveBeenNthCalledWith(
72
+ 2,
73
+ 'width',
74
+ 800
75
+ );
76
+ });
77
+ });
78
+ });
79
+
80
+ describe('Image height', () => {
81
+ describe('when height parameter is set', () => {
82
+ it('should append height to data', () => {
83
+ ScreenshotUtils.addImageProperties(data, {
84
+ format: 'jpeg',
85
+ height: 600
86
+ });
87
+ expect(mockFormDataAppend).toHaveBeenCalledTimes(2);
88
+ expect(data.append).toHaveBeenCalledWith('format', 'jpeg');
89
+ expect(data.append).toHaveBeenNthCalledWith(
90
+ 2,
91
+ 'height',
92
+ 600
93
+ );
94
+ });
95
+ });
96
+ });
97
+
98
+ describe('Image clip', () => {
99
+ describe('when clip parameter is set', () => {
100
+ it('should append clip to data', () => {
101
+ ScreenshotUtils.addImageProperties(data, {
102
+ format: 'png',
103
+ clip: true
104
+ });
105
+ expect(mockFormDataAppend).toHaveBeenCalledTimes(2);
106
+ expect(data.append).toHaveBeenCalledWith('format', 'png');
107
+ expect(data.append).toHaveBeenNthCalledWith(
108
+ 2,
109
+ 'clip',
110
+ 'true'
111
+ );
112
+ });
113
+ });
114
+ });
61
115
  });
62
116
 
63
117
  describe('customize', () => {