Failures using build environment resources due to case sensitive paths

After following the instructions as Babylon.js Documentation
i experienced many issues relating to the case of paths when opening the links to the main Babylon entry points.

http://localhost:1338/Playground/index-local.html fails loading http://localhost:1338/tools/DevLoader/BabylonLoader.js.

The correct path should be http://localhost:1338/Tools/DevLoader/BabylonLoader.js.
Tools not tools.

I suspect this will mainly hit Linux and Mac users.
A quick workaround is to create symlinks to Tools and Playground.
From the main Babylon.js directory:

# ln -s tools Tools
# ln -s playground Playground

I submitted Fix case sensitive paths by mrdunk · Pull Request #5695 · BabylonJS/Babylon.js · GitHub as a proper fix.

There’s probably a setting in Gulp somewhere to ignore the case of files it’s serving which would hide this class of problem in the future.
I’ve little experience with Gulp though so don’t really know where to look.


1 Like

Nice, the issue is directly at node.js and the os level, we should just be more carefull on windows to be consistent :slight_smile:

Thanks for the PR,

My fix has been approved and merged to BabylonJS:master. (Thanks deltakosh!)
Marking this issue “fixed”.

1 Like

Some more of these:

Anyone got opinions on how we would go about writing tests to catch these?
Babylon’s test environment uses a headless browser (Jasmine)… maybe a test could compare URLs accessed to a manifest file containing valid paths…

I’m sure this isn’t the first project to run into this issue.
I searched online a little but it’s late / i’m using the wrong keywords / I’m not a web-dev guy…