From 7f47d45952194cac0a5baa0545a7ef683b2f0bbc Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Wed, 10 Jan 2024 09:48:00 +0100 Subject: [PATCH 1/3] some improvements --- .gitignore | 4 ++++ index.js | 3 ++- package.json | 32 +++++++++++++++++++------------- 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 244969f..62307f5 100644 --- a/.gitignore +++ b/.gitignore @@ -104,3 +104,7 @@ dist # TernJS port file .tern-port + +#IDE +.vscode +.idea diff --git a/index.js b/index.js index 240c72c..e59023f 100755 --- a/index.js +++ b/index.js @@ -214,8 +214,9 @@ async function install(dependencies, verbose) { const child = spawn(command, args, { stdio: 'inherit' }); child.on('close', code => { if (code !== 0) { + // if using Playwright, run the command to install the browser drivers reject({ - command: `${command} ${args.join(' ')}`, + command: `${args.join(' ').includes('playwright')} ? ${command} ${args.join(' ')}; npx playwright install : ${command} ${args.join(' ')}`, }); return; } diff --git a/package.json b/package.json index fa5fafe..4fdad93 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,18 @@ { "name": "create-codeceptjs", - "version": "0.1.7", + "version": "0.1.8", "description": "Install CodeceptJS with all its dependencies in a single run", "main": "index.js", "bin": { - "create-codeceptjs": "index.js" - }, + "create-codeceptjs": "index.js" + }, "scripts": { + "codeceptjs": "codeceptjs run --steps", + "codeceptjs:headless": "HEADLESS=true codeceptjs run --steps", + "codeceptjs:ui": "codecept-ui --app", + "codeceptjs:demo": "codeceptjs run --steps -c node_modules/@codeceptjs/examples", + "codeceptjs:demo:headless": "HEADLESS=true codeceptjs run --steps -c node_modules/@codeceptjs/examples", + "codeceptjs:demo:ui": "codecept-ui --app -c node_modules/@codeceptjs/examples" }, "repository": { "type": "git", @@ -25,18 +31,18 @@ }, "homepage": "https://github.com/codecept-js/create-codeceptjs#readme", "dependencies": { - "cfonts": "^2.8.5", - "chalk": "^4.1.0", - "commander": "^5.1.0", - "cross-spawn": "^7.0.3", - "fs-extra": "^9.0.1", - "semver": "^7.3.2" + "cfonts": "2.8.5", + "chalk": "4.1.0", + "commander": "5.1.0", + "cross-spawn": "7.0.3", + "fs-extra": "9.0.1", + "semver": "7.3.2" }, "devDependencies": { - "@codeceptjs/configure": "^0.5.2", + "@codeceptjs/configure": "^0.10.0", "@codeceptjs/examples": "^1.2.1", - "@codeceptjs/ui": "^0.3.8", - "codeceptjs": "^3.0.1", - "playwright": "^1.2.1" + "@codeceptjs/ui": "^0.7.0", + "codeceptjs": "^3.5.11", + "playwright": "^1.40.1" } } From 371911245ce9be6a6592a57f6c69484ae6b14694 Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Wed, 10 Jan 2024 09:50:02 +0100 Subject: [PATCH 2/3] some improvements --- package.json | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 4fdad93..209e16a 100644 --- a/package.json +++ b/package.json @@ -7,12 +7,6 @@ "create-codeceptjs": "index.js" }, "scripts": { - "codeceptjs": "codeceptjs run --steps", - "codeceptjs:headless": "HEADLESS=true codeceptjs run --steps", - "codeceptjs:ui": "codecept-ui --app", - "codeceptjs:demo": "codeceptjs run --steps -c node_modules/@codeceptjs/examples", - "codeceptjs:demo:headless": "HEADLESS=true codeceptjs run --steps -c node_modules/@codeceptjs/examples", - "codeceptjs:demo:ui": "codecept-ui --app -c node_modules/@codeceptjs/examples" }, "repository": { "type": "git", @@ -39,10 +33,10 @@ "semver": "7.3.2" }, "devDependencies": { - "@codeceptjs/configure": "^0.10.0", - "@codeceptjs/examples": "^1.2.1", - "@codeceptjs/ui": "^0.7.0", - "codeceptjs": "^3.5.11", - "playwright": "^1.40.1" + "@codeceptjs/configure": "0.10.0", + "@codeceptjs/examples": "1.2.1", + "@codeceptjs/ui": "0.7.0", + "codeceptjs": "3.5.11", + "playwright": "1.40.1" } } From 6a9e30dfd25045eadf6af7c3d50f0e899752680b Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Wed, 10 Jan 2024 09:52:45 +0100 Subject: [PATCH 3/3] bump version of packages --- index.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/index.js b/index.js index e59023f..898f6fa 100755 --- a/index.js +++ b/index.js @@ -8,10 +8,10 @@ const semver = require('semver'); const spawn = require('cross-spawn'); const enginePackages = { - puppeteer: ['puppeteer@5'], + puppeteer: ['puppeteer@21.1.1'], playwright: ['playwright@1'], testcafe: ['testcafe@1'], - webdriverio: ['webdriverio@6'], + webdriverio: ['webdriverio@8'], }; const codeceptPackages = [ @@ -128,7 +128,7 @@ async function createCodecept(opts) { } else { console.log(`Powered by ${chalk.yellow('Playwright')} engine`); deps.push(enginePackages.playwright); - } + } if (!existsSync('package.json')) { console.log('package.json file does not exist in current dir, creating it...'); @@ -148,11 +148,11 @@ async function createCodecept(opts) { packageJson.scripts['codeceptjs'] = 'codeceptjs run --steps'; packageJson.scripts['codeceptjs:headless'] = 'HEADLESS=true codeceptjs run --steps'; packageJson.scripts['codeceptjs:ui'] = 'codecept-ui --app'; - + packageJson.scripts['codeceptjs:demo'] = `codeceptjs run --steps -c ${demoConfigFile}`; packageJson.scripts['codeceptjs:demo:headless'] = `HEADLESS=true codeceptjs run --steps -c ${demoConfigFile}`; packageJson.scripts['codeceptjs:demo:ui'] = `codecept-ui --app -c ${demoConfigFile}`; - + fs.writeJsonSync('package.json', packageJson, { spaces: 4 }); @@ -191,7 +191,7 @@ async function install(dependencies, verbose) { command = 'yarnpkg'; args = ['add','-D', '--exact']; [].push.apply(args, dependencies); - + // Explicitly set cwd() to work around issues like // https://github.com/facebook/create-react-app/issues/3326. // Unfortunately we can only do this for Yarn because npm support for @@ -199,7 +199,7 @@ async function install(dependencies, verbose) { // This is why for npm, we run checkThatNpmCanReadCwd() early instead. args.push('--cwd'); args.push(root); - + } else { command = 'npm'; args = [