From e465129bd4e24df1b1a2ba9fc2e41a0287533bb3 Mon Sep 17 00:00:00 2001 From: Lucas Cimon Date: Wed, 6 Sep 2017 16:21:25 +0200 Subject: [PATCH 1/2] NodeJS hooks compatibilty fix for Cygwin - take 2 --- pre_commit/languages/node.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pre_commit/languages/node.py b/pre_commit/languages/node.py index 58922672..49822dde 100644 --- a/pre_commit/languages/node.py +++ b/pre_commit/languages/node.py @@ -8,6 +8,7 @@ from pre_commit.envcontext import envcontext from pre_commit.envcontext import Var from pre_commit.languages import helpers from pre_commit.util import clean_path_on_failure +from pre_commit.util import cmd_output from pre_commit.xargs import xargs @@ -16,12 +17,16 @@ get_default_version = helpers.basic_get_default_version healthy = helpers.basic_healthy -def get_env_patch(venv): # pragma: windows no cover - config = os.path.join(venv, 'bin') if sys.platform == 'cygwin' else venv +def get_env_patch(venv): # pragma: windows no cover + if sys.platform == 'cygwin': # pragma: no cover + _, win_venv, _ = cmd_output('cygpath', '-w', venv) + install_prefix = r'{}\bin'.format(win_venv.strip()) + else: + install_prefix = venv return ( ('NODE_VIRTUAL_ENV', venv), - ('NPM_CONFIG_PREFIX', config), - ('npm_config_prefix', config), + ('NPM_CONFIG_PREFIX', install_prefix), + ('npm_config_prefix', install_prefix), ('NODE_PATH', os.path.join(venv, 'lib', 'node_modules')), ('PATH', (os.path.join(venv, 'bin'), os.pathsep, Var('PATH'))), ) From 92f98088ebcc49ebe652df199432b0c89eba7a1e Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Wed, 6 Sep 2017 08:28:50 -0700 Subject: [PATCH 2/2] Whitespace fixup --- pre_commit/languages/node.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pre_commit/languages/node.py b/pre_commit/languages/node.py index 49822dde..aca3c410 100644 --- a/pre_commit/languages/node.py +++ b/pre_commit/languages/node.py @@ -17,8 +17,8 @@ get_default_version = helpers.basic_get_default_version healthy = helpers.basic_healthy -def get_env_patch(venv): # pragma: windows no cover - if sys.platform == 'cygwin': # pragma: no cover +def get_env_patch(venv): # pragma: windows no cover + if sys.platform == 'cygwin': # pragma: no cover _, win_venv, _ = cmd_output('cygpath', '-w', venv) install_prefix = r'{}\bin'.format(win_venv.strip()) else: