O witrynie

Konfiguracje

// @ts-check
import { defineConfig, svgoOptimizer } from 'astro/config'
import tailwindcss from '@tailwindcss/vite'
import mdx from '@astrojs/mdx'
import sitemap from '@astrojs/sitemap'
import { DEFAULT_LANGUAGE } from './src/constants'

// https://astro.build/config
export default defineConfig({
  site: 'https://herob527.github.io',
  base: import.meta.env.DEV ? '/' : '/website',
  experimental: {
    contentIntellisense: true,
    svgOptimizer: svgoOptimizer(),
  },
  i18n: {
    defaultLocale: DEFAULT_LANGUAGE,
    locales: [DEFAULT_LANGUAGE, 'en'],
    routing: {
      prefixDefaultLocale: false,
    },
  },
  integrations: [mdx(), sitemap()],
  vite: {
    plugins: [tailwindcss()],
  },
})
import eslint from '@eslint/js'
import tseslint from 'typescript-eslint'
import pluginAstro from 'eslint-plugin-astro'

export default [
  eslint.configs.recommended,
  ...tseslint.configs.strictTypeChecked,
  ...tseslint.configs.stylisticTypeChecked,
  {
    files: ['**/*.{ts,tsx,mts,cts}'],
    languageOptions: {
      parserOptions: {
        projectService: true,
        tsconfigRootDir: import.meta.dirname,
      },
    },
  },
  {
    files: ['**/*.{js,mjs,cjs}'],
    ...tseslint.configs.disableTypeChecked,
  },
  {
    rules: {
      'no-unused-vars': 'warn',
      'no-console': 'warn',
      eqeqeq: 'error',
      'no-var': 'error',
      'prefer-const': 'error',
    },
  },
  ...pluginAstro.configs['flat/recommended'],
  {
    files: ['**/*.astro'],
    ...tseslint.configs.disableTypeChecked,
    languageOptions: {
      globals: {
        astroHTML: 'readonly',
      },
      parserOptions: {
        parser: tseslint.parser,
        project: true,
        tsconfigRootDir: import.meta.dirname,
      },
    },
  },
  {
    ignores: ['dist/', '.astro/', 'node_modules/'],
  },
]
{
  "semi": false,
  "singleQuote": true,
  "trailingComma": "all",
  "printWidth": 80,
  "tabWidth": 2,
  "plugins": ["prettier-plugin-astro"]
}
{
  "extends": "astro/tsconfigs/strict",
  "include": [".astro/types.d.ts", "**/*"],
  "exclude": ["dist"],
  "compilerOptions": {
    "target": "esnext",
    "lib": ["ESNext.Temporal", "ES2022.Array"],
    "jsx": "react-jsx",
    "jsxImportSource": "react",
    "baseUrl": ".",
    "paths": {
      "@layouts/*": ["src/layouts/*"],
      "@components/*": ["src/components/*"],
      "@assets/*": ["src/assets/*"],
      "@root/*": ["./*"]
    }
  }
}
{
  "name": "blog-website",
  "type": "module",
  "version": "0.0.1",
  "engines": {
    "node": ">=22.12.0"
  },
  "scripts": {
    "dev": "astro dev",
    "build": "astro build",
    "preview": "astro preview",
    "astro": "astro",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "redact-ai": "bun run ./scripts/redact"
  },
  "dependencies": {
    "@astrojs/markdown-remark": "^7.2.1",
    "@astrojs/mdx": "^7.0.3",
    "@astrojs/sitemap": "^3.7.3",
    "@lmstudio/sdk": "^1.5.0",
    "@tailwindcss/typography": "^0.5.20",
    "@types/bun": "^1.3.14",
    "@types/react": "^19.2.17",
    "astro": "^7.1.3",
    "i18next": "^26.3.6",
    "react": "^19.2.7",
    "react-dom": "^19.2.7",
    "reading-time": "^1.5.0",
    "satteri": "^0.9.5",
    "tailwindcss": "^4.3.3",
    "takumi-js": "^2.4.0",
    "yaml": "^2.9.0",
    "zod": "^4.4.3"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@iconify-json/flagpack": "^1.2.8",
    "@iconify-json/mdi": "^1.2.3",
    "@iconify/tailwind4": "^1.2.3",
    "@tailwindcss/vite": "^4.3.3",
    "eslint": "^10.7.0",
    "eslint-plugin-astro": "^3.0.1",
    "prettier": "^3.9.6",
    "prettier-plugin-astro": "^0.14.1",
    "typescript": "^6.0.3",
    "typescript-eslint": "^8.65.0"
  }
}
@import 'tailwindcss';
@plugin "@tailwindcss/typography";
@plugin "@iconify/tailwind4";
[tools]
bun = "1.3.14"
Link do repozytorium