Files
oikos/package.json
T
Ulas Kalayci 6746a5a175 feat: Ukrainian translation, UAH currency, shopping category i18n (closes #52)
- Add Ukrainian (uk) locale to SUPPORTED_LOCALES and locale picker
- Add public/locales/uk.json (622 keys, full Ukrainian translation)
- Add UAH (Ukrainian Hryvnia) to SUPPORTED_CURRENCIES and VALID_CURRENCIES
- Add CATEGORY_I18N map and catLabel() in settings.js to translate default
  shopping category names in the settings panel; rename and delete dialogs
  now also use the translated name instead of the raw German DB string
- Align server VALID_CURRENCIES with frontend: add missing AED, BRL, INR, SAR

Co-Authored-By: baragoon <baragoon@users.noreply.github.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 22:09:42 +02:00

45 lines
1.9 KiB
JSON

{
"name": "oikos",
"version": "0.20.9",
"description": "Self-hosted family planner - calendar, tasks, shopping, meal planning, budget and more. Private, open-source, no subscription.",
"main": "server/index.js",
"type": "module",
"engines": {
"node": ">=22.0.0"
},
"scripts": {
"start": "node --import dotenv/config server/index.js",
"dev": "node --import dotenv/config --watch server/index.js",
"setup": "node --import dotenv/config setup.js",
"test:db": "node --experimental-sqlite test-db.js",
"test:dashboard": "node --experimental-sqlite test-dashboard.js",
"test:tasks": "node --experimental-sqlite test-tasks.js",
"test:shopping": "node --experimental-sqlite test-shopping.js",
"test:meals": "node --experimental-sqlite test-meals.js",
"test:calendar": "node --experimental-sqlite test-calendar.js",
"test:ncb": "node --experimental-sqlite test-notes-contacts-budget.js",
"test:ux-utils": "node test-ux-utils.js",
"test:modal-utils": "node --loader ./test-browser-loader.mjs test-modal-utils.js",
"test:reminders": "node --experimental-sqlite test-reminders.js",
"test": "node --experimental-sqlite test-db.js && node --experimental-sqlite test-dashboard.js && node --experimental-sqlite test-tasks.js && node --experimental-sqlite test-shopping.js && node --experimental-sqlite test-meals.js && node --experimental-sqlite test-calendar.js && node --experimental-sqlite test-notes-contacts-budget.js && npm run test:ux-utils && npm run test:modal-utils && npm run test:reminders"
},
"dependencies": {
"bcrypt": "^6.0.0",
"better-sqlite3": "^12.9.0",
"dotenv": "^17.4.2",
"express": "^4.21.2",
"express-rate-limit": "^8.3.2",
"express-session": "^1.19.0",
"helmet": "^8.1.0",
"node-fetch": "^3.3.2"
},
"optionalDependencies": {
"googleapis": "^171.4.0",
"tsdav": "^2.1.8"
},
"license": "MIT",
"devDependencies": {
"sharp": "^0.34.5"
}
}