From 1f73bf630a708eb16c1f53a7fcb342dd9dc731b7 Mon Sep 17 00:00:00 2001 From: Dominik George <dominik.george@teckids.org> Date: Sun, 19 Feb 2023 23:42:53 +0100 Subject: [PATCH] Pass on yarn's exit code --- CHANGELOG.rst | 5 +++++ django_yarnpkg/management/base.py | 2 +- django_yarnpkg/management/commands/yarn.py | 6 ++++-- django_yarnpkg/management/commands/yarn_install.py | 4 +++- django_yarnpkg/yarn.py | 4 ++-- 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 0001720..6088610 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,3 +1,8 @@ +Version 6.1.0 (2023-02-19) +===================================================== + +* Pass on yarn's exit code + Version 6.0.3 (2022-11-01) ===================================================== diff --git a/django_yarnpkg/management/base.py b/django_yarnpkg/management/base.py index 4b4b1cc..59aee0e 100644 --- a/django_yarnpkg/management/base.py +++ b/django_yarnpkg/management/base.py @@ -24,4 +24,4 @@ class BaseYarnCommand(BaseCommand): raise YarnNotInstalled() def _install(self, args): - yarn_adapter.install(settings.YARN_INSTALLED_APPS, *args) + return yarn_adapter.install(settings.YARN_INSTALLED_APPS, *args) diff --git a/django_yarnpkg/management/commands/yarn.py b/django_yarnpkg/management/commands/yarn.py index f330e31..5b018d7 100644 --- a/django_yarnpkg/management/commands/yarn.py +++ b/django_yarnpkg/management/commands/yarn.py @@ -1,3 +1,4 @@ +import sys from ...yarn import yarn_adapter from ..base import BaseYarnCommand from argparse import REMAINDER @@ -14,9 +15,10 @@ class Command(BaseYarnCommand): super(Command, self).handle(*args, **options) args = args or tuple(options.pop('command')) if self._is_single_command('install', args): - self._install([]) + ret = self._install([]) else: - yarn_adapter.call_yarn(args) + ret = yarn_adapter.call_yarn(args) + sys.exit(ret) def _is_single_command(self, name, args): return len(args) == 1 and args[0] == name diff --git a/django_yarnpkg/management/commands/yarn_install.py b/django_yarnpkg/management/commands/yarn_install.py index 807eac4..ef8ed95 100644 --- a/django_yarnpkg/management/commands/yarn_install.py +++ b/django_yarnpkg/management/commands/yarn_install.py @@ -1,3 +1,4 @@ +import sys from optparse import make_option from ..base import BaseYarnCommand @@ -7,4 +8,5 @@ class Command(BaseYarnCommand): def handle(self, *args, **options): super(Command, self).handle(*args, **options) - self._install(args) + ret = self._install(args) + sys.exit(ret) diff --git a/django_yarnpkg/yarn.py b/django_yarnpkg/yarn.py index fa25547..c252dc0 100644 --- a/django_yarnpkg/yarn.py +++ b/django_yarnpkg/yarn.py @@ -31,11 +31,11 @@ class YarnAdapter(object): proc = subprocess.Popen( [self._yarn_path] + list(args), cwd=self._node_modules_root) - proc.wait() + return proc.wait() def install(self, packages, *options): """Install packages from yarn""" - self.call_yarn(['add'] + list(options) + list(packages)) + return self.call_yarn(['add'] + list(options) + list(packages)) def _accumulate_dependencies(self, data): """Accumulate dependencies""" -- GitLab