JSPM

create-extro

0.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 13
  • Score
    100M100P100Q71867F
  • License MIT

Scaffold a new Extro extension. The official starter for the Extro framework.

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (create-extro) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    create-extro

    The scaffolder for Extro, a framework for building Chrome extensions with file-based entrypoints, automatic Manifest V3 generation, and React routing.

    Usage

    pnpm create extro
    # npm create extro@latest
    # yarn create extro
    # bun create extro

    Answer the prompts, or pass a directory and skip them:

    pnpm create extro my-extension --template minimal

    Then start the dev server and load the unpacked extension:

    cd my-extension
    pnpm install   # if you skipped the install step
    extro dev      # writes output/chrome-mv3-dev, starts Vite with HMR

    Open chrome://extensions, turn on Developer mode, and Load unpacked the output/chrome-mv3-dev directory.

    What you get

    A clean starting point: a popup and a background service worker, plus extro.config.ts, icons, and a TypeScript setup. Nothing you have to delete.

    Extro is file-based, so you grow it by dropping a file under src/app/:

    • options/page.tsx - the options page
    • sidepanel/page.tsx - the side panel
    • content/page.tsx - a content-script UI (React, shadow DOM)
    • popup/settings/page.tsx, popup/[id]/page.tsx - nested and dynamic routes

    See the Extro docs for routing, layouts, and the manifest reference.

    Options

    create-extro [directory] [options]
    
      -t, --template <name>   Template to use: default
          --pm <manager>      Force a package manager: npm, pnpm, yarn, bun
          --install           Install dependencies
          --no-install        Skip installing dependencies
          --git               Initialize a git repository
          --no-git            Skip git initialization
          --overwrite         Overwrite the target directory if it is not empty
      -y, --yes               Accept defaults and skip the prompts
      -h, --help              Show this help
      -v, --version           Show the version

    When the terminal is not interactive (CI, piped output) or --yes is passed, the prompts are skipped and flags plus defaults drive the run.

    License

    MIT © Sahil Mulani