Verified working sources via puppeteer Cloudflare bypass test: - Habbo (GitHub) - 200 - Wibbo - 200 furnidata, 403/403 nitro/icons - Hubba.cc - 200 furnidata, 404 nitro - Leet - 200 304 304 (all working) - Habblet City - 200 200 200 (all working) - Soda Ho - 200 furnidata, 404 nitro/icons Cloudflare-blocked sources removed (habba.io, habcrush.pw, fobba.net, etc) Hubbly URLs removed (all 404) pending verification Added test-cf.ts script for future source validation
105 lines
2.8 KiB
JSON
105 lines
2.8 KiB
JSON
{
|
|
"name": "atomcms-next",
|
|
"private": true,
|
|
"type": "module",
|
|
"engines": {
|
|
"node": ">=22"
|
|
},
|
|
"packageManager": "[email protected]",
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"typecheck": "tsc --noEmit --incremental",
|
|
"biome:check": "biome check --write .",
|
|
"biome:lint": "biome lint .",
|
|
"biome:format": "biome format --write .",
|
|
"knip": "knip",
|
|
"analyze": "ANALYZE=true pnpm build",
|
|
"test": "vitest run",
|
|
"db:migrate": "tsx scripts/apply-migrations.ts",
|
|
"db:migrate:status": "tsx scripts/apply-migrations.ts --status",
|
|
"db:schema:generate": "node scripts/generate-drizzle-schema.mjs",
|
|
"db:generate": "drizzle-kit generate",
|
|
"db:studio": "drizzle-kit studio",
|
|
"db:introspect": "drizzle-kit introspect",
|
|
"jobs:worker": "tsx scripts/jobs-worker.ts",
|
|
"prepare": "husky"
|
|
},
|
|
"lint-staged": {
|
|
"*.{js,jsx,ts,tsx}": [
|
|
"biome check --write"
|
|
],
|
|
"*.{json,md,css,scss,html}": [
|
|
"biome format --write --no-errors-on-unmatched"
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"@base-ui/react": "^1.6.0",
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
"@dnd-kit/utilities": "^3.2.2",
|
|
"@hookform/resolvers": "^5.5.7",
|
|
"@tanstack/react-virtual": "^3.14.9",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"croner": "^10.0.1",
|
|
"drizzle-orm": "^0.45.2",
|
|
"hash-wasm": "^4.12.0",
|
|
"ioredis": "^5.11.1",
|
|
"isomorphic-dompurify": "^3.20.0",
|
|
"jpeg-js": "^0.4.4",
|
|
"json5": "^2.2.3",
|
|
"jszip": "^3.10.1",
|
|
"lenis": "^1.3.25",
|
|
"lucide-react": "^1.28.0",
|
|
"lzma": "^2.3.2",
|
|
"motion": "^12.43.0",
|
|
"music-metadata": "^11.14.0",
|
|
"mysql2": "^3.23.2",
|
|
"next": "^16.2.12",
|
|
"next-auth": "5.0.0-beta.32",
|
|
"next-intl": "^4.13.4",
|
|
"otplib": "^13.4.1",
|
|
"pino": "^10.3.1",
|
|
"react": "^19.2.8",
|
|
"react-dom": "^19.2.8",
|
|
"react-hook-form": "^7.83.0",
|
|
"resend": "^6.18.1",
|
|
"server-only": "^0.0.1",
|
|
"sharp": "^0.35.3",
|
|
"sonner": "^2.0.7",
|
|
"tailwind-merge": "^3.6.0",
|
|
"tailwindcss-animate": "^1.0.7",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "2.5.6",
|
|
"@next/bundle-analyzer": "^16.2.12",
|
|
"@tailwindcss/forms": "^0.5.11",
|
|
"@tailwindcss/postcss": "^4.3.3",
|
|
"@tailwindcss/typography": "^0.5.20",
|
|
"@types/node": "^26.1.2",
|
|
"@types/react": "^19.2.18",
|
|
"@types/react-dom": "^19.2.4",
|
|
"@vitest/coverage-v8": "4.1.10",
|
|
"babel-plugin-react-compiler": "^1.0.0",
|
|
"dotenv": "^17.4.2",
|
|
"drizzle-kit": "^0.31.10",
|
|
"husky": "^9.1.7",
|
|
"knip": "^6.30.0",
|
|
"lint-staged": "^17.3.0",
|
|
"pino-pretty": "^13.1.3",
|
|
"postcss": "^8.5.25",
|
|
"puppeteer": "^25.5.0",
|
|
"puppeteer-extra": "^3.3.6",
|
|
"puppeteer-extra-plugin-stealth": "^2.11.2",
|
|
"tailwindcss": "^4.3.3",
|
|
"tsx": "^4.23.1",
|
|
"typescript": "^7.0.2",
|
|
"vite": "8.2.0",
|
|
"vitest": "4.1.10"
|
|
}
|
|
}
|