Fix a problem with build when switching branch

When switching between master and fx102 bogus files were created outside
of the build/ directory. That's because previously we had a symlinked
file itembox.css and now we compile a file itemBox.css into the same
directory. However when running `npm start`, after switching branch, the
symlink still existed and thus when writing a new file, symlink was
followed and output has been written inside a source file instead.

Build system will now run cleanup step first (where it checks if files
frim `.signatures.json` still exist in src), then proceed with build,
so old symlinks will be removed thus producing a valid build.

This problem probably only happened on case-insensitive file-systems
(like default config on macOS HFS+).
This commit is contained in:
Tom Najdek 2022-05-25 16:21:27 +02:00
parent 32c0d228cc
commit eb5f2978cc
No known key found for this signature in database
GPG key ID: EEC61A7B4C667D77

View file

@ -24,6 +24,11 @@ if (require.main === module) {
.concat([`!${formatDirsForMatcher(copyDirs)}/**`]);
const signatures = await getSignatures();
// Check if all files in signatures are still present in src; Needed to avoid a problem
// where what was a symlink before, now is compiled, resulting in polluting source files
onSuccess(await cleanUp(signatures));
const results = await Promise.all([
getBrowserify(signatures),
getCopy(copyDirs.map(d => `${d}/**`), { ignore: ignoreMask }, signatures),
@ -31,7 +36,6 @@ if (require.main === module) {
...scssFiles.map(scf => getSass(scf, { ignore: ignoreMask }, signatures)),
getSymlinks(symlinks, { nodir: true, ignore: ignoreMask }, signatures),
getSymlinks(symlinkDirs, { ignore: ignoreMask }, signatures),
cleanUp(signatures),
getPDFReader(signatures),
getPDFWorker(signatures),
getZoteroNoteEditor(signatures)