The current "clean" script makes use of "rimraf" to delete the directory contents of "dist/*" like this:
"clean": "rimraf dist/*",
However, in windows when you add a trace of the error this reports you get to see this:
> npm run clean -s
{ [Error: ENOENT, no such file or directory 'C:\usr\local\angular\projects\npm-scripts-example-master\dist\*']
errno: 34,
code: 'ENOENT',
path: 'C:\\usr\\local\\angular\\projects\\npm-scripts-example-master\\dist\\*',
syscall: 'unlink' }
The reason is that contrary to Unix, windows does not expand "dist/*" into a list of files but passes it "as is".
Since most users would have Git installed, and on the PATH, and it has a windows version of "bash", I found that this fixes the issue.
"clean": "bash -c \"rimraf dist/*\"",
Another way to fix it is to remove the "/*".
This last one also removes the "dist" directory but more importantly, the file "dist/.gitkeep" which was not removed (as no files starting with a dot are picked up by the * wildcard) does get removed now. If that was intended, good then this last specification works, otherwise the one with "bash" might be better.
The current "clean" script makes use of "rimraf" to delete the directory contents of "dist/*" like this:
However, in windows when you add a trace of the error this reports you get to see this:
The reason is that contrary to Unix, windows does not expand "dist/*" into a list of files but passes it "as is".
Since most users would have Git installed, and on the PATH, and it has a windows version of "bash", I found that this fixes the issue.
Another way to fix it is to remove the "/*".
This last one also removes the "dist" directory but more importantly, the file "dist/.gitkeep" which was not removed (as no files starting with a dot are picked up by the * wildcard) does get removed now. If that was intended, good then this last specification works, otherwise the one with "bash" might be better.