A TypeScript-based boilerplate for creating Chrome Extensions, providing a solid foundation with essential features like background scripts, content scripts, and a popup interface.
MIT License
ChromeTS Launchpad is a modern, TypeScript-based boilerplate for creating Chrome Extensions. It provides a solid foundation for building extensions with type safety, modern JavaScript features, and sleek styling using Tailwind CSS.
The primary purpose of ChromeTS Launchpad is to streamline the process of developing Chrome extensions using TypeScript. It aims to:
This boilerplate extension includes basic functionality to demonstrate core Chrome extension features:
Developers can easily build upon this foundation to create more complex and feature-rich extensions.
TypeScript is a modern, statically typed programming language that provides type safety and improved developer experience. It is used in this boilerplate extension to enhance code quality and maintainability.
ChromeTS Launchpad uses Manifest V3, the latest version of Chrome's extension platform. Here's why:
By using Manifest V3, ChromeTS Launchpad ensures that extensions built with it are up-to-date, secure, and performant.
Clone the repository:
git clone https://github.com/yourusername/ChromeTS-Launchpad.git
Navigate to the project directory:
cd chromets-launchpad
Install dependencies:
npm install
Run the development build with hot reloading:
npm run watch
To create a production build:
npm run build
This will generate optimized files in the dist
folder.
The project is configured with ESLint to enforce consistent code quality and catch potential errors early. The following key linting rules are in place:
eqeqeq
): Requires the use of ===
and !==
instead of ==
and !=
to avoid type coercion issues.semi
): Enforces the use of semicolons at the end of statements.@typescript-eslint/no-unused-vars
): Flags variables that are declared but not used anywhere in the code.const
(prefer-const
): Suggests using const
for variables that are never reassigned after being initialized.To lint your code, run:
npm run lint
To automatically fix certain linting issues, run:
npm run lint:fix
Ensure that your code passes the linting checks before committing to maintain code consistency and quality across the project.
chrome://extensions
dist
folder in your project directorysrc
folder to add your extension's functionalitypopup
and options
folderstailwind.config.js
file to customize your Tailwind setupmanifest.json
file to change extension metadata, permissions, and other settingsContributions are welcome and greatly appreciated! If you're looking to contribute, here are some good first issues to get you started:
To contribute:
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)For more detailed information on contributing, please see our CONTRIBUTING.md file.
This project is licensed under the MIT License - see the LICENSE file for details.