chrome-devtools-frontend 1.0.950971 → 1.0.951410

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 (208) hide show
  1. package/config/gni/devtools_grd_files.gni +3 -3
  2. package/front_end/core/i18n/locales/en-US.json +183 -183
  3. package/front_end/core/i18n/locales/en-XL.json +183 -183
  4. package/front_end/core/sdk/CSSRule.ts +1 -1
  5. package/front_end/core/sdk/DOMModel.ts +12 -37
  6. package/front_end/core/sdk/OverlayModel.ts +18 -34
  7. package/front_end/core/sdk/RuntimeModel.ts +0 -1
  8. package/front_end/core/sdk/SourceMap.ts +1 -1
  9. package/front_end/entrypoints/heap_snapshot_worker/AllocationProfile.ts +3 -3
  10. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +1 -2
  11. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotWorkerDispatcher.ts +1 -1
  12. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +1 -2
  13. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +1 -1
  14. package/front_end/models/bindings/FileUtils.ts +0 -1
  15. package/front_end/models/bindings/IgnoreListManager.ts +1 -2
  16. package/front_end/models/bindings/NetworkProject.ts +1 -2
  17. package/front_end/models/extensions/ExtensionAPI.ts +0 -1
  18. package/front_end/models/issues_manager/SameSiteCookieIssue.ts +1 -2
  19. package/front_end/models/timeline_model/TracingLayerTree.ts +0 -1
  20. package/front_end/panels/accessibility/ARIAMetadata.ts +0 -1
  21. package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +2 -2
  22. package/front_end/panels/accessibility/AccessibilityNodeView.ts +1 -2
  23. package/front_end/panels/animation/AnimationTimeline.ts +0 -1
  24. package/front_end/panels/application/ApplicationPanelCacheSection.ts +3 -4
  25. package/front_end/panels/application/ServiceWorkerUpdateCycleView.ts +0 -2
  26. package/front_end/panels/application/StorageView.ts +2 -6
  27. package/front_end/panels/application/{BackForwardCacheStrings.ts → components/BackForwardCacheStrings.ts} +2 -2
  28. package/front_end/panels/application/{BackForwardCacheView.ts → components/BackForwardCacheView.ts} +76 -42
  29. package/front_end/panels/application/{backForwardCacheView.css → components/backForwardCacheView.css} +9 -0
  30. package/front_end/panels/application/components/components.ts +2 -0
  31. package/front_end/panels/elements/ComputedStyleModel.ts +2 -2
  32. package/front_end/panels/elements/ElementsPanel.ts +1 -5
  33. package/front_end/panels/elements/ElementsTreeOutline.ts +2 -2
  34. package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
  35. package/front_end/panels/layer_viewer/Layers3DView.ts +3 -9
  36. package/front_end/panels/lighthouse/LighthouseController.ts +4 -5
  37. package/front_end/panels/media/TickingFlameChart.ts +1 -2
  38. package/front_end/panels/network/NetworkLogViewColumns.ts +1 -1
  39. package/front_end/panels/profiler/HeapProfileView.ts +1 -1
  40. package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +0 -1
  41. package/front_end/panels/profiler/HeapSnapshotView.ts +1 -2
  42. package/front_end/panels/security/SecurityModel.ts +2 -4
  43. package/front_end/panels/security/SecurityPanel.ts +2 -2
  44. package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +2 -2
  45. package/front_end/panels/sources/NavigatorView.ts +1 -1
  46. package/front_end/panels/sources/ScopeChainSidebarPane.ts +2 -3
  47. package/front_end/panels/sources/TabbedEditorContainer.ts +1 -1
  48. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +2 -5
  49. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +0 -1
  50. package/front_end/panels/timeline/TimelineFlameChartView.ts +0 -1
  51. package/front_end/panels/timeline/TimelinePanel.ts +2 -3
  52. package/front_end/panels/timeline/TimelineUIUtils.ts +1 -1
  53. package/front_end/third_party/puppeteer/package/README.md +11 -11
  54. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api-docs-entry.d.ts +4 -5
  55. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/AriaQueryHandler.js +2 -2
  56. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/AriaQueryHandler.js.map +1 -1
  57. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts +4 -6
  58. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.d.ts +1 -2
  59. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.d.ts +1 -4
  60. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.d.ts +1 -4
  61. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.d.ts +9 -7
  62. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.d.ts.map +1 -1
  63. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.js +21 -12
  64. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.js.map +1 -1
  65. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Dialog.d.ts +1 -3
  66. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EvalTypes.d.ts +1 -2
  67. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ExecutionContext.d.ts +3 -5
  68. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FileChooser.d.ts +1 -3
  69. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts +8 -10
  70. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js +3 -3
  71. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
  72. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts +50 -11
  73. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  74. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js +70 -33
  75. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
  76. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.d.ts +12 -5
  77. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  78. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.js +25 -5
  79. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.js.map +1 -1
  80. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.d.ts +2 -4
  81. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts +39 -6
  82. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts.map +1 -1
  83. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js +36 -0
  84. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js.map +1 -1
  85. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts +3 -4
  86. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
  87. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.js +2 -1
  88. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.js.map +1 -1
  89. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.d.ts +46 -0
  90. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.d.ts.map +1 -0
  91. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.js +124 -0
  92. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.js.map +1 -0
  93. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts +27 -10
  94. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
  95. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js +144 -74
  96. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
  97. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.d.ts +5 -6
  98. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.d.ts +1 -2
  99. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.d.ts +4 -6
  100. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WebWorker.d.ts +3 -5
  101. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.d.ts +4 -5
  102. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  103. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js +43 -17
  104. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js.map +1 -1
  105. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts +1 -1
  106. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.d.ts +1 -3
  107. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.d.ts.map +1 -1
  108. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js +101 -34
  109. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
  110. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts +1 -3
  111. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.d.ts +1 -2
  112. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.d.ts +5 -7
  113. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +1 -1
  114. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.d.ts +4 -5
  115. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.js +2 -2
  116. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.js.map +1 -1
  117. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts +4 -6
  118. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js +2 -3
  119. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts +1 -2
  120. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +3 -5
  121. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts +1 -4
  122. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts +1 -4
  123. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.js +1 -2
  124. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts +9 -7
  125. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts.map +1 -1
  126. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js +24 -17
  127. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js.map +1 -1
  128. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts +1 -3
  129. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts +1 -2
  130. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts +3 -5
  131. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts +1 -3
  132. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts +8 -10
  133. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +7 -8
  134. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
  135. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +50 -11
  136. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  137. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +70 -34
  138. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
  139. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts +12 -5
  140. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  141. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js +26 -7
  142. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js.map +1 -1
  143. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts +2 -4
  144. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts +39 -6
  145. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -1
  146. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js +38 -4
  147. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js.map +1 -1
  148. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts +3 -4
  149. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
  150. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js +4 -4
  151. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js.map +1 -1
  152. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.d.ts +46 -0
  153. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.d.ts.map +1 -0
  154. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.js +120 -0
  155. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.js.map +1 -0
  156. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts +27 -10
  157. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
  158. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js +144 -75
  159. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
  160. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +12 -14
  161. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts +5 -6
  162. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.js +3 -4
  163. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts +1 -2
  164. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts +4 -6
  165. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts +3 -5
  166. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.js +1 -2
  167. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js +3 -5
  168. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.js +1 -3
  169. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +10 -12
  170. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts +4 -5
  171. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  172. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +43 -20
  173. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js.map +1 -1
  174. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts +1 -1
  175. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts +1 -3
  176. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -1
  177. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +104 -40
  178. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js.map +1 -1
  179. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts +1 -3
  180. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts +1 -2
  181. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js +1 -2
  182. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts +5 -7
  183. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js +1 -3
  184. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js +3 -5
  185. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.js +1 -2
  186. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node.js +1 -2
  187. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +1 -1
  188. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/web.js +1 -2
  189. package/front_end/third_party/puppeteer/package/lib/types.d.ts +173 -36
  190. package/front_end/third_party/puppeteer/package/package.json +3 -3
  191. package/front_end/ui/components/markdown_view/MarkdownView.ts +0 -1
  192. package/front_end/ui/legacy/ContextMenu.ts +2 -3
  193. package/front_end/ui/legacy/InspectorView.ts +1 -1
  194. package/front_end/ui/legacy/ReportView.ts +3 -4
  195. package/front_end/ui/legacy/SearchableView.ts +1 -2
  196. package/front_end/ui/legacy/SplitWidget.ts +2 -3
  197. package/front_end/ui/legacy/TextPrompt.ts +1 -1
  198. package/front_end/ui/legacy/UIUtils.ts +1 -1
  199. package/front_end/ui/legacy/XLink.ts +1 -1
  200. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +2 -2
  201. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +3 -3
  202. package/front_end/ui/legacy/components/data_grid/dataGrid.css +7 -7
  203. package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.ts +1 -1
  204. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +1 -2
  205. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +0 -1
  206. package/front_end/ui/legacy/components/utils/Linkifier.ts +2 -2
  207. package/front_end/ui/legacy/theme_support/theme_support_impl.ts +12 -1
  208. package/package.json +1 -1
