first commit
This commit is contained in:
98
app/chrome-extension/wxt.config.ts
Normal file
98
app/chrome-extension/wxt.config.ts
Normal file
@@ -0,0 +1,98 @@
|
||||
import { defineConfig } from 'wxt';
|
||||
import { viteStaticCopy } from 'vite-plugin-static-copy';
|
||||
import { config } from 'dotenv';
|
||||
import { resolve } from 'path';
|
||||
|
||||
config({ path: resolve(process.cwd(), '.env') });
|
||||
config({ path: resolve(process.cwd(), '.env.local') });
|
||||
|
||||
const CHROME_EXTENSION_KEY = process.env.CHROME_EXTENSION_KEY;
|
||||
|
||||
// See https://wxt.dev/api/config.html
|
||||
export default defineConfig({
|
||||
modules: ['@wxt-dev/module-vue'],
|
||||
runner: {
|
||||
// 方案1: 禁用自动启动(推荐)
|
||||
disabled: true,
|
||||
|
||||
// 方案2: 如果要启用自动启动并使用现有配置,取消注释下面的配置
|
||||
// chromiumArgs: [
|
||||
// '--user-data-dir=' + homedir() + (process.platform === 'darwin'
|
||||
// ? '/Library/Application Support/Google/Chrome'
|
||||
// : process.platform === 'win32'
|
||||
// ? '/AppData/Local/Google/Chrome/User Data'
|
||||
// : '/.config/google-chrome'),
|
||||
// '--remote-debugging-port=9222',
|
||||
// ],
|
||||
},
|
||||
manifest: {
|
||||
// Use environment variable for the key, fallback to undefined if not set
|
||||
key: CHROME_EXTENSION_KEY,
|
||||
default_locale: 'zh_CN',
|
||||
name: '__MSG_extensionName__',
|
||||
description: '__MSG_extensionDescription__',
|
||||
permissions: [
|
||||
'nativeMessaging',
|
||||
'tabs',
|
||||
'activeTab',
|
||||
'scripting',
|
||||
'downloads',
|
||||
'webRequest',
|
||||
'debugger',
|
||||
'history',
|
||||
'bookmarks',
|
||||
'offscreen',
|
||||
'storage',
|
||||
],
|
||||
host_permissions: ['<all_urls>'],
|
||||
web_accessible_resources: [
|
||||
{
|
||||
resources: [
|
||||
'/models/*', // 允许访问 public/models/ 下的所有文件
|
||||
'/workers/*', // 允许访问 workers 文件
|
||||
],
|
||||
matches: ['<all_urls>'],
|
||||
},
|
||||
],
|
||||
cross_origin_embedder_policy: {
|
||||
value: 'require-corp',
|
||||
},
|
||||
cross_origin_opener_policy: {
|
||||
value: 'same-origin',
|
||||
},
|
||||
content_security_policy: {
|
||||
extension_pages: "script-src 'self' 'wasm-unsafe-eval'; object-src 'self';",
|
||||
},
|
||||
},
|
||||
vite: (env) => ({
|
||||
plugins: [
|
||||
viteStaticCopy({
|
||||
targets: [
|
||||
{
|
||||
src: 'inject-scripts/*.js',
|
||||
dest: 'inject-scripts',
|
||||
},
|
||||
{
|
||||
src: ['workers/*'],
|
||||
dest: 'workers',
|
||||
},
|
||||
{
|
||||
src: '_locales/**/*',
|
||||
dest: '_locales',
|
||||
},
|
||||
],
|
||||
}) as any,
|
||||
],
|
||||
build: {
|
||||
// 我们的构建产物需要兼容到es6
|
||||
target: 'es2015',
|
||||
// 非生产环境下生成sourcemap
|
||||
sourcemap: env.mode !== 'production',
|
||||
// 禁用gzip 压缩大小报告,因为压缩大型文件可能会很慢
|
||||
reportCompressedSize: false,
|
||||
// chunk大小超过1500kb是触发警告
|
||||
chunkSizeWarningLimit: 1500,
|
||||
minify: false,
|
||||
},
|
||||
}),
|
||||
});
|
Reference in New Issue
Block a user