mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-16 11:52:26 +03:00
* fix(release): drain the twelve reds every PR against release/v3.8.51 was born with Measured on the cycle tip: fifteen unit files were red on every PR. Two came from the v3.8.50 sync-back (fixed in #11929); the other thirteen predate it and are the branch's own drift. This sweep clears all of them but the ESLint debt (#11924), each with the smallest change that keeps the guard honest: - .env.example + ENVIRONMENT.md: NEXT_PUBLIC_SW_BUILD_ID / OMNIROUTE_SW_BUILD_ID / SOURCE_VERSION (#11779 service-worker cache busting) documented — the env/docs contract gate was failing on every PR. - stryker.conf.json: the six tests the mutation gate found covering mutated modules (four retirement runtime-block suites, combo connection-aware expansion, tunnel error sanitization) registered in tap.testFiles. - dependency-allowlist: eslint-plugin-react-hooks 7.0.1 approved; its findings are tracked in #11924. - i18n: the six combo.sort.* strings (d5dfcfff58) translated for vi (strict parity) and pt-BR. - docs/providers/CHATGPT_WEB.md: the retirement test is migration-168, not 163. - g4f gateways: authHint now says member key, which the discontinued-providers guard asserts. - tests realigned to the catalog the branch actually ships: qwen-web (#11713) and chatgpt-web (#11720) are retired, so web-session-contract and token-health-check-webcookie use perplexity-web, grok-web and chatgpt-web-codex. - db-core-init: the two minimal legacy fixtures gained the columns migrations 164-168 UPDATE (error_code, last_error*, test_status) — they exist on every real legacy DB (base CREATE TABLE); the fixtures simply never declared them. - no-js-extension guard: a .js specifier whose target is a genuine JavaScript file (open-sse/lib/deepseek-pow-hash.js, shared with a worker) is not the #10674 defect; the test now skips targets that exist as .js. All twelve files pass locally; docs-sync, docs-counts, env-doc-sync, the tap drift gate and the fabricated-docs gates are green on the tree. * test(release): move the deferred-finish translator test into a collected path tests/unit/translator/ is not one of the unit collectors (package.json test:unit, merge-train.sh, build-test-impact-map, check-test-discovery), so the suite thatdd35750e5fadded there never ran — check:test-discovery flagged it as a new orphan on every PR. Relocated next to its sibling openai-to-claude-trailing-usage-11817 under tests/unit/, where the root glob collects it (5/5 pass). * fix(dashboard): type the four sort-method sites #11812 left red on the dashboard typecheck ratchetd5dfcfff58added the combo model sort and raised combos/page.tsx from 23 to 27 scoped TypeScript errors (TS2339 +1, TS2345 +2, TS2322 +1), which fails check:dashboard-typecheck on every PR against release/v3.8.51: - initialSortMethod: sanitizeComboRuntimeConfig() is untyped, so config.modelSort is unknown; narrow it before reading .method (normalizeSortMethod takes unknown anyway). - handleAddModels: the batch path passes ComboBuilderDraftModelStep[] to the ComboStep[] sort helpers without the cast handleSortChange already uses; mirror it. - ComboSortSelect expects a translate-with-fallback (k, f) => string, but received next-intl's Translator whose second argument is a values object. Pass the page's getI18nOrFallback adapter instead of the raw translator — that is also what makes the `has()` check and the fallback text actually work at runtime. Baseline untouched (no widening). Scoped tsc: 0 new/regressed errors.
157 lines
3.5 KiB
JSON
157 lines
3.5 KiB
JSON
{
|
|
"_comment": "Allowlist anti-slopsquatting (check-deps.mjs). Toda dep nova exige adicao EXPLICITA aqui apos verificar que e legitima.",
|
|
"_justifications": {
|
|
"@testing-library/dom": "Peer dep obrigatoria de @testing-library/react v16 (adicionada no PR #11224); Refs #9985.",
|
|
"@testing-library/user-event": "Utilitario oficial do ecossistema testing-library para testes de UI (adicionada no PR #11224); Refs #9985.",
|
|
"eslint-plugin-react-hooks": "React Hooks lint rules (set-state-in-effect, immutability, refs, purity) pinned at 7.0.1 by the release/v3.8.51 cycle; the 224 findings it raised are tracked in #11924. Refs #11924."
|
|
},
|
|
"allowed": [
|
|
"@atjsh/llmlingua-2",
|
|
"@aws-sdk/client-bedrock-runtime",
|
|
"@axe-core/playwright",
|
|
"@cyclonedx/cyclonedx-npm",
|
|
"@dnd-kit/core",
|
|
"@dnd-kit/sortable",
|
|
"@dnd-kit/utilities",
|
|
"@huggingface/transformers",
|
|
"@lobehub/icons",
|
|
"@modelcontextprotocol/sdk",
|
|
"@monaco-editor/react",
|
|
"@ngrok/ngrok",
|
|
"@opencode-ai/plugin",
|
|
"@playwright/test",
|
|
"@size-limit/file",
|
|
"@stryker-mutator/core",
|
|
"@stryker-mutator/tap-runner",
|
|
"@swc/helpers",
|
|
"@tailwindcss/postcss",
|
|
"@testing-library/dom",
|
|
"@testing-library/jest-dom",
|
|
"@testing-library/react",
|
|
"@testing-library/user-event",
|
|
"@toon-format/toon",
|
|
"@types/better-sqlite3",
|
|
"@types/bun",
|
|
"@types/mdx",
|
|
"@types/node",
|
|
"@types/react",
|
|
"@types/react-dom",
|
|
"@types/safe-regex",
|
|
"@types/ws",
|
|
"@vitejs/plugin-react",
|
|
"@xyflow/react",
|
|
"axios",
|
|
"bcryptjs",
|
|
"better-sqlite3",
|
|
"bottleneck",
|
|
"bun",
|
|
"c8",
|
|
"clsx",
|
|
"commander",
|
|
"concurrently",
|
|
"cron-parser",
|
|
"cross-env",
|
|
"csv-stringify",
|
|
"ctrf",
|
|
"dompurify",
|
|
"dpdm",
|
|
"electron",
|
|
"electron-builder",
|
|
"electron-updater",
|
|
"esbuild",
|
|
"eslint",
|
|
"eslint-config-next",
|
|
"eslint-plugin-react-hooks",
|
|
"eslint-plugin-sonarjs",
|
|
"express",
|
|
"fast-check",
|
|
"fetch-socks",
|
|
"fflate",
|
|
"fumadocs-core",
|
|
"fumadocs-mdx",
|
|
"fumadocs-ui",
|
|
"glob",
|
|
"http-proxy-middleware",
|
|
"https-proxy-agent",
|
|
"httpyac",
|
|
"husky",
|
|
"ink",
|
|
"ink-spinner",
|
|
"ink-text-input",
|
|
"ioredis",
|
|
"jose",
|
|
"js-tiktoken",
|
|
"js-yaml",
|
|
"jscpd",
|
|
"jsdom",
|
|
"jsonc-parser",
|
|
"junit-to-ctrf",
|
|
"keytar",
|
|
"knip",
|
|
"license-checker-rseidelsohn",
|
|
"lint-staged",
|
|
"lockfile-lint",
|
|
"lowdb",
|
|
"lucide-react",
|
|
"marked",
|
|
"marked-terminal",
|
|
"material-symbols",
|
|
"mermaid",
|
|
"monaco-editor",
|
|
"next",
|
|
"next-intl",
|
|
"next-themes",
|
|
"node-loader",
|
|
"node-machine-id",
|
|
"omniglyph",
|
|
"onnxruntime-node",
|
|
"open",
|
|
"opencode-ai",
|
|
"ora",
|
|
"parse5",
|
|
"pino",
|
|
"pino-abstract-transport",
|
|
"pino-pretty",
|
|
"playwright",
|
|
"playwright-ctrf-json-reporter",
|
|
"prettier",
|
|
"promptfoo",
|
|
"react",
|
|
"react-dom",
|
|
"react-is",
|
|
"react-markdown",
|
|
"react-reconciler",
|
|
"recharts",
|
|
"safe-regex",
|
|
"selfsigned",
|
|
"sharp",
|
|
"size-limit",
|
|
"smol-toml",
|
|
"socks",
|
|
"sql.js",
|
|
"sqlite-vec",
|
|
"tailwind-merge",
|
|
"tailwindcss",
|
|
"tls-client-node",
|
|
"tsup",
|
|
"tsx",
|
|
"turndown",
|
|
"turndown-plugin-gfm",
|
|
"type-coverage",
|
|
"typescript",
|
|
"typescript-eslint",
|
|
"undici",
|
|
"update-notifier",
|
|
"uuid",
|
|
"vitest",
|
|
"wait-on",
|
|
"wreq-js",
|
|
"ws",
|
|
"wtfnode",
|
|
"xxhash-wasm",
|
|
"yazl",
|
|
"zod",
|
|
"zustand"
|
|
]
|
|
}
|