diff --git a/package-lock.json b/package-lock.json index 104144e86e833..fd5807b735a8d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -57,7 +57,6 @@ "@wordpress/prettier-config": "4.51.0", "@wordpress/scripts": "33.0.0", "autoprefixer": "10.5.3", - "chalk": "5.6.2", "cssnano": "7.1.9", "dotenv": "17.4.2", "dotenv-expand": "13.0.0", @@ -92,7 +91,6 @@ "source-map-loader": "5.0.0", "typescript": "6.0.3", "update-browserslist-db": "1.3.1", - "uuid": "14.0.1", "wait-on": "9.0.10", "webpack": "5.108.4" }, @@ -10399,19 +10397,6 @@ "node": ">= 10" } }, - "node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/change-case": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", @@ -28630,20 +28615,6 @@ "node": ">= 0.4.0" } }, - "node_modules/uuid": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.1.tgz", - "integrity": "sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==", - "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist-node/bin/uuid" - } - }, "node_modules/v8-to-istanbul": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", diff --git a/package.json b/package.json index e209ae46d2058..b260b675af0ba 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,6 @@ "@wordpress/prettier-config": "4.51.0", "@wordpress/scripts": "33.0.0", "autoprefixer": "10.5.3", - "chalk": "5.6.2", "cssnano": "7.1.9", "dotenv": "17.4.2", "dotenv-expand": "13.0.0", @@ -90,7 +89,6 @@ "source-map-loader": "5.0.0", "typescript": "6.0.3", "update-browserslist-db": "1.3.1", - "uuid": "14.0.1", "wait-on": "9.0.10", "webpack": "5.108.4" }, diff --git a/tests/gutenberg/.wp-env.sample.json b/tests/gutenberg/.wp-env.sample.json deleted file mode 100644 index f5caea7afc139..0000000000000 --- a/tests/gutenberg/.wp-env.sample.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "core": "{WP_PATH}", - "mappings": { - "wp-content/mu-plugins": "{MU_PlUGINS_PATH}", - "wp-content/plugins/test-plugins": "{TEST_PlUGINS_PATH}" - }, - "config": { - "SCRIPT_DEBUG": false, - "WP_PHP_BINARY": "php", - "WP_TESTS_EMAIL": "admin@example.org", - "WP_TESTS_TITLE": "Test Blog" - } -} diff --git a/tests/gutenberg/run.js b/tests/gutenberg/run.js deleted file mode 100755 index c463bfde0bc8e..0000000000000 --- a/tests/gutenberg/run.js +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/env node -const path = require( 'path' ); -const { v4: uuid } = require( 'uuid' ); -const os = require( 'os' ); -const fs = require( 'fs' ); -const chalk = require( 'chalk' ); -const childProcess = require( 'child_process' ); - -// Config -const GUTENBERG_VERSION = 'wp/trunk'; - -// Utils -/** - * Utility to run a child script - * - * @param {string} script Script to run. - * @param {string=} cwd Working directory. - */ -function runShellScript( script, cwd ) { - childProcess.execSync( script, { - cwd, - env: { - NO_CHECKS: 'true', - PATH: process.env.PATH, - HOME: process.env.HOME, - }, - stdio: [ 'inherit', 'ignore', 'inherit' ], - } ); -} - -/** - * Small utility used to read an uncached version of a JSON file - * - * @param {string} fileName - */ -function readJSONFile( fileName ) { - const data = fs.readFileSync( fileName, 'utf8' ); - return JSON.parse( data ); -} - -/** - * Generates a random temporary path in the OS's tmp dir. - * - * @return {string} Temporary Path. - */ -function getRandomTemporaryPath() { - return path.join( os.tmpdir(), uuid() ); -} - -// Useful constants -const title = chalk.bold; -const success = chalk.bold.green; -const rootFolder = path.resolve( __dirname, '../../' ); -const testLauncherPath = getRandomTemporaryPath(); -const testEnvironmentPath = getRandomTemporaryPath(); -const sampleEnvConfig = path.resolve( __dirname, '.wp-env.sample.json' ); - -// Welcome -console.log( title( '>> 🏁 Welcome, this command is going to prepare a running WordPress environment and run the Gutenberg e2e tests against it.' ) ); -console.log( title( '>> It uses the current WordPress folder from which it\'s being run and a separate Gutenberg clone performed by the command.' ) ); -console.log( title( '>> Configuration: ' ) ); -console.log( 'Gutenberg Version: ' + success( GUTENBERG_VERSION ) ); -console.log( 'Test Launcher Path (Gutenberg): ' + success( testLauncherPath ) ); -console.log( 'Test Environment Path (wp-env): ' + success( testEnvironmentPath ) ); - -// Steps -// 1- Preparing the WordPress environment -console.log( '>> Preparing the WordPress clone' ); -runShellScript( 'npm install && FORCE_REDUCED_MOTION=true npm run build', rootFolder ); - -// 2- Preparing the Gutenberg clone -// The tests and the launcher comes from the Gutenberg repository e2e tests -console.log( title( '>> Preparing the e2e tests launcher' ) ); -runShellScript( 'git clone https://github.com/WordPress/gutenberg.git ' + testLauncherPath + ' --depth=1 --no-single-branch' ); -runShellScript( 'git checkout ' + GUTENBERG_VERSION, testLauncherPath ); -runShellScript( 'npm install && npm run build', testLauncherPath ); - -// 3- Running the WordPress environment using wp-env -// The environment should include the WordPress install and the e2e tests plugins.s -console.log( title( '>> Preparing the environment' ) ); -runShellScript( 'mkdir -p ' + testEnvironmentPath ); -const envConfig = readJSONFile( sampleEnvConfig ); -envConfig.core = path.resolve( rootFolder, 'build' ); -envConfig.mappings[ 'wp-content/mu-plugins' ] = path.resolve( testLauncherPath, 'packages/e2e-tests/mu-plugins' ); -envConfig.mappings[ 'wp-content/plugins/test-plugins' ] = path.resolve( testLauncherPath, 'packages/e2e-tests/plugins' ); -fs.writeFileSync( - path.resolve( testEnvironmentPath, '.wp-env.json' ), - JSON.stringify( envConfig, null, '\t' ) + '\n' -); - -// 4- Starting the environment -console.log( title( '>> Starting the environment' ) ); -runShellScript( path.resolve( testLauncherPath, 'node_modules/.bin/wp-env' ) + ' start ', testEnvironmentPath ); - -// 5- Running the tests -console.log( title( '>> Running the e2e tests' ) ); -runShellScript( 'npm run test-e2e packages/e2e-tests/specs/editor', testLauncherPath );