fix(yarn): remove call to tmp cleanup function (#140)

Remove the direct call to `tmp`'s manual cleanup function
as `tmp` adds a listener on process exit to call cleanup
on all created directories (that weren't created with the
`keep` option set to `true`).

This is considered a fix because under some conditions the cleanup
will fail on Windows, and because the cleanup is called manually
in the middle of a renovate cycle, any sporadic failure will fail
the entire renovate process.

Instead, defer the temporary directory cleanup until after renovate
has completed, where a failure won't de-rail the entire cycle.

(I have not been able to track down why `tmp` fails sometimes on
Windows with my various project setups.)
This commit is contained in:
Hutson Betts 2017-03-24 06:38:19 -05:00 committed by Rhys Arkins
parent c78ea75ebe
commit 63dae3d901

View file

@ -23,9 +23,7 @@ async function generateLockFile(newPackageJson, npmrcContent, yarnrcContent) {
cp.spawnSync('yarn', ['install'], { cwd: tmpDir.name, shell: true }); cp.spawnSync('yarn', ['install'], { cwd: tmpDir.name, shell: true });
yarnLock = fs.readFileSync(path.join(tmpDir.name, 'yarn.lock')); yarnLock = fs.readFileSync(path.join(tmpDir.name, 'yarn.lock'));
} catch (error) { } catch (error) {
tmpDir.removeCallback();
throw error; throw error;
} }
tmpDir.removeCallback();
return yarnLock; return yarnLock;
} }