From f54b42af0a4ab247d3082006be744dc2eb51098b Mon Sep 17 00:00:00 2001 From: selemondev Date: Mon, 11 Nov 2024 12:00:57 +0300 Subject: [PATCH 1/2] refactor: init CLI --- packages/cli/src/commands/init.ts | 24 +++++++++++++++++++----- packages/module/src/module.ts | 2 +- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/packages/cli/src/commands/init.ts b/packages/cli/src/commands/init.ts index 96e0f028..4521fc73 100644 --- a/packages/cli/src/commands/init.ts +++ b/packages/cli/src/commands/init.ts @@ -4,7 +4,7 @@ import { Command } from 'commander' import { consola } from 'consola' import { colors } from 'consola/utils' import { template } from 'lodash-es' -import { addDependency } from 'nypm' +import { addDependency, addDevDependency } from 'nypm' import ora from 'ora' import path from 'pathe' import prompts from 'prompts' @@ -39,6 +39,9 @@ const PROJECT_DEPENDENCIES = { 'tailwind-merge', 'radix-vue', ], + nuxt: [ + 'shadcn-nuxt', + ], } const initOptionsSchema = z.object({ @@ -309,10 +312,21 @@ export async function runInit(cwd: string, config: Config) { const iconsDep = config.style === 'new-york' ? ['@radix-icons/vue'] : ['lucide-vue-next'] const deps = PROJECT_DEPENDENCIES.base.concat(iconsDep).filter(Boolean) - await addDependency(deps, { - cwd, - silent: true, - }) + await Promise.allSettled( + [ + config.framework === 'nuxt' && await addDevDependency( + [...PROJECT_DEPENDENCIES.nuxt, ...deps], + { + cwd, + silent: true, + }, + ), + await addDependency(deps, { + cwd, + silent: true, + }), + ], + ) dependenciesSpinner?.succeed() } diff --git a/packages/module/src/module.ts b/packages/module/src/module.ts index 8ee3dfbe..ef62ad92 100644 --- a/packages/module/src/module.ts +++ b/packages/module/src/module.ts @@ -63,7 +63,7 @@ export default defineNuxtModule({ await installModule('@nuxtjs/tailwindcss') // Installs the `@nuxtjs/color-mode` module. - await installModule('@nuxtjs/color-mode') + await installModule('@nuxtjs/color-mode', { classSuffix: '' }) // Manually scan `componentsDir` for components and register them for auto imports try { From 6bd59f60514c39a130d84e8e082436594609149e Mon Sep 17 00:00:00 2001 From: selemondev Date: Mon, 18 Nov 2024 21:56:04 +0300 Subject: [PATCH 2/2] docs: update documentation with necessary changes --- .../www/src/content/docs/installation/nuxt.md | 55 +++++++++++-------- 1 file changed, 31 insertions(+), 24 deletions(-) diff --git a/apps/www/src/content/docs/installation/nuxt.md b/apps/www/src/content/docs/installation/nuxt.md index 851ba668..949ce120 100644 --- a/apps/www/src/content/docs/installation/nuxt.md +++ b/apps/www/src/content/docs/installation/nuxt.md @@ -27,28 +27,6 @@ If you encounter the error `ERROR: Cannot read properties of undefined (reading npm install -D typescript ``` -### Install TailwindCSS module - -```bash -npx nuxi@latest module add @nuxtjs/tailwindcss -``` - -Alternatively, you can manually add `@nuxtjs/tailwindcss` using your dependency manager - -```bash -npm install --save-dev @nuxtjs/tailwindcss -``` - -and then to the `modules` section of `nuxt.config.{ts,js}` - -```ts -export default defineNuxtConfig({ - modules: [ - '@nuxtjs/tailwindcss' - ] -}) -``` - ### Add `Nuxt` module
@@ -56,7 +34,7 @@ export default defineNuxtConfig({ - Install the package below. +Installing the `shadcn-nuxt` module automatically installs and configures `@nuxtjs/tailwindcss` and `@nuxtjs/color-mode` modules. ```bash npx nuxi@latest module add shadcn-nuxt @@ -177,6 +155,35 @@ declare module '@nuxt/schema' { shadcn?: ShadcnVueOptions; } } +``` + +### Install TailwindCss + + ```bash +npx nuxi@latest module add @nuxtjs/tailwindcss + ``` + +If not configured automatically in the `nuxt.config.ts` file, configure it as shown below: + +```ts +export default defineNuxtConfig({ + modules: ['@nuxtjs/tailwindcss'], +}) +``` + +### Install Color Mode + + ```bash +npx nuxi module add color-mode + ``` + +If not configured automatically in the `nuxt.config.ts` file, configure it as shown below: + +```ts +export default defineNuxtConfig({ + modules: ['...', '@nuxtjs/color-mode'], + classSuffix: '' +}) ``` @@ -186,7 +193,7 @@ declare module '@nuxt/schema' { ```ts export default defineNuxtConfig({ - modules: ['@nuxtjs/tailwindcss', 'shadcn-nuxt'], + modules: ['shadcn-nuxt'], shadcn: { /** * Prefix for all the imported component