From d368b9cfaf0c9d7fbaa245f6d209a0db6d172b56 Mon Sep 17 00:00:00 2001 From: anfasmhsn Date: Tue, 21 Oct 2025 18:58:59 +0530 Subject: [PATCH] console --- .../Cloud/new repo/console/InstallCommand.php | 52 +++++++++++++++++++ Domains/Cloud/new repo/console/React.php | 30 +++++++++++ .../Cloud/new repo/console/SvelteCommand.php | 30 +++++++++++ .../Cloud/new repo/console/VueCommmand.php | 30 +++++++++++ 4 files changed, 142 insertions(+) create mode 100644 Domains/Cloud/new repo/console/InstallCommand.php create mode 100644 Domains/Cloud/new repo/console/React.php create mode 100644 Domains/Cloud/new repo/console/SvelteCommand.php create mode 100644 Domains/Cloud/new repo/console/VueCommmand.php diff --git a/Domains/Cloud/new repo/console/InstallCommand.php b/Domains/Cloud/new repo/console/InstallCommand.php new file mode 100644 index 00000000..d6e21a14 --- /dev/null +++ b/Domains/Cloud/new repo/console/InstallCommand.php @@ -0,0 +1,52 @@ +callSilently('vendor:publish', ['--tag' => 'cloudinary-config']) === 0) { + $this->info('Configuration published successfully.'); + } + + match ($this->getDependencies()) { + 'react' => $this->call('cloudinary:react'), + 'vue' => $this->call('cloudinary:vue'), + 'svelte' => $this->call('cloudinary:svelte'), + default => $this->info('No JavaScript framework detected.'), + }; + } + + private function getDependencies(): ?string + { + $package = json_decode(File::get(base_path('package.json')), true); + + $dependencies = array_merge( + $package['dependencies'] ?? [], + $package['devDependencies'] ?? [] + ); + + if (isset($dependencies['@vitejs/plugin-react'])) { + return 'react'; + } + + if (isset($dependencies['@vitejs/plugin-vue'])) { + return 'vue'; + } + + if (isset($dependencies['@sveltejs/vite-plugin-svelte'])) { + return 'svelte'; + } + + return null; + } +} + diff --git a/Domains/Cloud/new repo/console/React.php b/Domains/Cloud/new repo/console/React.php new file mode 100644 index 00000000..e139174c --- /dev/null +++ b/Domains/Cloud/new repo/console/React.php @@ -0,0 +1,30 @@ +info('Installing Cloudinary React SDK...'); + + $process = new Process(['npm', 'install', '@cloudinary/react', '@cloudinary/url-gen']); + + $process->run(function ($type, $line) { + $this->output->write($line); + }); + + $this->line(' '); + $this->info('Cloudinary React SDK installed successfully.'); + $this->line('Read getting started: https://cloudinary.com/documentation/react_quick_start'); + } +} diff --git a/Domains/Cloud/new repo/console/SvelteCommand.php b/Domains/Cloud/new repo/console/SvelteCommand.php new file mode 100644 index 00000000..1d5cc523 --- /dev/null +++ b/Domains/Cloud/new repo/console/SvelteCommand.php @@ -0,0 +1,30 @@ +info('Installing Cloudinary Svelte SDK...'); + + $process = new Process(['npm', 'install', 'svelte-cloudinary']); + + $process->run(function ($type, $line) { + $this->output->write($line); + }); + + $this->line(' '); + $this->info('Cloudinary Svelte SDK installed successfully.'); + $this->line('Read getting started: https://svelte.cloudinary.dev/get-started'); + } +} diff --git a/Domains/Cloud/new repo/console/VueCommmand.php b/Domains/Cloud/new repo/console/VueCommmand.php new file mode 100644 index 00000000..1d5cc523 --- /dev/null +++ b/Domains/Cloud/new repo/console/VueCommmand.php @@ -0,0 +1,30 @@ +info('Installing Cloudinary Svelte SDK...'); + + $process = new Process(['npm', 'install', 'svelte-cloudinary']); + + $process->run(function ($type, $line) { + $this->output->write($line); + }); + + $this->line(' '); + $this->info('Cloudinary Svelte SDK installed successfully.'); + $this->line('Read getting started: https://svelte.cloudinary.dev/get-started'); + } +}