From ef5acd01c370feeae799bea59e408a3eecd33e13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tetsuaki=20Hamano=20/=20=E6=B5=9C=E9=87=8E=20=E5=93=B2?= =?UTF-8?q?=E6=98=8E?= Date: Wed, 6 Sep 2023 09:56:47 +0000 Subject: [PATCH] Correctly resolve entry points when src directory is simlinked --- packages/scripts/config/webpack.config.js | 5 ++++- packages/scripts/utils/config.js | 11 ++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/scripts/config/webpack.config.js b/packages/scripts/config/webpack.config.js index 29a25c9353ff3..05b37945795a7 100644 --- a/packages/scripts/config/webpack.config.js +++ b/packages/scripts/config/webpack.config.js @@ -10,6 +10,7 @@ const MiniCSSExtractPlugin = require( 'mini-css-extract-plugin' ); const { basename, dirname, resolve } = require( 'path' ); const ReactRefreshWebpackPlugin = require( '@pmmmwh/react-refresh-webpack-plugin' ); const TerserPlugin = require( 'terser-webpack-plugin' ); +const { realpathSync } = require( 'fs' ); /** * WordPress dependencies @@ -302,7 +303,9 @@ const config = { filter: ( filepath ) => { return ( process.env.WP_COPY_PHP_FILES_TO_DIST || - RenderPathsPlugin.renderPaths.includes( filepath ) + RenderPathsPlugin.renderPaths.includes( + realpathSync( filepath ).replace( /\\/g, '/' ) + ) ); }, }, diff --git a/packages/scripts/utils/config.js b/packages/scripts/utils/config.js index fc00a613d34ac..bb871b6f082dc 100644 --- a/packages/scripts/utils/config.js +++ b/packages/scripts/utils/config.js @@ -206,17 +206,15 @@ function getWebpackEntryPoints() { // 2. Checks whether any block metadata files can be detected in the defined source directory. // It scans all discovered files looking for JavaScript assets and converts them to entry points. + const srcDirectory = fromProjectRoot( getWordPressSrcDirectory() ) + sep; const blockMetadataFiles = glob( - `${ getWordPressSrcDirectory() }/**/block.json`, + join( srcDirectory, '**/block.json' ).replace( /\\/g, '/' ), { absolute: true, } ); if ( blockMetadataFiles.length > 0 ) { - const srcDirectory = fromProjectRoot( - getWordPressSrcDirectory() + sep - ); const entryPoints = blockMetadataFiles.reduce( ( accumulator, blockMetadataFile ) => { // wrapping in try/catch in case the file is malformed @@ -335,15 +333,14 @@ function getRenderPropPaths() { } // Checks whether any block metadata files can be detected in the defined source directory. + const srcDirectory = fromProjectRoot( getWordPressSrcDirectory() + sep ); const blockMetadataFiles = glob( - `${ getWordPressSrcDirectory() }/**/block.json`, + join( srcDirectory, '**/block.json' ).replace( /\\/g, '/' ), { absolute: true, } ); - const srcDirectory = fromProjectRoot( getWordPressSrcDirectory() + sep ); - const renderPaths = blockMetadataFiles.map( ( blockMetadataFile ) => { const { render } = JSON.parse( readFileSync( blockMetadataFile ) ); if ( render && render.startsWith( 'file:' ) ) {