rollup-plugin-chrome-extension

Build Chrome Extensions with this Rollup plugin.

Usage no npm install needed!

<script type="module">
  import rollupPluginChromeExtension from 'https://cdn.skypack.dev/rollup-plugin-chrome-extension';
</script>

README

rollup-plugin-chrome-extension

npm (scoped) GitHub last commit GitHub action badge TypeScript Declarations Included

rollup-plugin-chrome-extension logo

The bundler configuration for a Chrome Extension can be pretty complex. This plugin makes it simple.

The manifest is front and center. Import your manifest to your config file and RPCE will do the rest.

RPCE simplifies project config and supports many of Vite's features in the Chrome Extension environment, including HMR.

Vite Usage (beta)

Vite support is in beta! Check out this 90 second getting started guide.

npm i rollup-plugin-chrome-extension@beta -D
// vite.config.js

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import { crx } from 'rollup-plugin-chrome-extension'
import manifest from './manifest.json'

export default defineConfig({
  plugins: [react(), crx({ manifest })],
})

Just add new features to your manifest, and RPCE does the rest.

Documentation for v3

We have v3 boilerplates for React JavaScript, React TypeScript and Svelte, as well as instructions for setting up your project.

See the documentation for usage and how to get started.

Contributing

Your help is super welcome!

🎯 Ongoing development is for v4+ only.

👀 Be sure to take a look at the issues before starting to work on a new feature.

🙏 Please update the tests to cover bug fixes or new features.

📕 Documentation for v4 has not yet begun, but you can open an issue for help.

✨ If you enjoy using RPCE, please help spread the word!

Development

Our preferred package manager is pnpm, but npm or Yarn should work.