📝 Description
Set up TypeScript in the project and define common types/interfaces used throughout the synth engine.
This establishes a foundation for further migration by ensuring consistent typing across components, hooks, and utilities.
✅ Tasks
- Initialize TypeScript (
tsconfig.json) and install dependencies (typescript, @types/react, @types/react-dom, etc.).
- Update build configuration (Vite/Webpack/Next) to support TypeScript.
- Create a
/types directory and define interfaces such as:
Envelope (attack, decay, sustain, release)
Waveform (type, frequency)
EQBand (frequency, gain)
SynthState (waveform, octave, envelope, EQ, etc.)
- Update ESLint and Prettier configurations for TypeScript.
- Ensure the app compiles successfully.
🎯 Expected Outcome
- The project successfully runs with TypeScript enabled.
- All core data structures are typed via shared interfaces.
- Future files can be safely migrated using these interfaces.
📝 Description
Set up TypeScript in the project and define common types/interfaces used throughout the synth engine.
This establishes a foundation for further migration by ensuring consistent typing across components, hooks, and utilities.
✅ Tasks
tsconfig.json) and install dependencies (typescript,@types/react,@types/react-dom, etc.)./typesdirectory and define interfaces such as:Envelope(attack, decay, sustain, release)Waveform(type, frequency)EQBand(frequency, gain)SynthState(waveform, octave, envelope, EQ, etc.)🎯 Expected Outcome