Skip to content

Commit 42b1f14

Browse files
authored
fix(misc): deprecate setup-tailwind generators (#34097)
The setup-tailwind generators are deprecated as generating Tailwind configuration is no longer maintained. This adds deprecation metadata to generators.json and runtime warnings when the generators are invoked. Affected packages: @nx/angular, @nx/react, @nx/next, @nx/remix, @nx/vue These generators will be removed in Nx 23. For adding Tailwind support, people can follow the official Tailwind guides. We also - updated our [angular](https://nx.dev/docs/technologies/angular/guides/using-tailwind-css-with-angular-projects) and [react](https://nx.dev/docs/technologies/react/guides/using-tailwind-css-in-react) docs and have a [blog post](https://nx.dev/blog/setup-tailwind-4-angular-nx-workspace) about it with more info. Closes NXC-3714
1 parent d6b0159 commit 42b1f14

9 files changed

Lines changed: 31 additions & 4 deletions

File tree

packages/angular/generators.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@
161161
"setup-tailwind": {
162162
"factory": "./src/generators/setup-tailwind/setup-tailwind",
163163
"schema": "./src/generators/setup-tailwind/schema.json",
164-
"description": "Configures Tailwind CSS for an application or a buildable/publishable library."
164+
"description": "Configures Tailwind CSS for an application or a buildable/publishable library.",
165+
"x-deprecated": "Generating Tailwind configuration is no longer maintained. This generator will be removed in Nx 23."
165166
},
166167
"stories": {
167168
"factory": "./src/generators/stories/stories",

packages/angular/src/generators/setup-tailwind/setup-tailwind.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {
22
formatFiles,
33
GeneratorCallback,
4+
logger,
45
readProjectConfiguration,
56
Tree,
67
} from '@nx/devkit';
@@ -18,6 +19,10 @@ export async function setupTailwindGenerator(
1819
tree: Tree,
1920
rawOptions: GeneratorOptions
2021
): Promise<GeneratorCallback> {
22+
logger.warn(
23+
`The 'setup-tailwind' generator is deprecated. Generating Tailwind configuration is no longer maintained. This generator will be removed in Nx 23.`
24+
);
25+
2126
const options = normalizeOptions(rawOptions);
2227
const project = readProjectConfiguration(tree, options.project);
2328

packages/next/src/generators/setup-tailwind/setup-tailwind.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ export async function setupTailwindGenerator(
2323
tree: Tree,
2424
options: SetupTailwindOptions
2525
) {
26+
logger.warn(
27+
`The 'setup-tailwind' generator is deprecated. Generating Tailwind configuration is no longer maintained. This generator will be removed in Nx 23.`
28+
);
29+
2630
const tasks: GeneratorCallback[] = [];
2731
const project = readProjectConfiguration(tree, options.project);
2832

packages/react/generators.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@
9090
"factory": "./src/generators/setup-tailwind/setup-tailwind#setupTailwindGenerator",
9191
"schema": "./src/generators/setup-tailwind/schema.json",
9292
"description": "Set up Tailwind configuration for a project.",
93-
"hidden": false
93+
"hidden": false,
94+
"x-deprecated": "Generating Tailwind configuration is no longer maintained. This generator will be removed in Nx 23."
9495
},
9596
"setup-ssr": {
9697
"factory": "./src/generators/setup-ssr/setup-ssr#setupSsrGenerator",

packages/react/src/generators/setup-tailwind/setup-tailwind.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ export async function setupTailwindGenerator(
2323
tree: Tree,
2424
options: SetupTailwindOptions
2525
) {
26+
logger.warn(
27+
`The 'setup-tailwind' generator is deprecated. Generating Tailwind configuration is no longer maintained. This generator will be removed in Nx 23.`
28+
);
29+
2630
const tasks: GeneratorCallback[] = [];
2731
const project = readProjectConfiguration(tree, options.project);
2832

packages/remix/generators.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@
6969
"setup-tailwind": {
7070
"implementation": "./src/generators/setup-tailwind/setup-tailwind.impl",
7171
"schema": "./src/generators/setup-tailwind/schema.json",
72-
"description": "Generates a TailwindCSS configuration for the Remix application"
72+
"description": "Generates a TailwindCSS configuration for the Remix application",
73+
"x-deprecated": "Generating Tailwind configuration is no longer maintained. This generator will be removed in Nx 23."
7374
},
7475
"storybook-configuration": {
7576
"implementation": "./src/generators/storybook-configuration/storybook-configuration.impl#remixStorybookConfiguration",

packages/remix/src/generators/setup-tailwind/setup-tailwind.impl.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
generateFiles,
55
installPackagesTask,
66
joinPathFragments,
7+
logger,
78
readProjectConfiguration,
89
stripIndents,
910
type Tree,
@@ -21,6 +22,10 @@ export default async function setupTailwind(
2122
tree: Tree,
2223
options: SetupTailwindSchema
2324
) {
25+
logger.warn(
26+
`The 'setup-tailwind' generator is deprecated. Generating Tailwind configuration is no longer maintained. This generator will be removed in Nx 23.`
27+
);
28+
2429
const project = readProjectConfiguration(tree, options.project);
2530

2631
generateFiles(tree, joinPathFragments(__dirname, 'files'), project.root, {

packages/vue/generators.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
"setup-tailwind": {
3333
"factory": "./src/generators/setup-tailwind/setup-tailwind",
3434
"schema": "./src/generators/setup-tailwind/schema.json",
35-
"description": "Set up Tailwind configuration for a project."
35+
"description": "Set up Tailwind configuration for a project.",
36+
"x-deprecated": "Generating Tailwind configuration is no longer maintained. This generator will be removed in Nx 23."
3637
},
3738
"storybook-configuration": {
3839
"factory": "./src/generators/storybook-configuration/configuration#storybookConfigurationGeneratorInternal",

packages/vue/src/generators/setup-tailwind/setup-tailwind.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
addDependenciesToPackageJson,
44
formatFiles,
55
generateFiles,
6+
logger,
67
readProjectConfiguration,
78
} from '@nx/devkit';
89

@@ -19,6 +20,10 @@ export async function setupTailwindGenerator(
1920
tree: Tree,
2021
options: SetupTailwindOptions
2122
): Promise<void | GeneratorCallback> {
23+
logger.warn(
24+
`The 'setup-tailwind' generator is deprecated. Generating Tailwind configuration is no longer maintained. This generator will be removed in Nx 23.`
25+
);
26+
2227
let installTask: GeneratorCallback | undefined = undefined;
2328
const project = readProjectConfiguration(tree, options.project);
2429

0 commit comments

Comments
 (0)