| 123456789101112131415161718192021222324252627282930313233343536373839 | 
							- /* eslint-disable global-require */
 
- /* eslint-disable import/no-extraneous-dependencies */
 
- const { execSync } = require('child_process');
 
- const { join } = require('path');
 
- const findChrome = require('carlo/lib/find_chrome');
 
- const detectInstaller = require('detect-installer');
 
- const installPuppeteer = () => {
 
-   // find can use package manger
 
-   const packages = detectInstaller(join(__dirname, '../../'));
 
-   // get installed package manger
 
-   const packageName = packages.find(detectInstaller.hasPackageCommand) || 'npm';
 
-   console.log(`🤖 will use ${packageName} install puppeteer`);
 
-   const command = `${packageName} ${packageName.includes('yarn') ? 'add' : 'i'} puppeteer`;
 
-   execSync(command, {
 
-     stdio: 'inherit',
 
-   });
 
- };
 
- const initPuppeteer = async () => {
 
-   try {
 
-     // eslint-disable-next-line import/no-unresolved
 
-     const findChromePath = await findChrome({});
 
-     const { executablePath } = findChromePath;
 
-     console.log(`🧲 find you browser in ${executablePath}`);
 
-     return;
 
-   } catch (error) {
 
-     console.log('🧲 no find chrome');
 
-   }
 
-   try {
 
-     require.resolve('puppeteer');
 
-   } catch (error) {
 
-     // need install puppeteer
 
-     await installPuppeteer();
 
-   }
 
- };
 
- initPuppeteer();
 
 
  |