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 +3 -0
- package/dist/chromium/interfaces/screenshot.types.d.ts +3 -0
- package/dist/chromium/utils/screenshot.utils.js +9 -0
- package/dist/chromium/utils/screenshot.utils.js.map +1 -1
- package/package.json +4 -4
- package/src/chromium/interfaces/screenshot.types.ts +3 -0
- package/src/chromium/utils/screenshot.utils.ts +12 -0
- package/src/chromium/utils/tests/screenshot.utils.test.ts +56 -2
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
|
|
|
@@ -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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chromiumly",
|
|
3
|
-
"version": "3.
|
|
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.
|
|
56
|
-
"@typescript-eslint/parser": "7.
|
|
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.
|
|
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
|
|
46
|
-
it('should append
|
|
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', () => {
|