@@ -13,28 +13,29 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import { debug } from '../common/Debug.js';
16
17
  import * as childProcess from 'child_process';
18
+ import * as fs from 'fs';
19
+ import * as path from 'path';
17
20
  import * as readline from 'readline';
18
21
  import removeFolder from 'rimraf';
19
22
  import { promisify } from 'util';
20
-
21
23
  import { assert } from '../common/assert.js';
24
+ import { helper, debugError } from '../common/helper.js';
22
25
  import { Connection } from '../common/Connection.js';
23
- import { debug } from '../common/Debug.js';
24
- import { TimeoutError } from '../common/Errors.js';
25
- import { debugError , helper} from '../common/helper.js';
26
26
  import { NodeWebSocketTransport as WebSocketTransport } from '../node/NodeWebSocketTransport.js';
27
-
28
27
  import { PipeTransport } from './PipeTransport.js';
29
-
28
+ import { TimeoutError } from '../common/Errors.js';
30
29
  const removeFolderAsync = promisify(removeFolder);
30
+ const renameAsync = promisify(fs.rename);
31
+ const unlinkAsync = promisify(fs.unlink);
31
32
  const debugLauncher = debug('puppeteer:launcher');
32
33
  const PROCESS_ERROR_EXPLANATION = `Puppeteer was unable to kill the process which ran the browser binary.
33
34
  This means that, on future Puppeteer launches, Puppeteer might not be able to launch the browser.
34
35
  Please check your open processes and ensure that the browser processes that Puppeteer launched have been killed.
35
36
  If you think this is a bug, please report it on the Puppeteer issue tracker.`;
