From 2711b7a850bba144de4a5cf337ffe9a082e69ff6 Mon Sep 17 00:00:00 2001 From: Aki Hamano Date: Thu, 12 Sep 2024 00:35:05 +0900 Subject: [PATCH 1/2] Build Tooling: Correctly generate PHP files for server-side rendering of blocks on Windows OS --- tools/webpack/blocks.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/tools/webpack/blocks.js b/tools/webpack/blocks.js index fa0c6123dbcdb..5cdfc9007768d 100644 --- a/tools/webpack/blocks.js +++ b/tools/webpack/blocks.js @@ -2,7 +2,7 @@ * External dependencies */ const CopyWebpackPlugin = require( 'copy-webpack-plugin' ); -const { join, sep } = require( 'path' ); +const { join, sep, basename } = require( 'path' ); const fastGlob = require( 'fast-glob' ); const { realpathSync } = require( 'fs' ); @@ -135,7 +135,7 @@ module.exports = [ { from: `${ from }/**/*.php`, to( { absoluteFilename } ) { - const [ , dirname, basename ] = + const [ , dirname, _basename ] = absoluteFilename.match( new RegExp( `([\\w-]+)${ escapeRegExp( @@ -143,15 +143,18 @@ module.exports = [ ) }([\\w-]+)\\.php$` ) ); - - if ( basename === 'index' ) { + if ( _basename === 'index' ) { return join( to, `${ dirname }.php` ); } - return join( to, dirname, `${ basename }.php` ); + return join( + to, + dirname, + `${ _basename }.php` + ); }, filter: ( filepath ) => { return ( - filepath.endsWith( sep + 'index.php' ) || + basename( filepath ) === 'index.php' || PhpFilePathsPlugin.paths.includes( realpathSync( filepath ).replace( /\\/g, From 844587f8eab9a7004c2fdfd67a8fc908dd8de668 Mon Sep 17 00:00:00 2001 From: Aki Hamano Date: Thu, 12 Sep 2024 12:09:33 +0900 Subject: [PATCH 2/2] Don't use prefix --- tools/webpack/blocks.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/webpack/blocks.js b/tools/webpack/blocks.js index 5cdfc9007768d..a7866b61a6a1f 100644 --- a/tools/webpack/blocks.js +++ b/tools/webpack/blocks.js @@ -135,7 +135,7 @@ module.exports = [ { from: `${ from }/**/*.php`, to( { absoluteFilename } ) { - const [ , dirname, _basename ] = + const [ , dirname, fileBasename ] = absoluteFilename.match( new RegExp( `([\\w-]+)${ escapeRegExp( @@ -143,13 +143,13 @@ module.exports = [ ) }([\\w-]+)\\.php$` ) ); - if ( _basename === 'index' ) { + if ( fileBasename === 'index' ) { return join( to, `${ dirname }.php` ); } return join( to, dirname, - `${ _basename }.php` + `${ fileBasename }.php` ); }, filter: ( filepath ) => {