frischkraft/craft3-webpack5-tailwind2

Craft CMS 3 Boilerplate with TailwindCSS 2 and Webpack 5

1.0.6 2021-03-23 10:22 UTC

This package is auto-updated.

Last update: 2024-04-23 17:10:48 UTC


README

(with Webpack 5, Tailwind 2, PostCSS 8, and HMR, and other goodies)

A real-world boilerplate for Craft CMS 3 projects that leverages Wepback 5, Tailwind 2, PostCSS 8, and Twigpack. Also included is a hot-reload dev environment. I created this as a starting point for Craft CMS 3 / Webpack 5 projects.

This project was originally created by https://github.com/mizziness/craft3-webpack5-tailwind2-boilerplate

What's Included

  • Craft CMS 3 - My CMS of choice, and the app which will consume assets from Webpack.
  • Webpack 5 - Bundling, optimizing, and serving your assets
  • Twigpack - The bridge between Craft CMS and Webpack
  • TailwindCSS 2 - Awesome CSS framework that makes dev speedy
  • SASS - SASS/SCSS Support
  • PostCSS - Post-processing CSS Files

Other included tools/plugins

Webpack

Transpiling

Loaders, Sass, Plugins

Get Started

First, finish up installing Craft CMS locally for your development environment:

$ composer install
$ ./craft setup

Then install our other packages and run the HMR development server:

$ yarn install
$ yarn dev

(I use yarn for my project, but you don't need to - use the tool of your choice.)

Webpack assets are set up to serve from localhost:8080 by default.

You can include your chunked/hashed assets in Craft CMS templates by using Twigpack's features:

{{ craft.twigpack.includeCssModule("app.css", true) }}
{{ craft.twigpack.includeJsModule("app.js", true, {"type": "module"}) }}
{{ craft.twigpack.includeJsModule("chunk-vendors.js", true) }}

Scripts

As you can see in the package.json file, there are 3 included scripts for convenience:

  • yarn dev - Runs the HMR development server
  • yarn build - Creates a production-ready build for deployment (asset output is in web/dist)
  • yarn clean - A quick way to clear Craft CMS caches while you code

Make it Yours

This project comes pre-configured out of the box to work with Craft CMS templates, but there are plenty of ways you can customize the way this works to suit your own needs. It tries to make no assumptions about your toolkit, other than the minimum required configuration to work with the tools included.

  • Tailwind has been set up with with a default configuration, and I highly suggest modifying it for your project. (You can overwrite it with an existing tailwind.config.js file, if you have one, to import all your custom styling quickly.)
  • devServer options can be changed and extended as needed - for example, by default auto open for the served url is turned off, but if you're using a custom generated template, then you might want it on, instead.
  • Go to town!

Prettier Webpack

If you're like me and you prefer a cleaner webpack report, try this:

yarn add webpackbar -D

In the wpconfig files, you'll see two commented-out lines which you can uncomment to enable a much nicer view of your webpack report with webpackbar.

Inspired By

And used as a starting point: https://github.com/taniarascia/webpack-boilerplate

License

This project is open source and available under the MIT License.