From 906b34d21c33452acd98f64307f9abef0e5cbbe5 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 15 Jun 2023 16:13:50 +0100 Subject: [PATCH] refactor: convert Tailwind config to TypeScript --- astro.config.mjs | 6 --- package.json | 2 +- tailwind.config.cjs => tailwind.config.ts | 32 ++++++++------- yarn.lock | 49 +++++++++++++---------- 4 files changed, 47 insertions(+), 42 deletions(-) rename tailwind.config.cjs => tailwind.config.ts (51%) diff --git a/astro.config.mjs b/astro.config.mjs index 77d08c43..779a8aef 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,6 +1,5 @@ import { defineConfig } from "astro/config"; import alpinejs from "@astrojs/alpinejs"; -import tailwind from "@astrojs/tailwind"; import mdx from "@astrojs/mdx"; import sitemap from "@astrojs/sitemap"; @@ -22,11 +21,6 @@ export default defineConfig({ return item; } }), - tailwind({ - config: { - applyBaseStyles: false - } - }), ], site: "https://www.oliverdavies.dev" }); diff --git a/package.json b/package.json index de7527a5..d239f6d2 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,6 @@ "@astrojs/mdx": "^0.18.3", "@astrojs/rss": "^2.3.2", "@astrojs/sitemap": "^1.2.2", - "@astrojs/tailwind": "^3.1.1", "@tailwindcss/aspect-ratio": "^0.4.2", "@tailwindcss/forms": "^0.5.3", "@tailwindcss/nesting": "^0.0.0-insiders.565cd3e", @@ -34,6 +33,7 @@ }, "devDependencies": { "@types/lodash": "^4.14.191", + "autoprefixer": "^10.4.14", "prettier": "^2.8.7", "prettier-plugin-astro": "^0.8.0", "rustywind": "^0.15.3" diff --git a/tailwind.config.cjs b/tailwind.config.ts similarity index 51% rename from tailwind.config.cjs rename to tailwind.config.ts index fffefadf..0ba0ad25 100644 --- a/tailwind.config.cjs +++ b/tailwind.config.ts @@ -1,13 +1,15 @@ -const colors = require("./assets/tailwindcss/colours.cjs"); -const defaultTheme = require("tailwindcss/defaultTheme"); -const { fontFamily } = defaultTheme; +import aspectRatioPlugin from "@tailwindcss/aspect-ratio"; +import colors from "./assets/tailwindcss/colours.cjs"; +import focusVisiblePlugin from "./assets/tailwindcss/plugins/focus-visible.cjs"; +import formsPlugin from "@tailwindcss/forms"; +import nestingPlugin from "@tailwindcss/nesting"; +import type { Config } from "tailwindcss"; +import typographyPlugin from "@tailwindcss/typography"; +import { fontFamily } from "tailwindcss/defaultTheme"; -/** @type {import('tailwindcss').Config} */ -module.exports = { - mode: "jit", - darkMode: "media", +const config = { important: true, - content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'], + content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"], theme: { outline: { black: "1px solid black", @@ -47,10 +49,12 @@ module.exports = { container: false, }, plugins: [ - require("./assets/tailwindcss/plugins/focus-visible.cjs"), - require("@tailwindcss/nesting"), - require("@tailwindcss/aspect-ratio"), - require("@tailwindcss/forms"), - require("@tailwindcss/typography"), + aspectRatioPlugin, + focusVisiblePlugin, + formsPlugin, + nestingPlugin, + typographyPlugin, ], -}; +} satisfies Config; + +export default config; diff --git a/yarn.lock b/yarn.lock index a95bb040..32db27af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -110,16 +110,6 @@ sitemap "^7.1.1" zod "^3.17.3" -"@astrojs/tailwind@^3.1.1": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@astrojs/tailwind/-/tailwind-3.1.3.tgz#750873dbfa87b4dd99395a03e148f6c6f61b2b43" - integrity sha512-10S1omrv5K5HRVAZ0fBgN5vQykn2HRL332LAVFyBASMn1Ff6gDfSK+CPUeUu94eZUOEaPnECLK8EHAqZ8iY9CA== - dependencies: - "@proload/core" "^0.3.3" - autoprefixer "^10.4.14" - postcss "^8.4.23" - postcss-load-config "^4.0.1" - "@astrojs/telemetry@^2.1.1": version "2.1.1" resolved "https://registry.yarnpkg.com/@astrojs/telemetry/-/telemetry-2.1.1.tgz#e371ce343fd70313334219cf36365c04b3a65fb6" @@ -955,14 +945,6 @@ picocolors "^1.0.0" tslib "^2.5.0" -"@proload/core@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@proload/core/-/core-0.3.3.tgz#0a30c5ab69e21254b339813c674a6197a42337c3" - integrity sha512-7dAFWsIK84C90AMl24+N/ProHKm4iw0akcnoKjRvbfHifJZBLhaDsDus1QJmhG12lXj4e/uB/8mB/0aduCW+NQ== - dependencies: - deepmerge "^4.2.2" - escalade "^3.1.1" - "@rollup/pluginutils@^5.0.0": version "5.0.2" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" @@ -1526,7 +1508,7 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -browserslist@^4.21.3, browserslist@^4.21.5: +browserslist@^4.21.3: version "4.21.5" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== @@ -1536,6 +1518,16 @@ browserslist@^4.21.3, browserslist@^4.21.5: node-releases "^2.0.8" update-browserslist-db "^1.0.10" +browserslist@^4.21.5: + version "4.21.9" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.9.tgz#e11bdd3c313d7e2a9e87e8b4b0c7872b13897635" + integrity sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg== + dependencies: + caniuse-lite "^1.0.30001503" + electron-to-chromium "^1.4.431" + node-releases "^2.0.12" + update-browserslist-db "^1.0.11" + btoa-lite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" @@ -1599,11 +1591,16 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001449, caniuse-lite@^1.0.30001464: +caniuse-lite@^1.0.30001449: version "1.0.30001488" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001488.tgz#d19d7b6e913afae3e98f023db97c19e9ddc5e91f" integrity sha512-NORIQuuL4xGpIy6iCCQGN4iFjlBXtfKWIenlUuyZJumLRIindLb7wXM+GO8erEhb7vXfcnf4BAg2PrSDN5TNLQ== +caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001503: + version "1.0.30001503" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001503.tgz#88b6ff1b2cf735f1f3361dc1a15b59f0561aa398" + integrity sha512-Sf9NiF+wZxPfzv8Z3iS0rXM1Do+iOy2Lxvib38glFX+08TCYYYGR5fRJXk4d77C4AYwhUjgYgMsMudbh2TqCKw== + ccount@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" @@ -2021,6 +2018,11 @@ electron-to-chromium@^1.4.284: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.400.tgz#bc39fd77c4280b8d9abfbd7bee17d7bf3d1ef35f" integrity sha512-Lsvf7cvwbIxCfB8VqbnVtEsjGi3+48ejDiQZfWo5gkT+1vQ2DHQI5pl0nUvPD6z1IQk6JgFeMC5ZQJqVhalEHg== +electron-to-chromium@^1.4.431: + version "1.4.431" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.431.tgz#47990d6e43465d69aa1fbd0abdec43114946edd0" + integrity sha512-m232JTVmCawA2vG+1azVxhKZ9Sv1Q//xxNv5PkP5rWxGgQE8c3CiZFrh8Xnp+d1NmNxlu3QQrGIfdeW5TtXX5w== + emmet@^2.4.3: version "2.4.4" resolved "https://registry.yarnpkg.com/emmet/-/emmet-2.4.4.tgz#801aad64659dc76f3003130db767d77a78ac298e" @@ -3735,6 +3737,11 @@ node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" +node-releases@^2.0.12: + version "2.0.12" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039" + integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ== + node-releases@^2.0.8: version "2.0.10" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" @@ -5006,7 +5013,7 @@ untildify@^4.0.0: resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== -update-browserslist-db@^1.0.10: +update-browserslist-db@^1.0.10, update-browserslist-db@^1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==