36
37
  export class BrowserRunner {
37
- constructor(product, executablePath, processArguments, tempDirectory) {
38
+ constructor(product, executablePath, processArguments, userDataDir, isTempUserDataDir) {
38
39
  this.proc = null;
39
40
  this.connection = null;
40
41
  this._closed = true;
@@ -42,7 +43,8 @@ export class BrowserRunner {
42
43
  this._product = product;
43
44
  this._executablePath = executablePath;
44
45
  this._processArguments = processArguments;
45
- this._tempDirectory = tempDirectory;
46
+ this._userDataDir = userDataDir;
47
+ this._isTempUserDataDir = isTempUserDataDir;
46
48
  }
47
49
  start(options) {
48
50
  const { handleSIGINT, handleSIGTERM, handleSIGHUP, dumpio, env, pipe } = options;
@@ -76,18 +78,37 @@ export class BrowserRunner {
76
78
  }
77
79
  this._closed = false;
78
80
  this._processClosing = new Promise((fulfill, reject) => {
79
- this.proc.once('exit', () => {
81
+ this.proc.once('exit', async () => {
80
82
  this._closed = true;
81
83
  // Cleanup as processes exit.
82
- if (this._tempDirectory) {
83
- removeFolderAsync(this._tempDirectory)
84
- .then(() => fulfill())
85
- .catch((error) => {
84
+ if (this._isTempUserDataDir) {
85
+ try {
86
+ await removeFolderAsync(this._userDataDir);
87
+ fulfill();
88
+ }
89
+ catch (error) {
86
90
  console.error(error);
87
91
  reject(error);
88
- });
92
+ }
89
93
  }
90
94
  else {
95
+ if (this._product === 'firefox') {
96
+ try {
97
+ // When an existing user profile has been used remove the user
98
+ // preferences file and restore possibly backuped preferences.
99
+ await unlinkAsync(path.join(this._userDataDir, 'user.js'));
100
+ const prefsBackupPath = path.join(this._userDataDir, 'prefs.js.puppeteer');
101
+ if (fs.existsSync(prefsBackupPath)) {
102
+ const prefsPath = path.join(this._userDataDir, 'prefs.js');
103
+ await unlinkAsync(prefsPath);
104
+ await renameAsync(prefsBackupPath, prefsPath);
105
+ }
106
+ }
107
+ catch (error) {
108
+ console.error(error);
109
+ reject(error);
110
+ }
111
+ }
91
112
  fulfill();
92
113
  }
93
114
  });
@@ -108,7 +129,7 @@ export class BrowserRunner {
108
129
  close() {
109
130
  if (this._closed)
110
131
  return Promise.resolve();
111
- if (this._tempDirectory && this._product !== 'firefox') {
132
+ if (this._isTempUserDataDir && this._product !== 'firefox') {
112
133
  this.kill();
113
134
  }
114
135
  else if (this.connection) {
@@ -124,11 +145,6 @@ export class BrowserRunner {
124
145
  return this._processClosing;
125
146
  }
126
147
  kill() {
127
- // Attempt to remove temporary profile directory to avoid littering.
128
- try {
129
- removeFolder.sync(this._tempDirectory);
130
- }
131
- catch (error) { }
132
148
  // If the process failed to launch (for example if the browser executable path
133
149
  // is invalid), then the process does not get a pid assigned. A call to
134
150
  // `proc.kill` would error, as the `pid` to-be-killed can not be found.
@@ -140,6 +156,13 @@ export class BrowserRunner {
140
156
  throw new Error(`${PROCESS_ERROR_EXPLANATION}\nError cause: ${error.stack}`);
141
157
  }
142
158
  }
159
+ // Attempt to remove temporary profile directory to avoid littering.
160
+ try {
161
+ if (this._isTempUserDataDir) {
162
+ removeFolder.sync(this._userDataDir);
163
+ }
164
+ }
165
+ catch (error) { }
143
166
  // Cleanup this listener last, as that makes sure the full callback runs. If we
144
167
  // perform this earlier, then the previous function calls would not happen.
145
168
  helper.removeEventListeners(this._listeners);
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserRunner.js","sourceRoot":"","sources":["../../../../src/node/BrowserRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowserRunner.js","sourceRoot":"","sources":["../../../../src/node/BrowserRunner.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export interface BrowserLaunchArgumentOptions {
34
34
  userDataDir?: string;
35
35
  /**
36
36
  * Whether to auto-open a DevTools panel for each tab. If this is set to
37
- * `true`, then `headless` will be set to `false` automatically.
37
+ * `true`, then `headless` will be forced to `false`.
38
38
  * @defaultValue `false`
39
39
  */
40
40
  devtools?: boolean;
@@ -1,7 +1,5 @@
1
- import { Product } from '../common/Product.js';
2
-
3
1
  import { BrowserLaunchArgumentOptions, PuppeteerNodeLaunchOptions } from './LaunchOptions.js';
4
-
2
+ import { Product } from '../common/Product.js';
5
3
  /**
6
4
  * Describes a launcher - a class that is able to create and launch a browser instance.
7
5
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"Launcher.d.ts","sourceRoot":"","sources":["../../../../src/node/Launcher.ts"],"names":[],"mappings":"AA4BA,OAAO,EACL,4BAA4B,EAE5B,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAI/C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,MAAM,EAAE,0BAA0B,OAAE;IAC3C,cAAc,EAAE,CAAC,MAAM,CAAC,KAAA,KAAK,MAAM,CAAC;IACpC,WAAW,CAAC,MAAM,EAAE,4BAA4B,OAAE;IAClD,OAAO,EAAE,OAAO,CAAC;CAClB;AAksBD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC9B,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,OAAO,EACxB,OAAO,CAAC,EAAE,MAAM,GACf,eAAe,CA+BjB"}
1
+ {"version":3,"file":"Launcher.d.ts","sourceRoot":"","sources":["../../../../src/node/Launcher.ts"],"names":[],"mappings":"AA6BA,OAAO,EACL,4BAA4B,EAE5B,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAI/C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,MAAM,EAAE,0BAA0B,OAAE;IAC3C,cAAc,EAAE,CAAC,MAAM,CAAC,KAAA,KAAK,MAAM,CAAC;IACpC,WAAW,CAAC,MAAM,EAAE,4BAA4B,OAAE;IAClD,OAAO,EAAE,OAAO,CAAC;CAClB;AAmxBD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC9B,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,OAAO,EACxB,OAAO,CAAC,EAAE,MAAM,GACf,eAAe,CA+BjB"}
@@ -13,17 +13,15 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import * as fs from 'fs';
17
16
  import * as os from 'os';
18
17
  import * as path from 'path';
19
- import { promisify } from 'util';
20
-
18
+ import * as fs from 'fs';
21
19
  import { assert } from '../common/assert.js';
22
- import { Browser } from '../common/Browser.js';
23
-
24
20
  import { BrowserFetcher } from './BrowserFetcher.js';
21
+ import { Browser } from '../common/Browser.js';
25
22
  import { BrowserRunner } from './BrowserRunner.js';
26
-
23
+ import { promisify } from 'util';
24
+ const copyFileAsync = promisify(fs.copyFile);
27
25
  const mkdtempAsync = promisify(fs.mkdtemp);
28
26
  const writeFileAsync = promisify(fs.writeFile);
29
27
  const tmpDir = () => process.env.PUPPETEER_TMP_DIR || os.tmpdir();
@@ -38,7 +36,6 @@ class ChromeLauncher {
38
36
  }
39
37
  async launch(options = {}) {
40
38
  const { ignoreDefaultArgs = false, args = [], dumpio = false, channel = null, executablePath = null, pipe = false, env = process.env, handleSIGINT = true, handleSIGTERM = true, handleSIGHUP = true, ignoreHTTPSErrors = false, defaultViewport = { width: 800, height: 600 }, slowMo = 0, timeout = 30000, waitForInitialPage = true, debuggingPort = null, } = options;
41
- const profilePath = path.join(tmpDir(), 'puppeteer_dev_chrome_profile-');
42
39
  const chromeArguments = [];
43
40
  if (!ignoreDefaultArgs)
44
41
  chromeArguments.push(...this.defaultArgs(options));
@@ -46,7 +43,6 @@ class ChromeLauncher {
46
43
  chromeArguments.push(...this.defaultArgs(options).filter((arg) => !ignoreDefaultArgs.includes(arg)));
47
44
  else
48
45
  chromeArguments.push(...args);
49
- let temporaryUserDataDir = null;
50
46
  if (!chromeArguments.some((argument) => argument.startsWith('--remote-debugging-'))) {
51
47
  if (pipe) {
52
48
  assert(debuggingPort === null, 'Browser should be launched with either pipe or debugging port - not both.');
@@ -56,9 +52,23 @@ class ChromeLauncher {
56
52
  chromeArguments.push(`--remote-debugging-port=${debuggingPort || 0}`);
57
53
  }
58
54
  }
59
- if (!chromeArguments.some((arg) => arg.startsWith('--user-data-dir'))) {
60
- temporaryUserDataDir = await mkdtempAsync(profilePath);
61
- chromeArguments.push(`--user-data-dir=${temporaryUserDataDir}`);
55
+ let userDataDir;
56
+ let isTempUserDataDir = true;
57
+ // Check for the user data dir argument, which will always be set even
58
+ // with a custom directory specified via the userDataDir option.
59
+ const userDataDirIndex = chromeArguments.findIndex((arg) => {
60
+ return arg.startsWith('--user-data-dir');
61
+ });
62
+ if (userDataDirIndex !== -1) {
63
+ userDataDir = chromeArguments[userDataDirIndex].split('=')[1];
64
+ if (!fs.existsSync(userDataDir)) {
65
+ throw new Error(`Chrome user data dir not found at '${userDataDir}'`);
66
+ }
67
+ isTempUserDataDir = false;
68
+ }
69
+ else {
70
+ userDataDir = await mkdtempAsync(path.join(tmpDir(), 'puppeteer_dev_chrome_profile-'));
71
+ chromeArguments.push(`--user-data-dir=${userDataDir}`);
62
72
  }
63
73
  let chromeExecutable = executablePath;
64
74
  if (channel) {
@@ -80,7 +90,7 @@ class ChromeLauncher {
80
90
  }
81
91
  }
82
92
  const usePipe = chromeArguments.includes('--remote-debugging-pipe');
83
- const runner = new BrowserRunner(this.product, chromeExecutable, chromeArguments, temporaryUserDataDir);
93
+ const runner = new BrowserRunner(this.product, chromeExecutable, chromeArguments, userDataDir, isTempUserDataDir);
84
94
  runner.start({
85
95
  handleSIGHUP,
86
96
  handleSIGTERM,
@@ -89,6 +99,7 @@ class ChromeLauncher {
89
99
  env,
90
100
  pipe: usePipe,
91
101
  });
102
+ let browser;
92
103
  try {
93
104
  const connection = await runner.setupConnection({
94
105
  usePipe,
@@ -96,15 +107,22 @@ class ChromeLauncher {
96
107
  slowMo,
97
108
  preferredRevision: this._preferredRevision,
98
109
  });
99
- const browser = await Browser.create(connection, [], ignoreHTTPSErrors, defaultViewport, runner.proc, runner.close.bind(runner));
100
- if (waitForInitialPage)
101
- await browser.waitForTarget((t) => t.type() === 'page', { timeout });
102
- return browser;
110
+ browser = await Browser.create(connection, [], ignoreHTTPSErrors, defaultViewport, runner.proc, runner.close.bind(runner));
103
111
  }
104
112
  catch (error) {
105
113
  runner.kill();
106
114
  throw error;
107
115
  }
116
+ if (waitForInitialPage) {
117
+ try {
118
+ await browser.waitForTarget((t) => t.type() === 'page', { timeout });
119
+ }
120
+ catch (error) {
121
+ await browser.close();
122
+ throw error;
123
+ }
124
+ }
125
+ return browser;
108
126
  }
109
127
  defaultArgs(options = {}) {
110
128
  const chromeArguments = [
@@ -185,12 +203,28 @@ class FirefoxLauncher {
185
203
  }
186
204
  firefoxArguments.push(`--remote-debugging-port=${debuggingPort || 0}`);
187
205
  }
188
- let temporaryUserDataDir = null;
189
- if (!firefoxArguments.includes('-profile') &&
190
- !firefoxArguments.includes('--profile')) {
191
- temporaryUserDataDir = await this._createProfile(extraPrefsFirefox);
206
+ let userDataDir = null;
207
+ let isTempUserDataDir = true;
208
+ // Check for the profile argument, which will always be set even
209
+ // with a custom directory specified via the userDataDir option.
210
+ const profileArgIndex = firefoxArguments.findIndex((arg) => {
211
+ return ['-profile', '--profile'].includes(arg);
212
+ });
213
+ if (profileArgIndex !== -1) {
214
+ userDataDir = firefoxArguments[profileArgIndex + 1];
215
+ if (!fs.existsSync(userDataDir)) {
216
+ throw new Error(`Firefox profile not found at '${userDataDir}'`);
217
+ }
218
+ // When using a custom Firefox profile it needs to be populated
219
+ // with required preferences.
220
+ isTempUserDataDir = false;
221
+ const prefs = this.defaultPreferences(extraPrefsFirefox);
222
+ this.writePreferences(prefs, userDataDir);
223
+ }
224
+ else {
225
+ userDataDir = await this._createProfile(extraPrefsFirefox);
192
226
  firefoxArguments.push('--profile');
193
- firefoxArguments.push(temporaryUserDataDir);
227
+ firefoxArguments.push(userDataDir);
194
228
  }
195
229
  await this._updateRevision();
196
230
  let firefoxExecutable = executablePath;
@@ -200,7 +234,7 @@ class FirefoxLauncher {
200
234
  throw new Error(missingText);
201
235
  firefoxExecutable = executablePath;
202
236
  }
203
- const runner = new BrowserRunner(this.product, firefoxExecutable, firefoxArguments, temporaryUserDataDir);
237
+ const runner = new BrowserRunner(this.product, firefoxExecutable, firefoxArguments, userDataDir, isTempUserDataDir);
204
238
  runner.start({
205
239
  handleSIGHUP,
206
240
  handleSIGTERM,
@@ -209,6 +243,7 @@ class FirefoxLauncher {
209
243
  env,
210
244
  pipe,
211
245
  });
246
+ let browser;
212
247
  try {
213
248
  const connection = await runner.setupConnection({
214
249
  usePipe: pipe,
@@ -216,15 +251,22 @@ class FirefoxLauncher {
216
251
  slowMo,
217
252
  preferredRevision: this._preferredRevision,
218
253
  });
219
- const browser = await Browser.create(connection, [], ignoreHTTPSErrors, defaultViewport, runner.proc, runner.close.bind(runner));
220
- if (waitForInitialPage)
221
- await browser.waitForTarget((t) => t.type() === 'page', { timeout });
222
- return browser;
254
+ browser = await Browser.create(connection, [], ignoreHTTPSErrors, defaultViewport, runner.proc, runner.close.bind(runner));
223
255
  }
224
256
  catch (error) {
225
257
  runner.kill();
226
258
  throw error;
227
259
  }
260
+ if (waitForInitialPage) {
261
+ try {
262
+ await browser.waitForTarget((t) => t.type() === 'page', { timeout });
263
+ }
264
+ catch (error) {
265
+ await browser.close();
266
+ throw error;
267
+ }
268
+ }
269
+ return browser;
228
270
  }
229
271
  executablePath() {
230
272
  return resolveExecutablePath(this).executablePath;
@@ -244,11 +286,13 @@ class FirefoxLauncher {
244
286
  return 'firefox';
245
287
  }
246
288
  defaultArgs(options = {}) {
247
- const firefoxArguments = ['--no-remote', '--foreground'];
248
- if (os.platform().startsWith('win')) {
289
+ const { devtools = false, headless = !devtools, args = [], userDataDir = null, } = options;
290
+ const firefoxArguments = ['--no-remote'];
291
+ if (os.platform() === 'darwin')
292
+ firefoxArguments.push('--foreground');
293
+ else if (os.platform().startsWith('win')) {
249
294
  firefoxArguments.push('--wait-for-browser');
250
295
  }
251
- const { devtools = false, headless = !devtools, args = [], userDataDir = null, } = options;
252
296
  if (userDataDir) {
253
297
  firefoxArguments.push('--profile');
254
298
  firefoxArguments.push(userDataDir);
@@ -262,12 +306,9 @@ class FirefoxLauncher {
262
306
  firefoxArguments.push(...args);
263
307
  return firefoxArguments;
264
308
  }
265
- async _createProfile(extraPrefs) {
266
- const profilePath = await mkdtempAsync(path.join(tmpDir(), 'puppeteer_dev_firefox_profile-'));
267
- const prefsJS = [];
268
- const userJS = [];
309
+ defaultPreferences(extraPrefs) {
269
310
  const server = 'dummy.test';
270
- const defaultPreferences = {
311
+ const defaultPrefs = {
271
312
  // Make sure Shield doesn't hit the network.
272
313
  'app.normandy.api_url': '',
273
314
  // Disable Firefox old build background check
@@ -426,12 +467,35 @@ class FirefoxLauncher {
426
467
  // Prevent starting into safe mode after application crashes
427
468
  'toolkit.startup.max_resumed_crashes': -1,
428
469
  };
429
- Object.assign(defaultPreferences, extraPrefs);
430
- for (const [key, value] of Object.entries(defaultPreferences))
431
- userJS.push(`user_pref(${JSON.stringify(key)}, ${JSON.stringify(value)});`);
432
- await writeFileAsync(path.join(profilePath, 'user.js'), userJS.join('\n'));
433
- await writeFileAsync(path.join(profilePath, 'prefs.js'), prefsJS.join('\n'));
434
- return profilePath;
470
+ return Object.assign(defaultPrefs, extraPrefs);
471
+ }
472
+ /**
473
+ * Populates the user.js file with custom preferences as needed to allow
474
+ * Firefox's CDP support to properly function. These preferences will be
475
+ * automatically copied over to prefs.js during startup of Firefox. To be
476
+ * able to restore the original values of preferences a backup of prefs.js
477
+ * will be created.
478
+ *
479
+ * @param prefs List of preferences to add.
480
+ * @param profilePath Firefox profile to write the preferences to.
481
+ */
482
+ async writePreferences(prefs, profilePath) {
483
+ const lines = Object.entries(prefs).map(([key, value]) => {
484
+ return `user_pref(${JSON.stringify(key)}, ${JSON.stringify(value)});`;
485
+ });
486
+ await writeFileAsync(path.join(profilePath, 'user.js'), lines.join('\n'));
487
+ // Create a backup of the preferences file if it already exitsts.
488
+ const prefsPath = path.join(profilePath, 'prefs.js');
489
+ if (fs.existsSync(prefsPath)) {
490
+ const prefsBackupPath = path.join(profilePath, 'prefs.js.puppeteer');
491
+ await copyFileAsync(prefsPath, prefsBackupPath);
492
+ }
493
+ }
494
+ async _createProfile(extraPrefs) {
495
+ const temporaryProfilePath = await mkdtempAsync(path.join(tmpDir(), 'puppeteer_dev_firefox_profile-'));
496
+ const prefs = this.defaultPreferences(extraPrefs);
497
+ await this.writePreferences(prefs, temporaryProfilePath);
498
+ return temporaryProfilePath;
435
499
  }
436
500
  }
437
501
  function executablePathForChannel(channel) {
@@ -1 +1 @@
1
- {"version":3,"file":"Launcher.js","sourceRoot":"","sources":["../../../../src/node/Launcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Launcher.js","sourceRoot":"","sources":["../../../../src/node/Launcher.ts"],"names":[],"mappings":"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"}
@@ -13,10 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import NodeWebSocket from 'ws';
17
-
18
16
  import { ConnectionTransport } from '../common/ConnectionTransport.js';
19
-
17
+ import NodeWebSocket from 'ws';
20
18
  export declare class NodeWebSocketTransport implements ConnectionTransport {
21
19
  static create(url: string): Promise<NodeWebSocketTransport>;
22
20
  private _ws;
@@ -14,9 +14,8 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- import { ConnectionTransport } from '../common/ConnectionTransport.js';
18
17
  import { PuppeteerEventListener } from '../common/helper.js';
19
-
18
+ import { ConnectionTransport } from '../common/ConnectionTransport.js';
20
19
  export declare class PipeTransport implements ConnectionTransport {
21
20
  _pipeWrite: NodeJS.WritableStream;
22
21
  _pendingMessage: string;
@@ -13,8 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { debugError, helper, } from '../common/helper.js';
17
-
16
+ import { helper, debugError, } from '../common/helper.js';
18
17
  export class PipeTransport {
19
18
  constructor(pipeWrite, pipeRead) {
20
19
  this._pipeWrite = pipeWrite;
@@ -13,15 +13,13 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { Browser } from '../common/Browser.js';
17
- import { BrowserConnectOptions } from '../common/BrowserConnector.js';
18
- import { Product } from '../common/Product.js';
19
- import { CommonPuppeteerSettings, ConnectOptions , Puppeteer} from '../common/Puppeteer.js';
20
-
16
+ import { Puppeteer, CommonPuppeteerSettings, ConnectOptions } from '../common/Puppeteer.js';
21
17
  import { BrowserFetcher, BrowserFetcherOptions } from './BrowserFetcher.js';
18
+ import { LaunchOptions, BrowserLaunchArgumentOptions } from './LaunchOptions.js';
19
+ import { BrowserConnectOptions } from '../common/BrowserConnector.js';
20
+ import { Browser } from '../common/Browser.js';
22
21
  import { ProductLauncher } from './Launcher.js';
23
- import { BrowserLaunchArgumentOptions , LaunchOptions} from './LaunchOptions.js';
24
-
22
+ import { Product } from '../common/Product.js';
25
23
  /**
26
24
  * Extends the main {@link Puppeteer} class with Node specific behaviour for fetching and
27
25
  * downloading browsers.
@@ -14,11 +14,9 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { Puppeteer, } from '../common/Puppeteer.js';
17
- import { PUPPETEER_REVISIONS } from '../revisions.js';
18
-
19
17
  import { BrowserFetcher } from './BrowserFetcher.js';
20
18
  import Launcher from './Launcher.js';
21
-
19
+ import { PUPPETEER_REVISIONS } from '../revisions.js';
22
20
  /**
23
21
  * Extends the main {@link Puppeteer} class with Node specific behaviour for fetching and
24
22
  * downloading browsers.
@@ -13,16 +13,14 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import https from 'https';
17
- import createHttpsProxyAgent from 'https-proxy-agent';
18
16
  import os from 'os';
17
+ import https from 'https';
19
18
  import ProgressBar from 'progress';
20
- import { getProxyForUrl } from 'proxy-from-env';
21
19
  import URL from 'url';
22
-
23
20
  import puppeteer from '../node.js';
24
21
  import { PUPPETEER_REVISIONS } from '../revisions.js';
25
-
22
+ import createHttpsProxyAgent from 'https-proxy-agent';
23
+ import { getProxyForUrl } from 'proxy-from-env';
26
24
  const supportedProducts = {
27
25
  chrome: 'Chromium',
28
26
  firefox: 'Firefox Nightly',
@@ -13,9 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { isNode } from './environment.js';
17
16
  import { initializePuppeteerNode } from './initialize-node.js';
18
-
17
+ import { isNode } from './environment.js';
19
18
  if (!isNode) {
20
19
  throw new Error('Cannot run puppeteer-core outside of Node.js');
21
20
  }
@@ -13,9 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { isNode } from './environment.js';
17
16
  import { initializePuppeteerNode } from './initialize-node.js';
18
-
17
+ import { isNode } from './environment.js';
19
18
  if (!isNode) {
20
19
  throw new Error('Trying to run Puppeteer-Node in a web environment.');
21
20
  }