I stumbled on a weird issue with the following steps:
- Fresh git checkout, i.e. no
node_modules directory present
- Run task
npmInstall with the fastNpmInstall option enabled
- Run the clean task, i.e. remove the whole
node_modules directory
- Run
npmInstall again, it reports as up-to-date
- Other tasks fail because
node_modules is missing
The problem is that in step 2 the file node_modules/.package-lock.json was not recorded as output because it did not yet exist at configuration time, only after task execution. So the task has no configured outputs and won't become out of date by removing the node_modules directory.
Proposed fix: When using fastNpmInstall, do not check for existance of the file at configuration time here, instead always return the file.
I stumbled on a weird issue with the following steps:
node_modulesdirectory presentnpmInstallwith thefastNpmInstalloption enablednode_modulesdirectorynpmInstallagain, it reports as up-to-datenode_modulesis missingThe problem is that in step 2 the file
node_modules/.package-lock.jsonwas not recorded as output because it did not yet exist at configuration time, only after task execution. So the task has no configured outputs and won't become out of date by removing thenode_modulesdirectory.Proposed fix: When using
fastNpmInstall, do not check for existance of the file at configuration time here, instead always return the file.