From 6357329c44e24295792ddd053b3d3350a6c95bfa Mon Sep 17 00:00:00 2001 From: Chris Rebert Date: Sun, 8 Mar 2015 20:29:20 -0700 Subject: Use npm-shrinkwrap.json when installing; fixes #2 --- gruntworker.py | 17 +++++++++++++++-- 1 file 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 @@ -58,10 +59,17 @@ 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(): -- cgit v1.2.3