diff --git a/package-lock.json b/package-lock.json index 57fb513e74f6c..eadc1583ddc4d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8689,12 +8689,6 @@ "url-to-options": "^1.0.1" } }, - "chalk": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", - "dev": true - }, "change-case": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", @@ -27634,12 +27628,6 @@ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true }, - "uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", - "dev": true - }, "v8-compile-cache": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", diff --git a/package.json b/package.json index 5db01eaa360f1..86686920bac20 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,6 @@ "@wordpress/e2e-test-utils": "9.3.4", "@wordpress/scripts": "25.3.6", "autoprefixer": "^10.4.13", - "chalk": "5.2.0", "check-node-version": "4.2.1", "copy-webpack-plugin": "11.0.0", "cssnano": "5.1.14", @@ -71,7 +70,6 @@ "source-map-loader": "4.0.1", "terser-webpack-plugin": "5.3.6", "uglify-js": "^3.17.4", - "uuid": "9.0.0", "wait-on": "7.0.1", "webpack": "5.75.0", "webpack-livereload-plugin": "3.0.2" 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 );