Packaging

Packaging your CRXJS project for distribution.

Packaging your project

Install vite-plugin-zip-pack

npm
pnpm
bun
yarn
npm i -D vite-plugin-zip-pack

Update vite.config.js

vite.config.js
import { defineConfig } from 'vite'
import { crx } from '@crxjs/vite-plugin'
import manifest from './manifest.config.js'
import zip from 'vite-plugin-zip-pack'

export default defineConfig({
  plugins: [
    crx({ manifest }),
    zip({ outDir: 'release', outFileName: 'release.zip' }),
  ],
  server: {
    cors: {
      origin: [
        /chrome-extension:\/\//,
      ],
    },
  },
})

Run the build script

npm
pnpm
bun
yarn
npm run build

Project Structure

Release Directory