chore: update ESLint configuration and dependencies, remove experimental instrumentationHook from Next.js config, and adjust package scripts
- Added ESLint configuration file with Next.js and Remotion settings. - Removed experimental instrumentationHook from next.config.mjs. - Updated package.json scripts to use ESLint directly and enabled turbopack for development. - Bumped various dependencies including Next.js, React, and Radix UI components. - Changed searchTimer initialization to use undefined for better clarity in multiple components.
This commit is contained in:
@@ -0,0 +1,31 @@
|
|||||||
|
import { defineConfig } from "eslint/config";
|
||||||
|
import nextCoreWebVitals from "eslint-config-next/core-web-vitals";
|
||||||
|
import remotion from "@remotion/eslint-plugin";
|
||||||
|
import path from "node:path";
|
||||||
|
import { fileURLToPath } from "node:url";
|
||||||
|
import js from "@eslint/js";
|
||||||
|
import { FlatCompat } from "@eslint/eslintrc";
|
||||||
|
|
||||||
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
|
const __dirname = path.dirname(__filename);
|
||||||
|
const compat = new FlatCompat({
|
||||||
|
baseDirectory: __dirname,
|
||||||
|
recommendedConfig: js.configs.recommended,
|
||||||
|
allConfig: js.configs.all
|
||||||
|
});
|
||||||
|
|
||||||
|
export default defineConfig([{
|
||||||
|
extends: [...nextCoreWebVitals],
|
||||||
|
|
||||||
|
plugins: {
|
||||||
|
"@remotion": remotion,
|
||||||
|
},
|
||||||
|
|
||||||
|
rules: {
|
||||||
|
"react-hooks/exhaustive-deps": "off",
|
||||||
|
"@next/next/no-img-element": "off",
|
||||||
|
},
|
||||||
|
}, {
|
||||||
|
files: ["remotion/*.{ts,tsx}"],
|
||||||
|
extends: [...compat.extends("plugin:@remotion/recommended")],
|
||||||
|
}]);
|
||||||
@@ -3,9 +3,6 @@
|
|||||||
const nextConfig = {
|
const nextConfig = {
|
||||||
reactStrictMode: false,
|
reactStrictMode: false,
|
||||||
output: 'standalone',
|
output: 'standalone',
|
||||||
experimental: {
|
|
||||||
instrumentationHook: true,
|
|
||||||
},
|
|
||||||
images: {
|
images: {
|
||||||
unoptimized: true,
|
unoptimized: true,
|
||||||
},
|
},
|
||||||
|
|||||||
+58
-54
@@ -3,10 +3,10 @@
|
|||||||
"version": "0.19.1",
|
"version": "0.19.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev --turbopack",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
"start": "next start -p ${PORT:=3000} -H ${HOST:=0.0.0.0}",
|
"start": "next start -p ${PORT:=3000} -H ${HOST:=0.0.0.0}",
|
||||||
"lint": "next lint",
|
"lint": "eslint .",
|
||||||
"db:generate": "drizzle-kit generate --config=drizzle.app.config.ts",
|
"db:generate": "drizzle-kit generate --config=drizzle.app.config.ts",
|
||||||
"db:migrate": "drizzle-kit migrate --config=drizzle.app.config.ts",
|
"db:migrate": "drizzle-kit migrate --config=drizzle.app.config.ts",
|
||||||
"db:studio": "drizzle-kit studio --config=drizzle.app.config.ts"
|
"db:studio": "drizzle-kit studio --config=drizzle.app.config.ts"
|
||||||
@@ -17,90 +17,94 @@
|
|||||||
"url": "https://varunraj.in"
|
"url": "https://varunraj.in"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ai-sdk/openai": "^3.0.29",
|
"@ai-sdk/openai": "^3.0.50",
|
||||||
"@ai-sdk/openai-compatible": "^2.0.30",
|
"@ai-sdk/openai-compatible": "^2.0.38",
|
||||||
"@ai-sdk/react": "^3.0.88",
|
"@ai-sdk/react": "^3.0.148",
|
||||||
"@libsql/client": "^0.17.2",
|
"@libsql/client": "^0.17.2",
|
||||||
"@radix-ui/react-accordion": "^1.2.1",
|
"@radix-ui/react-accordion": "^1.2.12",
|
||||||
"@radix-ui/react-alert-dialog": "^1.1.4",
|
"@radix-ui/react-alert-dialog": "^1.1.15",
|
||||||
"@radix-ui/react-avatar": "^1.1.0",
|
"@radix-ui/react-avatar": "^1.1.11",
|
||||||
"@radix-ui/react-checkbox": "^1.1.2",
|
"@radix-ui/react-checkbox": "^1.3.3",
|
||||||
"@radix-ui/react-context-menu": "^2.2.16",
|
"@radix-ui/react-context-menu": "^2.2.16",
|
||||||
"@radix-ui/react-dialog": "^1.1.1",
|
"@radix-ui/react-dialog": "^1.1.15",
|
||||||
"@radix-ui/react-dropdown-menu": "^2.1.1",
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
||||||
"@radix-ui/react-hover-card": "^1.1.1",
|
"@radix-ui/react-hover-card": "^1.1.15",
|
||||||
"@radix-ui/react-icons": "^1.3.0",
|
"@radix-ui/react-icons": "^1.3.2",
|
||||||
"@radix-ui/react-label": "^2.1.0",
|
"@radix-ui/react-label": "^2.1.8",
|
||||||
"@radix-ui/react-popover": "^1.1.1",
|
"@radix-ui/react-popover": "^1.1.15",
|
||||||
"@radix-ui/react-scroll-area": "^1.1.0",
|
"@radix-ui/react-scroll-area": "^1.2.10",
|
||||||
"@radix-ui/react-select": "^2.1.1",
|
"@radix-ui/react-select": "^2.2.6",
|
||||||
"@radix-ui/react-slot": "^1.2.4",
|
"@radix-ui/react-slot": "^1.2.4",
|
||||||
"@radix-ui/react-switch": "^1.1.0",
|
"@radix-ui/react-switch": "^1.2.6",
|
||||||
"@radix-ui/react-tabs": "^1.1.0",
|
"@radix-ui/react-tabs": "^1.1.13",
|
||||||
"@radix-ui/react-toast": "^1.2.1",
|
"@radix-ui/react-toast": "^1.2.15",
|
||||||
"@radix-ui/react-tooltip": "^1.1.2",
|
"@radix-ui/react-tooltip": "^1.2.8",
|
||||||
"@remotion/cli": "4.0.232",
|
"@remotion/cli": "4.0.232",
|
||||||
"@remotion/eslint-plugin": "^4.0.232",
|
"@remotion/eslint-plugin": "^4.0.446",
|
||||||
"@tanstack/react-query": "^5.69.0",
|
"@tanstack/react-query": "^5.96.2",
|
||||||
"@tanstack/react-table": "^8.21.3",
|
"@tanstack/react-table": "^8.21.3",
|
||||||
"@types/cookie": "^0.6.0",
|
"@types/cookie": "^0.6.0",
|
||||||
"@types/qs": "^6.9.15",
|
"@types/qs": "^6.15.0",
|
||||||
"@types/react-autosuggest": "^10.1.11",
|
"@types/react-autosuggest": "^10.1.11",
|
||||||
"@types/react-calendar-heatmap": "^1.6.7",
|
"@types/react-calendar-heatmap": "^1.9.0",
|
||||||
"@types/react-window": "^1.8.8",
|
"@types/react-window": "^1.8.8",
|
||||||
"ai": "^6.0.86",
|
"ai": "^6.0.146",
|
||||||
"axios": "^1.7.4",
|
"axios": "^1.14.0",
|
||||||
"chrono-node": "^1.4.9",
|
"chrono-node": "^1.4.9",
|
||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"cmdk": "1.0.0",
|
"cmdk": "1.0.0",
|
||||||
"compatibility": "^1.0.1",
|
"compatibility": "^1.0.1",
|
||||||
"cookie": "^0.6.0",
|
"cookie": "^0.6.0",
|
||||||
"date-fns": "^3.6.0",
|
"date-fns": "^3.6.0",
|
||||||
"date-fns-tz": "^3.2.0",
|
"date-fns-tz": "^3.2.0",
|
||||||
"drizzle-orm": "^0.45.1",
|
"drizzle-orm": "^0.45.2",
|
||||||
"jsonwebtoken": "^9.0.2",
|
"jsonwebtoken": "^9.0.3",
|
||||||
"leaflet": "^1.9.4",
|
"leaflet": "^1.9.4",
|
||||||
"leaflet-defaulticon-compatibility": "0.1.2",
|
"leaflet-defaulticon-compatibility": "0.1.2",
|
||||||
"leaflet.heat": "^0.2.0",
|
"leaflet.heat": "^0.2.0",
|
||||||
"lucide-react": "^0.428.0",
|
"lucide-react": "^0.428.0",
|
||||||
"next": "14.2.5",
|
"next": "15.5.14",
|
||||||
"next-themes": "^0.3.0",
|
"next-themes": "^0.3.0",
|
||||||
"pg": "^8.12.0",
|
"pg": "^8.20.0",
|
||||||
"qs": "^6.13.0",
|
"qs": "^6.15.0",
|
||||||
"react": "^18",
|
"react": "19.2.4",
|
||||||
"react-autosuggest": "^10.1.0",
|
"react-autosuggest": "^10.1.0",
|
||||||
"react-day-picker": "9.0.8",
|
"react-day-picker": "9.0.8",
|
||||||
"react-dom": "^18",
|
"react-dom": "19.2.4",
|
||||||
"react-grid-gallery": "^1.0.1",
|
"react-grid-gallery": "^1.0.1",
|
||||||
"react-hot-toast": "^2.5.1",
|
"react-hot-toast": "^2.6.0",
|
||||||
"react-leaflet": "^4.2.1",
|
"react-leaflet": "^4.2.1",
|
||||||
"react-mentions": "^4.4.10",
|
"react-mentions": "^4.4.10",
|
||||||
"react-window": "^1.8.11",
|
"react-window": "^1.8.11",
|
||||||
"recharts": "^2.12.7",
|
"recharts": "^2.15.4",
|
||||||
"remotion": "4.0.232",
|
"remotion": "4.0.232",
|
||||||
"sass": "^1.77.8",
|
"sass": "^1.99.0",
|
||||||
"tailwind-merge": "^2.5.2",
|
"tailwind-merge": "^2.6.1",
|
||||||
"tailwindcss-animate": "^1.0.7",
|
"tailwindcss-animate": "^1.0.7",
|
||||||
"yet-another-react-lightbox": "^3.21.4",
|
"yet-another-react-lightbox": "^3.30.1",
|
||||||
"zod": "^4.3.6"
|
"zod": "^4.3.6"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tanstack/eslint-plugin-query": "^5.68.0",
|
"@tanstack/eslint-plugin-query": "^5.96.2",
|
||||||
"@types/jsonwebtoken": "^9.0.6",
|
"@types/jsonwebtoken": "^9.0.10",
|
||||||
"@types/leaflet": "^1.9.15",
|
"@types/leaflet": "^1.9.21",
|
||||||
"@types/leaflet.heat": "^0.2.4",
|
"@types/leaflet.heat": "^0.2.5",
|
||||||
"@types/node": "^20",
|
"@types/node": "^20.19.39",
|
||||||
"@types/pg": "^8.11.6",
|
"@types/pg": "^8.20.0",
|
||||||
"@types/react": "^18",
|
"@types/react": "19.2.14",
|
||||||
"@types/react-dom": "^18",
|
"@types/react-dom": "19.2.3",
|
||||||
"@types/react-mentions": "^4.4.1",
|
"@types/react-mentions": "^4.4.1",
|
||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.27",
|
||||||
"drizzle-kit": "^0.31.10",
|
"drizzle-kit": "^0.31.10",
|
||||||
"eslint": "^8",
|
"eslint": "^9.39.4",
|
||||||
"eslint-config-next": "14.2.5",
|
"eslint-config-next": "15.5.14",
|
||||||
"postcss": "^8.4.41",
|
"postcss": "^8.5.8",
|
||||||
"tailwindcss": "^3.4.10",
|
"tailwindcss": "^3.4.19",
|
||||||
"typescript": "^5"
|
"typescript": "^5.9.3"
|
||||||
|
},
|
||||||
|
"overrides": {
|
||||||
|
"@types/react": "19.2.14",
|
||||||
|
"@types/react-dom": "19.2.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -28,7 +28,7 @@ export default function TagMissingLocationOSMSearchAndAdd(
|
|||||||
) {
|
) {
|
||||||
const { toast } = useToast();
|
const { toast } = useToast();
|
||||||
const [searchedPlaces, setSearchedPlaces] = useState<IPlace[] | null>(null);
|
const [searchedPlaces, setSearchedPlaces] = useState<IPlace[] | null>(null);
|
||||||
const searchTimer = useRef<NodeJS.Timeout>();
|
const searchTimer = useRef<NodeJS.Timeout>(undefined);
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
const [submitting, setSubmitting] = useState(false);
|
const [submitting, setSubmitting] = useState(false);
|
||||||
const [selectedPlace, setSelectedPlace] = useState<IPlace | null>(null);
|
const [selectedPlace, setSelectedPlace] = useState<IPlace | null>(null);
|
||||||
|
|||||||
+1
-1
@@ -23,7 +23,7 @@ export default function TagMissingLocationSearchAndAdd(
|
|||||||
) {
|
) {
|
||||||
const { toast } = useToast();
|
const { toast } = useToast();
|
||||||
const [searchedPlaces, setSearchedPlaces] = useState<IPlace[] | null>(null);
|
const [searchedPlaces, setSearchedPlaces] = useState<IPlace[] | null>(null);
|
||||||
const searchTimer = useRef<NodeJS.Timeout>();
|
const searchTimer = useRef<NodeJS.Timeout>(undefined);
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
const [submitting, setSubmitting] = useState(false);
|
const [submitting, setSubmitting] = useState(false);
|
||||||
const [selectedPlace, setSelectedPlace] = useState<IPlace | null>(null);
|
const [selectedPlace, setSelectedPlace] = useState<IPlace | null>(null);
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ export function PersonMergeDropdown({
|
|||||||
const [open, setOpen] = useState(false);
|
const [open, setOpen] = useState(false);
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
const [similarLoading, setSimilarLoading] = useState(true);
|
const [similarLoading, setSimilarLoading] = useState(true);
|
||||||
const searchTimer = useRef<NodeJS.Timeout>();
|
const searchTimer = useRef<NodeJS.Timeout>(undefined);
|
||||||
const [selectedPeople, setSelectedPeople] = useState<IPerson[]>([]);
|
const [selectedPeople, setSelectedPeople] = useState<IPerson[]>([]);
|
||||||
const [primaryPerson, setPrimaryPerson] = useState<IPerson>(person);
|
const [primaryPerson, setPrimaryPerson] = useState<IPerson>(person);
|
||||||
const [merging, setMerging] = useState(false);
|
const [merging, setMerging] = useState(false);
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ const Autocomplete = React.forwardRef<HTMLInputElement, AutocompleteProps>(
|
|||||||
const [selectedIndex, setSelectedIndex] = React.useState(-1)
|
const [selectedIndex, setSelectedIndex] = React.useState(-1)
|
||||||
const containerRef = React.useRef<HTMLDivElement>(null)
|
const containerRef = React.useRef<HTMLDivElement>(null)
|
||||||
const inputRef = React.useRef<HTMLInputElement>(null)
|
const inputRef = React.useRef<HTMLInputElement>(null)
|
||||||
const debounceTimeout = React.useRef<NodeJS.Timeout>()
|
const debounceTimeout = React.useRef<NodeJS.Timeout>(undefined)
|
||||||
|
|
||||||
// Find the label for the current value
|
// Find the label for the current value
|
||||||
const currentLabel = React.useMemo(() => {
|
const currentLabel = React.useMemo(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user