Fralleee / Fralleee/SwiftPaste

SwiftPaste component as web-component

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
TypeScript
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Description

### Description

The main component/popup of SwiftPaste currently needs to be updated and easier to maintain. It is built with React, but using React for this purpose results in booting an entire app on each use, which could be better. We are looking for a more efficient and maintainable solution.

### Suggested Solution

To address the bloated and difficult-to-maintain nature of the SwiftPaste component, I propose refactoring it as a web component. By creating it as a web component, we can leverage tools like Stencil to simplify the development process and gain features similar to React, including JSX support.

Refactoring the SwiftPaste component as a web component will improve its organization, maintainability, and testability. It will allow us to encapsulate the component's functionality and easily reuse it across different projects or platforms.

**Expected Outcome:*
- Improved organization and maintainability of the SwiftPaste component.
- Reduced complexity and enhanced testability of the component.
- Better separation of concerns and modularity.
- Ability to reuse the SwiftPaste component across different projects or platforms.

**Additional Notes**

Consider using a tool like Stencil, which provides a framework for building web components with JSX support and other modern development features. This approach will allow us to achieve the desired functionality while avoiding the overhead of booting an entire React app for the SwiftPaste component.

By refactoring SwiftPaste as a web component, we can create a more efficient and maintainable solution that aligns with best practices for component-based development.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.