From 8b0b30fa2859624726bda7727bb259f602689e94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=BE=20=D0=9A=D0=B0=D1=82?= =?UTF-8?q?=D1=8E=D1=85=D0=B0?= Date: Thu, 16 May 2024 12:48:03 +0300 Subject: [PATCH] Added new commands: 'odood venv npm' and 'odood venv python' --- CHANGELOG.md | 2 ++ .../cli/source/odood/cli/commands/venv.d | 36 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 555ac325..15878f62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ ### Added - New command `odood venv pip` that allows to run pip from current venv. +- New command `odood venv npm` that allows to run npm from current venv. +- New command `odood venv python` that allows to run python from current venv. ### Changed diff --git a/subpackages/cli/source/odood/cli/commands/venv.d b/subpackages/cli/source/odood/cli/commands/venv.d index 751c08e9..a3e4fb86 100644 --- a/subpackages/cli/source/odood/cli/commands/venv.d +++ b/subpackages/cli/source/odood/cli/commands/venv.d @@ -73,6 +73,40 @@ class CommandVenvPIP: OdoodCommand { } +class CommandVenvNPM: OdoodCommand { + + this() { + super("npm", "Run npm for this environment. All arguments after '--' will be forwarded directly to npm."); + } + + public override void execute(ProgramArgs args) { + auto project = Project.loadProject; + project.venv.runner + .addArgs("npm") + .addArgs(args.argsRest) + .execv; + } + +} + + +class CommandVenvPython: OdoodCommand { + + this() { + super("python", "Run python for this environment. All arguments after '--' will be forwarded directly to python."); + } + + public override void execute(ProgramArgs args) { + auto project = Project.loadProject; + project.venv.runner + .addArgs("python") + .addArgs(args.argsRest) + .execv; + } + +} + + class CommandVenvReinstall: OdoodCommand { this() { @@ -205,6 +239,8 @@ class CommandVenv: OdoodCommand { this.add(new CommandVenvUpdateOdoo()); this.add(new CommandVenvReinstallOdoo()); this.add(new CommandVenvPIP()); + this.add(new CommandVenvNPM()); + this.add(new CommandVenvPython()); } }