@remotion/renderer 3.0.29 → 3.1.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.
Files changed (262) hide show
  1. package/dist/assets/download-and-map-assets-to-file.js +6 -3
  2. package/dist/browser/NetworkManager.js +1 -5
  3. package/dist/codec-supports-media.d.ts +7 -0
  4. package/dist/codec-supports-media.js +49 -0
  5. package/dist/combine-videos.d.ts +2 -1
  6. package/dist/combine-videos.js +8 -2
  7. package/dist/convert-number-of-gif-loops-to-ffmpeg.d.ts +1 -0
  8. package/dist/convert-number-of-gif-loops-to-ffmpeg.js +17 -0
  9. package/dist/ensure-frames-in-order.d.ts +1 -1
  10. package/dist/ensure-frames-in-order.js +3 -2
  11. package/dist/ensure-presentation-timestamp.d.ts +1 -1
  12. package/dist/ensure-presentation-timestamp.js +29 -19
  13. package/dist/extract-frame-from-video.js +4 -2
  14. package/dist/get-codec-name.js +3 -0
  15. package/dist/get-duration-from-frame-range.d.ts +1 -2
  16. package/dist/get-duration-from-frame-range.js +13 -9
  17. package/dist/get-extension-from-codec.d.ts +1 -1
  18. package/dist/get-extension-from-codec.js +5 -0
  19. package/dist/guess-extension-for-media.d.ts +1 -1
  20. package/dist/guess-extension-for-media.js +3 -3
  21. package/dist/index.d.ts +5 -3
  22. package/dist/index.js +5 -1
  23. package/dist/mime-types.d.ts +1 -1
  24. package/dist/mime-types.js +2 -2
  25. package/dist/prespawn-ffmpeg.js +2 -2
  26. package/dist/render-frames.d.ts +1 -0
  27. package/dist/render-frames.js +12 -16
  28. package/dist/render-media.d.ts +2 -0
  29. package/dist/render-media.js +11 -4
  30. package/dist/render-still.js +1 -1
  31. package/dist/stitch-frames-to-video.d.ts +1 -0
  32. package/dist/stitch-frames-to-video.js +32 -22
  33. package/dist/validate-concurrency.d.ts +1 -0
  34. package/dist/validate-concurrency.js +24 -0
  35. package/dist/validate-output-filename.js +5 -0
  36. package/package.json +8 -10
  37. package/tsconfig.json +2 -1
  38. package/vitest.config.ts +8 -0
  39. package/dist/assets/calculate-asset-positions.d.ts.map +0 -1
  40. package/dist/assets/calculate-asset-positions.js.map +0 -1
  41. package/dist/assets/calculate-atempo.d.ts.map +0 -1
  42. package/dist/assets/calculate-atempo.js.map +0 -1
  43. package/dist/assets/cleanup-assets.d.ts +0 -2
  44. package/dist/assets/cleanup-assets.js +0 -2
  45. package/dist/assets/convert-assets-to-file-urls.d.ts.map +0 -1
  46. package/dist/assets/convert-assets-to-file-urls.js.map +0 -1
  47. package/dist/assets/download-and-map-assets-to-file.d.ts.map +0 -1
  48. package/dist/assets/download-and-map-assets-to-file.js.map +0 -1
  49. package/dist/assets/download-file.d.ts.map +0 -1
  50. package/dist/assets/download-file.js.map +0 -1
  51. package/dist/assets/ffmpeg-volume-expression.d.ts.map +0 -1
  52. package/dist/assets/ffmpeg-volume-expression.js.map +0 -1
  53. package/dist/assets/flatten-volume-array.d.ts.map +0 -1
  54. package/dist/assets/flatten-volume-array.js.map +0 -1
  55. package/dist/assets/get-audio-channels.d.ts.map +0 -1
  56. package/dist/assets/get-audio-channels.js.map +0 -1
  57. package/dist/assets/read-file.d.ts.map +0 -1
  58. package/dist/assets/read-file.js.map +0 -1
  59. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +0 -1
  60. package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +0 -1
  61. package/dist/assets/sanitize-filename.d.ts.map +0 -1
  62. package/dist/assets/sanitize-filename.js.map +0 -1
  63. package/dist/assets/sanitize-filepath.d.ts.map +0 -1
  64. package/dist/assets/sanitize-filepath.js.map +0 -1
  65. package/dist/assets/truncate-utf8-bytes.d.ts.map +0 -1
  66. package/dist/assets/truncate-utf8-bytes.js.map +0 -1
  67. package/dist/assets/types.d.ts.map +0 -1
  68. package/dist/assets/types.js.map +0 -1
  69. package/dist/browser/Accessibility.d.ts +0 -175
  70. package/dist/browser/Accessibility.js +0 -423
  71. package/dist/browser/AriaQueryHandler.d.ts +0 -20
  72. package/dist/browser/AriaQueryHandler.js +0 -108
  73. package/dist/browser/ConnectionTransport.d.ts +0 -21
  74. package/dist/browser/ConnectionTransport.js +0 -17
  75. package/dist/browser/Coverage.d.ts +0 -180
  76. package/dist/browser/Coverage.js +0 -371
  77. package/dist/browser/Debug.d.ts +0 -19
  78. package/dist/browser/Debug.js +0 -42
  79. package/dist/browser/DeviceDescriptors.d.ts +0 -40
  80. package/dist/browser/DeviceDescriptors.js +0 -1407
  81. package/dist/browser/EmulationManager.d.ts +0 -7
  82. package/dist/browser/EmulationManager.js +0 -40
  83. package/dist/browser/FileChooser.d.ts +0 -56
  84. package/dist/browser/FileChooser.js +0 -86
  85. package/dist/browser/Input.d.ts +0 -355
  86. package/dist/browser/Input.js +0 -592
  87. package/dist/browser/NetworkConditions.d.ts +0 -26
  88. package/dist/browser/NetworkConditions.js +0 -33
  89. package/dist/browser/PDFOptions.d.ts +0 -165
  90. package/dist/browser/PDFOptions.js +0 -34
  91. package/dist/browser/PipeTransport.d.ts +0 -10
  92. package/dist/browser/PipeTransport.js +0 -86
  93. package/dist/browser/Puppeteer.d.ts +0 -35
  94. package/dist/browser/Puppeteer.js +0 -17
  95. package/dist/browser/QueryHandler.d.ts +0 -64
  96. package/dist/browser/QueryHandler.js +0 -183
  97. package/dist/browser/SecurityDetails.d.ts +0 -55
  98. package/dist/browser/SecurityDetails.js +0 -95
  99. package/dist/browser/Tracing.d.ts +0 -45
  100. package/dist/browser/Tracing.js +0 -136
  101. package/dist/browser/USKeyboardLayout.d.ts +0 -39
  102. package/dist/browser/USKeyboardLayout.js +0 -406
  103. package/dist/browser/WebWorker.d.ts +0 -96
  104. package/dist/browser/WebWorker.js +0 -122
  105. package/dist/browser/compat.d.ts +0 -2
  106. package/dist/browser/compat.js +0 -17
  107. package/dist/browser/dialog.d.ts +0 -70
  108. package/dist/browser/dialog.js +0 -114
  109. package/dist/browser/environment.d.ts +0 -16
  110. package/dist/browser/environment.js +0 -19
  111. package/dist/browser/fetch.d.ts +0 -16
  112. package/dist/browser/fetch.js +0 -46
  113. package/dist/browser/find-up.d.ts +0 -4
  114. package/dist/browser/find-up.js +0 -85
  115. package/dist/browser/page.d.ts +0 -74
  116. package/dist/browser/page.js +0 -283
  117. package/dist/browser/pkg-dir.d.ts +0 -3
  118. package/dist/browser/pkg-dir.js +0 -13
  119. package/dist/browser-log.d.ts.map +0 -1
  120. package/dist/browser-log.js.map +0 -1
  121. package/dist/calculate-ffmpeg-filters.d.ts.map +0 -1
  122. package/dist/calculate-ffmpeg-filters.js.map +0 -1
  123. package/dist/can-use-parallel-encoding.d.ts.map +0 -1
  124. package/dist/can-use-parallel-encoding.js.map +0 -1
  125. package/dist/chunk.d.ts.map +0 -1
  126. package/dist/chunk.js.map +0 -1
  127. package/dist/combine-videos.d.ts.map +0 -1
  128. package/dist/combine-videos.js.map +0 -1
  129. package/dist/convert-to-pcm.d.ts.map +0 -1
  130. package/dist/convert-to-pcm.js.map +0 -1
  131. package/dist/create-ffmpeg-complex-filter.d.ts.map +0 -1
  132. package/dist/create-ffmpeg-complex-filter.js.map +0 -1
  133. package/dist/create-ffmpeg-merge-filter.d.ts.map +0 -1
  134. package/dist/create-ffmpeg-merge-filter.js.map +0 -1
  135. package/dist/create-silent-audio.d.ts.map +0 -1
  136. package/dist/create-silent-audio.js.map +0 -1
  137. package/dist/cycle-browser-tabs.d.ts.map +0 -1
  138. package/dist/cycle-browser-tabs.js.map +0 -1
  139. package/dist/delay-render-embedded-stack.d.ts.map +0 -1
  140. package/dist/delay-render-embedded-stack.js.map +0 -1
  141. package/dist/delete-directory.d.ts.map +0 -1
  142. package/dist/delete-directory.js.map +0 -1
  143. package/dist/ensure-frames-in-order.d.ts.map +0 -1
  144. package/dist/ensure-frames-in-order.js.map +0 -1
  145. package/dist/ensure-output-directory.d.ts.map +0 -1
  146. package/dist/ensure-output-directory.js.map +0 -1
  147. package/dist/error-handling/handle-javascript-exception.d.ts.map +0 -1
  148. package/dist/error-handling/handle-javascript-exception.js.map +0 -1
  149. package/dist/error-handling/symbolicate-error.d.ts.map +0 -1
  150. package/dist/error-handling/symbolicate-error.js.map +0 -1
  151. package/dist/error-handling/symbolicateable-error.d.ts.map +0 -1
  152. package/dist/error-handling/symbolicateable-error.js.map +0 -1
  153. package/dist/ffmpeg-filter-file.d.ts.map +0 -1
  154. package/dist/ffmpeg-filter-file.js.map +0 -1
  155. package/dist/ffmpeg-flags.d.ts.map +0 -1
  156. package/dist/ffmpeg-flags.js.map +0 -1
  157. package/dist/get-audio-codec-name.d.ts.map +0 -1
  158. package/dist/get-audio-codec-name.js.map +0 -1
  159. package/dist/get-browser-instance.d.ts.map +0 -1
  160. package/dist/get-browser-instance.js.map +0 -1
  161. package/dist/get-codec-name.d.ts.map +0 -1
  162. package/dist/get-codec-name.js.map +0 -1
  163. package/dist/get-compositions.d.ts.map +0 -1
  164. package/dist/get-compositions.js.map +0 -1
  165. package/dist/get-concurrency.d.ts.map +0 -1
  166. package/dist/get-concurrency.js.map +0 -1
  167. package/dist/get-duration-from-frame-range.d.ts.map +0 -1
  168. package/dist/get-duration-from-frame-range.js.map +0 -1
  169. package/dist/get-duration-of-asset.d.ts +0 -7
  170. package/dist/get-duration-of-asset.js +0 -36
  171. package/dist/get-extension-from-codec.d.ts.map +0 -1
  172. package/dist/get-extension-from-codec.js.map +0 -1
  173. package/dist/get-format-for-codec.d.ts +0 -2
  174. package/dist/get-format-for-codec.js +0 -34
  175. package/dist/get-frame-to-render.d.ts.map +0 -1
  176. package/dist/get-frame-to-render.js.map +0 -1
  177. package/dist/get-local-browser-executable.d.ts.map +0 -1
  178. package/dist/get-local-browser-executable.js.map +0 -1
  179. package/dist/get-port.d.ts.map +0 -1
  180. package/dist/get-port.js.map +0 -1
  181. package/dist/get-prores-profile-name.d.ts.map +0 -1
  182. package/dist/get-prores-profile-name.js.map +0 -1
  183. package/dist/image-format.d.ts.map +0 -1
  184. package/dist/image-format.js.map +0 -1
  185. package/dist/index.d.ts.map +0 -1
  186. package/dist/index.js.map +0 -1
  187. package/dist/is-serve-url.d.ts.map +0 -1
  188. package/dist/is-serve-url.js.map +0 -1
  189. package/dist/is-vp9-video.d.ts +0 -3
  190. package/dist/is-vp9-video.js +0 -24
  191. package/dist/legacy-webpack-config.d.ts.map +0 -1
  192. package/dist/legacy-webpack-config.js.map +0 -1
  193. package/dist/make-assets-download-dir.d.ts.map +0 -1
  194. package/dist/make-assets-download-dir.js.map +0 -1
  195. package/dist/merge-audio-track.d.ts.map +0 -1
  196. package/dist/merge-audio-track.js.map +0 -1
  197. package/dist/normalize-serve-url.d.ts.map +0 -1
  198. package/dist/normalize-serve-url.js.map +0 -1
  199. package/dist/open-browser.d.ts.map +0 -1
  200. package/dist/open-browser.js.map +0 -1
  201. package/dist/p-limit.d.ts.map +0 -1
  202. package/dist/p-limit.js.map +0 -1
  203. package/dist/parse-browser-error-stack.d.ts.map +0 -1
  204. package/dist/parse-browser-error-stack.js.map +0 -1
  205. package/dist/parse-ffmpeg-progress.d.ts.map +0 -1
  206. package/dist/parse-ffmpeg-progress.js.map +0 -1
  207. package/dist/pool.d.ts.map +0 -1
  208. package/dist/pool.js.map +0 -1
  209. package/dist/prepare-server.d.ts.map +0 -1
  210. package/dist/prepare-server.js.map +0 -1
  211. package/dist/preprocess-audio-track.d.ts.map +0 -1
  212. package/dist/preprocess-audio-track.js.map +0 -1
  213. package/dist/prespawn-ffmpeg.d.ts.map +0 -1
  214. package/dist/prespawn-ffmpeg.js.map +0 -1
  215. package/dist/provide-screenshot.d.ts.map +0 -1
  216. package/dist/provide-screenshot.js.map +0 -1
  217. package/dist/puppeteer-evaluate.d.ts.map +0 -1
  218. package/dist/puppeteer-evaluate.js.map +0 -1
  219. package/dist/puppeteer-screenshot.d.ts.map +0 -1
  220. package/dist/puppeteer-screenshot.js.map +0 -1
  221. package/dist/render-frames.d.ts.map +0 -1
  222. package/dist/render-frames.js.map +0 -1
  223. package/dist/render-media.d.ts.map +0 -1
  224. package/dist/render-media.js.map +0 -1
  225. package/dist/render-still.d.ts.map +0 -1
  226. package/dist/render-still.js.map +0 -1
  227. package/dist/resolve-asset-src.d.ts.map +0 -1
  228. package/dist/resolve-asset-src.js.map +0 -1
  229. package/dist/sample-rate.d.ts.map +0 -1
  230. package/dist/sample-rate.js.map +0 -1
  231. package/dist/screenshot-dom-element.d.ts.map +0 -1
  232. package/dist/screenshot-dom-element.js.map +0 -1
  233. package/dist/screenshot-task.d.ts.map +0 -1
  234. package/dist/screenshot-task.js.map +0 -1
  235. package/dist/seek-to-frame.d.ts.map +0 -1
  236. package/dist/seek-to-frame.js.map +0 -1
  237. package/dist/serve-handler/glob-slash.d.ts +0 -1
  238. package/dist/serve-handler/glob-slash.js +0 -12
  239. package/dist/serve-static.d.ts.map +0 -1
  240. package/dist/serve-static.js.map +0 -1
  241. package/dist/set-props-and-env.d.ts.map +0 -1
  242. package/dist/set-props-and-env.js.map +0 -1
  243. package/dist/stitch-frames-to-video.d.ts.map +0 -1
  244. package/dist/stitch-frames-to-video.js.map +0 -1
  245. package/dist/stringify-ffmpeg-filter.d.ts.map +0 -1
  246. package/dist/stringify-ffmpeg-filter.js.map +0 -1
  247. package/dist/symbolicate-stacktrace.d.ts.map +0 -1
  248. package/dist/symbolicate-stacktrace.js.map +0 -1
  249. package/dist/tmp-dir.d.ts.map +0 -1
  250. package/dist/tmp-dir.js.map +0 -1
  251. package/dist/types.d.ts.map +0 -1
  252. package/dist/types.js.map +0 -1
  253. package/dist/validate-even-dimensions-with-codec.d.ts.map +0 -1
  254. package/dist/validate-even-dimensions-with-codec.js.map +0 -1
  255. package/dist/validate-ffmpeg.d.ts.map +0 -1
  256. package/dist/validate-ffmpeg.js.map +0 -1
  257. package/dist/validate-fps-for-gif.d.ts +0 -2
  258. package/dist/validate-fps-for-gif.js +0 -9
  259. package/dist/validate-puppeteer-timeout.d.ts.map +0 -1
  260. package/dist/validate-puppeteer-timeout.js.map +0 -1
  261. package/dist/validate-scale.d.ts.map +0 -1
  262. package/dist/validate-scale.js.map +0 -1
