2021-03-09 20:02:40 +01:00
|
|
|
{
|
|
|
|
|
"name": "lingva-translate",
|
|
|
|
|
"version": "0.1.0",
|
|
|
|
|
"private": true,
|
|
|
|
|
"scripts": {
|
|
|
|
|
"dev": "next dev",
|
2021-03-09 20:33:12 +01:00
|
|
|
"debug": "NODE_OPTIONS='--inspect' next dev",
|
2021-03-09 20:02:40 +01:00
|
|
|
"build": "next build",
|
2021-10-03 20:51:36 +02:00
|
|
|
"start": "next start --port ${PORT-3000}",
|
2021-03-13 21:38:34 +01:00
|
|
|
"test": "jest",
|
2021-03-19 14:07:15 +01:00
|
|
|
"cy:open": "cypress open",
|
2022-06-15 23:37:15 +02:00
|
|
|
"cy:run": "cypress run",
|
|
|
|
|
"renew-mock-data": "ts-node --skip-project mocks/renewData.ts"
|
2021-03-09 20:02:40 +01:00
|
|
|
},
|
|
|
|
|
"dependencies": {
|
2022-06-15 23:37:15 +02:00
|
|
|
"@chakra-ui/icons": "2.0.2",
|
|
|
|
|
"@chakra-ui/react": "2.2.1",
|
2021-06-12 22:44:56 +02:00
|
|
|
"@emotion/react": "^11",
|
|
|
|
|
"@emotion/styled": "^11",
|
2021-08-28 15:55:41 +02:00
|
|
|
"apollo-server-micro": "^2.25.2",
|
feat: add admin panel, Replicate AI translation, and document translation
- Admin panel (/admin) with JWT auth: configure Replicate API token,
JigsawStack API key, model version, enable/disable AI translation,
change admin password. Settings persisted in data/settings.json.
- Replicate AI translation: POST /api/translate/replicate uses
JigsawStack text-translate model via Replicate API. Main page
switches to client-side AI translation when enabled.
- Document translation tab: supports PDF, DOCX, XLSX, XLS, CSV.
Excel/Word formatting fully preserved (SheetJS + JSZip XML manipulation).
PDF uses pdf-parse extraction + pdf-lib reconstruction.
Column selector UI for tabular data (per-sheet, All/None toggles).
- Updated README with full implementation documentation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 07:43:54 +01:00
|
|
|
"formidable": "^3.5.1",
|
2022-06-15 23:37:15 +02:00
|
|
|
"framer-motion": "^6",
|
2022-02-24 21:33:17 +01:00
|
|
|
"graphql": "^15.8.0",
|
feat: add admin panel, Replicate AI translation, and document translation
- Admin panel (/admin) with JWT auth: configure Replicate API token,
JigsawStack API key, model version, enable/disable AI translation,
change admin password. Settings persisted in data/settings.json.
- Replicate AI translation: POST /api/translate/replicate uses
JigsawStack text-translate model via Replicate API. Main page
switches to client-side AI translation when enabled.
- Document translation tab: supports PDF, DOCX, XLSX, XLS, CSV.
Excel/Word formatting fully preserved (SheetJS + JSZip XML manipulation).
PDF uses pdf-parse extraction + pdf-lib reconstruction.
Column selector UI for tabular data (per-sheet, All/None toggles).
- Updated README with full implementation documentation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 07:43:54 +01:00
|
|
|
"jose": "^4.14.4",
|
|
|
|
|
"jszip": "^3.10.1",
|
2022-10-09 21:36:33 +02:00
|
|
|
"lingva-scraper": "1.1.0",
|
2022-06-15 23:37:15 +02:00
|
|
|
"next": "12.1.6",
|
2022-02-24 21:33:17 +01:00
|
|
|
"next-pwa": "^5.4.4",
|
|
|
|
|
"nextjs-cors": "^2.1.0",
|
feat: add admin panel, Replicate AI translation, and document translation
- Admin panel (/admin) with JWT auth: configure Replicate API token,
JigsawStack API key, model version, enable/disable AI translation,
change admin password. Settings persisted in data/settings.json.
- Replicate AI translation: POST /api/translate/replicate uses
JigsawStack text-translate model via Replicate API. Main page
switches to client-side AI translation when enabled.
- Document translation tab: supports PDF, DOCX, XLSX, XLS, CSV.
Excel/Word formatting fully preserved (SheetJS + JSZip XML manipulation).
PDF uses pdf-parse extraction + pdf-lib reconstruction.
Column selector UI for tabular data (per-sheet, All/None toggles).
- Updated README with full implementation documentation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 07:43:54 +01:00
|
|
|
"pdf-lib": "^1.17.1",
|
|
|
|
|
"pdf-parse": "^1.1.1",
|
2022-06-15 23:37:15 +02:00
|
|
|
"react": "18.2.0",
|
|
|
|
|
"react-dom": "18.2.0",
|
|
|
|
|
"react-hotkeys-hook": "^3.4.6",
|
feat: add admin panel, Replicate AI translation, and document translation
- Admin panel (/admin) with JWT auth: configure Replicate API token,
JigsawStack API key, model version, enable/disable AI translation,
change admin password. Settings persisted in data/settings.json.
- Replicate AI translation: POST /api/translate/replicate uses
JigsawStack text-translate model via Replicate API. Main page
switches to client-side AI translation when enabled.
- Document translation tab: supports PDF, DOCX, XLSX, XLS, CSV.
Excel/Word formatting fully preserved (SheetJS + JSZip XML manipulation).
PDF uses pdf-parse extraction + pdf-lib reconstruction.
Column selector UI for tabular data (per-sheet, All/None toggles).
- Updated README with full implementation documentation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 07:43:54 +01:00
|
|
|
"react-icons": "^4.4.0",
|
|
|
|
|
"xlsx": "^0.18.5"
|
2021-03-09 20:33:12 +01:00
|
|
|
},
|
|
|
|
|
"devDependencies": {
|
feat: add admin panel, Replicate AI translation, and document translation
- Admin panel (/admin) with JWT auth: configure Replicate API token,
JigsawStack API key, model version, enable/disable AI translation,
change admin password. Settings persisted in data/settings.json.
- Replicate AI translation: POST /api/translate/replicate uses
JigsawStack text-translate model via Replicate API. Main page
switches to client-side AI translation when enabled.
- Document translation tab: supports PDF, DOCX, XLSX, XLS, CSV.
Excel/Word formatting fully preserved (SheetJS + JSZip XML manipulation).
PDF uses pdf-parse extraction + pdf-lib reconstruction.
Column selector UI for tabular data (per-sheet, All/None toggles).
- Updated README with full implementation documentation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 07:43:54 +01:00
|
|
|
"@types/formidable": "^3.4.4",
|
2022-06-15 23:37:15 +02:00
|
|
|
"@testing-library/cypress": "^8.0.3",
|
|
|
|
|
"@testing-library/jest-dom": "^5.16.4",
|
|
|
|
|
"@testing-library/react": "^13.3.0",
|
|
|
|
|
"@testing-library/user-event": "^14.2.0",
|
|
|
|
|
"@types/jest": "^28.1.1",
|
|
|
|
|
"@types/node": "^17.0.43",
|
|
|
|
|
"@types/react": "^18.0.12",
|
2022-02-24 21:33:17 +01:00
|
|
|
"babel-eslint": "^10.1.0",
|
2022-06-15 23:37:15 +02:00
|
|
|
"cypress": "^10.1.0",
|
|
|
|
|
"eslint": "^8.17.0",
|
|
|
|
|
"eslint-config-next": "^12.1.6",
|
2022-02-24 21:33:17 +01:00
|
|
|
"eslint-plugin-cypress": "^2.12.1",
|
2022-06-15 23:37:15 +02:00
|
|
|
"jest": "^28.1.1",
|
|
|
|
|
"jest-environment-jsdom": "^28.1.1",
|
|
|
|
|
"ts-node": "^10.8.1",
|
|
|
|
|
"typescript": "^4.7.3",
|
2022-02-24 21:33:17 +01:00
|
|
|
"wait-on": "^6.0.1"
|
2021-03-09 20:33:12 +01:00
|
|
|
},
|
|
|
|
|
"eslintConfig": {
|
|
|
|
|
"extends": [
|
2022-06-15 23:37:15 +02:00
|
|
|
"next",
|
|
|
|
|
"plugin:cypress/recommended"
|
2022-02-24 21:33:17 +01:00
|
|
|
],
|
|
|
|
|
"overrides": [
|
|
|
|
|
{
|
2022-06-15 23:37:15 +02:00
|
|
|
"files": [
|
|
|
|
|
"cypress/integration/*.ts"
|
|
|
|
|
],
|
2022-02-24 21:33:17 +01:00
|
|
|
"rules": {
|
|
|
|
|
"testing-library/await-async-query": "off",
|
|
|
|
|
"testing-library/prefer-screen-queries": "off"
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-03-09 20:33:12 +01:00
|
|
|
]
|
2021-03-11 16:46:55 +01:00
|
|
|
},
|
|
|
|
|
"babel": {
|
2021-03-12 16:18:26 +01:00
|
|
|
"presets": [
|
|
|
|
|
"next/babel"
|
|
|
|
|
]
|
2021-03-09 20:02:40 +01:00
|
|
|
}
|
|
|
|
|
}
|