Fix build:all output on Windows#8089
Conversation
|
Thanks for the PR, and for solving a long-standing issue 🚀 I can confirm that I've also updated |
Removed obsolete icon search index
7c37d06 to
5ea0181
Compare
Thanks for checking.
I'm not sure what maintaining it entails. if you're asking if I can be pinged to fix another Windows build issue, then sure, I'll take a look and "fix" the issue at hand. The definition of "fix" could change in the future, and I might be forced to remove the Windows scope of the current fixes and I would then replace them with a general fix like e.g. using If maintaining it entails, coming back periodically and checking if the build on Windows still works as expected, then I guess a GitHub workflow with automatic tests would be better IMHO, as it would show a de-sync immediately. For now I think it's not a requirement, as the build logic doesn't change frequently. I did a force push with a small fix to the alphabet and improved naming. So it's ready for merge ✌️ |
|
Perfect, thanks for checking! |
Hello 👋,
so this isn't a new bug, it's always been like that 👀 💦 Previously, I typically made changes to Python files, so I changed them inside of
materialdirectory and later copied them over tosrc, and I was caught red handed when working on theinfoplugin when I didn't update the build logic to not delete a custom.gitignorefile😅When following the development guide for the theme it mentions to build the project with
build:allin preparation for a PR, as this will recreate all files and make sure everything is updated.The issue is that the logic relied on the placement of
/separators in strings, and Windows uses\, so none of the plainassets/javascripts/bundle.jspaths got converted back tobundle.1a2b3c.jsfor the deployment.When running the
npm run build:allcommand with any commit before this PR on Windows and without doing any changes this would be the output ofgit status:Most of these are files where the paths weren't replaced because they used the
\separator, when on Windows.After fixing the first issue the next bubbled up:
The icons are gathered like all other paths, using the
resolvefunction which in turn uses thetiny-globnpm module. Based on this issue my observation is that depending on the OS the order of files differs when there is_in the file name.While fixing this I've noticed that the icon search index doesn't contain the latest emojis. Not sure how this happened 🤔
Only explanation I have is that somehow you haven't updated the twemoji_db file on your local system for the last 6 months. You can see
woman_walking_facing_rightis not found in the deployment and it's part of the twemoji_dbThe last thing which could be fixed to declutter the
git statusnoise, is the.icons/material/LICENSEfile which contains theCRLFline endings and this file is marked as modified, despite being converted toLFlater. But I left it as-is.Checked on MX Linux VM, and it does still work on the UNIX system, so I think macOS should work as well. Also all changes which would decrease performance (so everything) I tried to limit to Windows only, therefore if there is no need for sorting or path separator replacement, the other OS just use the data like before.