From 6899eac061ad2d08ecf2d2c5af0bba396147a5fd Mon Sep 17 00:00:00 2001 From: itsumura-h Date: Sat, 30 Sep 2023 08:14:22 +0000 Subject: [PATCH] add bun commands --- src/palladian/cli/functions/add_impl.nim | 9 +++++++++ src/palladian/cli/functions/install_impl.nim | 1 + src/palladian/cli/functions/new_impl.nim | 2 +- src/palladian/cli/functions/remove_impl.nim | 8 ++++++++ src/palladian/cli/functions/update_impl.nim | 5 +++++ src/palladian/cli/palladian_cli.nim | 15 ++++++++++++++- 6 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 src/palladian/cli/functions/add_impl.nim create mode 100644 src/palladian/cli/functions/remove_impl.nim create mode 100644 src/palladian/cli/functions/update_impl.nim diff --git a/src/palladian/cli/functions/add_impl.nim b/src/palladian/cli/functions/add_impl.nim new file mode 100644 index 0000000..0da0216 --- /dev/null +++ b/src/palladian/cli/functions/add_impl.nim @@ -0,0 +1,9 @@ +import std/osproc +import std/strutils +import std/strformat + +proc add*(dev=false, args:seq[string]):int = + ## = `bun add xx`. Add a dependency to package.json + let packages = args.join(" ") + let isDev = if dev: "-d" else: "" + echo execProcess(&"bun add {isDev} {packages}") diff --git a/src/palladian/cli/functions/install_impl.nim b/src/palladian/cli/functions/install_impl.nim index 212f7f0..ad491e5 100644 --- a/src/palladian/cli/functions/install_impl.nim +++ b/src/palladian/cli/functions/install_impl.nim @@ -1,4 +1,5 @@ import std/osproc proc install*() = + ## = `bun install`. Install dependencies for a package.json echo execProcess("bun install") diff --git a/src/palladian/cli/functions/new_impl.nim b/src/palladian/cli/functions/new_impl.nim index e95a506..ad47896 100644 --- a/src/palladian/cli/functions/new_impl.nim +++ b/src/palladian/cli/functions/new_impl.nim @@ -431,7 +431,7 @@ Successfully created a new palladian project "{packageName}" proc new*(args:seq[string]):int = - ## Create new project + ## Create a new project var message:string packageName:string diff --git a/src/palladian/cli/functions/remove_impl.nim b/src/palladian/cli/functions/remove_impl.nim new file mode 100644 index 0000000..7e3e10c --- /dev/null +++ b/src/palladian/cli/functions/remove_impl.nim @@ -0,0 +1,8 @@ +import std/osproc +import std/strutils +import std/strformat + +proc remove*(args:seq[string]):int = + ## = `bun remove xx`. Remove a dependency from package.json + let packages = args.join(" ") + echo execProcess(&"bun remove {packages}") diff --git a/src/palladian/cli/functions/update_impl.nim b/src/palladian/cli/functions/update_impl.nim new file mode 100644 index 0000000..8d8b852 --- /dev/null +++ b/src/palladian/cli/functions/update_impl.nim @@ -0,0 +1,5 @@ +import std/osproc + +proc update*() = + ## = `bun update`. Update outdated dependencies. + echo execProcess("bun update") diff --git a/src/palladian/cli/palladian_cli.nim b/src/palladian/cli/palladian_cli.nim index 22e3701..30487e5 100644 --- a/src/palladian/cli/palladian_cli.nim +++ b/src/palladian/cli/palladian_cli.nim @@ -5,5 +5,18 @@ import ./functions/dev_impl import ./functions/serve_impl import ./functions/build_impl import ./functions/install_impl +import ./functions/add_impl +import ./functions/remove_impl +import ./functions/update_impl -dispatchMulti([newImpl.new], [serve], [dev], [build], [install_impl.install]) + +dispatchMulti( + [newImpl.new], + [dev_impl.dev], + [serve_impl.serve], + [build_impl.build], + [install_impl.install], + [add_impl.add, help={"dev": "Add dependency to \"devDependencies\""}], + [remove_impl.remove], + [update_impl.update] +)