mirror of
https://github.com/orangecoding/fredy.git
synced 2026-06-16 12:31:07 +00:00
127 lines
3.4 KiB
JSON
Executable File
127 lines
3.4 KiB
JSON
Executable File
{
|
|
"name": "fredy",
|
|
"version": "22.5.0",
|
|
"description": "[F]ind [R]eal [E]states [d]amn eas[y].",
|
|
"scripts": {
|
|
"prepare": "husky",
|
|
"start:backend": "x-var NODE_ENV=production node index.js",
|
|
"start:backend:dev": "nodemon --watch index.js --watch lib",
|
|
"start:frontend": "vite -m production",
|
|
"start:frontend:dev": "vite",
|
|
"build:frontend": "vite build",
|
|
"format": "prettier --write \"**/*.js\"",
|
|
"format:check": "prettier --check \"**/*.js\"",
|
|
"test": "x-var TEST_MODE=live vitest run",
|
|
"test:offline": "x-var TEST_MODE=offline vitest run",
|
|
"test:download-fixtures": "node tools/testFixtures/downloadFixtures.js",
|
|
"lint": "eslint .",
|
|
"mcp:stdio": "node lib/mcp/stdio.js",
|
|
"lint:fix": "yarn lint --fix",
|
|
"migratedb": "node lib/services/storage/migrations/migrate.js",
|
|
"migratedb:overwrite": "x-var MIGRATION_ALLOW_CHECKSUM_UPDATE=true node lib/services/storage/migrations/migrate.js",
|
|
"copyright": "node ./copyright.js",
|
|
"release": "node ./tools/release/release.js"
|
|
},
|
|
"type": "module",
|
|
"lint-staged": {
|
|
"*.{js,jsx}": [
|
|
"yarn lint",
|
|
"yarn format",
|
|
"yarn copyright"
|
|
]
|
|
},
|
|
"main": "index.js",
|
|
"author": "Christian Kellner",
|
|
"keywords": [
|
|
"flat",
|
|
"flatfinder",
|
|
"fredy",
|
|
"real estates",
|
|
"germany",
|
|
"apartment",
|
|
"house",
|
|
"rent",
|
|
"immoscout",
|
|
"scraper",
|
|
"immonet",
|
|
"immowelt",
|
|
"immobilienscout24"
|
|
],
|
|
"bugs": {
|
|
"url": "https://github.com/orangecoding/fredy/issues"
|
|
},
|
|
"license": "Apache-2.0",
|
|
"engines": {
|
|
"node": ">=22.0.0",
|
|
"npm": ">=7.0.0"
|
|
},
|
|
"browserslist": [
|
|
"> 0.5%",
|
|
"not dead",
|
|
"not ie 6-11",
|
|
"Firefox ESR"
|
|
],
|
|
"dependencies": {
|
|
"@douyinfe/semi-icons": "^2.99.3",
|
|
"@douyinfe/semi-ui": "2.99.3",
|
|
"@douyinfe/semi-ui-19": "^2.99.3",
|
|
"@fastify/cookie": "^11.0.2",
|
|
"@fastify/helmet": "^13.0.2",
|
|
"@fastify/session": "^11.1.1",
|
|
"@fastify/static": "^9.1.3",
|
|
"@mapbox/mapbox-gl-draw": "^1.5.1",
|
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
"@sendgrid/mail": "8.1.6",
|
|
"@turf/boolean-point-in-polygon": "^7.3.5",
|
|
"@vitejs/plugin-react": "6.0.2",
|
|
"adm-zip": "^0.5.17",
|
|
"better-sqlite3": "^12.10.0",
|
|
"chart.js": "^4.5.1",
|
|
"cheerio": "^1.2.0",
|
|
"cloakbrowser": "^0.3.31",
|
|
"fastify": "^5.8.5",
|
|
"handlebars": "4.7.9",
|
|
"maplibre-gl": "^5.24.0",
|
|
"nanoid": "5.1.11",
|
|
"node-cron": "^4.2.1",
|
|
"node-fetch": "3.3.2",
|
|
"node-mailjet": "6.0.11",
|
|
"nodemailer": "^8.0.10",
|
|
"p-throttle": "^8.1.0",
|
|
"package-up": "^5.0.0",
|
|
"puppeteer-core": "^25.1.0",
|
|
"query-string": "9.4.0",
|
|
"react": "19.2.7",
|
|
"react-chartjs-2": "^5.3.1",
|
|
"react-dom": "19.2.7",
|
|
"react-range-slider-input": "^3.3.5",
|
|
"react-router": "7.16.0",
|
|
"react-router-dom": "7.16.0",
|
|
"resend": "^6.12.4",
|
|
"semver": "^7.8.1",
|
|
"slack": "11.0.2",
|
|
"vite": "8.0.16",
|
|
"x-var": "^3.0.1",
|
|
"zustand": "^5.0.14"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "7.29.7",
|
|
"@babel/eslint-parser": "7.29.7",
|
|
"@babel/preset-env": "7.29.7",
|
|
"@babel/preset-react": "7.29.7",
|
|
"@eslint/js": "^10.0.1",
|
|
"chalk": "^5.6.2",
|
|
"eslint": "10.4.1",
|
|
"eslint-config-prettier": "10.1.8",
|
|
"eslint-plugin-react": "7.37.5",
|
|
"globals": "^17.6.0",
|
|
"history": "5.3.0",
|
|
"husky": "9.1.7",
|
|
"less": "4.6.4",
|
|
"lint-staged": "17.0.7",
|
|
"nodemon": "^3.1.14",
|
|
"prettier": "3.8.3",
|
|
"vitest": "^4.1.8"
|
|
}
|
|
}
|