Introduction

CRXJS provides a smooth hot-reload browser extension development experience with zero configuration and framework-agnostic approach.

CRXJS is committed to providing developers with an efficient, modern browser extension development experience. By directly parsing the manifest.json file, it enables a zero-configuration development workflow and supports global Hot Module Replacement (HMR) including content scripts. CRXJS is compatible with major frontend frameworks and suitable for various technology stacks, helping developers focus on feature implementation without worrying about tedious build and configuration details.

Background and Motivation

With the rapid development of Web technologies, developers have higher requirements for the usability and efficiency of toolchains. While modern build tools like Vite and Webpack have greatly improved the web application development experience, the browser extension development field still has the following pain points:

  • Complex configuration and excessive boilerplate code
  • Limited hot-reload support for content scripts and page scripts
  • Inflexible integration with different frontend frameworks
  • Separation of build process from mainstream web application development CRXJS provides a unified, concise and efficient solution to the above problems.

Core Features

  • Hot Module Replacement (HMR)

Supports global hot updates including content scripts and page scripts. During development, code changes can be reflected immediately without manual refresh or extension reload, significantly improving development efficiency.

  • Zero Configuration Development

With manifest.json as the only configuration entry, it automatically identifies and packages all extension resources. No need to manually maintain complex build scripts, lowering the entry barrier.

  • Framework Agnostic

Compatible with various frontend frameworks such as React, Vue, Svelte, SolidJS and vanilla JavaScript, adapting to different projects and team technology choices.

  • Modern Development Experience

Based on Vite, integrating modern frontend development features such as fast build, module hot replacement, and static resource import, making the extension development process consistent with mainstream web application development.

Community and Support

CRXJS is an open-source project with an active community, and contributions are welcome. You can interact with the community through the following channels:

Thank you for your participation and support!