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
| Package | Version | License | Purpose & Integration Scope |
|---|---|---|---|
| solid-js | ^1.9.5 | MIT | Core reactive framework powering component state, signals, continuous DOM rendering, and user interactions. |
2. Development & Testing Dependencies
| Package | Version | License | Purpose & Integration Scope |
|---|---|---|---|
| vite | ^7.1.4 | MIT | Next-generation build tool and dev server powering hot module replacement (HMR) and module bundling. |
| vite-plugin-solid | 2.11.9 | MIT | Official Vite plugin enabling compilation of SolidJS JSX templates to optimized DOM operations. |
| typescript | ^5.7.2 | Apache-2.0 | Static type checker ensuring type safety across machine configurations, parser definitions, and UI components. |
| vitest | ^4.0.0 | MIT | Native unit testing framework executing component test suites and capturing v8 code coverage metrics. |
| jsdom | ^25.0.1 | MIT | Headless browser environment simulation allowing Vitest to execute DOM tests in CI without a browser. |
| @solidjs/testing-library | ^0.8.10 | MIT | Component testing utilities designed for rendering and asserting SolidJS components in isolation. |
| @testing-library/jest-dom | ^6.6.3 | MIT | Custom DOM matchers (e.g., toBeInTheDocument) extending Vitest assertions for UI unit tests. |
| solid-devtools | ^0.34.3 | MIT | Developer 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.