-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Scripts: Fix render.php
isn't copied in Windows OS
#48735
Conversation
Size Change: 0 B Total Size: 1.34 MB ℹ️ View Unchanged
|
960be54
to
0a0c2ef
Compare
Flaky tests detected in 960be545e95cc1dc2a6e75612e137bd221d248a1. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/4324988981
|
0a0c2ef
to
7a7b112
Compare
render.php
isn't copied in Windows OS
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you so much for an instant fix 🦸
* Scripts: Fix `render.php` isn't copied in Windows OS * Update changelog
Fixes #48696
What?
This PR fixes a problem in which the target file is not copied in Windows when the
render
property is defined inblock.json
.Why?
The process of finding the file path for
render.php
is done below:gutenberg/packages/scripts/utils/config.js
Lines 332 to 359 in 0766b79
In this process, on Windows, the
filepath
variable has a backslash as the path separator, as shown below:Then I discovered that the
renderPaths
variable created by themap()
function has escaped backslashes as array values:The reason for this was that the string could not hold an unescaped backslash, so I suspected it to be automatically escaped in the
map()
function.And the path separator characters do not match in the
filter
property ofCopyWebpackPlugin
.gutenberg/packages/scripts/config/webpack.config.js
Lines 277 to 282 in 0420e49
How?
Replaced the path delimiter in the
filepath
variable with a forward slash. As a result, the array values in therenderPaths
variable now also contain forward slashes, and the condition in thefilter
property works correctly.Testing Instructions
Check out this branch and create a dynamic block template in the project root.
Build the block.
Confirm that the
render.php
file has been copied to thegutenpride/build/
directory.Also, if multiple blocks are created in the
src
directory, make sure thatrender.php
file is generated in each build directory.