diff --git a/packages/schematics/angular/application/index.ts b/packages/schematics/angular/application/index.ts index 5620e4a12f04..1a446e1df73f 100644 --- a/packages/schematics/angular/application/index.ts +++ b/packages/schematics/angular/application/index.ts @@ -147,6 +147,7 @@ export default function (options: ApplicationOptions): Rule { isTailwind ? schematic('tailwind', { project: options.name, + skipInstall: options.skipInstall, }) : noop(), ]); diff --git a/packages/schematics/angular/tailwind/index.ts b/packages/schematics/angular/tailwind/index.ts index f56b9ada47b2..152399deee5b 100644 --- a/packages/schematics/angular/tailwind/index.ts +++ b/packages/schematics/angular/tailwind/index.ts @@ -22,6 +22,7 @@ import { join } from 'node:path/posix'; import { DependencyType, ExistingBehavior, + InstallBehavior, ProjectDefinition, addDependency, updateWorkspace, @@ -29,6 +30,7 @@ import { import { JSONFile } from '../utility/json-file'; import { latestVersions } from '../utility/latest-versions'; import { createProjectSchematic } from '../utility/project'; +import { Schema as TailwindOptions } from './schema'; const TAILWIND_DEPENDENCIES = ['tailwindcss', '@tailwindcss/postcss', 'postcss']; const POSTCSS_CONFIG_FILES = ['.postcssrc.json', 'postcss.config.json']; @@ -120,7 +122,7 @@ function managePostCssConfiguration(project: ProjectDefinition): Rule { }; } -export default createProjectSchematic((options, { project }) => { +export default createProjectSchematic((options, { project }) => { return chain([ addTailwindStyles(options, project), managePostCssConfiguration(project), @@ -128,6 +130,7 @@ export default createProjectSchematic((options, { project }) => { addDependency(name, latestVersions[name], { type: DependencyType.Dev, existing: ExistingBehavior.Skip, + install: options.skipInstall ? InstallBehavior.None : InstallBehavior.Auto, }), ), ]); diff --git a/packages/schematics/angular/tailwind/schema.json b/packages/schematics/angular/tailwind/schema.json index 76c1fdd2afc5..3b52fc71c26d 100644 --- a/packages/schematics/angular/tailwind/schema.json +++ b/packages/schematics/angular/tailwind/schema.json @@ -9,6 +9,11 @@ "$default": { "$source": "projectName" } + }, + "skipInstall": { + "description": "Skip the automatic installation of packages. You will need to manually install the dependencies later.", + "type": "boolean", + "default": false } }, "required": ["project"]