Update Astro and adapters

This commit is contained in:
Nikita Karamov 2024-02-12 21:12:27 +01:00
parent b7001edc6e
commit 8f61bc80c1
3 changed files with 717 additions and 954 deletions

View File

@ -7,14 +7,16 @@
* SPDX-License-Identifier: AGPL-3.0-only * SPDX-License-Identifier: AGPL-3.0-only
*/ */
import { defineConfig } from "astro/config"; import { defineConfig } from "astro/config";
import lightningcss from "vite-plugin-lightningcss";
import cloudflare from "@astrojs/cloudflare"; import cloudflare from "@astrojs/cloudflare";
import deno from "@astrojs/deno"; import deno from "@astrojs/deno";
import netlify from "@astrojs/netlify/functions"; import netlify from "@astrojs/netlify";
import node from "@astrojs/node"; import node from "@astrojs/node";
import vercel from "@astrojs/vercel/serverless"; import vercel from "@astrojs/vercel/serverless";
import browserslist from "browserslist";
import { browserslistToTargets, transform } from "lightningcss";
let adapterConfig = {}; let adapterConfig = {};
if (process.env.VERCEL) { if (process.env.VERCEL) {
console.info("Using Vercel (serverless) adapter..."); console.info("Using Vercel (serverless) adapter...");
@ -24,7 +26,7 @@ if (process.env.VERCEL) {
}), }),
}; };
} else if (process.env.CF_PAGES) { } else if (process.env.CF_PAGES) {
console.info("Using Cloudflare adapter..."); console.info("Using Cloudflare (Pages) adapter...");
adapterConfig = { adapterConfig = {
adapter: cloudflare(), adapter: cloudflare(),
}; };
@ -48,6 +50,29 @@ if (process.env.VERCEL) {
}; };
} }
const lightningCssPlugin = () => {
const targets = browserslistToTargets(browserslist());
return {
name: "vite-plugin-lightningcss",
transform(source, id) {
if (!id.endsWith(".css")) return;
const { code, map } = transform({
filename: id,
code: Buffer.from(source),
minify: true,
sourceMap: true,
targets,
});
return {
code: code.toString(),
// eslint-disable-next-line unicorn/no-null
map: map ? map.toString() : null,
};
},
};
};
export default defineConfig({ export default defineConfig({
site: "https://s2f.kytta.dev", site: "https://s2f.kytta.dev",
@ -55,6 +80,6 @@ export default defineConfig({
...adapterConfig, ...adapterConfig,
vite: { vite: {
plugins: [lightningcss()], plugins: [lightningCssPlugin()],
}, },
}); });

View File

@ -32,25 +32,27 @@
}, },
"browserslist": "cover 95%, last 2 versions, Firefox ESR, not dead", "browserslist": "cover 95%, last 2 versions, Firefox ESR, not dead",
"dependencies": { "dependencies": {
"@astrojs/cloudflare": "^7.7.1", "@astrojs/cloudflare": "^9.0.0",
"@astrojs/deno": "^5.0.1", "@astrojs/deno": "^5.0.1",
"@astrojs/netlify": "^3.1.1", "@astrojs/netlify": "^5.1.1",
"@astrojs/node": "^6.1.0", "@astrojs/node": "^8.2.0",
"@astrojs/vercel": "^5.2.0", "@astrojs/vercel": "^7.3.0",
"@nanostores/persistent": "^0.9.1", "@nanostores/persistent": "^0.9.1",
"astro": "^3.6.4", "astro": "^4.3.6",
"nanostores": "^0.9.5" "nanostores": "^0.9.5"
}, },
"devDependencies": { "devDependencies": {
"@astrojs/check": "^0.4.1", "@astrojs/check": "^0.5.3",
"@types/node": "^18.17.0", "@types/node": "^18.17.0",
"@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/eslint-plugin": "^6.21.0",
"@typescript-eslint/parser": "^6.21.0", "@typescript-eslint/parser": "^6.21.0",
"browserslist": "^4.22.3",
"eslint": "^8.56.0", "eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0", "eslint-config-prettier": "^9.1.0",
"eslint-plugin-astro": "^0.31.4", "eslint-plugin-astro": "^0.31.4",
"eslint-plugin-unicorn": "^51.0.1", "eslint-plugin-unicorn": "^51.0.1",
"husky": "^9.0.10", "husky": "^9.0.10",
"lightningcss": "^1.23.0",
"lint-staged": "^15.2.2", "lint-staged": "^15.2.2",
"prettier": "^3.2.5", "prettier": "^3.2.5",
"prettier-plugin-astro": "^0.13.0", "prettier-plugin-astro": "^0.13.0",
@ -59,8 +61,7 @@
"stylelint": "^16.2.1", "stylelint": "^16.2.1",
"stylelint-config-standard-scss": "^13.0.0", "stylelint-config-standard-scss": "^13.0.0",
"svgo": "^3.2.0", "svgo": "^3.2.0",
"typescript": "^5.3.3", "typescript": "^5.3.3"
"vite-plugin-lightningcss": "^0.0.5"
}, },
"lint-staged": { "lint-staged": {
"*": "pnpm run fix:prettier", "*": "pnpm run fix:prettier",

File diff suppressed because it is too large Load Diff