Added config for biome.js

This commit is contained in:
Utkarsh-Patel-13 2025-07-26 20:52:13 -07:00
parent 0bd46c12f8
commit da7a9bff11
3 changed files with 204 additions and 85 deletions

3
.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,3 @@
{
"biome.configurationPath": "./surfsense_web/biome.json"
}

115
surfsense_web/biome.json Normal file
View file

@ -0,0 +1,115 @@
{
"$schema": "https://biomejs.dev/schemas/2.1.2/schema.json",
"vcs": {
"enabled": true,
"clientKind": "git",
"useIgnoreFile": true
},
"files": {
"ignoreUnknown": true,
"experimentalScannerIgnores": ["node_modules", ".git", ".next", "dist", "build", "coverage"],
"maxSize": 1048576
},
"formatter": {
"enabled": true,
"indentStyle": "tab",
"indentWidth": 2,
"lineWidth": 100,
"lineEnding": "lf",
"formatWithErrors": false
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"suspicious": {
"noExplicitAny": "warn",
"noArrayIndexKey": "warn"
},
"style": {
"useConst": "error",
"useTemplate": "warn"
},
"correctness": {
"useExhaustiveDependencies": "warn"
}
}
},
"javascript": {
"formatter": {
"quoteStyle": "double",
"jsxQuoteStyle": "double",
"quoteProperties": "asNeeded",
"trailingCommas": "es5",
"semicolons": "always",
"arrowParentheses": "always",
"bracketSameLine": false,
"bracketSpacing": true
},
"linter": {
"enabled": true
},
"assist": {
"enabled": true
}
},
"json": {
"formatter": {
"enabled": true,
"indentStyle": "tab",
"indentWidth": 2,
"lineWidth": 100
},
"linter": {
"enabled": true
}
},
"css": {
"formatter": {
"enabled": true,
"indentStyle": "tab",
"indentWidth": 2,
"lineWidth": 100,
"quoteStyle": "double"
},
"linter": {
"enabled": true
}
},
"assist": {
"enabled": true,
"actions": {
"source": {
"organizeImports": "on"
}
}
},
"overrides": [
{
"includes": ["*.json", "*.jsonc"],
"json": {
"parser": {
"allowComments": true,
"allowTrailingCommas": false
}
}
},
{
"includes": [".vscode/**/*.json"],
"json": {
"parser": {
"allowComments": true,
"allowTrailingCommas": true
}
}
},
{
"includes": ["**/*.config.*", "**/next.config.*"],
"javascript": {
"formatter": {
"semicolons": "always"
}
}
}
]
}

View file

