Now `script/clean` uses `del /F /Q /S` to cleanup the folders but `del /S` deletes specified files from all subdirectories, so if we pass a folder as a parameter it will only delete the files within the folder and all subfolders recursively but not the actual folders. And this can cause problems, see Issue #2487
A better way is to use `rmdir /S /Q` as it takes care of the folder itself and it's contents.
/S - removes all directories and files in the specified directory in addition to the directory itself. (removes the directory tree)
/Q - obvious this is quite mode
I tested this approach on a couple machines that needed a clean before building and works OK with `rmdir`. It might give a warning in the console like `The system cannot find the file specified.` because not all of them are there but it can be ignored as the script will finish running.
/tmp isn't always available, is on precious RAM-backed fs or simply not
what the user has set his $TMPDIR to. According to the specification, we
should use $TMPDIR, which node lets us find through os.tmpdir().
Also, contributing.md isn't in favour of using platform-dependent code.
This commit focusses only on Linux, and leaves OS X as is with /tmp for
discussion.