we need to change the working directory to the webapp directory such
that corepack installs and uses the expected version of yarn. otherwise,
corepack installs a copy of yarn into the repository root directory.
we added shell=True so that on Windows, yarn would be found. however,
using the list syntax to define the command and its arguments to
Python's subprocess is broken on GNU/Linux by shell=True. instead, use a
single string (command and arguments), which works on both Windows and
GNU/Linux.
we need shell=True as on Windows, path resolution to find the yarn
"exectuable" (a shell script) is only performed by cmd.exe, not by
Python itself. as we are calling yarn with fixed arguments, using
shell=True is fine.
add pre-script to check if webapp was compiled or sources changed and auto compile.
---------
Co-authored-by: Bernhard Kirchen <schlimmchen@posteo.net>