freezmo/package.json
Martin Dvorak 8651674cf5 First-run gate offers free Ollama vs paid providers; add Google Gemini
The gate (user-key installs) now headlines Ollama with a "Free" badge and
adds an "or - Use a paid provider instead" option that opens the same
provider rows as Settings, framed as billed by the provider directly.
Saving a provider key there lists its models and switches study
generation to it automatically, so the gate steps aside with no Ollama
key at all.

Gemini joins the registry via its OpenAI-compatible endpoint
(generativelanguage.googleapis.com/v1beta/openai); the privacy policy
names it (en+cs).

Providers suite grows to 20 checks: the gate scenario runs against a
second user-key-mode app instance (free badge, paid option, provider
rows, pass-through, generation switch). All other gates green:
contrast 0 findings, mobile 126/126, chat 102/102, wizard 95/95,
bubbles 34/34, regression 44/44, i18n 13/13, native 33/33.
Version 0.4.9, SW -> freezmo-v73.
2026-10-14 07:09:05 +00:00

44 lines
1.2 KiB
JSON

{
"name": "freezmo",
"version": "0.4.9",
"private": true,
"license": "GPL-3.0-only",
"scripts": {
"predev": "node scripts/copy-pdf-worker.mjs",
"dev": "next dev -H 0.0.0.0 -p 3207",
"prebuild": "node scripts/copy-pdf-worker.mjs",
"build": "next build",
"start": "next start -H 0.0.0.0 -p 3207",
"lint": "eslint",
"test:e2e": "node tests/run-all.mjs",
"version:bump": "node scripts/bump-version.mjs"
},
"dependencies": {
"canvas-confetti": "^1.9.4",
"framer-motion": "^12.23.24",
"jszip": "^3.10.2",
"katex": "^0.19.0",
"mammoth": "^1.13.0",
"next": "15.5.27",
"pdfjs-dist": "^6.4.299",
"react": "19.1.0",
"react-dom": "19.1.0",
"web-push": "^3.6.7",
"zod": "^4.1.13"
},
"devDependencies": {
"@eslint/eslintrc": "^3",
"@tailwindcss/postcss": "^4",
"@types/canvas-confetti": "^1.9.0",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"@types/web-push": "^3.6.4",
"axe-core": "^4.14.0",
"eslint": "^9",
"eslint-config-next": "15.5.27",
"playwright-core": "^1.64.0",
"tailwindcss": "^4",
"typescript": "^5"
}
}