diff --git a/package-lock.json b/package-lock.json index e4137f67..ba2075ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,6 +32,7 @@ "@vercel/node": "^2.15.2", "astro": "^2.7.0", "astro-icon": "^0.8.1", + "autoprefixer": "^10.4.14", "classnames": "^2.3.2", "dayjs": "^1.11.8", "env-cmd": "^10.1.0", @@ -55,6 +56,8 @@ "junk": "^4.0.1", "lint-staged": "^13.2.2", "npm-run-all": "^4.1.5", + "postcss": "^8.4.24", + "postcss-csso": "^6.0.1", "preact-render-to-string": "^6.1.0", "prettier": "^2.8.8", "prettier-plugin-astro": "^0.10.0", @@ -4758,6 +4761,39 @@ "node": ">= 4.5.0" } }, + "node_modules/autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", @@ -8685,6 +8721,19 @@ "node": ">=12.20.0" } }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, "node_modules/fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -15651,6 +15700,15 @@ "node": ">=0.10.0" } }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/npm-run-all": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", @@ -16581,10 +16639,59 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-csso": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-csso/-/postcss-csso-6.0.1.tgz", + "integrity": "sha512-ZV4yEziMrx6CEiqabGLrDva0pMD7Fbw7yP+LzJvaynM4OJgTssGN6dHiMsJMJdpmNaLJltXVLsrb/5sxbFa8sA==", + "dev": true, + "dependencies": { + "csso": "^5.0.5" + }, + "engines": { + "node": "^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/postcss-csso/node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/postcss-csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true + }, "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -16594,6 +16701,12 @@ "node": ">=4" } }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, "node_modules/preact": { "version": "10.15.1", "resolved": "https://registry.npmjs.org/preact/-/preact-10.15.1.tgz", diff --git a/package.json b/package.json index 3f9822c0..19c74a97 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@vercel/node": "^2.15.2", "astro": "^2.7.0", "astro-icon": "^0.8.1", + "autoprefixer": "^10.4.14", "classnames": "^2.3.2", "dayjs": "^1.11.8", "env-cmd": "^10.1.0", @@ -73,6 +74,7 @@ "hast-util-has-property": "^2.0.1", "hast-util-heading-rank": "^2.1.1", "hast-util-to-string": "^2.0.0", + "hastscript": "^7.2.0", "husky": "^8.0.3", "image-size": "^1.0.2", "jest-environment-jsdom": "^29.5.0", @@ -80,9 +82,12 @@ "junk": "^4.0.1", "lint-staged": "^13.2.2", "npm-run-all": "^4.1.5", + "postcss": "^8.4.24", + "postcss-csso": "^6.0.1", "preact-render-to-string": "^6.1.0", "prettier": "^2.8.8", "prettier-plugin-astro": "^0.10.0", + "probe-image-size": "^7.2.3", "puppeteer-core": "^10.4.0", "rehype-raw": "^6.1.1", "rehype-retext": "^3.0.2", @@ -103,9 +108,7 @@ "unist-util-is": "^5.2.1", "unist-util-replace-all-between": "^0.1.1", "unist-util-visit": "^4.1.2", - "hastscript": "^7.2.0", - "vite-plugin-svgr": "^3.2.0", - "probe-image-size": "^7.2.3" + "vite-plugin-svgr": "^3.2.0" }, "lint-staged": { "*.{js,ts,astro}": "eslint --cache --fix", diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 00000000..f22a06b3 --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,7 @@ +// @ts-nocheck +module.exports = { + plugins: [ + require("autoprefixer"), + require("postcss-csso"), + ], +};