• Stars
    star
    128
  • Rank 281,044 (Top 6 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 4 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ’จ Simple Angular schematic that initializes Tailwind CSS in your project and adds a custom webpack config to your build process.

Tailwind CSS Schematics

npm version Schematics CI

Simple Angular schematic initializing Tailwind CSS in your project. Angular v11.2 includes native support for Tailwind CSS.

For all versions before Angular v11.2 a custom webpack config is added to your build process.

Installation

Run

ng add ngx-tailwind

# or

ng add ngx-tailwind --project <MY_PROJECT>

Example output

The package ngx-tailwind@dev will be installed and executed.
Would you like to proceed? Yes
โœ” Package successfully installed.
? Which stylesheet format are you using? SCSS [ https://sass-lang.com/documentation/syntax#scss ]
? Which @tailwindcss plugins do you want to install? typography
CREATE tailwind.config.js (236 bytes)
UPDATE package.json (1095 bytes)
UPDATE src/styles.scss (177 bytes)
โœ” Packages installed successfully.

Upgrade Guide

Tailwind CSS v2 to v3

To upgrade your project from Tailwind CSS v2 to v3.

npm install -D tailwindcss@latest postcss@latest autoprefixer@latest

Update your tailwind.config.js to the new JIT Engine.

module.exports = {
- // mode: 'jit',
- purge: ['./src/**/*.{html,ts}'],
+ content: ['./src/**/*.{html,ts}'],
- darkMode: false, // or 'media' or 'class'
  theme: {
    extend: {},
  },
- variants: {
-   extend: {},
- },
  plugins: [],
};

Remove production build script from package.json, which was used for purging unused styles. Since JIT Engine generates only used styles this script is not necessary anymore.

{
  "name": "angular-workspace",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "watch": "ng build --watch --configuration development",
-   "build:prod": "cross-env NODE_ENV=production ng build --configuration production"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~13.0.3",
    "@angular/common": "~13.0.3",
    "@angular/compiler": "~13.0.3",
    "@angular/core": "~13.0.3",
    "@angular/forms": "~13.0.3",
    "@angular/platform-browser": "~13.0.3",
    "@angular/platform-browser-dynamic": "~13.0.3",
    "@angular/router": "~13.0.3",
    "rxjs": "~7.4.0",
    "tslib": "^2.3.1",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~13.0.4",
    "@angular/cli": "~13.0.4",
    "@angular/compiler-cli": "~13.0.3",
    "@types/node": "^12.11.1",
    "autoprefixer": "^10.4.1",
-   "cross-env": "^7.0.3",
    "postcss": "^8.4.5",
    "tailwindcss": "^3.0.8",
    "typescript": "~4.4.4"
  }
}

Migrate from Tailwind CSS

To upgrade you project from Tailwind CSS v1.x to v2.0 run the following install command

npm i -D tailwindcss@latest autoprefixer@latest postcss@latest postcss-import@latest postcss-loader@latest

# using scss
npm i -D postcss-scss@latest

Read the full Upgrade Guide to update your custom tailwind.config.js (e.g. your color palette) and replace removed classes from your template (e.g. shadow-outline and shadow-xs).

Additional options

You can pass additional flags to customize the schematic. For example, if you want to install a different version for Tailwind use --tailwindVersion flag:

ng add ngx-tailwind --tailwindVersion 3.0.8

All available flags:

| Flag | Description | Type | Default | | ---------------------- | -------------------------------------------------------------- | --------------- | ----------------------------------------------------- | --- | | autoprefixerVersion | The autoprefixer version to be installed. | string | ^10.4.1 | | cssFormat | The file extension or preprocessor to use for style files. | css | scss | css | โ€š | | project | The project to initialize with Tailwind CSS. | string | First Angular project | | postcssVersion | The postcss version to be installed. | string | ^8.4.5 | | | tailwindVersion | The Tailwind version to be installed. | string | ^3.0.8 | | disableCrossPlatform | Set the build:prod script to be only UNIX compatible. | boolean | false | | crossEnvVersion | The cross-env version to be installed. | string | ^7.0.3 | | tailwindPlugins | @tailwindcss plugins installed and added to tailwind.config.js | string[] | [aspect-ratio, forms, line-clamp, typography] |

Advanced usage

ng add ngx-tailwind --cssFormat scss --tailwindVersion 3.0.8 --postcssVersion 8.4.5

Want to integrate Tailwind CSS with Angular 11.1 or lower? No problem:

By default, cross-env is added to the build:prod script to be able to set NODE_ENV=prod cross-platform. If you want to override the default behavior, you can set the flag --disableCrossPlatform:

ng add ngx-tailwind --disableCrossPlatform

Developing

Install @angular-devkit/schematics-cli to be able to use schematics command

npm i -g @angular-devkit/schematics-cli

Now build the schematics and run the schematic.

npm run build
# or
npm run build:watch

# dry-run in angular-workspace
npm run start:dev

# execute schematics in angular-workspace
npm run start

More Repositories

1

nestjs-prisma-starter

Starter template for NestJS ๐Ÿ˜ป includes GraphQL with Prisma Client, Passport-JWT authentication, Swagger Api and Docker
TypeScript
2,287
star
2

prisma-dbml-generator

Prisma DBML Generator
TypeScript
636
star
3

nestjs-prisma

Easy Prisma support for your NestJS application
TypeScript
567
star
4

nestjs-prisma-docker

Dockerizing a NestJS app with Prisma and PostgreSQL
TypeScript
93
star
5

notiz

Frontend for notiz.dev. Built with Angular and Scully ๐Ÿ‘‹
TypeScript
68
star
6

nestjs-mailer

Send Emails with NestJs
Handlebars
57
star
7

github-action-json-property

โ˜•Simple GitHub Action to read a specified property from a JSON file.
TypeScript
32
star
8

scully-plugins

Scully plugins (fouc, lazy-images, rss, medium-zoom)
TypeScript
22
star
9

nestjs-swagger

NestJS with OpenApi Swagger documentation
TypeScript
16
star
10

floating-form-field-tailwindcss

Floating Form Field using Tailwind CSS
HTML
15
star
11

notiz-api

Notiz Api
Handlebars
9
star
12

cookiemonster

A customizable Cookie Consent Banner for Angular. Built with Tailwind. GDPR & EU ready!
TypeScript
7
star
13

ngx-plausible

Plausible Event directive for Angular
TypeScript
6
star
14

angular-scully-tailwindcss

Jamstack Angular app with Scully and styled with Tailwind CSS
TypeScript
5
star
15

nest-graphql-code-first

Nest Graphql Code First approach
TypeScript
4
star
16

nestjs-prisma-demo

How to query your database using Prisma with Nestjs
TypeScript
4
star
17

ngx-markdoc

Markdoc for Angular
TypeScript
3
star
18

angular-tailwindcss

Learn how to style Angular applications Tailwind CSS
TypeScript
3
star
19

deploy-nestjs-prisma-heroku

Deploy a Nestjs application with Prisma 2 to Heroku and connect to a PostgreSQL database
TypeScript
3
star
20

design

Design for notiz.dev
TypeScript
2
star
21

github-action-template

Simple Typescript GitHub Action Start Template
TypeScript
2
star
22

ngx-gravatar-url

Gravatar Url Pipe for Angular
TypeScript
2
star
23

codegen-angular-nest

TypeScript
1
star