{ "name": "my-links", "version": "3.2.0", "type": "module", "license": "GPL-3.0-only", "scripts": { "start": "node bin/server.js", "build": "node ace build", "dev": "node ace serve --hmr", "test": "node ace test", "lint": "eslint . --report-unused-disable-directives --max-warnings 0 --ignore-pattern '.adonisjs/*'", "format": "prettier --write --parser typescript '**/*.{ts,tsx}'", "typecheck": "tsc --noEmit", "check": "pnpm run lint && pnpm run typecheck", "prepare": "husky", "release": "release-it", "generate-icons": "pwa-assets-generator", "tuyau": "node ace tuyau:generate" }, "imports": { "#admin/*": "./app/admin/*.js", "#adonis/api": "./.adonisjs/api.ts", "#auth/*": "./app/auth/*.js", "#api/*": "./app/api/*.js", "#collections/*": "./app/collections/*.js", "#config/*": "./config/*.js", "#core/*": "./app/core/*.js", "#favicons/*": "./app/favicons/*.js", "#home/*": "./app/home/*.js", "#legal/*": "./app/legal/*.js", "#links/*": "./app/links/*.js", "#search/*": "./app/search/*.js", "#shared_collections/*": "./app/shared_collections/*.js", "#user/*": "./app/user/*.js", "#user_settings/*": "./app/user_settings/*.js", "#providers/*": "./providers/*.js", "#database/*": "./database/*.js", "#tests/*": "./tests/*.js", "#shared/*": "./shared/*.js", "#start/*": "./start/*.js" }, "devDependencies": { "@adonisjs/assembler": "^7.8.2", "@adonisjs/eslint-config": "2.1.2", "@adonisjs/prettier-config": "^1.4.5", "@adonisjs/tsconfig": "^1.4.1", "@faker-js/faker": "^9.9.0", "@japa/assert": "^4.1.1", "@japa/plugin-adonisjs": "^4.0.0", "@japa/runner": "^4.4.0", "@swc/core": "^1.13.3", "@tuyau/utils": "^0.0.9", "@types/luxon": "^3.7.1", "@types/node": "^24.3.0", "@types/react": "^19.1.10", "@types/react-dom": "^19.1.7", "@typescript-eslint/eslint-plugin": "^8.40.0", "@vite-pwa/assets-generator": "^1.0.0", "eslint": "^9.33.0", "hot-hook": "^0.4.0", "husky": "^9.1.7", "lint-staged": "^16.1.5", "pino-pretty": "^13.1.1", "postcss": "^8.5.6", "postcss-preset-mantine": "^1.18.0", "postcss-simple-vars": "^7.0.1", "prettier": "^3.6.2", "release-it": "^19.0.4", "ts-node-maintained": "^10.9.6", "typescript": "~5.9.2", "vite": "^7.1.3" }, "dependencies": { "@adonisjs/ally": "^5.1.0", "@adonisjs/auth": "^9.4.2", "@adonisjs/core": "^6.19.0", "@adonisjs/cors": "^2.2.1", "@adonisjs/inertia": "^3.1.1", "@adonisjs/lucid": "^21.8.0", "@adonisjs/session": "^7.5.1", "@adonisjs/shield": "^8.2.0", "@adonisjs/static": "^1.1.1", "@adonisjs/vite": "^4.0.0", "@inertiajs/react": "^2.1.2", "@izzyjs/route": "^1.2.0", "@mantine/core": "^8.2.5", "@mantine/hooks": "^8.2.5", "@mantine/modals": "^8.2.5", "@mantine/spotlight": "^8.2.5", "@tuyau/client": "^0.2.10", "@tuyau/core": "^0.4.2", "@tuyau/inertia": "^0.0.15", "@vinejs/vine": "^3.0.1", "@vitejs/plugin-react-oxc": "^0.3.0", "bentocache": "^1.5.0", "clsx": "^2.1.1", "dayjs": "^1.11.13", "edge.js": "^6.3.0", "i18next": "^25.4.0", "knex": "^3.1.0", "luxon": "^3.7.1", "node-html-parser": "^7.0.1", "pg": "^8.16.3", "react": "^19.1.1", "react-dom": "^19.1.1", "react-i18next": "^15.7.0", "react-icons": "^5.5.0", "reflect-metadata": "^0.2.2", "vite-plugin-pwa": "^1.0.3", "zustand": "^5.0.8" }, "hotHook": { "boundaries": [ "./app/**/controllers/*.ts", "./app/**/middleware/*.ts" ] }, "prettier": { "trailingComma": "es5", "semi": true, "singleQuote": true, "useTabs": true, "quoteProps": "as-needed", "bracketSpacing": true, "arrowParens": "always", "printWidth": 80 }, "lint-staged": { "*.js,*.ts,*.jsx,*.tsx": "eslint --cache --fix" }, "volta": { "node": "24.6.0" }, "pnpm": { "overrides": { "vite": "npm:rolldown-vite@latest" } } }