diff options
author | Chris Rebert <code@rebertia.com> | 2015-03-09 06:29:20 +0300 |
---|---|---|
committer | Chris Rebert <code@rebertia.com> | 2015-03-09 06:29:42 +0300 |
commit | 6357329c44e24295792ddd053b3d3350a6c95bfa (patch) | |
tree | 2cf81ad74dbfcf91c9d06558ab3cbd2182dc2e77 | |
parent | 1ea249a405ef0cd16b292d222f15428af3ba4ad7 (diff) |
Use npm-shrinkwrap.json when installing; fixes #2
-rwxr-xr-x | gruntworker.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/gruntworker.py b/gruntworker.py index 551ccdc..2e311c2 100755 --- a/gruntworker.py +++ b/gruntworker.py @@ -3,7 +3,8 @@ from sys import exit # pylint: disable=W0622 from subprocess import check_call, check_output, DEVNULL, CalledProcessError -from shutil import rmtree +from shutil import copy, rmtree +from os import remove from os.path import join as pathjoin from datetime import datetime @@ -59,9 +60,16 @@ def update_master(to_commitish=b'FETCH_HEAD'): def update_npm(): try: + copy(SHRINKWRAP_FILEPATH, SHRINKWRAP_FILENAME) + except (OSError, IOError): + log("Error copying shrinkwrap file into place!") + log("Failed!") + exit(1) + + try: log("Pruning unnecessary npm modules...") run_expecting_success([b'npm', b'prune']) - log("Installing/updating npm modules per package.json ...") + log("Installing/updating npm modules per npm-shrinkwrap.json ...") run_expecting_success([b'npm', b'install']) except CalledProcessError: log("Error performing npm operations!") @@ -74,6 +82,11 @@ def update_npm(): log("Successfully purged node_modules.") log("Failed!") exit(1) + finally: + try: + remove(SHRINKWRAP_FILENAME) + except: + log("Error deleting copy of shrinkwrap file!") def get_head_commit_sha(): |