Files
wxt/docs/get-started/installation.md
T
2023-07-20 22:54:30 -05:00

2.8 KiB
Raw Blame History

Installation

Bootstrap a new project or start from scratch.

Bootstrap Project

:::warning 🚧The wxt init command is not implemented yet.

See From Scratch or reference one of the templates below.

:::

:::code-group

pnpx wxt@latest init
npx wxt@latest init

:::

There are several starting templates available.

TypeScript
vanilla
vue
react
svelte

All templates are in TypeScript. WXT does not support JS at this time.

From Scratch

Create a new NPM project:

:::code-group

mkdir project-name
cd project-name
pnpm init
echo 'shamefully-hoist=true' >> .npmrc
mkdir project-name
cd project-name
npm init
mkdir project-name
cd project-name
yarn init

:::

Then install wxt:

:::code-group

pnpm add wxt
npm i --save wxt
yarn add wxt

:::

Add your first entrypoint:

// entrypoints/background.ts
export default defineBackground(() => {
  console.log(`Hello from ${browser.runtime.id}!`);
});

Finally, add scripts to your package.json:

{
  "scripts": {
    "dev": "wxt", // [!code ++]
    "dev:firefox": "wxt --browser firefox", // [!code ++]
    "build": "wxt build", // [!code ++]
    "build:firefox": "wxt build --browser firefox", // [!code ++]
    "postinstall": "wxt prepare" // [!code ++]
  }
}

You can skip *:firefox scripts if you don't want to support Firefox

🚧 WSL Support

WXT does not support Windows Subsystem for Linux yet. See Issue #55 to track progress.

In the meantime, you can use cmd instead.

Development

Once you've installed WXT, you can start the development server using the dev script.

pnpm dev

:::tip 🎉Well done!

The dev command will build the extension for development, open the browser, and reload the different parts of the extension when you save changes. :::

Next Steps

You're ready to build a out your web extension!