Skip to main content
Version: Sprint 3

Third-Party Code & Dependency Documentation

This document provides a comprehensive inventory of all third-party libraries, development tools, frameworks, and external references utilized in the Formal Languages & Automata (FLA) Turing Machine visualizer.


1. Production Dependencies​

PackageVersionLicensePurpose & Integration Scope
solid-js^1.9.5MITCore reactive framework powering component state, signals, continuous DOM rendering, and user interactions.
codemirror^6.0.2MITCode editor powering machine definition and Turing machine input editing with syntax highlighting.
yjs^13.6.33MITCRDT library enabling real-time collaborative editing and conflict-free state synchronization across clients.
better-auth^1.7.0MITAuthentication framework handling user sessions, sign-in, and access control.

2. Development & Testing Dependencies​

PackageVersionLicensePurpose & Integration Scope
vite^7.1.4MITNext-generation build tool and dev server powering hot module replacement (HMR) and module bundling.
vite-plugin-solid2.11.9MITOfficial Vite plugin enabling compilation of SolidJS JSX templates to optimized DOM operations.
typescript^5.7.2Apache-2.0Static type checker ensuring type safety across machine configurations, parser definitions, and UI components.
vitest^4.0.0MITNative unit testing framework executing component test suites and capturing v8 code coverage metrics.
jsdom^25.0.1MITHeadless browser environment simulation allowing Vitest to execute DOM tests in CI without a browser.
@solidjs/testing-library^0.8.10MITComponent testing utilities designed for rendering and asserting SolidJS components in isolation.
@testing-library/jest-dom^6.6.3MITCustom DOM matchers (e.g., toBeInTheDocument) extending Vitest assertions for UI unit tests.
solid-devtools^0.34.3MITDeveloper tooling integration for real-time reactive state inspection during development.

3. Workflow & CI Templates​

  • GitHub Actions Workflow (.github/workflows/coverage.yml): CI pipeline configuration based on standard Vitest and GitHub Actions workflow patterns for running automated test suites and exporting HTML coverage artifacts.

4. Theoretical & Algorithmic References​

  • Formal Turing Machine Model: The bi-directional infinite tape representation, negative indexing, and 5-blank (⊔) boundary padding follow standard theoretical definitions from Introduction to Automata Theory, Languages, and Computation (Hopcroft, Motwani, Ullman).

5. Licensing Compliance Statement​

All open-source dependencies and utilities listed above are distributed under permissive open-source licenses (MIT and Apache-2.0). All third-party packages are used strictly in accordance with their respective licensing terms, and no proprietary source code has been copied into this repository without attribution.