@@ -1,108 +0,0 @@
1
- "use strict";
2
- /**
3
- * Copyright 2020 Google Inc. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports._ariaHandler = void 0;
19
- const assert_1 = require("./assert");
20
- async function queryAXTree(client, element, accessibleName, role) {
21
- const { nodes } = await client.send('Accessibility.queryAXTree', {
22
- objectId: element._remoteObject.objectId,
23
- accessibleName,
24
- role,
25
- });
26
- const filteredNodes = nodes.filter((node) => {
27
- return !node.role || node.role.value !== 'StaticText';
28
- });
29
- return filteredNodes;
30
- }
31
- const normalizeValue = (value) => {
32
- return value.replace(/ +/g, ' ').trim();
33
- };
34
- const knownAttributes = new Set(['name', 'role']);
35
- const attributeRegexp = /\[\s*(?<attribute>\w+)\s*=\s*(?<quote>"|')(?<value>\\.|.*?(?=\k<quote>))\k<quote>\s*\]/g;
36
- function isKnownAttribute(attribute) {
37
- return knownAttributes.has(attribute);
38
- }
39
- /*
40
- * The selectors consist of an accessible name to query for and optionally
41
- * further aria attributes on the form `[<attribute>=<value>]`.
42
- * Currently, we only support the `name` and `role` attribute.
43
- * The following examples showcase how the syntax works wrt. querying:
44
- * - 'title[role="heading"]' queries for elements with name 'title' and role 'heading'.
45
- * - '[role="img"]' queries for elements with role 'img' and any name.
46
- * - 'label' queries for elements with name 'label' and any role.
47
- * - '[name=""][role="button"]' queries for elements with no name and role 'button'.
48
- */
49
- function parseAriaSelector(selector) {
50
- const queryOptions = {};
51
- const defaultName = selector.replace(attributeRegexp, (_, attribute, _quote, value) => {
52
- attribute = attribute.trim();
53
- (0, assert_1.assert)(isKnownAttribute(attribute), `Unknown aria attribute "${attribute}" in selector`);
54
- queryOptions[attribute] = normalizeValue(value);
55
- return '';
56
- });
57
- if (defaultName && !queryOptions.name) {
58
- queryOptions.name = normalizeValue(defaultName);
59
- }
60
- return queryOptions;
61
- }
62
- const queryOne = async (element, selector) => {
63
- const exeCtx = element.executionContext();
64
- const { name, role } = parseAriaSelector(selector);
65
- const res = await queryAXTree(exeCtx._client, element, name, role);
66
- if (!res[0] || !res[0].backendDOMNodeId) {
67
- return null;
68
- }
69
- return exeCtx._adoptBackendNodeId(res[0].backendDOMNodeId);
70
- };
71
- const waitFor = (domWorld, selector, options) => {
72
- const binding = {
73
- name: 'ariaQuerySelector',
74
- pptrFunction: async (_selector) => {
75
- const root = options.root || (await domWorld._document());
76
- const element = await queryOne(root, _selector);
77
- return element;
78
- },
79
- };
80
- return domWorld._waitForSelectorInPage((_, _selector) => {
81
- return globalThis.ariaQuerySelector(_selector);
82
- }, selector, options, binding);
83
- };
84
- const queryAll = async (element, selector) => {
85
- const exeCtx = element.executionContext();
86
- const { name, role } = parseAriaSelector(selector);
87
- const res = await queryAXTree(exeCtx._client, element, name, role);
88
- return Promise.all(res.map((axNode) => {
89
- return exeCtx._adoptBackendNodeId(axNode.backendDOMNodeId);
90
- }));
91
- };
92
- const queryAllArray = async (element, selector) => {
93
- const elementHandles = await queryAll(element, selector);
94
- const exeCtx = element.executionContext();
95
- const jsHandle = exeCtx.evaluateHandle((...elements) => {
96
- return elements;
97
- }, ...elementHandles);
98
- return jsHandle;
99
- };
100
- /**
101
- * @internal
102
- */
103
- exports._ariaHandler = {
104
- queryOne,
105
- waitFor,
106
- queryAll,
107
- queryAllArray,
108
- };
@@ -1,21 +0,0 @@
1
- /**
2
- * Copyright 2020 Google Inc. All rights reserved.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- export interface ConnectionTransport {
17
- send(message: string): void;
18
- close(): void;
19
- onmessage?: (message: string) => void;
20
- onclose?: () => void;
21
- }
@@ -1,17 +0,0 @@
1
- "use strict";
2
- /**
3
- * Copyright 2020 Google Inc. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,180 +0,0 @@
1
- /**
2
- * Copyright 2017 Google Inc. All rights reserved.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Protocol } from 'devtools-protocol';
17
- import { CDPSession } from './Connection';
18
- import { PuppeteerEventListener } from './util';
19
- /**
20
- * @internal
21
- */
22
- export { PuppeteerEventListener };
23
- /**
24
- * The CoverageEntry class represents one entry of the coverage report.
25
- * @public
26
- */
27
- export interface CoverageEntry {
28
- /**
29
- * The URL of the style sheet or script.
30
- */
31
- url: string;
32
- /**
33
- * The content of the style sheet or script.
34
- */
35
- text: string;
36
- /**
37
- * The covered range as start and end positions.
38
- */
39
- ranges: Array<{
40
- start: number;
41
- end: number;
42
- }>;
43
- }
44
- /**
45
- * The CoverageEntry class for JavaScript
46
- * @public
47
- */
48
- export interface JSCoverageEntry extends CoverageEntry {
49
- /**
50
- * Raw V8 script coverage entry.
51
- */
52
- rawScriptCoverage?: Protocol.Profiler.ScriptCoverage;
53
- }
54
- /**
55
- * Set of configurable options for JS coverage.
56
- * @public
57
- */
58
- export interface JSCoverageOptions {
59
- /**
60
- * Whether to reset coverage on every navigation.
61
- */
62
- resetOnNavigation?: boolean;
63
- /**
64
- * Whether anonymous scripts generated by the page should be reported.
65
- */
66
- reportAnonymousScripts?: boolean;
67
- /**
68
- * Whether the result includes raw V8 script coverage entries.
69
- */
70
- includeRawScriptCoverage?: boolean;
71
- }
72
- /**
73
- * Set of configurable options for CSS coverage.
74
- * @public
75
- */
76
- export interface CSSCoverageOptions {
77
- /**
78
- * Whether to reset coverage on every navigation.
79
- */
80
- resetOnNavigation?: boolean;
81
- }
82
- /**
83
- * The Coverage class provides methods to gathers information about parts of
84
- * JavaScript and CSS that were used by the page.
85
- *
86
- * @remarks
87
- * To output coverage in a form consumable by {@link https://github.com/istanbuljs | Istanbul},
88
- * see {@link https://github.com/istanbuljs/puppeteer-to-istanbul | puppeteer-to-istanbul}.
89
- *
90
- * @example
91
- * An example of using JavaScript and CSS coverage to get percentage of initially
92
- * executed code:
93
- * ```js
94
- * // Enable both JavaScript and CSS coverage
95
- * await Promise.all([
96
- * page.coverage.startJSCoverage(),
97
- * page.coverage.startCSSCoverage()
98
- * ]);
99
- * // Navigate to page
100
- * await page.goto('https://example.com');
101
- * // Disable both JavaScript and CSS coverage
102
- * const [jsCoverage, cssCoverage] = await Promise.all([
103
- * page.coverage.stopJSCoverage(),
104
- * page.coverage.stopCSSCoverage(),
105
- * ]);
106
- * let totalBytes = 0;
107
- * let usedBytes = 0;
108
- * const coverage = [...jsCoverage, ...cssCoverage];
109
- * for (const entry of coverage) {
110
- * totalBytes += entry.text.length;
111
- * for (const range of entry.ranges)
112
- * usedBytes += range.end - range.start - 1;
113
- * }
114
- * console.log(`Bytes used: ${usedBytes / totalBytes * 100}%`);
115
- * ```
116
- * @public
117
- */
118
- export declare class Coverage {
119
- #private;
120
- constructor(client: CDPSession);
121
- /**
122
- * @param options - Set of configurable options for coverage defaults to
123
- * `resetOnNavigation : true, reportAnonymousScripts : false`
124
- * @returns Promise that resolves when coverage is started.
125
- *
126
- * @remarks
127
- * Anonymous scripts are ones that don't have an associated url. These are
128
- * scripts that are dynamically created on the page using `eval` or
129
- * `new Function`. If `reportAnonymousScripts` is set to `true`, anonymous
130
- * scripts will have `pptr://__puppeteer_evaluation_script__` as their URL.
131
- */
132
- startJSCoverage(options?: JSCoverageOptions): Promise<void>;
133
- /**
134
- * @returns Promise that resolves to the array of coverage reports for
135
- * all scripts.
136
- *
137
- * @remarks
138
- * JavaScript Coverage doesn't include anonymous scripts by default.
139
- * However, scripts with sourceURLs are reported.
140
- */
141
- stopJSCoverage(): Promise<JSCoverageEntry[]>;
142
- /**
143
- * @param options - Set of configurable options for coverage, defaults to
144
- * `resetOnNavigation : true`
145
- * @returns Promise that resolves when coverage is started.
146
- */
147
- startCSSCoverage(options?: CSSCoverageOptions): Promise<void>;
148
- /**
149
- * @returns Promise that resolves to the array of coverage reports
150
- * for all stylesheets.
151
- * @remarks
152
- * CSS Coverage doesn't include dynamically injected style tags
153
- * without sourceURLs.
154
- */
155
- stopCSSCoverage(): Promise<CoverageEntry[]>;
156
- }
157
- /**
158
- * @public
159
- */
160
- export declare class JSCoverage {
161
- #private;
162
- constructor(client: CDPSession);
163
- start(options?: {
164
- resetOnNavigation?: boolean;
165
- reportAnonymousScripts?: boolean;
166
- includeRawScriptCoverage?: boolean;
167
- }): Promise<void>;
168
- stop(): Promise<JSCoverageEntry[]>;
169
- }
170
- /**
171
- * @public
172
- */
173
- export declare class CSSCoverage {
174
- #private;
175
- constructor(client: CDPSession);
176
- start(options?: {
177
- resetOnNavigation?: boolean;
178
- }): Promise<void>;
179
- stop(): Promise<CoverageEntry[]>;
180
- }