Files
mono/components/desktop/package.json
T
coopops 31940461c6
Typecheck / desktop (pull_request) Successful in 15m11s
Typecheck / controller (pull_request) Successful in 13m55s
fix(desktop): remove electron dependency, fix latent typecheck errors
electron был не нужен вообще — тянулся транзитивно только через
неиспользуемую devDependency @vue/devtools (нет ни одного импорта в
коде). Убрана из desktop/package.json и из onlyBuiltDependencies
корня; lockfile пересобран. Это устраняет флап CI: pnpm install
изредка валился на сетевой ошибке при скачивании ~200MB бинарника
electron (run #745 и run #732 на этом PR), из-за чего typecheck
падал до первой TS-проверки.

Так как install перестал падать раньше срока, vue-tsc теперь
реально доходит до конца и вскрывает предсуществующие баги:

- useCapitalProgramDocParams.ts, CapitalProgramDocumentParametersWidget.vue:
  импорт `CapitalProgramPrivateData` напрямую из 'cooptypes' никогда не
  работал — тип лежит в Cooperative.Registry, не на верхнем уровне
  (остальной код capital-расширения уже импортирует так же). Каст
  результата Object.fromEntries (индексная сигнатура) в интерфейс с
  именованными полями TS отклоняет как insufficient overlap; вместо
  unknown-каста — каст в Record<EditableFieldKey, string> (тот же
  паттерн, что и в соседней createEmptyForm), который затем обычной
  структурной проверкой присваивается в CapitalProgramPrivateData,
  т.к. набор из 11 полей совпадает один в один.
- CapitalProgramDocumentParametersWidget.vue: legacy draft.activeTab
  стал optional при переходе на wizardStepKey и больше не
  записывается читалкой драфта — добавлен фолбэк на дефолт 994,
  как и в самой readCapitalProgramDocParamsDraft.
- CapitalProgramInlineDocumentPreview.vue: querySelectorAll с
  составным CSS-селектором типизируется как NodeListOf<Element>;
  cleanupEditors использовал узел как HTMLTextAreaElement без
  сужения (соседняя syncInlineEditors уже делает `as
  HTMLTextAreaElement` для той же ситуации).
- ExtensionInstall.vue: prop schema был типизирован как unknown,
  хотя передаётся напрямую в ZodForm, которому нужен
  IExtensionConfigSchema — типизирован точно под фактическое
  использование.
- sdk/queries/paymentMethods/getPaymentMethods.ts: `const name`
  был без export вопреки конвенции всех остальных query-модулей
  (Queries.X.Y.name используется для чтения ключа GraphQL-ответа).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-19 14:25:47 +00:00

128 lines
4.3 KiB
JSON

{
"name": "@coopenomics/desktop",
"version": "2026.6.24",
"description": "Рабочий стол кооператива — Vue 3 + Quasar Framework",
"productName": "Desktop App",
"author": "Alex Ant <dacom.dark.sun@gmail.com>",
"private": true,
"publishConfig": {
"access": "public"
},
"scripts": {
"deploy-testnet": "git checkout testnet && git merge main && git push origin testnet && git checkout main",
"deploy-production": "git checkout production && git merge testnet && git push origin production && git checkout main",
"lint": "eslint --ext .js,.ts,.vue ./",
"format": "prettier --write \"**/*.{js,ts,vue,scss,html,md,json}\" --ignore-path .gitignore",
"test": "echo \"No test specified\" && exit 0",
"typecheck": "tsc --noEmit --skipLibCheck",
"prepare": "quasar prepare",
"dev": "quasar dev --mode spa",
"dev:ssr": "quasar dev --mode ssr",
"devnet": "quasar dev",
"ssr": "quasar dev --mode ssr",
"build:lib": "vite build",
"build:spa": "quasar build",
"build": "quasar build --mode ssr",
"prepublishOnly": "npm run build:lib",
"start": "node -r ./alias-resolver.js dist/ssr/index.js"
},
"dependencies": {
"@coopenomics/notifications": "workspace:*",
"@coopenomics/sdk": "workspace:*",
"@dicebear/collection": "^9.0.1",
"@dicebear/core": "^9.0.1",
"@fortawesome/fontawesome-svg-core": "^7.1.0",
"@fortawesome/free-brands-svg-icons": "^7.1.0",
"@fortawesome/free-regular-svg-icons": "^7.1.0",
"@fortawesome/free-solid-svg-icons": "^7.1.0",
"@fortawesome/vue-fontawesome": "^3.1.2",
"@headlessui/vue": "^1.7.22",
"@milkdown/crepe": "^7.18.0",
"@openreplay/tracker": "^17.1.0",
"@openreplay/tracker-assist": "^9.0.1",
"@productdevbook/chatwoot": "^1.7.0",
"@quasar/extras": "^1.16.4",
"@sentry/browser": "^8.12.0",
"@sentry/tracing": "^7.114.0",
"@sentry/vue": "^8.35.0",
"@tabler/icons-vue": "^3.6.0",
"@vue-flow/background": "^1.3.2",
"@vue-flow/controls": "^1.1.3",
"@vue-flow/core": "^1.48.2",
"@wharfkit/account": "^1.1.1",
"@wharfkit/antelope": "^1.1.1",
"@wharfkit/contract": "^1.1.5",
"@wharfkit/session": "^1.4.0",
"@wharfkit/wallet-plugin-privatekey": "^1.1.0",
"axios": "^1.13.5",
"bpmn-js": "^18.13.1",
"compression": "^1.7.4",
"cooptypes": "workspace:*",
"dompurify": "^3.3.1",
"dotenv": "^16.4.5",
"email-regex": "^5.0.0",
"eosjs": "^22.1.0",
"express": "^5.1.0",
"graphql-ws": "^5.16.0",
"html2pdf.js": "^0.14.0",
"idb": "^8.0.0",
"isomorphic-ws": "^5.0.0",
"lodash": "^4.17.21",
"mermaid": "^11.13.0",
"moment-timezone": "^0.5.45",
"pinia": "^2.0.11",
"pinia-plugin-persistedstate": "^3.2.1",
"prismjs": "^1.30.0",
"pug": "^3.0.3",
"qrcode": "^1.5.4",
"quasar": "^2.16.0",
"register-service-worker": "^1.7.2",
"serialize-javascript": "^6.0.2",
"socket.io": "^4.8.1",
"swiper": "^11.1.7",
"vue": "^3.4.18",
"vue-markdown-render": "^2.2.1",
"vue-router": "^4.0.12",
"vue-window-size": "^2.0.0",
"vue3-dropzone": "^2.2.1",
"vue3-openlayers": "^10.0.1",
"windows-1251": "^3.0.4"
},
"devDependencies": {
"@prettier/plugin-pug": "^3.2.0",
"@quasar/app-vite": "^2.5.2",
"@types/node": "^22.0.0",
"@types/serviceworker": "^0.0.141",
"@typescript-eslint/eslint-plugin": "^8.57.0",
"@typescript-eslint/parser": "^8.57.0",
"@vue/language-plugin-pug": "~3.2.6",
"autoprefixer": "^10.4.2",
"concurrently": "^8.2.2",
"eslint": "^8.57.0",
"eslint-config-prettier": "^8.1.0",
"eslint-plugin-pug": "^1.2.5",
"eslint-plugin-vue": "^9.26.0",
"eslint-plugin-vue-pug": "^0.6.2",
"fs": "0.0.1-security",
"prettier": "^3.6.0",
"sass": "^1.97.3",
"typescript": "^5.9.3",
"vite": "^8.0.0",
"vite-plugin-checker": "^0.11.0",
"vue-tsc": "~3.2.6",
"workbox-build": "7.0.0",
"workbox-cacheable-response": "7.0.0",
"workbox-core": "7.0.0",
"workbox-expiration": "7.0.0",
"workbox-precaching": "7.0.0",
"workbox-routing": "7.0.0",
"workbox-strategies": "7.0.0"
},
"engines": {
"node": ">=20",
"npm": ">= 6.13.4",
"yarn": ">= 1.21.1"
},
"gitHead": "b05c17bee481d90c4cd82aa2a34ac428f8263a5f"
}