Skip to main content
Version: Next

Migration from 0.17.X to 0.18.X

What's new in 0.18.0?

Wasp Tailwind Configuration Now Uses ESM

Wasp has transitioned from CommonJS (CJS) to ECMAScript Modules (ESM) for Tailwind configuration files.
This affects both the import/export syntax and file extensions (.cjs.js).

How to migrate?

To migrate your Wasp app from 0.16.X to 0.17.X, follow these steps:

1. Convert CJS Syntax to ESM

Update your tailwind.config.cjs file to use ESM:

tailwind.config.cjs
const { resolveProjectPath } = require('wasp/dev')

/** @type {import('tailwindcss').Config} */
module.exports = {
content: [resolveProjectPath("./src/**/*.{js,jsx,ts,tsx}")],
theme: {
extend: {},
},
plugins: [require('@tailwindcss/typography')],
};

Same for the postcss.config.cjs file:

postcss.config.cjs
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};

2. Rename Tailwind Configuration Files

Update the Tailwind configuration files' extensions from .cjs to .js:

  • tailwind.config.cjstailwind.config.js
  • postcss.config.cjspostcss.config.js