UNPKG

1.48 kBJavaScriptView Raw
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
17let asyncawait = true;
18try {
19 new Function('async function test(){await 1}');
20} catch (error) {
21 asyncawait = false;
22}
23
24if (asyncawait) {
25 const {helper} = require('./lib/helper');
26 const api = require('./lib/api');
27 for (const className in api) {
28 // Puppeteer-web excludes certain classes from bundle, e.g. BrowserFetcher.
29 if (typeof api[className] === 'function')
30 helper.installAsyncStackHooks(api[className]);
31 }
32}
33
34// If node does not support async await, use the compiled version.
35const Puppeteer = asyncawait ? require('./lib/Puppeteer') : require('./node6/lib/Puppeteer');
36const packageJson = require('./package.json');
37const preferredRevision = packageJson.puppeteer.chromium_revision;
38const isPuppeteerCore = packageJson.name === 'puppeteer-core';
39
40module.exports = new Puppeteer(__dirname, preferredRevision, isPuppeteerCore);