Skip to content

Conversation

@samarsheikh001
Copy link

@samarsheikh001 samarsheikh001 commented Jul 10, 2025

This PR replaces react with plain HTML.

Major Changes:

Framework and State Management:

  • Introduced a base Component class to serve as the foundation for vanilla JavaScript components, providing methods for rendering, state management, and event handling (src/js/components/base.js).
  • Added a global StateManager class to manage application state and enable reactive updates across components (src/js/state.js).

Flashing Tool Implementation:

  • Developed a FlashComponent to handle the device flashing process, including progress tracking, error handling, and platform-specific instructions (src/js/components/flash.js).
  • Created a CopyTextComponent to allow users to copy Linux-specific unbinding scripts for device preparation (src/js/components/app.js).

Dependency and Build Updates:

  • Removed React and related dependencies (react, react-dom, @types/react, @vitejs/plugin-react, etc.) from package.json.
  • Updated the script reference in index.html to use main.js instead of main.jsx.

Replaces React entry point with a vanilla JS main file, adds new JS component and state management modules, and updates Vite and package configuration to remove React dependencies. Includes a detailed migration guide and updates the HTML entry point to use the new JS structure.
Replaces React entry point with a vanilla JS main file, adds new JS component and state management modules, and updates Vite and package configuration to remove React dependencies. Includes a detailed migration guide and updates the HTML entry point to use the new JS structure.
Removed React-based test and main entrypoint files, replacing the test with a Vitest-based JavaScript test for AppComponent.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant