chore: update dependencies and migrate tooling
This commit is contained in:
@@ -23,14 +23,13 @@
|
|||||||
"vscode": {
|
"vscode": {
|
||||||
"extensions": [
|
"extensions": [
|
||||||
"oven.bun-vscode",
|
"oven.bun-vscode",
|
||||||
"dbaeumer.vscode-eslint",
|
|
||||||
"bradlc.vscode-tailwindcss",
|
"bradlc.vscode-tailwindcss",
|
||||||
"YoavBls.pretty-ts-errors",
|
"YoavBls.pretty-ts-errors",
|
||||||
"usernamehw.errorlens",
|
"usernamehw.errorlens",
|
||||||
"Prisma.prisma",
|
"Prisma.prisma",
|
||||||
"esbenp.prettier-vscode",
|
|
||||||
"dsznajder.es7-react-js-snippets",
|
"dsznajder.es7-react-js-snippets",
|
||||||
"csstools.postcss"
|
"csstools.postcss",
|
||||||
|
"biomejs.biome"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
node_modules
|
|
||||||
.next
|
|
||||||
.husky
|
|
||||||
coverage
|
|
||||||
.prettierignore
|
|
||||||
.stylelintignore
|
|
||||||
.eslintignore
|
|
||||||
stories
|
|
||||||
storybook-static
|
|
||||||
*.log
|
|
||||||
playwright-report
|
|
||||||
.nyc_output
|
|
||||||
test-results
|
|
||||||
junit.xml
|
|
||||||
docs
|
|
||||||
-11
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"useTabs": false,
|
|
||||||
"trailingComma": "all",
|
|
||||||
"semi": false,
|
|
||||||
"tabWidth": 2,
|
|
||||||
"singleQuote": false,
|
|
||||||
"printWidth": 80,
|
|
||||||
"endOfLine": "auto",
|
|
||||||
"arrowParens": "always",
|
|
||||||
"plugins": ["prettier-plugin-tailwindcss"]
|
|
||||||
}
|
|
||||||
Vendored
+2
-10
@@ -1,19 +1,11 @@
|
|||||||
{
|
{
|
||||||
"editor.codeActionsOnSave": {
|
"editor.codeActionsOnSave": {
|
||||||
"source.fixAll.eslint": "always"
|
"source.organizeImports.biome": "explicit",
|
||||||
},
|
"source.fixAll.biome": "explicit"
|
||||||
"eslint.useFlatConfig": true,
|
|
||||||
"eslint.format.enable": true,
|
|
||||||
"eslint.run": "onSave",
|
|
||||||
"[typescript]": {
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
||||||
},
|
},
|
||||||
"[json]": {
|
"[json]": {
|
||||||
"editor.defaultFormatter": "vscode.json-language-features"
|
"editor.defaultFormatter": "vscode.json-language-features"
|
||||||
},
|
},
|
||||||
"[typescriptreact]": {
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
||||||
},
|
|
||||||
"[jsonc]": {
|
"[jsonc]": {
|
||||||
"editor.defaultFormatter": "vscode.json-language-features"
|
"editor.defaultFormatter": "vscode.json-language-features"
|
||||||
}
|
}
|
||||||
|
|||||||
+76
@@ -0,0 +1,76 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
|
||||||
|
"vcs": {
|
||||||
|
"enabled": true,
|
||||||
|
"clientKind": "git",
|
||||||
|
"useIgnoreFile": true,
|
||||||
|
"defaultBranch": "main"
|
||||||
|
},
|
||||||
|
"files": {
|
||||||
|
"ignoreUnknown": false
|
||||||
|
},
|
||||||
|
"formatter": {
|
||||||
|
"enabled": true,
|
||||||
|
"formatWithErrors": false,
|
||||||
|
"indentStyle": "space",
|
||||||
|
"indentWidth": 2,
|
||||||
|
"lineEnding": "lf",
|
||||||
|
"lineWidth": 80,
|
||||||
|
"attributePosition": "auto",
|
||||||
|
"bracketSameLine": false,
|
||||||
|
"bracketSpacing": true,
|
||||||
|
"expand": "auto",
|
||||||
|
"useEditorconfig": true,
|
||||||
|
"includes": [
|
||||||
|
"**",
|
||||||
|
"!**/ node_modules",
|
||||||
|
"!**/ .next",
|
||||||
|
"!**/ .husky",
|
||||||
|
"!**/ coverage",
|
||||||
|
"!**/ .prettierignore",
|
||||||
|
"!**/ .stylelintignore",
|
||||||
|
"!**/ .eslintignore",
|
||||||
|
"!**/ stories",
|
||||||
|
"!**/ storybook-static",
|
||||||
|
"!**/ *.log",
|
||||||
|
"!**/ playwright-report",
|
||||||
|
"!**/ .nyc_output",
|
||||||
|
"!**/ test-results",
|
||||||
|
"!**/ junit.xml",
|
||||||
|
"!**/ docs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"linter": {
|
||||||
|
"enabled": true,
|
||||||
|
"rules": {
|
||||||
|
"recommended": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"javascript": {
|
||||||
|
"formatter": {
|
||||||
|
"jsxQuoteStyle": "double",
|
||||||
|
"quoteProperties": "asNeeded",
|
||||||
|
"trailingCommas": "all",
|
||||||
|
"semicolons": "asNeeded",
|
||||||
|
"arrowParentheses": "always",
|
||||||
|
"bracketSameLine": false,
|
||||||
|
"quoteStyle": "double",
|
||||||
|
"attributePosition": "auto",
|
||||||
|
"bracketSpacing": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"html": {
|
||||||
|
"formatter": {
|
||||||
|
"indentScriptAndStyle": false,
|
||||||
|
"selfCloseVoidElements": "always"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"assist": {
|
||||||
|
"enabled": true,
|
||||||
|
"actions": {
|
||||||
|
"source": {
|
||||||
|
"organizeImports": "on"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
import { FlatCompat } from "@eslint/eslintrc"
|
|
||||||
import eslintPlugin from "@eslint/js"
|
|
||||||
import type { Linter } from "eslint"
|
|
||||||
|
|
||||||
const compat = new FlatCompat()
|
|
||||||
|
|
||||||
const eslintConfig = [
|
|
||||||
{
|
|
||||||
name: "custom/eslint/recommended",
|
|
||||||
files: ["**/*.ts?(x)"],
|
|
||||||
...eslintPlugin.configs.recommended,
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
const ignoresConfig = [
|
|
||||||
{
|
|
||||||
name: "custom/eslint/ignores",
|
|
||||||
// the ignores option needs to be in a separate configuration object
|
|
||||||
// replaces the .eslintignore file
|
|
||||||
ignores: [
|
|
||||||
".next/",
|
|
||||||
".vscode/",
|
|
||||||
"public/",
|
|
||||||
"src/generated/",
|
|
||||||
"node_modules/",
|
|
||||||
"src/components/ui/",
|
|
||||||
],
|
|
||||||
},
|
|
||||||
] as Linter.Config[]
|
|
||||||
|
|
||||||
export default [
|
|
||||||
...compat.extends(
|
|
||||||
"next/core-web-vitals",
|
|
||||||
"next/typescript",
|
|
||||||
"plugin:import/recommended",
|
|
||||||
"plugin:playwright/recommended",
|
|
||||||
"plugin:prettier/recommended",
|
|
||||||
),
|
|
||||||
...compat.config({
|
|
||||||
rules: {
|
|
||||||
"no-unused-vars": "error",
|
|
||||||
"simple-import-sort/exports": "error",
|
|
||||||
"simple-import-sort/imports": "error",
|
|
||||||
"@typescript-eslint/no-unused-vars": "off",
|
|
||||||
"@typescript-eslint/no-explicit-any": "off",
|
|
||||||
"@typescript-eslint/no-empty-object-type": "off",
|
|
||||||
"@typescript-eslint/no-empty-interface": "off",
|
|
||||||
},
|
|
||||||
plugins: ["simple-import-sort"],
|
|
||||||
globals: { React: true, Prisma: true },
|
|
||||||
settings: {
|
|
||||||
react: {
|
|
||||||
version: "detect",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
...eslintConfig,
|
|
||||||
...ignoresConfig,
|
|
||||||
] satisfies Linter.Config[]
|
|
||||||
@@ -3,11 +3,6 @@ import type { NextConfig } from "next"
|
|||||||
const nextConfig: NextConfig = {
|
const nextConfig: NextConfig = {
|
||||||
/* config options here */
|
/* config options here */
|
||||||
|
|
||||||
eslint: {
|
|
||||||
// we have added a lint command to the package.json build script
|
|
||||||
// which is why we disable the default next lint (during builds) here
|
|
||||||
ignoreDuringBuilds: true,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default nextConfig
|
export default nextConfig
|
||||||
|
|||||||
+13
-25
@@ -6,10 +6,9 @@
|
|||||||
"dev": "next dev --turbopack",
|
"dev": "next dev --turbopack",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
"start": "next start",
|
"start": "next start",
|
||||||
"next-lint": "next lint",
|
"lint": "biome lint --write",
|
||||||
"lint": "eslint .",
|
"format": "biome format --write",
|
||||||
"lint:fix": "eslint . --fix",
|
"check": "biome check --write",
|
||||||
"format": "prettier --write .",
|
|
||||||
"db:push": "bunx prisma db push",
|
"db:push": "bunx prisma db push",
|
||||||
"db:migrate": "bunx prisma migrate dev",
|
"db:migrate": "bunx prisma migrate dev",
|
||||||
"db:migrate:reset": "bunx prisma migrate reset",
|
"db:migrate:reset": "bunx prisma migrate reset",
|
||||||
@@ -22,8 +21,8 @@
|
|||||||
"seed": "bun src/prisma/seed.ts"
|
"seed": "bun src/prisma/seed.ts"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint/js": "^9.29.0",
|
"@base-ui/react": "^1.4.1",
|
||||||
"@hookform/resolvers": "^5.1.1",
|
"@hookform/resolvers": "^5.2.2",
|
||||||
"@prisma/client": "^6.10.1",
|
"@prisma/client": "^6.10.1",
|
||||||
"@radix-ui/react-checkbox": "^1.3.2",
|
"@radix-ui/react-checkbox": "^1.3.2",
|
||||||
"@radix-ui/react-collapsible": "^1.1.11",
|
"@radix-ui/react-collapsible": "^1.1.11",
|
||||||
@@ -36,36 +35,25 @@
|
|||||||
"bcryptjs": "^3.0.2",
|
"bcryptjs": "^3.0.2",
|
||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"lucide-react": "^0.518.0",
|
"lucide-react": "^1.11.0",
|
||||||
"next": "15.3.6",
|
"next": "^16.2.4",
|
||||||
"next-auth": "^5.0.0-beta.28",
|
"next-auth": "^5.0.0-beta.28",
|
||||||
"next-themes": "^0.4.6",
|
"next-themes": "^0.4.6",
|
||||||
"papaparse": "^5.5.3",
|
"papaparse": "^5.5.3",
|
||||||
"react": "^19.1.0",
|
"react": "^19.2.5",
|
||||||
"react-dom": "^19.1.0",
|
"react-dom": "^19.2.5",
|
||||||
"react-hook-form": "^7.58.1",
|
"react-hook-form": "^7.74.0",
|
||||||
"sonner": "^2.0.5",
|
"sonner": "^2.0.7",
|
||||||
"tailwind-merge": "^3.3.1",
|
"tailwind-merge": "^3.3.1",
|
||||||
"use-debounce": "^10.0.6",
|
"use-debounce": "^10.0.6",
|
||||||
"zod": "^3.25.67"
|
"zod": "^4.3.6"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/eslintrc": "^3.3.1",
|
"@biomejs/biome": "2.4.15",
|
||||||
"@tailwindcss/postcss": "^4.1.10",
|
"@tailwindcss/postcss": "^4.1.10",
|
||||||
"@types/node": "^24.0.3",
|
"@types/node": "^24.0.3",
|
||||||
"@types/react": "^19.1.8",
|
"@types/react": "^19.1.8",
|
||||||
"@types/react-dom": "^19.1.6",
|
"@types/react-dom": "^19.1.6",
|
||||||
"@typescript-eslint/parser": "^8.34.1",
|
|
||||||
"eslint": "^9.29.0",
|
|
||||||
"eslint-config-next": "15.3.4",
|
|
||||||
"eslint-config-prettier": "^10.1.5",
|
|
||||||
"eslint-plugin-import": "^2.31.0",
|
|
||||||
"eslint-plugin-playwright": "^2.2.0",
|
|
||||||
"eslint-plugin-prettier": "^5.5.0",
|
|
||||||
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
||||||
"eslint-plugin-unicorn": "^59.0.1",
|
|
||||||
"prettier": "^3.5.3",
|
|
||||||
"prettier-plugin-tailwindcss": "^0.6.13",
|
|
||||||
"prisma": "^6.10.1",
|
"prisma": "^6.10.1",
|
||||||
"tailwindcss": "^4.1.10",
|
"tailwindcss": "^4.1.10",
|
||||||
"tw-animate-css": "^1.3.4",
|
"tw-animate-css": "^1.3.4",
|
||||||
|
|||||||
+4
-3
@@ -15,7 +15,7 @@
|
|||||||
"moduleResolution": "bundler",
|
"moduleResolution": "bundler",
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
"isolatedModules": true,
|
"isolatedModules": true,
|
||||||
"jsx": "preserve",
|
"jsx": "react-jsx",
|
||||||
"incremental": true,
|
"incremental": true,
|
||||||
"plugins": [
|
"plugins": [
|
||||||
{
|
{
|
||||||
@@ -33,9 +33,10 @@
|
|||||||
"**/*.ts",
|
"**/*.ts",
|
||||||
"**/*.tsx",
|
"**/*.tsx",
|
||||||
".next/types/**/*.ts",
|
".next/types/**/*.ts",
|
||||||
"types/**/*.ts"
|
"types/**/*.ts",
|
||||||
|
".next/dev/types/**/*.ts"
|
||||||
],
|
],
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"node_modules"
|
"node_modules"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user