Ctrl K
ComunidadGuías…

wxt.config.ts

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import { createRequire } from 'node:module'

import tailwindcss from '@tailwindcss/vite'
import svgLoader from 'vite-svg-loader'
import { defineConfig } from 'wxt'

const { version } = createRequire(import.meta.url)('./package.json')

export default defineConfig({
	srcDir: 'src',
	vite: () => ({
		plugins: [
			tailwindcss(),
			svgLoader(),
			{
				name: 'inject-theme-init',
				transformIndexHtml: {
					order: 'pre',
					handler: () => [
						{ tag: 'script', injectTo: 'head-prepend', attrs: { src: '/theme-init.js' } },
					],
				},
			},
		],
	}),
	publicDir: 'src/public',
	modules: ['@wxt-dev/module-vue'],
	manifest: ({ browser }) => ({
		name: '__MSG_extName__',
		description: '__MSG_extDescription__',
		default_locale: 'en_US',
		version,
		icons: {
			16: 'icon-16.png',
			32: 'icon-32.png',
			48: 'icon-48.png',
			64: 'icon-64.png',
			128: 'icon-128.png',
		},
		optional_host_permissions: ['*://*/*'],
		// oxlint-disable-next-line typescript/no-explicit-any -- Firefox requires optional_permissions instead of optional_host_permissions
		...(browser === 'firefox' && { optional_permissions: ['*://*/*' as any] }),
		permissions: ['storage', 'alarms', 'activeTab', 'contextMenus'],
		browser_specific_settings: {
			gecko: {
				id: 'pihole-in-one@creeperkatze.dev',
				data_collection_permissions: {
					required: ['none'],
				},
			},
		},
	}),
	zip: {
		artifactTemplate: 'pihole-in-one-{{version}}-{{browser}}.zip',
		sourcesTemplate: 'pihole-in-one-{{version}}-sources.zip',
	},
})