31940461c6
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>
128 lines
4.3 KiB
JSON
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"
|
|
}
|