diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..2b26172 --- /dev/null +++ b/biome.json @@ -0,0 +1,83 @@ +{ + "$schema": "./node_modules/@biomejs/biome/configuration_schema.json", + "files": { + "includes": [ + "**", + "!**/build", + "!**/dist", + "!**/node_modules", + "!**/.vercel", + "!**/.netlify", + "!**/.vscode", + "!**/.astro" + ] + }, + "formatter": { + "enabled": true, + "indentStyle": "tab", + "lineEnding": "lf", + "lineWidth": 100, + "expand": "auto" + }, + "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true }, + "assist": { + "actions": { + "source": { + "organizeImports": "on" + } + } + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "a11y": { + "noSvgWithoutTitle": "off" + }, + "style": { + "noParameterAssign": "error", + "useAsConstAssertion": "error", + "useDefaultParameterLast": "error", + "useEnumInitializers": "error", + "useSelfClosingElements": "error", + "useSingleVarDeclarator": "error", + "noUnusedTemplateLiteral": "error", + "useNumberNamespace": "error", + "noInferrableTypes": "error", + "noUselessElse": "error", + "useImportType": "error" + }, + "suspicious": { "noExplicitAny": "warn" } + } + }, + "javascript": { + "formatter": { + "trailingCommas": "all", + "semicolons": "always", + "bracketSameLine": false + } + }, + "html": { "formatter": { "selfCloseVoidElements": "always" } }, + "css": { + "parser": { + "tailwindDirectives": true + } + }, + "overrides": [ + { + "includes": ["**/*.astro"], + "linter": { + "rules": { + "style": { + "useConst": "off", + "useImportType": "off" + }, + "correctness": { + "noUnusedVariables": "off", + "noUnusedImports": "off" + } + } + } + } + ] +} diff --git a/mise.toml b/mise.toml new file mode 100644 index 0000000..a3a76a2 --- /dev/null +++ b/mise.toml @@ -0,0 +1,2 @@ +[tools] +pnpm = "latest" diff --git a/package.json b/package.json index a4815c7..4374d34 100644 --- a/package.json +++ b/package.json @@ -1,43 +1,65 @@ { - "name": "tailwindui-template", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint" - }, - "browserslist": "defaults, not ie <= 11", - "dependencies": { - "@headlessui/react": "^1.7.13", - "@mapbox/rehype-prism": "^0.8.0", - "@mdx-js/loader": "^2.3.0", - "@mdx-js/react": "^2.3.0", - "@next/mdx": "13.4.16", - "@tailwindcss/typography": "^0.5.4", - "@types/node": "20.4.7", - "@types/react": "18.2.18", - "@types/react-dom": "18.2.7", - "@types/webpack-env": "^1.18.1", - "autoprefixer": "^10.4.12", - "cheerio": "^1.0.0-rc.12", - "clsx": "^1.2.1", - "fast-glob": "^3.2.11", - "feed": "^4.2.2", - "next": "13.4.16", - "next-themes": "^0.2.1", - "react": "18.2.0", - "react-dom": "18.2.0", - "remark-gfm": "^3.0.1", - "tailwindcss": "^3.3.3", - "typescript": "5.1.6" - }, - "devDependencies": { - "eslint": "8.45.0", - "eslint-config-next": "13.4.16", - "prettier": "^3.0.1", - "prettier-plugin-tailwindcss": "^0.5.2", - "sharp": "^0.32.0" - } + "name": "prad.nu", + "type": "module", + "version": "7.2.0", + "private": false, + "scripts": { + "postinstall": "npm rebuild sharp --force", + "dev": "astro dev", + "start": "astro dev", + "build": "astro build", + "postbuild": "pagefind --site dist", + "preview": "astro preview", + "check": "astro check && biome check", + "lint": "biome check --write", + "format": "prettier -w . --cache" + }, + "dependencies": { + "@astrojs/markdown-remark": "^7.1.2", + "@astrojs/mdx": "5.0.6", + "@astrojs/rss": "4.0.18", + "@astrojs/sitemap": "3.7.2", + "@pagefind/component-ui": "^1.5.2", + "@tailwindcss/vite": "4.3.0", + "astro": "6.3.3", + "astro-expressive-code": "^0.42.0", + "astro-icon": "^1.1.5", + "astro-robots-txt": "^1.0.0", + "astro-webmanifest": "^1.0.0", + "cssnano": "^8.0.1", + "hastscript": "^9.0.0", + "mdast-util-directive": "^3.0.0", + "mdast-util-to-markdown": "^2.1.2", + "mdast-util-to-string": "^4.0.0", + "rehype-autolink-headings": "^7.1.0", + "rehype-external-links": "^3.0.0", + "rehype-unwrap-images": "^1.0.0", + "remark-directive": "^4.0.0", + "satori": "0.26.0", + "satori-html": "^0.3.2", + "sharp": "^0.34.5", + "tailwindcss": "^4.3.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.1.0" + }, + "devDependencies": { + "@astrojs/check": "^0.9.9", + "@biomejs/biome": "^2.4.15", + "@iconify-json/mdi": "^1.2.2", + "@pagefind/default-ui": "^1.5.2", + "@tailwindcss/typography": "^0.5.19", + "@types/hast": "^3.0.4", + "@types/mdast": "^4.0.4", + "@types/node": "^25.8.0", + "autoprefixer": "^10.5.0", + "pagefind": "^1.5.2", + "prettier": "^3.8.3", + "prettier-plugin-astro": "0.14.1", + "prettier-plugin-tailwindcss": "^0.8.0", + "reading-time": "^1.5.0", + "typescript": "^6.0.3" + }, + "overrides": { + "sharp": "^0.34.5" + } } diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..6d78a60 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,7 @@ +overrides: + sharp: ^0.34.5 +allowBuilds: + "@biomejs/biome": true + "@tailwindcss/oxide": true + esbuild: true + sharp: true diff --git a/prettier.config.js b/prettier.config.js deleted file mode 100644 index 6b16840..0000000 --- a/prettier.config.js +++ /dev/null @@ -1,6 +0,0 @@ -/** @type {import('prettier').Options} */ -module.exports = { - singleQuote: true, - semi: false, - plugins: ['prettier-plugin-tailwindcss'], -}