Files
mono/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

79 lines
3.3 KiB
JSON

{
"name": "monocoop",
"packageManager": "pnpm@10.33.0",
"pnpm": {
"onlyBuiltDependencies": [
"@apollo/protobufjs",
"@eosrio/node-abieos",
"@nestjs/core",
"@parcel/watcher",
"@scarf/scarf",
"core-js",
"cpu-features",
"esbuild",
"libxmljs2",
"msgpackr-extract",
"nx",
"protobufjs",
"puppeteer",
"simple-git-hooks",
"ssh2",
"unrs-resolver",
"vue-demi"
]
},
"dependencies": {
"@coopenomics/boot": "workspace:*",
"@coopenomics/cleos": "workspace:*",
"@coopenomics/contracts": "workspace:*",
"@coopenomics/controller": "workspace:*",
"@coopenomics/desktop": "workspace:*",
"@coopenomics/factory": "workspace:*",
"@coopenomics/notifications": "workspace:*",
"@coopenomics/parser": "workspace:*",
"@coopenomics/sdk": "workspace:*",
"@coopenomics/setup": "workspace:*",
"@coopenomics/inter": "workspace:*",
"@coopenomics/blago-cli": "workspace:*",
"commitgpt": "^2.0.0",
"cooptypes": "workspace:*",
"eslint": "^9.9.1",
"gh-pages": "^6.1.1",
"lerna": "^8.1.8",
"lint-staged": "^15.2.10",
"migrator": "workspace:*"
},
"scripts": {
"setup": "lerna run setup --scope @coopenomics/setup",
"boot": "lerna run boot --scope @coopenomics/boot",
"reboot": "cd components/boot/scripts && bash reboot.sh",
"reboot:clean": "cd components/boot/scripts && bash clean_reboot.sh",
"reboot:extra": "cd components/boot/scripts && bash extra_reboot.sh",
"reboot:blago": "cd components/boot/scripts && bash blago_reboot.sh",
"deploy": "lerna run deploy --scope @coopenomics/boot --",
"clear": "lerna run clear --scope @coopenomics/boot",
"enter": "lerna run run --scope @coopenomics/cleos",
"build:lib": "lerna run build --scope @coopenomics/factory --scope @coopenomics/cooptypes",
"build:contracts:all": "lerna run build:all --scope @coopenomics/contracts",
"build:contract": "lerna run build:one --scope @coopenomics/contracts --",
"build:contracts:all:test": "lerna run build:all:test --scope @coopenomics/contracts",
"build:contract:test": "lerna run build:one:test --scope @coopenomics/contracts --",
"dev:desktop": "lerna run dev --parallel --scope @coopenomics/desktop",
"dev:backend": "lerna run dev --parallel --scope @coopenomics/parser --scope @coopenomics/controller",
"dev:lib": "lerna run dev --parallel --scope @coopenomics/factory --scope cooptypes",
"dev:all": "lerna run dev --parallel",
"gpt-commit": "git add . && commitgpt",
"cut": "bash scripts/cut-release.sh",
"testnet": "bash scripts/promote.sh testnet",
"production": "bash scripts/promote.sh main",
"docs-publish": "pnpm gh-pages --nojekyll -d docs/site --repo git@github.com:coopenomics/monocoop.git",
"test": "pnpm run test:unit && pnpm run test:component && pnpm run test:integration",
"test:unit": "pnpm --filter cooptypes run test && pnpm --filter @coopenomics/parser run test && pnpm --filter @coopenomics/notifications run test",
"test:component": "SOURCE=local NODE_ENV=test SKIP_BLOCK_FETCH=TRUE pnpm --filter @coopenomics/factory run test",
"test:integration": "bash scripts/run-integration-tests.sh"
},
"devDependencies": {
"typescript": "^5.9.3"
}
}