Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/gruntworker.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Rebert <code@rebertia.com>2015-03-09 06:29:20 +0300
committerChris Rebert <code@rebertia.com>2015-03-09 06:29:42 +0300
commit6357329c44e24295792ddd053b3d3350a6c95bfa (patch)
tree2cf81ad74dbfcf91c9d06558ab3cbd2182dc2e77
parent1ea249a405ef0cd16b292d222f15428af3ba4ad7 (diff)
Use npm-shrinkwrap.json when installing; fixes #2
-rwxr-xr-xgruntworker.py17
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():