Initial commit
This commit is contained in:
39
tests/beforeTest.js
Normal file
39
tests/beforeTest.js
Normal file
@ -0,0 +1,39 @@
|
||||
/* 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();
|
Reference in New Issue
Block a user