New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details โ†’
Socket
Book a DemoSign in
Socket

create-extenkit

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

create-extenkit

๐Ÿงฉ ExtenKit CLI โ€” Build modular browser extensions with zero config.

latest
Source
npmnpm
Version
1.0.7
Version published
Maintainers
1
Created
Source

๐Ÿงน ExtenKit

A lightweight, build-free JavaScript framework for creating cross-browser extensions โ€” with a single command.

npm version License: MIT Made with JavaScript

๐Ÿš€ What is ExtenKit?

ExtenKit is a minimal, modular framework and CLI for building browser extensions using vanilla JavaScript + HTML โ€” no bundlers, no React, no Webpack.

It runs instantly in your browserโ€™s extension environment and generates all files for you.

It works seamlessly with:

  • โœ… Chrome, Edge, Brave (Manifest V3)
  • ๐ŸฆŠ Firefox (Manifest V2 fallback)
  • ๐ŸŒ Any browser supporting the WebExtensions API

โœจ Features

  • ๐Ÿ”ง One-command scaffolding: npx create-extenkit my-extension
  • โšก Zero build step โ€” just edit HTML/JS directly
  • ๐Ÿง  Reactive component system (ExtenKit Core)
  • ๐Ÿ’ฎ Persistent store with Chrome Storage & local fallback
  • ๐Ÿงฉ Flag-based generation for options pages, background scripts, and custom templates
  • ๐ŸฆŠ Firefox Manifest V2 support out of the box
  • ๐Ÿ–พ๏ธ Includes a default icon and fully working popup

๐Ÿงฎ Installation

1๏ธโƒฃ Create your extension

npx create-extenkit my-extension

2๏ธโƒฃ Load into Chrome

  • Open chrome://extensions/
  • Enable Developer mode
  • Click Load unpacked
  • Select your new folder
  • Done ๐ŸŽ‰

3๏ธโƒฃ Load into Firefox

npx create-extenkit my-extension --manifest-v2

Then open about:debugging#/runtime/this-firefox, click Load Temporary Add-on, and choose the generated folder.

โš™๏ธ CLI Flags

FlagDescription
--with-optionsAdds an options.html page automatically
--with-backgroundAdds a background service worker
--manifest-v2Generates a Firefox-compatible manifest
--blankGenerates a minimal scaffold (no popup UI)
--template=<name>Uses a custom template from /templates/templates/<name>/

๐Ÿงฉ Example Usage

# Basic popup extension (MV3)
npx create-extenkit my-extension

# Firefox-friendly version
npx create-extenkit my-extension --manifest-v2

# With background + options
npx create-extenkit my-extension --with-background --with-options

# Minimal blank template
npx create-extenkit minimal --blank

๐Ÿ“ Folder Structure

my-extension/
โ”œโ”€โ”€ manifest.json
โ”œโ”€โ”€ popup.html
โ”œโ”€โ”€ popup.js
โ”œโ”€โ”€ icon.ico
โ”œโ”€โ”€ assets/
โ”‚   โ”œโ”€โ”€ icon.png
โ”‚   โ””โ”€โ”€ styles.css
โ”œโ”€โ”€ modules/
โ”‚   โ”œโ”€โ”€ home/
โ”‚   โ”‚   โ””โ”€โ”€ index.js
โ”‚   โ”œโ”€โ”€ about/
โ”‚   โ”‚   โ””โ”€โ”€ index.js
โ”‚   โ”œโ”€โ”€ options/
โ”‚   โ”‚   โ””โ”€โ”€ ...
โ”‚   โ””โ”€โ”€ background/
โ”‚       โ””โ”€โ”€ ...
โ”œโ”€โ”€ extenkit/
โ”‚   โ”œโ”€โ”€ component.js
โ”‚   โ”œโ”€โ”€ mount.js
โ”‚   โ”œโ”€โ”€ store.js
โ”‚   โ””โ”€โ”€ index.js
โ””โ”€โ”€ package.json

๐Ÿง  ExtenKit Core

Each generated project contains an /extenkit folder โ€” the lightweight reactive runtime that powers your UI.

FilePurpose
component.jsDefine reactive components with templates & bindings
mount.jsMount and unmount components safely
store.jsPersistent, reactive global state
index.jsEntry point re-exporting all core helpers

๐Ÿ’ก Example Component

import { createComponent, mount } from "./extenkit/index.js";

const Counter = createComponent({
  name: "Counter",
  state: { count: 0 },
  template: (s) => `
    <div class="counter">
      <h3>Count: <span data-bind="count"></span></h3>
      <button data-click="inc">+</button>
    </div>
  `,
  methods: {
    inc() {
      this.state.count++;
    },
  },
});

mount(Counter, document.body);

๐Ÿฆฏ Roadmap

  • extenkit-router โ€” hash-based navigation
  • extenkit-ui โ€” built-in UI components
  • Advanced templates (modern, dashboard, chat)
  • Plugin support for MV3 scripting APIs
  • Publish @extenkit/core as a standalone npm module

๐Ÿง‘โ€๐Ÿ’ป Development Setup (for contributors)

# 1. Clone repo
git clone https://github.com/exagonsoft/extenkit.git
cd extenkit/cli

# 2. Link locally
npm link

# 3. Test
npx create-extenkit demo-extension

# 4. Publish
npm login
npm publish --access public

๐Ÿ“œ License

MIT ยฉ 2025 โ€” Built with โค๏ธ by the ExtenKit Team (ExagonSoft)

๐Ÿฆฏ Why ExtenKit?

Because extension development should be instant:

No bundlers. No frameworks. No waiting โ€” just HTML, JS, and your br

Keywords

browser-extension

FAQs

Package last updated on 27 Oct 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts