diff --git a/dev-packages/node-integration-tests/package.json b/dev-packages/node-integration-tests/package.json index 6bad3d7f7a71..4fc394a91a79 100644 --- a/dev-packages/node-integration-tests/package.json +++ b/dev-packages/node-integration-tests/package.json @@ -14,8 +14,8 @@ "build:dev": "yarn build", "build:transpile": "rollup -c rollup.npm.config.mjs", "build:types": "tsc -p tsconfig.types.json", - "clean": "rimraf -g **/node_modules && run-p clean:docker:*", - "clean:docker:mysql2": "cd suites/tracing-experimental/mysql2 && docker-compose down --volumes", + "clean": "rimraf -g **/node_modules && run-p clean:docker", + "clean:docker": "node scripts/clean.js", "prisma:init": "(cd suites/tracing/prisma-orm && ts-node ./setup.ts)", "prisma:init:new": "(cd suites/tracing-new/prisma-orm && ts-node ./setup.ts)", "lint": "eslint . --format stylish", @@ -52,6 +52,9 @@ "proxy": "^2.1.1", "yargs": "^16.2.0" }, + "devDependencies": { + "globby": "11" + }, "config": { "mongodbMemoryServer": { "preferGlobalPath": true, diff --git a/dev-packages/node-integration-tests/scripts/clean.js b/dev-packages/node-integration-tests/scripts/clean.js new file mode 100644 index 000000000000..0610e39f92d4 --- /dev/null +++ b/dev-packages/node-integration-tests/scripts/clean.js @@ -0,0 +1,19 @@ +const { execSync } = require('child_process'); +const globby = require('globby'); +const { dirname, join } = require('path'); + +const cwd = join(__dirname, '..'); +const paths = globby.sync(['suites/**/docker-compose.yml'], { cwd }).map(path => join(cwd, dirname(path))); + +// eslint-disable-next-line no-console +console.log('Cleaning up docker containers and volumes...'); + +for (const path of paths) { + try { + // eslint-disable-next-line no-console + console.log(`docker compose down @ ${path}`); + execSync('docker compose down --volumes', { stdio: 'inherit', cwd: path }); + } catch (_) { + // + } +} diff --git a/yarn.lock b/yarn.lock index d2946ed22906..8b1623ec39bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16753,7 +16753,7 @@ globby@10.0.0: merge2 "^1.2.3" slash "^3.0.0" -globby@11.1.0, globby@^11.0.1, globby@^11.0.3, globby@^11.1.0: +globby@11, globby@11.1.0, globby@^11.0.1, globby@^11.0.3, globby@^11.1.0: version "11.1.0" resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==