SShortSingh.
Back to feed

ArchUnitTS Enforces Architecture Rules via Tests, but ESLint May Suit Simple Cases Better

0
·1 views

ArchUnitTS is a TypeScript library that lets developers enforce architectural rules — such as no circular dependencies or layer violations — by writing them as automated tests. Unlike ESLint, which flags issues instantly in the editor as code is written, ArchUnitTS only reports violations when the test suite is run, meaning problems may surface as late as CI if tests are skipped locally. The tool works by parsing the entire project's AST and building a dependency graph, making it well-suited for complex cross-file relationship checks. However, the author argues that simpler dependency bans may be better handled by ESLint's eslint-plugin-import using the no-restricted-paths rule, which provides immediate in-editor feedback. For teams evaluating architecture enforcement tools, the key consideration is whether to pull feedback earlier into the development workflow or embed constraints directly into project structure.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

SnapMind App Shifts to Agent-Based Architecture in Major Rebuild

SnapMind, a desktop app that binds AI prompts to hotkeys, is undergoing a significant rebuild by its developer. The creator has decided to move away from a prompt-based model toward an agent-based architecture, citing rapid advancements in AI as the motivation. A key upcoming feature will allow users to create custom AI agents and assign them to hotkeys. The developer also plans to replace the current LLM provider service with a more robust solution, as frequent API endpoint changes have made the existing setup difficult to maintain. The latest release, v0.5.5, is available on the project's website and GitHub repository.

0
ProgrammingDEV Community ·

DeepSeek Harness Builds Entire Agent Framework as Cordis Plugins, Guide Explains

DeepSeek Harness, currently in Developer Preview, treats every core component — including the model adapter, tool registry, session log, and agent loop — as a Cordis plugin rather than privileged core code. A technical guide published on DEV Community, pinned to commit 141eb6f on the master branch, explains how developers should choose between services, events, effects, profiles, and bundles when extending the framework. Services are recommended for callable capabilities with replaceable providers, while events handle passive observation and effects manage resources that must be cleaned up on unload. GitHub released the dsh-v0.1.0-rc.8 pre-release on August 19, though npm still showed version rc.7 as of August 20, meaning package availability may lag behind source releases. The guide is intended for agent-framework developers and emphasizes that plugin readiness is governed by dependency declarations, not YAML list order, with Cordis managing the full lifecycle from PENDING through ACTIVE to DISPOSED.

0
ProgrammingDEV Community ·

LSHIY Campaign Exploited OAuth ROPC and IPv6 to Spray Passwords at Scale

A large-scale password-spraying campaign dubbed LSHIY targeted Microsoft Entra ID tenants by abusing OAuth's Resource Owner Password Credentials (ROPC) flow, which bypasses multi-factor authentication prompts entirely. Attackers harvested credentials from public sources and data leaks, then slowly tested one password against many accounts to avoid triggering lockouts. Over a two-week period, more than 81 million login attempts were recorded, resulting in at least 78 compromised accounts. To evade IP-based detection, the threat actors leveraged BYOIP infrastructure and vast IPv6 address ranges linked to entities such as LSHIY LLC, FranTech, and Tor exit nodes. No post-compromise activity was confirmed, suggesting the operation may have been focused on credential validation or resale rather than immediate exploitation.

0
ProgrammingDEV Community ·

One Complex Query Beats Ten Simple Ones for Testing PostgreSQL-ChatGPT Connections

When connecting PostgreSQL to ChatGPT, developers should not rely on multiple easy questions with plausible-sounding answers to validate the integration. A single well-designed business query — incorporating a known answer, tenant boundary, join, versioned metric, and a defined reporting cutoff — provides a far more rigorous acceptance test. The test should also verify identity, data freshness, query limits, truncation handling, and provenance of results. Negative test cases, such as unauthorized tenant access, stale replicas, and forced timeouts, must also be executed to expose failure modes. Critically, the system's responses should preserve incomplete, stale, or unknown states rather than silently collapsing them into empty or misleading output.

ArchUnitTS Enforces Architecture Rules via Tests, but ESLint May Suit Simple Cases Better · ShortSingh