Files
formipay/node_modules/@wordpress/hooks/benchmark/index.js
dwindown e8fbfb14c1 fix: prevent asset conflicts between React and Grid.js versions
Add coexistence checks to all enqueue methods to prevent loading
both React and Grid.js assets simultaneously.

Changes:
- ReactAdmin.php: Only enqueue React assets when ?react=1
- Init.php: Skip Grid.js when React active on admin pages
- Form.php, Coupon.php, Access.php: Restore classic assets when ?react=0
- Customer.php, Product.php, License.php: Add coexistence checks

Now the toggle between Classic and React versions works correctly.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 17:02:14 +07:00

57 lines
1.3 KiB
JavaScript

/**
* External dependencies
*/
const Benchmark = require( 'benchmark' );
/**
* Internal dependencies
*/
const hooks = require( '../' );
const suite = new Benchmark.Suite();
const filter = process.argv[ 2 ];
const isInFilter = ( key ) => ! filter || filter === key;
function reset() {
hooks.removeAllFilters( 'example' );
hooks.removeAllActions( 'example' );
}
if ( isInFilter( 'applyFilters' ) ) {
function myCallback() {}
hooks.addFilter( 'example', 'myCallback', myCallback );
suite
.add( 'applyFilters - handled', () => {
hooks.applyFilters( 'handled' );
} )
.add( 'applyFilters - unhandled', () => {
hooks.applyFilters( 'unhandled' );
} );
}
if ( isInFilter( 'addFilter' ) ) {
let hasSetHighPriority = false;
suite
.add( 'addFilter - append last', () => {
hooks.addFilter( 'example', 'myCallback', () => {} );
} )
.add( 'addFilter - default before higher priority', () => {
if ( ! hasSetHighPriority ) {
hasSetHighPriority = true;
hooks.addFilter( 'example', 'priority', () => {}, 20 );
}
hooks.addFilter( 'example', 'myCallback', () => {} );
} );
}
suite
.on( 'cycle', reset )
// eslint-disable-next-line no-console
.on( 'cycle', ( event ) => console.log( event.target.toString() ) )
.run( { async: true } );