@ -5,7 +5,7 @@
"description": "SurfSense Frontend", "description": "SurfSense Frontend",
"scripts": { "scripts": {
"dev": "next dev", "dev": "next dev",
"dev:turbopack": "next dev --turbopack", "dev:turbo": "next dev --turbopack",
"build": "next build", "build": "next build",
"start": "next start", "start": "next start",
"lint": "next lint", "lint": "next lint",
@ -15,73 +15,74 @@
"postinstall": "fumadocs-mdx" "postinstall": "fumadocs-mdx"
}, },
"dependencies": { "dependencies": {
"@ai-sdk/react": "^1.1.21", "@ai-sdk/react": "^1.2.12",
"@hookform/resolvers": "^4.1.3", "@hookform/resolvers": "^4.1.3",
"@llamaindex/chat-ui": "^0.5.17", "@llamaindex/chat-ui": "^0.5.17",
"@radix-ui/react-accordion": "^1.2.3", "@radix-ui/react-accordion": "^1.2.11",
"@radix-ui/react-alert-dialog": "^1.1.6", "@radix-ui/react-alert-dialog": "^1.1.14",
"@radix-ui/react-avatar": "^1.1.3", "@radix-ui/react-avatar": "^1.1.10",
"@radix-ui/react-checkbox": "^1.1.4", "@radix-ui/react-checkbox": "^1.3.2",
"@radix-ui/react-collapsible": "^1.1.3", "@radix-ui/react-collapsible": "^1.1.11",
"@radix-ui/react-dialog": "^1.1.6", "@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-dropdown-menu": "^2.1.6", "@radix-ui/react-dropdown-menu": "^2.1.15",
"@radix-ui/react-label": "^2.1.2", "@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-popover": "^1.1.6", "@radix-ui/react-popover": "^1.1.14",
"@radix-ui/react-scroll-area": "^1.2.9", "@radix-ui/react-scroll-area": "^1.2.9",
"@radix-ui/react-select": "^2.1.6", "@radix-ui/react-select": "^2.2.5",
"@radix-ui/react-separator": "^1.1.2", "@radix-ui/react-separator": "^1.1.7",
"@radix-ui/react-slider": "^1.3.4", "@radix-ui/react-slider": "^1.3.5",
"@radix-ui/react-slot": "^1.1.2", "@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-tabs": "^1.1.3", "@radix-ui/react-tabs": "^1.1.12",
"@radix-ui/react-toggle": "^1.1.9", "@radix-ui/react-toggle": "^1.1.9",
"@radix-ui/react-toggle-group": "^1.1.10", "@radix-ui/react-toggle-group": "^1.1.10",
"@radix-ui/react-tooltip": "^1.1.8", "@radix-ui/react-tooltip": "^1.2.7",
"@tabler/icons-react": "^3.30.0", "@tabler/icons-react": "^3.34.1",
"@tanstack/react-table": "^8.21.2", "@tanstack/react-table": "^8.21.3",
"@types/mdx": "^2.0.13", "@types/mdx": "^2.0.13",
"@types/react-syntax-highlighter": "^15.5.13", "@types/react-syntax-highlighter": "^15.5.13",
"ai": "^4.1.54", "ai": "^4.3.19",
"class-variance-authority": "^0.7.1", "class-variance-authority": "^0.7.1",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"date-fns": "^4.1.0", "date-fns": "^4.1.0",
"emblor": "^1.4.7", "emblor": "^1.4.8",
"framer-motion": "^12.4.7", "framer-motion": "^12.23.9",
"fumadocs-core": "^15.2.9", "fumadocs-core": "^15.6.6",
"fumadocs-mdx": "^11.6.1", "fumadocs-mdx": "^11.7.1",
"fumadocs-ui": "^15.2.9", "fumadocs-ui": "^15.6.6",
"geist": "^1.3.1", "geist": "^1.4.2",
"lucide-react": "^0.477.0", "lucide-react": "^0.477.0",
"next": "15.2.3", "next": "^15.4.4",
"next-themes": "^0.4.4", "next-themes": "^0.4.6",
"react": "^19.0.0", "react": "^19.1.0",
"react-day-picker": "^9.7.0", "react-day-picker": "^9.8.1",
"react-dom": "^19.0.0", "react-dom": "^19.1.0",
"react-dropzone": "^14.3.8", "react-dropzone": "^14.3.8",
"react-hook-form": "^7.54.2", "react-hook-form": "^7.61.1",
"react-json-view": "^1.21.3", "react-json-view": "^1.21.3",
"react-json-view-lite": "^2.4.0", "react-json-view-lite": "^2.4.1",
"react-markdown": "^10.0.1", "react-markdown": "^10.1.0",
"react-rough-notation": "^1.0.5", "react-rough-notation": "^1.0.5",
"react-syntax-highlighter": "^15.6.1", "react-syntax-highlighter": "^15.6.1",
"rehype-raw": "^7.0.0", "rehype-raw": "^7.0.0",
"rehype-sanitize": "^6.0.0", "rehype-sanitize": "^6.0.0",
"remark-gfm": "^4.0.1", "remark-gfm": "^4.0.1",
"sonner": "^2.0.1", "sonner": "^2.0.6",
"tailwind-merge": "^3.0.2", "tailwind-merge": "^3.3.1",
"tailwindcss-animate": "^1.0.7", "tailwindcss-animate": "^1.0.7",
"zod": "^3.24.2" "zod": "^3.25.76"
}, },
"devDependencies": { "devDependencies": {
"@eslint/eslintrc": "^3", "@biomejs/biome": "2.1.2",
"@tailwindcss/postcss": "^4", "@eslint/eslintrc": "^3.3.1",
"@tailwindcss/postcss": "^4.1.11",
"@tailwindcss/typography": "^0.5.16", "@tailwindcss/typography": "^0.5.16",
"@types/node": "^20.17.22", "@types/node": "^20.19.9",
"@types/react": "^19", "@types/react": "^19.1.8",
"@types/react-dom": "^19", "@types/react-dom": "^19.1.6",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"eslint": "^9", "eslint": "^9.32.0",
"eslint-config-next": "15.2.0", "eslint-config-next": "15.2.0",
"tailwindcss": "^4", "tailwindcss": "^4.1.11",
"typescript": "^5" "typescript": "^5.8.3"
} }
} }